趁着这几天网站备案的间隙(暂时关闭了国内访问),博客调整了一次url结构,并调整了所涉及的页面模板中的canonical标签。几天下来,谷歌对新的URL反映挺迅速,底层一些的旧的URL特别是已经不在主要列表开放入口的历史文章在搜索引擎中的url反映就有点差强人意了!由于产生的重复页面问题,所以还得设置一下301。
针对重复网页如何canonical和301,以及如何配合使用,谷歌官方指南是这么说的:
指定规范网页
您可通过几种不同的方法在一组重复网页中指定规范网页,具体取决于您的使用情形:
方法 说明 通用指南 无论使用哪种规范化方法,都请遵循该指南。 rel=canonical <link> 标记 在所有重复网页的代码中分别添加一个 <link> 标记,使其指向规范网页。
优点:
- 可以映射无限多个重复网页。
缺点:
- 可能会导致网页大小增加。
- 在大型网站或网址经常改变的网站上维护映射可能会比较复杂。
- 仅适用于 HTML 网页,不适用于 PDF 之类的文件(在这种情况下,您可以使用 rel=canonical HTTP 标头)。
rel=canonical HTTP 标头 在您的网页响应中发送 rel=canonical 标头。
优点:
- 不会导致网页大小增加。
- 可以映射无限多个重复网页。
缺点:
- 在大型网站或网址经常改变的网站上维护映射可能会比较复杂。
站点地图 在站点地图中指定您的规范网页。
优点:
- 易于执行和维护,尤其是在大型网站上。
缺点:
- Googlebot 仍必须为您在站点地图中声明的所有规范网页确定关联的重复网页。
- 此方法向 Googlebot 发送的信号不如 rel=canonical 映射方法发送的信号强。
301 重定向 使用 301 重定向告知 Googlebot,重定向网址是比给定网址更佳的版本。请仅在弃用重复网页时使用此方法。 AMP 变体 如果您的某个网页变体是 AMP 网页,您将需要按照 AMP 指南来指明规范网页和 AMP 变体。
根据博客中url实际应用情况,rewrite配置起来比较繁琐,内容页采用PHP的方式解决。
这是核心也是本文的细节备注,请勿直接使用。
$this->redirect($canonical, 301);
如无意外,新URL会以比较快的速度代替旧的URL(这里说的是谷歌)
如有意外,再回来补充!
-- The End --