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

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

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

开源深度爱好者

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

联系我: h@phodal.com

微信公众号: 与我沟通

标签