angular sitemap.xml 中的网址是否包含 hashbang?

angular urls in sitemap.xml with hashbang or not?

我应该如何将 Angular url 放在 sitemap.xml 中?

现在我添加了这个:

https://www.domain.com/user-area#!/logon

但我觉得Google不喜欢。

我读过 _escaped_fragment_ 但我不明白那是什么意思。

_escaped_fragment_ 最近贬值了 google。在此处查看他们的博客 post: http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html

无论如何,从您所写的内容来看,您的服务器结构似乎没有为 _escaped_fragment_ 做好准备。我不会在这里详细介绍它,因为它毕竟已经贬值了。

无论如何,Google 的机器人并不总是能够处理具有 AJAX 内容(通过 Javascript 呈现的内容)的网站。为了创建解决方法,Google 建议将 hashbang #! 添加到所有 AJAX 站点。机器人将能够检测到 hashbang,并知道该网站有通过 AJAX 呈现的内容。然后,机器人会通过将 hashbang 替换为 _escaped_fragment_ 来请求 AJAX 页面的预呈现版本。但是,这需要托管 AJAX 页面的服务器了解 _escaped_fragment_ 并能够提供预呈现页面,这是一个很难设置和执行的过程。

现在,根据折旧博客post,您在 sitemap.xml 中输入的 URL 应该没问题,因为 Google 的机器人应该能够"crawl, render, and index the #! URLs"。如果您真的想知道 Google 是否可以理解您的网站,我建议您使用位于 https://www.google.com/intl/en/webmasters/ 的网站管理员控制台。使用该工具,您可以使用 google 注册您的网站,观察 google 如何为您的网站编制索引,并在您的网站出现任何问题时收到通知。

但一般来说,让 Google 为 AJAX 站点编制索引是一件很痛苦的事情。我强烈建议您使用网站管理员控制台并经常参考它。它确实有帮助。