你是不是也遇到过:内容写得挺用心,关键词也埋了,图片Alt也补了,结果Google就是不买账?流量卡在那儿一动不动——先别急着重写标题,问题可能藏在你根本没打开过的服务器文件夹里。
爬虫不是你的读者,它不会因为你文字动人就多停留一秒。你网站的目录结构乱成一团,它扫一眼就走了,连首页都不想再回访。
为什么爬虫会在你的目录里迷路?
爬虫的工作方式很直白:顺着链接一层层往下爬,像进商场找专柜,靠的是路径清晰、距离合理。
但它不是人类,没有耐心翻地图,也不会帮你整理归档。
我见过一个电商站,产品图全塞在 /images/2024/03/fall/collection/shoes/ 这种路径里——整整7级嵌套。每深一层,爬虫就得额外发一次请求。请求多了,它就慢下来;慢多了,干脆跳过。
事实是,多数爬虫对深度敏感。Googlebot通常在第3层后就开始犹豫,到第5层基本靠运气。如果你的内容藏在 /blog/2024/tech/seo/tips/ 这种路径下,等于在URL里贴了张纸条:“此路不通”。
更麻烦的是,深层页面更新少,爬虫回访意愿更低。你不更新 → 它不来 → 你更不更新 → 它彻底放弃。这个循环,没人按暂停键。
我自己吃过亏。以前帮一个WordPress客户优化,他们用默认分类结构,文章路径是 /category/parent/child/grandchild/post-name/。调整成 /blog/seo/ 和 /blog/content/ 这类二级结构后,新文章从几周才被收录,变成两三天就进索引。
扁平结构真的比树形结构快3倍吗?
扁平≠把所有东西全扔根目录。真这么干,你的 / 目录会变成万年老文件柜,爬虫每次来翻列表页都卡顿。
高效结构的关键是:浅,但有逻辑。
比如 /blog/seo/ 和 /blog/content/,两级足够。用户能看懂,爬虫也愿意走——首页 → 分类页 → 文章页,三步到位。
我测过一个中型博客:原来用 /blog/2024/03/topic/ 这种带年月的结构,爬虫每小时只抓不到100个URL;砍掉时间戳,改成 /blog/topic/ 后,同样配置下,抓取量大幅增长。
年份、月份这类信息,对用户意义不大,对爬虫却是干扰项。除非你是新闻站(需要时效性),否则别让时间戳占着目录位。
怎么用robots.txt给爬虫画“快车道”?
很多人把 robots.txt 当摆设,只写一行 Disallow: /wp-admin/ 就完事。其实它是个导航图——你可以明确告诉爬虫:“别绕路,直接去这儿。”
第一步,列清楚哪些地方根本不该被抓:后台、登录页、测试文件、临时缓存、重复的搜索页……这些全加进 Disallow。
爬虫每天的抓取预算有限。它花一个请求在 /temp/ 上,就少一个请求去看你刚写的干货。
举个真实例子:某电商站用 ?sort=price_asc 这类参数生成大量排序页。没屏蔽前,爬虫光抓这些参数页就把预算耗光。加上 Disallow: /*?sort= 和 Disallow: /*?page= 后,核心商品页的抓取频率明显提升。
还有一个小动作别漏:在 robots.txt 最上面加一行 Sitemap: https://example.com/sitemap.xml。爬虫进门第一眼就看到这张地图,不用自己摸索。
动态参数和静态URL对爬虫效率影响多大?
动态URL长这样:/product.php?id=123&cat=45。
静态URL长这样:/product/blue-shoes/。
爬虫更喜欢后者。原因很实在:带问号的URL看起来像同一个页面的不同“快照”,它可能只抓一个就收工;更糟的是,参数组合容易爆炸式生成新URL,爬虫永远追不完。
我处理过一个旅游站:用 /?destination=paris&date=2024-03-01 这类参数生成每日目的地页,结果Search Console里堆了10万个“已抓取但未索引”的URL。换成 /paris/deals/ 这种静态路径后,问题当天就缓解。
但别一刀切删掉所有动态参数。有些是有用的,比如分页 ?page=2。判断标准很简单:
→ 参数变了,页面内容也变了?保留。
→ 参数只影响排序、筛选、皮肤颜色?屏蔽它。
Google Search Console 的“网址参数”工具可以直接设置忽略规则。如果拿不准,就先屏蔽所有非必要参数,观察一周效果。
为什么你的sitemap.xml反而拖慢了爬虫?
很多人迷信“提交越多越好”,把评论页、作者页、标签页、甚至图片地址全塞进sitemap。结果呢?爬虫打开一看:菜单太长,直接合上。
一个sitemap超过1000个URL,它很可能只抓前面200个就撤了。我见过最夸张的案例:一个博客的sitemap塞了2万个URL,核心文章排在第18000位之后——爬虫根本没翻到。
正确做法是:只放你真正想被索引的页面。500个高质量URL,比2万个混杂页面管用得多。
另外,sitemap里的 <changefreq> 别乱填“daily”。除非你真能做到每天发500篇新内容,否则填“weekly”更诚实。爬虫连续几次来发现没更新,会悄悄降低对你的信任度。
我的习惯是:每周一更新一次sitemap,只包含最近30天内新增或修改过的文章页和分类页。
怎么用301重定向给爬虫“扫清路障”?
网站改版时,旧URL千万别直接删。留个404页面,等于在爬虫心里记一笔差评。连续几个404,它就会觉得你这站没人维护,慢慢减少访问。
我帮一个论坛处理过类似问题:从 /thread/123 迁移到 /topic/123,没做重定向。两个月后流量掉了大半。补上301后,恢复得很快。
注意一个坑:别搞链式跳转,比如 A → B → C。爬虫要跳两次,每次都在消耗资源。最优解是 A → C,一步到位。
操作上,用 .htaccess(Apache)或 Nginx 配置写规则最稳。例如:Redirect 301 /old-category/ /new-category/
WordPress用户可以用 Redirection 插件,但上线前务必逐条测试——我亲眼见过有人规则写错,整站跳转到首页,爬虫当场懵住。
今天就能执行的3个目录优化步骤
别等“哪天有空”,现在打开浏览器就能做:
数一数你的目录深度:随便点开一篇内容,从首页开始点,看几步能到。超过4步就危险。用 Screaming Frog(免费版够用)抓一次站,导出所有URL,筛选出路径层级 ≥4 的,优先简化它们。
重读一遍 robots.txt:打开
https://你的域名/robots.txt,检查有没有误伤——比如整段Disallow: /blog/却不知道自己封了主阵地。确认无误后,在文件开头加上Sitemap: https://你的域名/sitemap.xml。删掉sitemap里的低价值页面:打开你的
sitemap.xml,删掉所有/tag/、/author/、/page/2/、/search/这类页面。只留文章页和一级分类页。改完上传,等两三天,看Search Console里的抓取统计有没有变化。
爬虫不等人,你也不用等明天。