sitemap 由脚本按全表导出,把带 noindex 的标签页、作者页、分页也一起提交了。GSC 的 sitemap 报告里「已提交但被 noindex 排除」稳定在两万条,实际可索引的只有四万。
原因不止一个,得分开看。导出语句只过滤了发布状态,没有排除模板里加了 noindex 的页面类型;标签页和作者页在模板层统一加 noindex,脚本并不知道;分页第二页之后也被写进了 sitemap;sitemap 生成后没有人对照覆盖率报告核对数量。
动手时先统计 sitemap 里各类页面的占比
curl -s https://www.example.com/sitemap.xml | grep -o 'https://[^<]*' | awk -F/ '{print $4}' | sort | uniq -c
随后把模板层 noindex 的页面类型从导出逻辑里排除
SELECT ID FROM wp_posts WHERE post_type='post' AND post_status='publish';
接着抽查几个提交地址的实际 robots 状态
curl -s https://www.example.com/tag/seo | grep -o '<meta name="robots"[^>]*>'
末了重新提交后核对被排除数量是否下降
别只看报错消失,验证要多做一步。sitemap 条数从六万降到四万,被 noindex 排除的条目归零,可索引页面的抓取比例上升。
容易忽略的是,sitemap 只该列希望被收录的地址,把不可索引的页面一起提交,等于每次都提醒蜘蛛白跑一趟。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
