如何SEO主要由Javascript生成的站点?

如何SEO主要由Javascript生成的站点?,javascript,dynamic,seo,Javascript,Dynamic,Seo,我犯了一个错误,即根据请求(从XML文件)通过Javascript生成几乎所有的内容。现在我明白了这对搜索引擎优化来说是可怕的。从那以后,我也了解到了这件事,我很难过我也错过了那条船 我一直在研究我剩余的SEO选项,并偶然发现了谷歌的建议,但随后阅读了很多关于为什么Hashbang不好的有根据的观点 无论我使用什么选项,深度链接对我来说也很重要。我目前正在使用,它对深度链接很有效,但对搜索引擎没有任何帮助。我正在考虑切换到一个更好地支持HTML5历史状态的选项,比如。这将有助于清理URL并避免散

我犯了一个错误,即根据请求(从XML文件)通过Javascript生成几乎所有的内容。现在我明白了这对搜索引擎优化来说是可怕的。从那以后,我也了解到了这件事,我很难过我也错过了那条船

我一直在研究我剩余的SEO选项,并偶然发现了谷歌的建议,但随后阅读了很多关于为什么Hashbang不好的有根据的观点

无论我使用什么选项,深度链接对我来说也很重要。我目前正在使用,它对深度链接很有效,但对搜索引擎没有任何帮助。我正在考虑切换到一个更好地支持HTML5历史状态的选项,比如。这将有助于清理URL并避免散列,但我不确定这是否会对SEO产生影响,因为我的所有内容都是从XML文件动态生成的

我还有什么选择来实现体面的搜索引擎优化?请戴白帽子,不要披风

请注意,我主要关心的是SEO,而不是可访问性——这是一个个人投资组合网站,我同意我的内容对某些人不可见,但我不同意它对蜘蛛不可见。(正在进行中,但主要是在建筑上)


编辑:是的,我知道有许多问题与此类似,但大多数问题的答案都需要重大重组。我不是在寻找一个如果我从头开始就可以使用的答案,我是在寻找一个尽可能优雅地弥补我以前的无知的方法…

重新开始,使网站能够在没有JavaScript的情况下工作。然后(可选)随意使用JavaScript来增强体验。

一个是你必须解释到达你网站的请求,如果它来自谷歌机器人,你可以返回你网站的html版本,如果它是普通用户,则重定向到普通网站。要返回你网站的html版本,无需花太多精力更改代码,你可以在屏幕上执行抓取你的站点,并返回呈现的html响应(如果是google机器人)。您可以通过两种方式来实现这一点:使用无头浏览器(如phantomjs)和Nodejs服务器,或者使用python beautiful soup或java htmlkit

尽管有反对票和重新开始的建议,我还是找到了答案。我使用php生成内容的精简纯html版本,这还有一个额外的好处,即为禁用javascript的任何人提供可用(如果不是理想的话)体验

如果视口大小足以容纳javascripted DOM元素,我还使用媒体查询来显示这些元素。由于爬行器不太使用CSS,它们只看到php生成的纯html,并且有很好的内容供搜索引擎吸收


请参阅,以获取这方面的实际示例;减少浏览器宽度<640px或使用类似于查看php生成的纯html内容的工具关闭CSS。

保存一些生成的html,然后慢慢添加回一些动态功能?这样,它就不会从@johncode的0%可能重复开始——我不确定我的问题是否重复,但答案是有用的,谢谢。如果你否决了这一点,你能解释一下原因吗?对我来说似乎是个合理的问题。如果你因为认为这是一个副本而投了否决票,请发布副本,这样我就可以引用它。我不会重新开始。这是没有帮助的。是的,我提到的谷歌ajax可爬行页面确实建议使用屏幕抓取来生成html。我会调查的,谢谢。