0

我对搜索机器人将如何抓取我的 ajax 网站感到有些困惑。

http://www.example.com包含 3 个链接

  • #!/abc
  • #!/xyz
  • #!/123

我的<meta name="fragment" content="!">页面头部包含了这个,所以机器人应该使用下面的 url 访问这些链接,我正在使用 prerender.io 来提供一个页面

机器人在抓取这些页面时会如何表现?当他们在这些页面上找到新链接时,网址会是什么样子?

  1. #!/abc1 => http://www.example.com?_escaped_fragment_=/abc#!/abc1
  2. #!/abc2 => http://www.example.com/#!/abc/abc2
4

1 回答 1

3

这是 Google 的完整 AJAX 抓取规范:https ://developers.google.com/webmasters/ajax-crawling/docs/specification

就像您提到的那样,机器人将看到#!并将它们转换为URL。_escaped_fragment_<meta name="fragment" content="!">标记仅对没有 的页面是必需的#!,例如您的主页或任何 HTML5 推送状态 URL。如果 URL 有#!,Google 会自动询问_escaped_fragment_而不检查<meta name="fragment" content="!">

如果 Google 抓取http://example.com?_escaped_fragment_=/abc并在该页面上找到 的链接/#!/xyz,它将单独请求http://example.com?_escaped_fragment_=/xyz

因此,您应该始终让您的 URL 链接到#!URL,而不是_escaped_fragment_URL。谷歌将自行改造它们。

于 2014-03-22T23:24:01.320 回答