站内搜索 404 这种小事,比你想的更影响收录
我以前特别不在意这种小事。站内搜索点进去 404,标签页打不开,翻页出现死链,我心里想的是:用户又不常点这些,修它干嘛。 直到有次做抓取诊断,我才发现问题的严重性。百度蜘蛛每天来抓的页面里,有相当一部分是从这些入口爬进去的,爬到的却是 4
我以前特别不在意这种小事。
站内搜索点进去 404。标签页打不开。翻页出现死链。
我心里想的是:用户又不常点这些,修它干嘛。
直到有次做抓取诊断,我才发现问题的严重性。
百度蜘蛛每天来抓的页面里,有相当一部分是从这些入口爬进去的。爬到的,却是 404。
蜘蛛的耐心有限。它来一次,抓到的全是空页面,下次来的频率就会降。这机制不难理解。换你是蜘蛛,你也愿意去那些每次都有收获的地方。
我是怎么发现的
在百度搜索资源平台的「抓取异常」里。有一栏叫「抓取失败」,按返回码分类。
404 占了绝大多数。数量比正常页面还多。
点进去看具体 URL,大部分是这几类:站内搜索的结果页、标签页、分类翻页,还有带参数的筛选链接。
这些东西在我眼里是「功能」。在蜘蛛眼里是「入口」。而 404 的时候,它们是「死路」。
为什么站内搜索会 404
以 Z-Blog 为例。站内搜索默认地址是 search.php,或者带参数的形式。
如果你开了伪静态,规则里没给搜索页配上对应的重写,那 /search.html 这种地址就会 404。
这本身不影响功能。用户点搜索框,走的还是原来那个能用的地址。
但只要页面上有链接指向了 /search.html,或者蜘蛛在别处发现了这个地址,它就会去抓。然后撞墙。
更麻烦的是,很多主题会在页面里生成各种搜索相关链接。热门搜索。相关搜索。
这些链接一旦指向 404,等于主动给蜘蛛挖坑。
死链的影响比想象的大
单个 404 不算什么。搜索引擎能理解。
但如果你站里 404 数量多、比例高,性质就变了。
它会认为这个站维护得不好,或者结构混乱。这两种印象,都会拉低整站信任分。
信任分一低,收录自然就慢。
而且这个过程是隐性的。
你不会收到任何通知。只会在某天发现,怎么最近收录不动了。然后到处找原因。找不到。
我现在的处理方式
第一,把所有会产生 404 的入口,要么修好,要么挡掉。
能修的修。比如给站内搜索补上伪静态规则。修不了又没价值的,比如带一堆参数的筛选链接,直接在 robots.txt 里 Disallow,别让蜘蛛进来。
第二,定期看抓取异常。花不了一分钟。但能提前发现问题。看到 404 数量突然上涨,马上去查是哪个入口引起的。
第三,站内链接只用确定的、能打开的地址。
写文章做内链的时候,我会挨个点一遍。确认链接是活的。这个习惯救过我几次。
说句实在话
这类问题,技术上一点都不难。难的是你有没有意识到它重要。
我见过太多人,把精力全花在怎么写标题、怎么堆关键词上,却对自己站里一堆打不开的链接视而不见。
前者是锦上添花。后者是基础。
基础不牢,花绣得再好也没用。
如果你现在正卡在收录上,别急着改内容。先花十分钟,把站内所有入口点一遍,看看有多少是打不开的。
这个动作,可能比写十篇文章更有用。