27

谷歌说这个元标签:

以下重要限制适用:

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

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

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

假设我们有:

www.foo.com

www.foo.com/#!/jobs

第二个将被提取为:

www.foo.com?_escaped_fragment_=/jobs

只是因为hashbang。

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

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

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

实际会发生什么?

4

2 回答 2

9

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

我没听错你的问题吗?

更新:

_escaped_fragment_Google 已弃用使用的 AJAX 抓取方案。以下是相关博文的引述:

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

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

Tl;博士:停止使用这个!

于 2013-06-19T12:13:47.517 回答
4

根据谷歌的这个解释,如果页面有<meta name="fragment" content="!">

为了使没有哈希片段的页面被索引,您在页面的 HTML 头部包含一个特殊的元标记。重要提示:确保您仅将此解决方案用于包含 Ajax 内容的页面。将此添加到非 Ajax 页面不会产生任何好处,并且会给您的服务器和 Google 带来额外的负载。

这个标签向爬虫表明它应该爬取这个 URL 的丑陋版本。按照上面的约定,爬虫会临时将漂亮的 URL 映射到对应的丑 URL。换句话说,如果您放入页面 www.example.com,爬虫程序会临时将此 URL 映射到 www.example.com?_escaped_fragment_= 并将向您的服务器请求。然后,您的服务器应返回对应于 www.example.com 的 HTML 快照。

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

于 2014-05-01T08:34:18.063 回答