【问题标题】:Search engine misunderstanding搜索引擎误区
【发布时间】:2012-04-05 17:18:58
【问题描述】:

我对搜索引擎有这个,可能是一个误解。他们如何搜索页面?如果我有一个从数据库加载内容和/或更改内容的页面,则认为 jquery 将搜索引擎抓取数据库和 jquery 加载的那些内容???

非常感谢帮助!

【问题讨论】:

  • 搜索引擎准确地看到访问者看到的页面。无论内容来自数据库、文本文件还是独角兽,搜索引擎都像您的普通用户一样关心这一点:根本不关心。 Javascript 是一个不同的主题...
  • 正在专门询问如何使用 JavaScript 抓取内容,因此在执行代码之前它不会出现在文档中。

标签: jquery database search-engines


【解决方案1】:

this question about "Ajax generated content, crawling and black listing" 的答案中,我找到了有关the way Google crawls AJAX requests 的文档,它是有关Making AJAX Applications Crawlable 的文档集合的一部分。

简而言之,这意味着您需要使用<a href="#!data">...</a> 而不是<a href="#data">...</a>,然后为URL path/to/path?_escaped_fragment_=data 提供真正的服务器端答案。

还可以考虑使用<link/> 标签为爬虫提供对 SEO 友好内容的提示。 <link rel="canonical"/>this article 解释了一下,是一个不错的候选者

【讨论】:

    【解决方案2】:

    搜索引擎使用爬虫从互联网上获取页面并将其存储在服务器/数据库中。所以这取决于爬虫。如果您对 google 感兴趣,您应该尝试查找有关它的爬虫的一些信息。如果爬虫执行 java 脚本,它将缓存从数据库加载的内容 - 然后它是可搜索的。

    这里有一个相关问题可以回答您的问题:
    https://stackoverflow.com/questions/2061844/does-googles-crawlers-have-javascript-what-if-i-load-a-page-through-ajax

    GoogleBot 不解释 Javascript。

    【讨论】:

    • 请注意,这是 2010 年的答案。GoogleBot 现在确实解释 JavaScript,这正是因为 AJAX(因为并非每个网站都遵循 #! 约定)
    【解决方案3】:

    在大多数网站情况下,最好先让网站静态工作。然后添加 Javascript 选项以加快加载速度、ajax 操作等。所以首先只使用普通页面的普通链接,然后继续添加 jQuery 的东西。

    这样您可以获得完全相同的结果,但它还允许您支持旧版浏览器、爬虫等。

    使用 MVC,这很容易通过具有不同扩展名的简单视图来实现。例如,假设我们要加载产品列表。

    我们将有 2 个 url 供服务器响应:

    第一个将生成一个经典的完整页面(因此带有导航等):

    /pages/products
    

    在此模板中加载产品/索引视图会很聪明,这样您的产品表只会在偏离过程中编码一次。

    另一个只会生成包含产品的表格:

    /products/index
    

    当然,网址是灵活的,您也可以加载例如:products/index.html 和 product/index.xml。这个例子没关系。只要你有 2 个独立的 url。

    这将返回一个正常的完整页面,有一个 div 可能会被 ajax 填充,否则就是不可见:

    <a href="/pages/products" id="productslink">Products overview</a>
    <div id="products"></div>
    

    然后你添加 jQuery 添加一个 onClick 处理程序到链接:

    $('#productlink').click(function(e) {
        e.preventDefault(); //make sure the link doesn't work anymore
        $('#products').load('/products/index');
    });
    

    现在,对于不带 JavaScript 的浏览器和带 JavaScript 的浏览器,您会得到相同的结果。好处是这无关紧要。它会给出相同的结果。

    您可以对表单执行相同的操作,只需制作一个有效的 HTML 表单。之后使用 jQuery 附加操作,它将始终有效。

    【讨论】:

      猜你喜欢
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      • 2011-09-15
      • 2015-04-03
      • 2011-07-01
      相关资源
      最近更新 更多