每个 tag 页固定只显示 3 篇文章的摘要,剩下的都靠「加载更多」按钮异步拉取,蜘蛛只看到 3 条链接,两年积累的两百篇同标签文章一条都串不起来。
原因不止一个,得分开看。加载更多走的是 AJAX 接口,返回的 HTML 里没有链接;tag 模板没有输出分页链接,深度到此为止;相关标签区块用 JS 渲染,蜘蛛读到的是一片空白。
先看源码里 tag 页实际有几个文章链接
curl -s https://www.example.com/tag/seo/ | grep -o 'class="post-link"' | wc -l
然后把加载更多改成带分页的静态输出
curl -s 'https://www.example.com/tag/seo/page/2/' | grep -c 'post-link'
补上前后页链接
add_filter('wp_link_pages_args', function($a){ $a['next_or_number']='next'; return $a; });
命令输出我都留了记录,免得改完记不清原来的值。
改之前先确认了最近有没有人动过配置,避免白查一遍。
恢复的判定其实很直接。改成静态分页后单个 tag 页可抓链接从 3 条升到 25 条,两周内同标签文章的被抓次数涨了三倍。
补一句。内链的密度比数量重要,一个 tag 页只放出 3 条链接等于把聚合的意义丢掉了。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
