事情本身不复杂,线索都在日志里。文章按「频道-子频道-专题-合集-正文」五级目录组织,日志里 Googlebot 抓取集中在第 1 到第 3 层,第四层之后的文章平均 40 天才被抓一次。
第一反应是「缺少跨层直达入口,只能逐级点进去」,验证下来不成立。
原因不止一个,得分开看。层级越深,链接传递的权重按比例衰减。还有一种是中间层是 JS 折叠菜单,链接不在初始 HTML 里。
不容易想到的是,sitemap 里深层页面排在文件末尾,本轮经常读不到。
上来先按目录层级统计被抓取的 URL
awk '{print $7}' access.log | awk -F/ '{print NF-1}' | sort -n | uniq -c
随后确认中间层链接是否在源码里
curl -s https://www.example.com/channel/ | grep -c '<a href="/sub/'
给深层文章补直达内链
add_filter('the_content', function($c){ return $c.'<p><a href="/guide/deep-post/">相关:深层文章</a></p>'; });
剩下的就是把深层页面提前到 sitemap 前部
SELECT ID FROM wp_posts WHERE post_status='publish' ORDER BY post_date DESC LIMIT 1000;
改完先别撤,确认这几项。第四层页面的平均抓取间隔从 40 天缩短到 10 天以内,日志里 4 层以上路径的请求占比上升。
容易忽略的是,层级不是越平越好,超过三层就该考虑加一条从首页直达的聚合入口。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
