1.
优化服务器响应与带宽
• 目标:TTFB ≤ 200ms,页面首字节时间作为抓取器优先参考。
• 带宽建议:香港VPS至少配置100Mbps共享或200Mbps专线,流量高峰建议1Gbps端口。
• 连接与路由:使用BGP Anycast或与ISP直联降低香港到主要爬虫节点的延迟(示例:延迟从120ms降到28ms)。
• 内核与TCP调优:net.core.somaxconn=1024、tcp_tw_reuse=1、tcp_fin_timeout=30,提升并发抓取稳定性。
• 保持连接:配置keepalive_timeout=15并启用HTTP/2以减少握手延迟和提高抓取效率。
• 数据演示:在同机型下,TTFB从800ms优化到120ms,抓取频率提升约8倍。
2.
合理分配站点结构与子域
• 抓取预算:搜索引擎按主机(host)分配抓取额度,避免无谓的子域拆分浪费预算。
• 优先级划分:将高价值内容放在根域或同一子目录,提高单主机抓取集中度。
• 静态资源外链:将图片、JS、CSS放到cdn.example.com,主域保留HTML以获得更高抓取频率。
• 域名解析:域名A记录要稳定,DNS TTL 建议设为300s以便快速调整路由。
• 多机房策略:仅当流量与延迟要求高时再用多机房,多机房会分散抓取预算。
• 实践建议:对大型电商,将商品页集中在/shop/目录,索引率与抓取频次更高。
3.
robots.txt、sitemap 与抓取控制
• robots.txt:明确允许重要目录并屏蔽大文件夹,示例:User-agent: * Allow: /shop/ Disallow: /tmp/。
• crawl-delay:对部分爬虫可在robots设置crawl-delay: 10(秒)以保护主机CPU。
• Sitemap:提交sitemap_index.xml并按目录拆分,每个文件不超过50k条URL,提升发现效率。
• 动态生成:对动态页面生成lastmod并在sitemap中提供优先级,提高抓取权重。
• Search Console监控:在Google Search Console中观察抓取频率与错误并调整规则。
• 数据示例:添加sitemap并优化robots后,搜索引擎对重要目录的日均抓取次数由0.6次提升到5次。
4.
使用CDN与边缘缓存减少主机负担
• 缓存策略:HTML可短缓存(max-age=60),静态资源长缓存(max-age=31536000)。
• 缓存命中率:目标命中率≥70%,将源站压力转移到边缘节点,提升抓取稳定性。
• 缓存控制头:设置Cache-Control与ETag,配合CDN回源减少不必要流量。
• Purge与刷新:制定自动化清理策略,避免频繁回源导致抓取失败。
• CDN选择:香港节点覆盖好、支持压缩和HTTP/2的CDN优先。
• 成效数据:部署CDN后,源站带宽使用下降65%,抓取失败率从4.2%降至0.8%。
5.
DDoS防护与流量清洗
• 防护层级:流量层(网络清洗)+应用层(WAF、速率限制)双层防护。
• 阈值设置:设置秒级请求阈值和连接数阈值(例如同IP并发连接>200触发限流)。
• 清洗节点:接入云厂商清洗或硬件清洗,根据攻击峰值选择策略。
• 监控报警:实时监控带宽和HTTP错误率,异常时自动扩容或切换黑洞策略。
• 真实案例:一次2Gbps攻击通过ISP清洗后保留正常流量,站点可用性保持99.95%。
• 建议:在香港VPS上配置外部清洗服务并与CDN联动,避免抓取被误判为攻击。
6.
真实案例与服务器配置示例
• 案例背景:国内SaaS公司将网站迁移到
香港VPS并优化结构,目标提高抓取频率与收录。
• 迁移前配置:1 vCPU、1GB RAM、10Mbps 带宽、Ubuntu 16.04,抓取频率约0.6次/日,收录率38%。
• 迁移后配置(示例):4 vCPU、8GB RAM、200Mbps 专线、100GB SSD、Ubuntu 20.04,Nginx+PHP-FPM。
• Nginx示例设置:worker_processes auto; keepalive_timeout 15; gzip on; sendfile on; tcp_nopush on。
• 成效数据(14天观察):抓取频率提升到5次/日,收录率提升到92%,平均TTFB从800ms降到120ms。
• 下表为迁移前后对比:
| 指标 |
迁移前 |
迁移后 |
| 抓取频率(次/日) |
0.6 |
5 |
| 收录率 |
38% |
92% |
| 平均TTFB |
800ms |
120ms |
| 缓存命中率 |
12% |
78% |
来源:如何调整网站结构在香港vps 收录中获得更好抓取频率