Blog

Blog

PHODAL

Firefox预加载rel="next"功能及禁用

FireFox有一种新的网站加速策略: 链接预加载。而这个预加载功能是依赖于rel="next标签。

谷歌分页内容

谷歌有一个与分页内容有关的SEO建议,里面说到,如果您对自己网站上的内容分页,并且希望这些内容显示在搜索结果中。在这其中推荐了一个东西:

使用 rel="next" 和 rel="prev" 链接可指明组件网址之间的关系。该标记可明确地提醒 Google,您希望 Google 在处理这些网页时考虑其逻辑顺序,从而合并其链接属性,并且在一般情况下将搜索用户转至第一页。

我的博客有几个这样的分页:

http://www.phodal.com/blog/?page=1

http://www.phodal.com/blog/?page=2

http://www.phodal.com/blog/?page=3

这时,我们可以使用HTML属性rel="next" 和 rel="prev"来指明各网址之间的关系。而这些属性可明确地提醒Google的爬虫,您希望Google在处理这些网页时考虑其逻辑顺序。

  1. 在第一页 (http://www.phodal.com/blog/?page=1) 的 部分中,添加一个链接标记指向序列中的下一页,如下所示: 由于这是序列中的第一个网址,因此无需添加rel="prev"标记。

  2. 在第二页和第三页中,添加链接分别指向序列中的上一页和下一页。例如,可向序列中的第二页添加如下内容:

  3. 最后一个网址,因此无需添加 rel="next" 链接。

这是一个不错的机制,对于SEO来说,不知道这种意义大不大,然而这时Firefox有一个功能叫预加载。

Firefox预加载

预加载是一种浏览器机制,使用浏览器空闲时间来预先下载/加载用户接下来很可能会浏览的页面/资源。页面提供给浏览器需要预加载的集合。浏览器载入当前页面完成后,将会在后台下载需要预加载的页面并添加到缓存中。当用户访问某个预加载的链接时,如果从缓存命中,页面就得以快速呈现。

Firefox的官方文档中提到了两个东西

<link rel="prefetch alternate stylesheet" title="Designed for Mozilla" href="mozspecific.css" />  
<link rel="next" href="2.html" />
  1. prefetch可以用于加载页面、文件及图片。

  2. next标签加载的是下一个页面。

于是,我们找到了相关的几个注意事项:

  • 预加载可以跨域进行,请求时cookie等信息也会被发送。
  • 预加载可能破坏网站统计数据,而用户并没有实际访问。
  • Mozilla Firefox 是目前唯一支持预加载模式的浏览器。

简单地重新罗列一下上面的问题

  • Firefox的预加载带来了新的bug。
  • Firefox的预加载会给后面带来负担。
  • Firefox的预加载不安全。。

于是,我们可以禁用它

禁用FireFox预加载

本地禁用Firefox预加载

1.打开 about:config (ps:设置页面)

2.修改下面的值

user_pref("network.prefetch-next", false);

Apache

添加下面的rewrite规则

RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz 
RewriteCond %{ENV:HAS_X-moz} prefetch 
RewriteRule .* /prefetch-attempt [L]

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

标签