【问题标题】:Search engine optimization for database loaded using jQuery使用 jQuery 加载数据库的搜索引擎优化
【发布时间】:2012-12-13 19:25:29
【问题描述】:

我目前正在针对搜索引擎优化我的网站。它主要是一个数据库驱动的站点。我在后端使用 C#,但数据库内容是通过 jQuery ajax 和 Web 服务加载的。因此,我的数据库内容不在 html 中,机器人会抓取它。我的网站有点像在线超市格式,因为我的数据库中有数千件商品,用户可以一次将其中一个或多个加载到网页上,加载商品后页面不会发生显着变化。

我的问题是,(如果有的话)我怎样才能让我的数据库内容被索引?我正在考虑有一个链接到一个 aspx 页面(例如称为 mydatabase)的锚,它将我所有的数据库项目加载为一个大的 html 列表。然后,使用 jQuery,我会让锚点对用户不可见。用户仍然可以访问数据,但不能通过此链接访问,它将使用我创建的 jQuery 界面访问。

问题是,我真的不希望用户看到这个大而杂乱的列表 - 谷歌搜索结果会将这个页面(例如 www.mysite.com/mydatabase.aspx)显示为搜索结果吗?谷歌也会将此视为“关键字丰富”的垃圾邮件页面吗?我做了很多研究,但对此一无所获。仅针对 php 的说明。请帮助我不确定该怎么做,需要知道解决这个问题的最佳方法。

【问题讨论】:

  • 我绝对不会将数据库转储到机器人会命中的某些页面。这是使 AJAX 应用程序可抓取的有用资源:developers.google.com/webmasters/ajax-crawling
  • 您好,感谢您的快速回复。我看到了这一点,但我认为 A)它可能适用于老式 ajax 和 B)我的网站要求用户在它们出现在页面上之前从数据库中搜索项目。因此,如果没有某种用户输入,机器人肯定无法做到这一点并访问我数据库中的所有(7000 多个)项目?
  • 对不起,如果我听起来很密集,我是新手
  • 这个怎么样?我从未尝试过,但它可能会满足您的需求(至少对 Google 而言):developers.google.com/search-appliance/documentation/68/…
  • @lbstr 该信息仅适用于 Google Search Appliance(硬件),不适用于 Google 网络搜索。

标签: c# jquery sql database seo


【解决方案1】:

很遗憾您没有采用progressive enhancement 方法,因为这意味着您将从可抓取的标准 HTML 输出开始,然后在顶部添加分层行为 (AJAX) 以获得用户体验。

提供以列表格式列出所有产品的单个文件(例如 mydatabase.aspx)并没有提供真正的价值,因为您给出的原因是 - 它只是一个无用的大列表。每个链接等没有编辑内容相关性。

您最好重新审视一下您的信息架构,并尝试确保每个产品都可以通过其自己的唯一 URL 访问,然后将产品分类为组(结果页面),并仔细考虑分页。

您仍然可以使用 AJAX 使其像单页应用程序一样运行,但您需要查看 HTML5's History API 以以搜索引擎友好的方式实现此目的。

【讨论】:

  • 我只是不确定如何让每个产品都可以通过唯一的 url 访问。我知道我可以使用查询字符串,但即使是类别链接也是动态创建的以响应搜索。我是否应该使用服务器生成搜索结果,然后使用查询字符串将它们链接到页面?当原始 html 中没有链接时,机器人是否能够访问所有这些?或者我是否应该创建一个本质上用作“查看所有数据库类别”的链接,该链接导致服务器生成的、将网页分支到我的所有项目?这不只是一种迂回的列出清单的方式吗?谢谢
  • 这是基于搜索的数据库网站的主要困境。搜索引擎无法进行搜索 - 因此您需要尽可能以静态方式复制它。第一步是创建分类系统(类别)并提供每个类别的预设搜索 - 然后为每个类别中的每个产品提供链接。
  • 好吧,澄清一下,我的下一步应该是在我的一个页面上有一个静态链接,该链接指向一个类别链接页面,每个链接都指向一个子类别页面,然后依次包含产品的页面。所有这些显然不是在单个 html 页面上,而是使用查询字符串生成的?还有一个问题——我听说谷歌喜欢“干净”的网址,即那些没有问号的网址。无论如何,使用查询字符串会妨碍我的可搜索性吗?谢谢:)
猜你喜欢
  • 2011-05-14
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多