如何让Google在不使用#的情况下抓取AJAX页面!网址?


13

在Google关于“使AJAX应用程序可抓取”的建议中,他们建议通过添加<meta name="fragment" content="!">到页面来使不使用哈希爆炸片段(#!)的AJAX URL可抓取<head>

有人成功吗?在网站站长工具中使用“以Googlebot身份获取”时,我找不到Googlebot为页面拍摄HTML快照。


我认为这样做可能会更好。
Su

有趣。也许Google不会拍摄片段快照。片段网址是否被索引?
史蒂夫·斯(SteveS)2011年

Answers:



4

在允许抓取AJAX内容的前几节中,Google指出


3,处理没有哈希碎片的页面

您的某些页面可能没有哈希片段。例如,您可能希望主页为www.example.com,而不是www.example.com#!home。因此,我们对没有哈希片段的页面有特殊规定。

注意:确保仅对包含动态的,由Ajax创建的内容的页面使用此选项。对于仅具有静态内容的页面,它不会向爬网程序提供额外的信息,但是会给您和Google的服务器带来额外的负担。

为了使没有哈希片段的页面变得可抓取,您可以在页面HTML的头部包含一个特殊的meta标签。

meta标签采用以下形式:

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

这表明搜寻器应爬网该URL的丑陋版本。根据上述协议,搜寻器会将临时网址临时映射到相应的丑陋网址。换句话说,如果您将其放置在www.example.com页面中,则爬网程序会将此URL临时映射到www.example.com?_escaped_fragment_=服务器并将向其请求。然后,您的服务器应返回与相对应的HTML快照www.example.com。请注意,此元标记有一个重要限制:唯一有效的内容是“!”。换句话说,meta标记将始终采用确切的形式:<meta name="fragment" content="!">,表示空散列片段,但页面包含AJAX内容。


因此,您仍然需要?_escaped_fragment_=使用无头浏览器启用URL到“丑陋”版本的映射。

他们跟进警告:

如果要www.example.com?_escaped_fragment_=返回的内容返回404代码,则不会为任何内容编制索引www.example.com

因此,您也应该对此进行测试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.