Javascript 为什么这个网站使用html5 pushstate对seo不友好?

Javascript 为什么这个网站使用html5 pushstate对seo不友好?,javascript,html,seo,history.js,Javascript,Html,Seo,History.js,我刚刚使用html5历史api和history.js库的“pushstate”构建了这个网站 我把它提交给谷歌编入索引,但在我检查了谷歌网站的搜索结果后,我发现文本没有被爬网 我在网上看到过很多这样的例子 问题是什么?问题在于没有JS的访问者,比如谷歌机器人 您依赖JavaScript加载页面内容,因此它没有索引 尝试在浏览器中禁用JavaScript,您可以看到这一点 要解决这个问题,有很多方法可以进行,但基本上,您希望将第一个页面加载为始终包含内容的页面,然后通过JS加载新内容 如果你使用

我刚刚使用html5历史api和history.js库的“pushstate”构建了这个网站

我把它提交给谷歌编入索引,但在我检查了谷歌网站的搜索结果后,我发现文本没有被爬网

我在网上看到过很多这样的例子


问题是什么?

问题在于没有JS的访问者,比如谷歌机器人

您依赖JavaScript加载页面内容,因此它没有索引

尝试在浏览器中禁用JavaScript,您可以看到这一点

要解决这个问题,有很多方法可以进行,但基本上,您希望将第一个页面加载为始终包含内容的页面,然后通过JS加载新内容

如果你使用hashbang,你可以做这样的事情。但是如果你进行搜索,你会在网上找到很多热带地区


Wikipedia对此也有研究。

没有研究过代码,但通常问题是,你应该用真实页面的真实链接来构建网站,然后使用HTML5历史记录和ajax动态加载内容,这样链接和页面就可以被爬网,在旧浏览器中也可以工作。根据本网站的说法:“该网站使用HTML5 wizrdry将“实际内容”异步加载到代码的其余部分:这让用户更快,但搜索引擎仍然可以完全对其进行索引。这里还引用了:是的,这正是阿德内奥所说的。是一个真实的页面,一个带有真实链接的真实页面。然后,HTML5/JS被用来给人一种错觉,认为它不是。你仍然需要真正的页面。好吧,我很抱歉,你们都是对的。在该演示中,他从一个名为content.php的文件加载内容,但当禁用javascript时,内容是从单独的页面加载的(即/seattle.html,并通过htaccess生成友好的url),还是服务器正在做其他事情将content.php拆分为多个页面?谢谢Allan,这回答了问题。如果你现在访问该网站,你会看到它现在的搜索引擎优化友好。谢谢