服务器如何知道何时提供放大器页面

iva*_*ero 12 redirect amp-html

据我所知,将有一个版本的网站,其中包含针对桌面设备和AMP页面设计的HTML.

我需要做些什么才能使网站向移动设备提供AMP内容吗?

amd*_*las 25

好问题!

摘要:

  • AMP不提供自动重定向方式,只为其搜索引擎提供必要的标记(可能还有其他网站/应用/搜索引擎将其用户发送到AMP页面
  • 可以使用将移动用户重定向到移动站点的旧方法,通常是通过检测移动用户代理并通过301/302重定向到AMP页面来重定向它们
  • 重定向移动用户可能不值得做,因为上述旧方法有点糟糕

完整答案:

就Google和搜索引擎结果页面(SERP)而言,您需要将其包含在桌面标记中:

<link rel="amphtml"
      href="https://www.example.com/url/to/amp/document.html">
Run Code Online (Sandbox Code Playgroud)

这在您的AMP标记中:

<link rel="canonical"
      href="https://www.example.com/url/to/standard/document.html">
Run Code Online (Sandbox Code Playgroud)

因此谷歌和Twitter,LinkedIn或Pinterest等其他高流量网络将相应地检测amphtml签名并将移动浏览器直接发送到AMP页面.我会说Facebook,但由于AMP是Facebook Instant Articles的竞争产品,我怀疑他们会拖延.

AMP当然是一个完全不同的动物,既是开源的又是网络技术,而不是内容的原生应用平台,但网络和原生平台相互对立,而谷歌提供了大量的应用程序,从ServiceWorker这样的技术中可以看出,他们正在推动网络作为一个内容平台 - 这应该不足为奇,因为在Facebook或Apple应用程序上花费的时间远离Google搜索及其广告,而谷歌从中获得了收入.

但我离题了:显然这个rel="amphtml"声明只会指示Google 等人.将此结果从其网页重定向到移动用户.这是因为重定向政策不是谷歌或AMP团队的意图,他们宁愿设想一个每个人都通过谷歌或其他大型玩家而不是直接访问或直接通过电子邮件或其他东西链接的世界.

从理论上讲,它有一天可能会在浏览器级别实现,但它需要浏览器供应商足够长的时间来标准化基本的布局/样式属性和JavaScript API,更不用说当前AMP的随机非标准考虑因素了.苹果将​​在浏览器方面拖后腿,因为它会与自己的新闻应用竞争.

我们可以预期AMP重定向将在Chrome浏览器中实现(因此也可以在Opera中实现),但即使这样也可能还需要一段时间.因此,为了强制移动设备重定向到AMP页面而不是标准页面,您最终需要配置Web服务器以嗅探移动用户代理(或不太常用的MIME类型)并重定向(使用302为了SEO)他们到AMP页面.

对于过去的习惯来说,这似乎是一种回归,你这样认为是正确的.虽然AMP对页面优化以及HTTP响应/传输时间很有价值,但重定向会立即减慢一段时间.在响应式网页设计的出现和当前顶峰之前,这就是移动用户的照顾方式,特别是在WAP时代.网站将提供适用于移动设备的版本,在mob.website.com或等子域下提供服务m.website.com.有一些针对移动设备的XHTML风格,仍然被Google+用于其"基本"页面(请注意DOCTYPE).这些"基本"页面保留用于低屏幕分辨率的设备,我们可以从这一行看到:

<link rel="alternate" 
      media="only screen and (max-width: 640px)"    
      href="/app/basic/+SOME_PAGE">
Run Code Online (Sandbox Code Playgroud)

这种方法甚至可能成为AMP的灵感来源.

类似的重定向实践应该不会给您带来任何困难,因为您可能打算使用amp.website.com或者可能是AMP页面的子目录.

因为所有网站都应该响应 - 在SEO方面,并且由于重定向技术不可靠性以及使用用户代理和MIME类型作为检测方法,仅针对移动设备的定位变得更加困难- 您可能会试图尝试估计访问者的连接速度或物理位置.

然后,如果连接速度较低,或者用户位于远离源服务器的位置,则最好将它们重定向到AMP页面(因为它是从Google的CDN提供的,并使用HTTP/2 +重缓存来提供服务内容更快).

但是,任何CDN都可以用于所有页面,以便更快地向所有人提供,而不仅仅是慢速连接用户或远离原始服务器的人; AMP的重点仅在于通过CDN传递内容,而更多的是关于为负责任地构建的页面提供服务,这些设备以其糟糕的JavaScript执行时间而闻名,例如移动电话.

最终,我不会强制所有移动用户重定向.我会留给谷歌指导通过其搜索引擎到达的访问者被发送到AMP页面.如果AMP将成为流行的并且是一个长期存在的产品,浏览器最终将实现它.

想想看,如果你要为移动设备提供内容,向使用旧版Windows Phone或Blackberry设备用户提供AMP页面可能是不负责任的,因为浏览器甚至可能无法正常支持AMP.

需要考虑很多,但我希望我已经为您的问题提供了答案,如果没有,在决定产品的正确答案之前,至少要考虑一些因素.


有关单独的移动网站的详细信息,您可以阅读有关 Google提供的主题的此文档.

有关如何配置Web服务器以检测移动用户代理并将其发送到其他子域的示例,您可以在搜索文章代码示例时轻松找到它们.