包含<meta name =“fragment”content =“!”/>对于使用hashbang的页面有害吗?

时间:2013-06-18 20:38:32

标签: seo meta-tags hashbang google-crawlers

谷歌说这个元标记:

  

以下重要限制适用:

     
      
  1. 元标记可能只出现在没有散列片段的页面中。
  2.   
  3. 只有“!”可能会出现在内容字段中。
  4.   
  5. 元标记必须出现在文档的头部。
  6.   

来源:https://developers.google.com/webmasters/ajax-crawling/docs/specification?hl=fr-FR

我知道只有包含hashbang但仍应提供快照的网页才需要它。但这通常只是主页。

假设我们有:

www.foo.com

www.foo.com /#!/岗位

第二个将被提取为:

www.foo.com?_escaped_fragment _ = /作业

仅仅是因为hashbang。

但是根页面没有hashbang所以它需要在头部有这个特殊的元标记。

<meta name="fragment" content="!">

但是,由于我的所有单页应用程序到目前为止都使用相同的<head>,我想知道将执行包含hashbang的所有其他页面中的元标记保持为实际是有害的。

实际会发生什么?

2 个答案:

答案 0 :(得分:7)

是不是只是一个选择加入,这意味着在包含hashbangs的页面上使用它是多余的(无害)?据我所知,如果它在URI中检测到hashbang,则爬虫会自动查找_escaped_fragment_页面。只有在URI中没有hashbang时,您才可以建议爬网程序使用元标记附加_escaped_fragment_参数。这样,如果设置了参数,您可以提供不同的内容。这就是一些blogspot主题的工作方式(例如http://illegalcartoon.blogspot.de/)。

我的问题是否正确?

更新

Google已弃用使用_escaped_fragment_的AJAX抓取方案。以下是关于博客帖子的引用:

  

今天,只要您不阻止Googlebot抓取您的JavaScript或CSS文件,我们通常就能够像现代浏览器一样呈现和理解您的网页。

阅读完整文章:https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html

Tl; dr:停止使用它!

答案 1 :(得分:3)

根据google的说明,如果页面有<meta name="fragment" content="!">

  

为了获取没有索引的哈希片段的页面,您需要包含一个   页面HTML标题中的特殊元标记。重要:制作   确保您仅将此解决方案用于包含Ajax内容的页面。   将此添加到非Ajax页面不会产生任何好处并增加额外负载   在您的服务器和Google上。

     

此标记向抓取工具表明它应该抓取丑陋的内容   此URL的版本。根据上述协议,爬虫将会   暂时将漂亮的URL映射到相应的丑陋URL。其他   单词,如果你放入页面   www.example.com,抓取工具会暂时将此网址映射到   www.example.com?_escaped_fragment_=并会向您提出此要求   服务器。然后,您的服务器应返回相应的HTML快照   到www.example.com。

因此,当服务器收到像www.example.com?_escaped_fragment_=这样的请求时,您可以在没有name="fragment" content="!"

的情况下给他一张快照