【问题标题】:Difference between clientside and serverside (ajax) rendering for search page, concerning SEO [closed]搜索页面的客户端和服务器端(ajax)渲染之间的区别,关于 SEO [关闭]
【发布时间】:2013-08-10 12:25:01
【问题描述】:

我正在开发一个或多或少是一个搜索工具的页面,它基本上由一个输入字段组成,它会根据输入向用户显示一个条目列表。在这种情况下,如果页面使用客户端或服务器端呈现(使用 AJAX)对 SEO 有什么不同,为什么?

我只是担心如果我在这种特殊情况下使用客户端渲染是否会不利。

我知道客户端渲染与服务器端相比是 SEO 的一个劣势——可以说,当 HTML 一开始就完整时。但是在动态情况下,无论如何都必须异步加载结果,这仍然是一个缺点吗?是否取决于当前内容是否可以映射到 URL?

【问题讨论】:

  • 您可以同时使用这两种方法...但首先您为什么不让我们知道您使用其中任何一种方法的原因?
  • 因为我现在只想了解SEO部分...关于其他方面的信息很多,我正在阅读,但我无法清除。
  • 通过 ajax/javascript 加载的任何内容可能无法用于索引机器人。
  • 好的,我想我的问题过于复杂了——所以在这些情况下,如果我在服务器或客户端呈现这些内容并没有任何区别。
  • 这个问题似乎是题外话,因为它是关于 SEO

标签: javascript seo client-side-templating


【解决方案1】:

AJAX 加载内容对SEO 没有影响。

通过 JavaScript 更新 DOM 不会导致搜索机器人索引的内容发生任何明显变化。几乎所有合法的搜索引擎都会归档网页的非动态版本。

为了启用 SEO,您必须维护指向该内容的非动态版本的嵌入式链接。

例如(使用 jQuery):

 <div class="next-page"><a class="ajax-me" href="/page-2.html">Page 2</a></div>

 $(document).ready(function(){
    $(".ajax-me").click(function(e){
        e.preventDefaults();
        $('#ajax-target').load($(this).attr("href"));
    });
 });

这将为链接启用 AJAX,但仍使该链接对搜索引擎的网络爬虫可见。

您的服务器必须知道根据标头请求以完整网页或 AJAX 响应进行响应。

【讨论】:

    【解决方案2】:

    由于您似乎不太关心 UI/UX 并想了解更多关于 SEO 的信息,我建议您与客户端一起去。在用户输入后动态加载的任何内容不会对网络爬虫可见。

    但是,另一种方法是使其双向工作 - 这样通过访问特定 URL (site.com/search?q=something),您可以从服务器端完全呈现页面,同时您仍然可以进行另一个搜索将发生在客户端。您在索引所有相关搜索时仍然会遇到一些麻烦,但也许您可以跟踪最后的 x 个搜索并将它们显示在页面的某个位置,并带有指向完整服务器端呈现的搜索页面的链接,就像我上面提到的那样。您甚至可以进行这些动态调用,不仅可以更改页面内容,还可以更改浏览器地址栏中的 URL 哈希(请参阅here)。

    这样你就可以为用户提供一个很好的用户界面/体验,同时仍然做一个非常好的 SEO 工作,因为爬虫可以从最后搜索列表中索引链接。

    所以,直接回答您的问题:客户端与服务器端页面呈现 - 巨大 SEO差异

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-13
      • 2015-10-18
      • 2021-10-20
      • 2016-09-15
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      相关资源
      最近更新 更多