javascript – 索引angularjs应用程序 – Googlebot-simulation vs site:domain

前端之家收集整理的这篇文章主要介绍了javascript – 索引angularjs应用程序 – Googlebot-simulation vs site:domain前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近使用 Angularjs创建了一个网页,我目前正在尝试使用pushstate将其编入索引.

我做了相当深入的研究,发现我可以在Google网站管理员工具中使用Googlebot-simulater来模拟我网站上的Google访问,并了解机器人如何看到我的网页与用户看到的内容.

结果看起来很不错,Google看到与我的用户完全相同的东西,并且所有页面/子页面都获得部分或完全状态.

我今天早上被告知的另一种方式是看谷歌在我的网站上看到的是google网站:domainname.这里列出了Google缓存的所有页面/子页面,通过点击不同的链接,您可以看到显示相应页面的视图.

这是我有点担心我错过了什么,因为无论我的页面从Goolgebot模拟得到的部分/完全状态,当我查看我的页面(使用第二种方法)时,页面都是空白的.

这是我第一次索引网页,我已经尝试了几天,但没有运气.是否有人能说出我做错了什么/错过了什么,或者至少指出了正确的方向?或者我应该多一点耐心?

解决方法

约翰内斯费纳的答案是不正确的.它曾经是,而谷歌更新他们的文档非常慢,但他们已经正式宣布他们确实处理AJAX页面,而不需要HTML快照,只要你使用pushstates. Bing已经跟随套件并处理了pushstates.

作为一个例子,搜索site:yoamoseguros.com并检查那里的缓存结果.该页面是在Angular中构建的,并且使用AJAX和pushstates完全加载,它显示和索引很好.

并且忽略了破碎的页面,几天前我做了一次失败的部署,完全破坏了重定向,搞砸了一切,谷歌有时间在我有机会删除它们之前将破坏的页面编入索引.有一次他们快速索引我的东西……:/

因此,如果您使用的是pushstates(html5mode)并且Google无法正确显示您的网页,那么还会有其他内容发生.检查你的robots.txt,你是否阻止Google阅读js文件或图像等静态内容?它需要访问这样的文件才能正确索引页面.

另外,确保你的片段只是“#”而不是“#!”.在后一种情况下,谷歌将假设你想使用html快照,并试图找到它们,并可能会失败.因此,如果您想使用更简单的pushstate版本,请确保您没有使用“#!”.

最后,Facebook不支持pushstates.所以Facebook仍然需要快照(或者只是在index.html中使用硬编码的og-tags,具体取决于你拥有的内容类型).

猜你在找的JavaScript相关文章