索引angularjs app - Googlebot-simulation vs site:domain

Bac*_*ker 7 javascript indexing web-crawler google-crawlers angularjs

我最近创建了一个网页使用Angularjs,我正在尝试使用Google将其编入索引pushstate.

我已经做了相当的研究和升技发现,我可以用Googlebot-simulaterGoogle Webmaster tools模仿我的网站上谷歌访,看机器人是怎么看我的网页VS什么用户看到.

在这里,结果看起来不错,Google看到一模一样的东西,我的用户,并且所有页面/子页面获得的任何状态partiallyfully.

我今天早上被告知的另一种方式Google是,通过Google搜索来查看我网站上看到的内容site:domainname.这里谈到的所有页面/子页面的列表,Google具有cached和通过点击不同的链接,你会得到其中相应的页面显示的视图.

这是我有点担心我错过了什么,因为无论我的页面是什么partially/ fully状态Goolgebot-simulation,当我查看我的页面(使用第二种方法)时,页面都是空白的.

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

Eri*_*onn 1

约翰内斯·费纳的答案不正确。过去是这样,Google 更新文档的速度非常慢,但他们已经正式宣布,只要您使用推送状态,他们就可以处理 AJAX 页面,而无需 HTML 快照。Bing 也效仿并处理推送状态。

例如,搜索 site:yoamoseguros.com 并检查那里的缓存结果。该页面是用 Angular 构建的,完全使用 AJAX 和推送状态加载,并且显示和索引良好。

忽略损坏的页面,几天前我进行了一次失败的部署,完全损坏的重定向使一切都变得混乱,并且在我有机会删除损坏的页面之前,Google 有时间对损坏的页面进行索引。有一次他们快速索引我的东西......:/


因此,如果您使用 Pushstates(打开 html5 模式)并且 Google 无法正确显示您的页面,那么可能会发生其他情况。检查您的 robots.txt,您是否阻止 Google 读取 js 文件或图像等静态内容?它需要访问此类文件才能正确索引页面。

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


最后一点,Facebook 不支持推送状态。因此 Facebook 仍然需要快照(或者只是在 index.html 中硬编码 og 标签,具体取决于您拥有的内容类型)。