我正在开发一个基于hashchange事件实现导航的应用程序。哈希更改后,内容主要通过ajax调用加载(并通过DOM注入显示)。
从SEO角度来看-搜索引擎是否可以索引此注入的内容?
搜索引擎可以跟踪我的哈希链接(ex href =“#page = 1”)吗?
如果不是-出于SEO原因,除了在我的页面中包含静态内容之外,还有其他解决方法吗?
谢谢
我在SO上找到了一些类似的线程,但是没有找到满意的答案,因此请原谅我再问一次。
我正在开发一个基于hashchange事件实现导航的应用程序。哈希更改后,内容主要通过ajax调用加载(并通过DOM注入显示)。
从SEO角度来看-搜索引擎是否可以索引此注入的内容?
搜索引擎可以跟踪我的哈希链接(ex href =“#page = 1”)吗?
如果不是-出于SEO原因,除了在我的页面中包含静态内容之外,还有其他解决方法吗?
谢谢
我在SO上找到了一些类似的线程,但是没有找到满意的答案,因此请原谅我再问一次。
Answers:
https://github.com/balupton/history.js/wiki/Intelligent-State-Handling
^讨论了哈希网址和哈希网址的利弊,并提供了替代解决方案
可以使Google跟踪您的哈希链接,但是需要进行一些服务器端更改。
要完成Legoscia的答案(/programming//a/11582278/1518423),您可以在服务器端使用无头浏览器库,将静态html提供给Google bot。
由于您大量使用了ajax,因此您似乎喜欢javascript,因此这是可从node.js使用的javascript无头浏览器:http: //zombie.labnotes.org/
希望这对您有用,玩得开心!
尽管有一些搜索引擎支持对Ajax内容进行爬网,但是传统的url和静态页面内容对于搜索引擎可见性仍然更加可靠。
当页面的重要(较大)部分需要重新加载时,通常希望ajax内容是可爬网的。但是,在这种情况下,重定向通常是可行的(但不希望的)替代方案。
我建议最初对页面进行编码,以便在必须重新加载页面的大/重要部分时重新定向页面(Step1)。意思是说,我们是使用传统网址<a href="/webmasters//page/1">
(或类似网址)而不是的锚<a href="#page=1">
。
然后,编写javascript(jQuery)来拦截重定向,并使用ajax重新加载页面重定向后页面更改的部分(Step2)。
<a id="page1" href="/page/1">Page 1</a>
<script>
$("#page1").click(function () {
/*
* Perform ajax here to replace a portion of the page.
*/
return false; // prevent redirection
});
</script>
第一步生成的网页具有静态内容,即使没有javascript也可以使用传统的url,而第二步则使网页具有动态性(避免使用静态内容)。