【问题标题】:How to Have Search Engines Index Database-Driven Content?如何让搜索引擎索引数据库驱动的内容?
【发布时间】:2010-12-17 10:45:17
【问题描述】:

如何使数据库中的内容可供搜索引擎(如 google)用于索引?

例子:

mysql 中的表有一个名为“Headline”的字段,它等于“BMW M3 2005”。 我的网站名称是“MySite”

用户在 google 中输入“BMW M3 2005 MySite”,记录会显示结果?

【问题讨论】:

  • 这个问题仍然没有意义。请进一步解释。
  • 即数据库记录永远不会出现在 Google 中。在 Google 中显示的是网页。您是否在询问如何创建可通过 Google 搜索的网站?还是什么?
  • 问题说的很清楚了,不好意思没看懂!这里又是一个问题:如何使用谷歌搜索引擎找到 mysql 表中的记录?...盲目?
  • @pesar 假设 Google 可以索引公共数据库,当用户点击搜索结果链接时会看到什么?他们会去哪一页?数据库不是网络服务器,因此它们不会神奇地开始浏览表。这就是前端和一般网站的用途。
  • 是的,我同意这个观察。问题似乎是对 Web 缺乏了解,而不是编程问题。

标签: php mysql database search-engine


【解决方案1】:

ILMV 试图解释的是,您必须拥有 Google 和其他搜索引擎可以“抓取”的 HTML 页面,以便它们为您的内容编制索引。

由于您的信息是从数据库中动态加载的,因此您需要使用 PHP 等服务器端语言从数据库中动态加载信息,然后将该信息输出到 HTML 页面。

对于如何具体实现这一点,您有多种选择,但 ILMV 的建议是更好的方法之一。

基本上,您首先需要做的是弄清楚如何从数据库中提取信息,然后使用 PHP(或其他服务器端语言)将信息输出到 HTML 页面。

然后您需要确定是否要为 php 驱动的页面使用更丑陋的默认 url 样式:

mysite.com/products.php?id=123

但是这个网址对用户或搜索引擎不太友好,会导致您的内容没有很好地被索引。

或者您可以使用某种 URL 重写机制(.htaccess 文件中的 mod_rewrite 执行此操作,或者您可以查看更复杂的面向 PHP 的解决方案,例如 Zend Framework,它提供所谓的前端控制器来处理所有请求的映射)使您的网址看起来像:

mysite.com/products/123/nice-bmw-m3-2006

这就是 ILMV 关于 url 屏蔽所讨论的内容。

使用这种动态加载内容的方法,您可以开发一个页面来加载基于 Id 的许多不同产品的信息,从而使各种搜索引擎看起来好像每个页面都有一个唯一的页面产品。

【讨论】:

    【解决方案2】:

    Google 索引网页,因此您需要为每条记录创建一个页面,这并不意味着您需要创建 1,000 个 HTML 页面,但按照我上面的建议将动态/轻松地提供一个看似独特的每个产品的页面。

    例如:

    www.mydomain.com/buy/123/nice-bmw-m3-2005
    

    您可以使用 .htaccess 将此链接更改为:

    www.mydomain.com/product.php?id=123
    

    在此脚本中,您可以通过在本例中为 123 的产品 ID 查询数据库来动态创建具有最新信息的每个页面。

    您的脚本将为每条记录提供它自己的标题(“Nice BMW M3 2005”)、一个友好的 URL(“www.mydomain.com/buy/123/nice-bmw-m3-2006”),您可以还包括正确的元信息,以及图像、评论等。

    工作完成,您不必创建数百个静态 HTML 页面。

    有关 .htaccess 的更多信息,请查看this tutorial

    【讨论】:

    • 对不起,我不明白你的意思,你能解释一下你的解决方案吗?每当用户在我的网站上搜索广告并点击了选择的广告时,php 就会从 mysql 获取信息。这就是为什么以前从未创建过此信息的原因。但是你建议我为每条记录创建一个 html?我说的对吗?
    • 您询问了如何让您的数据库中的记录显示在 Google 搜索中。所以我建议创建一个脚本(products.php)来获取产品数据(标题、描述、关键字等),并根据这些信息动态填充网页。例如,StackOverflow 不会为他们的所有问题创建数十万个 HTML 页面,他们有一个主模板,并用动态信息填充它。您可以在 .htaccess 中使用一个很酷的技巧将您的 products.php?id=123 屏蔽为 /buy/123/bmw-f800gs。这将使您的网址对搜索引擎友好。
    • 好的,除了掩盖我的“产品”的部分,我了解所有内容。这是否意味着为所有广告创建了元关键字和元描述,但仍然只有一个 html 页面?你有任何关于此的文章或教程的链接吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    相关资源
    最近更新 更多