Ajax内容索引,谷歌

时间:2014-08-22 06:08:53

标签: ajax seo

我已按照Google网站上的说明通过添加以下元标记在我的AngularJS网站上启用Ajax抓取:

<meta name="fragment" content="!">

呈现的内容包含以下链接:

<a href="/user/1">User 1</a>
<a href="/user/2">User 2</a>
<a href="/user/3">User 3</a>

还有一些Ajax标签可以呈现动态内容,如:

<a href="#!/popular">Popular</a>
<a href="#!/recent">Recent</a>

查看服务器日志,GoogleBot确实传入并正确传入了Uri中的_escaped_fragement,这是正确的:

_escaped_fragment_=%2fpopular
_escaped_fragment_=%2frecent

问题是使用site:www.somesite.com查看实际索引内容并登录服务器,我看到GoogleBot试图索引以下页面:

/user/1/#!/popular
/user/1/#!/recent

为什么会发生类似这样的事情,因为那些网址是相对的而且没有#!在他们上表示ajax内容,有没有办法防止这种情况?

1 个答案:

答案 0 :(得分:1)

如果这些网址在所有网页上都可用,则只需添加它们即可。

所以,如果我转到:<a href="/user/1">User 1</a>并且页面再次<a href="#!/popular">Popular</a>,那么Google加载它是合乎逻辑的:/user/1#!/popular

您可能想知道我已经使用Github上的脚本解决了这个难题:https://github.com/kubrickology/Logical-escaped_fragment

使用以下代码构建您的AJAX页面:__init()