所以我正在制作一个典型的网页 - 菜单容器和内容容器。由于各种内容本身是相当复杂和不同的子部分,我将把它们创建为单独的HTML文件。
现在要切换内容,我想使用JS交换内容容器中的内容而不重新加载整个页面。我几年前在页面上做过类似的事情,然后我用js生成的内容替换了内容div的内部HTML(各个页面的结构非常相似)。问题是,显然,它对搜索引擎非常不友好,因为他们看不到任何内容。
这一次,我正在考虑动态加载iframe(各种内容HTML子页面)。尽管如此,我不确定SEO是否友好。在没有将搜索引擎的内容可见性复杂化的情况下,我有什么常用的方法可以做吗?
答案 0 :(得分:4)
这种情况不应仅限于前端技术。
我的建议是使用渐进增强方法。
构建一个常规网站,根据需要动态呈现它的页面,并使用常规超链接在页面之间进行链接。然后使用javascript覆盖默认链接行为并发出ajax请求以检索页面。
您可以对ajax请求使用后端检测来提供部分页面,或者您可以使用jQuery或类似方法从请求的页面获取特定内容并加载到页面上相应的占位符。
Google对构建此类网站及其解释方式提出了一些建议:https://support.google.com/webmasters/answer/81766?hl=en
Google上有大量关于逐步增强的ajax网站的教程,这里有一个用PHP编写的例子:
http://www.impressivewebs.com/ajax-progressive-enhancement/
您可以使用渐进增强功能来检索静态页面,它仍然可以在不使用后端语言的情况下工作。通过使用后端检测来提供部分页面而不是需要从中提取数据的完整页面,您将失去节省带宽的选项。