报错是这么冒出来的。上传图片时会自动生成附件页,地址是 /图片名/ 这种形式,页面上只有一张图,却被搜索引擎收录了几百条。这些页面标题都是文件名,正文几乎是空的,抓取预算被大量消耗。

原因不止一个,得分开看。媒体设置里附件页默认沿用父文章模板,输出结构和文章页一样。另一种情况是主题没有对附件页做跳转,访问时直接返回 200 并渲染模板。

另外,sitemap 里把 attachment 这个文章类型也一起包含进去了。

上来先在搜索结果里统计附件页数量

site:www.example.com inurl:/attachment/

随后把附件页 301 到所属文章

add_filter('template_redirect', 'redirect_attachment');

从 sitemap 中排除附件类型

add_filter('wp_sitemaps_post_types', 'no_attachment');

恢复的判定其实很直接。附件页逐步退出索引,站点收录总数回落到正常水平,图片本身仍然能被图片搜索抓到。

直接返回 404 会连带让图片地址失效,跳转到父文章最稳妥,图片搜索的流量也不会一起丢掉;改完记得清一次对象缓存。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189