有个常见的小麻烦:插件停用了,页面头部那块标记还在;再点一次删除,页面上那块内容照样没消失。因为停用、删除、清数据是三件事,而你点的按钮只管前两件。真正需要收尾的,是那些插件留下的、还在被搜索引擎读到的痕迹。
停用、删除、清数据是三件事
停用只是让插件的代码不再运行,文件和数据都还在;删除会把插件文件移除,但它写进数据库的内容、它注册过的额外地址、它挂上的跳转规则,会不会被一起清掉,取决于插件自己有没有实现清理逻辑。WordPress 官方没有公布这样一份统一清单,说明每个插件被删除时会清掉什么——所以"删了插件就等于没装过"这个假设不成立。
具体会剩下些什么,常见的是这四类:页面头部还留着的标记或脚本、额外生成的地址(比如自己的文章类型、分类、附件页)、跳转规则、以及数据库里的表和选项。这些东西有个共同点:它们不在插件目录里,所以你在文件管理器里翻不到,也就最容易忘了。
残留会怎么影响索引
分三种情况。第一种是标记类残留:页面头部还带着它写的标签或脚本。这类东西不会自己消失,而页面头部正是搜索引擎最先读的部分,canonical 和外链指向的 URL 有什么关系讲的就是头部里一个标签写错会牵连到哪一层。第二种是地址类残留:插件曾经生成过一批地址,删掉插件之后这些地址要么报错,要么指向别处,这就落进了重复与失效地址的范围,需要按地址一条条核对,而不是笼统地归给插件。第三种是索引标记被写死在页面里:比如某个模板曾经给整站输出过不索引的设置,插件走了之后标记还留着,页面就永远进不了索引。
这里要记住一条机制:robots meta 这类设置只有在抓取被允许时才会被读到,写在 head 里或走 HTTP 响应头都可以。robots meta 标签与 X-Robots-Tag 的规范所以排查残留时,要看的是页面现在真实输出的是什么,而不是插件当初打算做什么。
卸载后的处理顺序
- 先列清单:这个插件当初负责哪些输出——标题标签、结构化数据、站点地图、跳转规则、额外地址,一项项写下来。
- 逐项核对:按清单去实际页面看:首页、一个列表页、一个详情页的 head 部分,以及一个它建过的地址。
- 该补的补掉:需要继续输出的部分,改由主题或其他插件接管;不再需要的部分,把残留的代码与设置清干净。
- 旧地址给个说法:确认有对应内容就用永久重定向指过去,没有对应内容的让它正常返回 404 或 410。Google 对这两类的区分是:永久重定向会让搜索结果显示新的目标地址,临时重定向仍显示原地址,所以别用 301 做临时跳转。Google 关于重定向类型与适用场景的说明
- 清一遍数据库:确认这个插件创建的表和选项还在不在,删之前先备份。
哪些残留不值得管
- 一行无害的说明性标记,不影响页面可读性,也不影响抓取。
- 你自己早年生成、至今仍有引量的旧页面:那是历史资产,该留。
- 和现有主题功能重叠的地址:属于重复内容问题,按上面说的规范地址口径归到重复内容那篇去处理,不必当成插件残留专门清一遍。
- 附件页这类本来就该多出来的页面:附件页关了图片会消失吗、两种 URL 要分开检查里区分得很清楚。
怎么验证确实清干净了
看三样。第一是输出:抓一次关键页面的源码,看页面头部还剩什么,站内搜索页被收录那篇讲的"设置开了不等于真的输出"就是同一件事。第二是链接:插件建过的旧地址往往还有站内链接指着它们,而链接是发现页面的主要途径之一,Google 也写明只有带 href 的链接元素才会被抓取、并且会用链接来判断页面相关性并发现新页面,所以指向空地址的链接要一并改掉。Google 关于链接如何被抓取与传递的说明第三是重复:如果现在有两三个地址在说同一件事,就明确一个规范地址,Google 说指定规范 URL 的几种方法可以叠加使用,指向不一致反而更麻烦。Google 关于指定规范 URL 的方法说明
顺序上补一句:卸载插件之前先做一次完整备份,比卸载之后补救便宜得多。
