【发布时间】:2014-12-07 08:28:46
【问题描述】:
最近有人告诉我要向客户的网站添加一个小部件,该小部件将允许用户与图像的不同部分进行交互,并深入了解有关他们所点击内容的更详细信息。这一切都很好,这是我以前做过很多次的事情。如果这是我控制的网站的一部分,我会知道如何使其符合 SEO。
但是,它必须托管在客户的公司网站上,而且我构建的任何东西必须在那里工作存在一些技术限制。值得注意的是,我们可以为我们的小部件添加一个自定义 HTML 页面作为站点的一部分,但该页面必须加载所有内容。因此,虽然我们可以上传任意数量的其他 HTML 文件,但只有这个文件会成为网站结构的一部分,包括标题、legft 导航等。
而且这种方法通常效果很好。我们在框架 HTML 页面中放置了一些 JavaScript,这完成了所有繁重的工作 - 根据需要通过 Ajax 加载任何额外的 HTML 页面。
但是,客户坚持要针对 SEO 优化小部件的每个部分,并且可以被 Google 抓取。现在,如果这是在我可以控制的网站上,我会将小部件的每个部分创建为一个单独的 HTML 页面——具有它自己的标题、描述、URL 等——然后通过 Ajax 加载它们。
但是由于客户端只允许作为网站一部分的一个页面,因此在这种情况下这不起作用。我显然可以使用自己的 SEO 元标记添加其他 HTML 页面 - 但如果在浏览器中查看,它们只会有小部件的内容 - 没有左侧导航、标题等。
那么这里的解决方案是什么? SEO 显然会中断,因为 Google(或其他搜索引擎)会将 URL 返回到这些独立页面,这完全破坏了网站体验。
我是否认为除非客户允许我们在他们的网站上创建每个点赞页面,否则没有任何方法可以做到这一点?
【问题讨论】:
-
您是否阅读过 Google 开发人员指南中的 ajax 加载页面解释
?_escaped_fragment=? -
是的,我理解这种机制——但它并不能解决附加页面位于主站点“外部”的问题。除非我错过了什么?
-
没错,除非你能提供这样的后备,否则我认为你不能满足提到的 SEO 要求。使用
?_escaped_fragment,只要谷歌可以访问实时链接,您就不需要重复所有标题 -
好的 - 看起来我们必须回到客户那里并请求我们需要的东西。非常感谢:)
标签: javascript ajax seo hashbang