【问题标题】:What are best practices: ajax content - jsRender - make it SEO friendly什么是最佳实践:ajax 内容 - jsRender - 使其对 SEO 友好
【发布时间】:2012-10-17 14:05:09
【问题描述】:

我正在制作一个在主页上显示不同列表的应用...

为了获得更好的性能,我使用 php 预缓存 json 并将其放入文件中,然后使用 ajax 调用我使用来自 Boris Moore 的带有 jsRender 的模板来解析项目。运行速度非常快,而且非常完美。

但是如何为搜索引擎提供相同的内容呢? 问题不在于转义片段......问题在于保持简单,没有开销......

理想情况下,会有一个 jsRender php 端口将模板解析为 html,这样我就可以缓存它并即时将其提供给 SE。

但我找不到任何东西,特别是因为 jsRender 仍在开发中,并且正在发生变化。

那么有没有办法获取 js 生成的内容?

我知道我可以在浏览器中打开一个页面让 jsRender 完成这项工作,然后使用 ajax 保存 $('#list').html() 内容....但是我有数百个不同的页面需要缓存一天几次,所以这个选项真的不可行......

【问题讨论】:

    标签: javascript ajax caching jsrender


    【解决方案1】:

    一些事情:

    • 服务 SE SE 的特定内容是被 SE 禁止的好方法(如果 我们正在谈论 Google),请参阅他们的条款
    • 如果您希望 google 为动态呈现的内容编制索引而不是遇到挑战,但根据网络,Google 确实索引 AJAX 阅读更多http://searchengineland.com/its-official-googles-proposal-for-crawling-ajax-urls-is-live-37298
    • 如果您希望 google 根据动态内容显示的信息进行抓取,那么您需要一个 sitemap.xml,它可以在与缓存 json 相同的运行中生成。 sitemap.xml 是“提示”谷歌(而不是欺骗它)的唯一有效方式

    反映评论的更新: 如果 JsRender 是您想要保留的核心价值,那么您可以只使用 NodeJS 来执行这些 jsRender 文件,然后将输出包含在 PHP 文件中,或者以任何您想要为它们提供服务的方式。我查了一下,还有人如何使用 NodeJS 和 jsRender:https://github.com/shtylman/node-jsrender

    HTH

    【讨论】:

      猜你喜欢
      • 2015-11-22
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多