我正在尝试了解 Google/Bing 如何为 Ajax 内容编制索引。我认为使用 hashbang URL 时我的想法很清楚,但是当您使用 HTML5 PushState API 时它是如何工作的?
例如,以下网址 www.exemple.com/foo 被谷歌“翻译”为 www.exemple.com/foo?_escaped_fragment=。但是具有 GET 参数的 URL 怎么样,比如 www.exemple.com/foo?page=4 ?是否翻译成 www.exemple.com/foo?page=4&_escaped_fragment= ?
谢谢 :).
最佳答案
是的,_escaped_fragment 总是添加为最后一个参数。在此处查看来自谷歌的规范 https://developers.google.com/webmasters/ajax-crawling/docs/specification
Further, there must only be one _escaped_fragment_ in the URL, and it must be the last query parameter
在这种情况下,HTML5 和 Hashbang 之间没有区别,因为在这两种情况下您都可以获取参数。
使用 hashbang _escaped_fragment 时的唯一区别将包含路径,而使用 html5 时它将为空。
备注: 使用 html5,您需要将以下代码放入您的 html 页面,因为搜索引擎机器人不会在您的 url 中看到任何 hashbang:
<meta name="fragment" content="!">
关于Ajax 可通过 _escaped_fragment= 与历史 HTML5 抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13688164/