【问题标题】:How can I make my mysql database records visible to search engines?如何使我的 mysql 数据库记录对搜索引擎可见?
【发布时间】:2010-12-17 11:56:00
【问题描述】:

我正在创建一个名为“mySite”的分类广告网站,我希望任何人搜索 honda +mySite 在 google 中,从我的数据库中查找描述为“honda”或标题为“honda”的所有广告。

这是怎么做到的? (每个广告都有一个htm页面?然后当用户点击打开htm页面时加载“广告数据”?)

我有一个示例供您查看:www.blocket.se 是一个瑞典网站,您几乎可以在其中购买任何东西。我猜他们实际上并没有 50 万个 html 页面,只是为了让谷歌可以找到它们吗?

尝试在 google 中搜索:blocket +bmw 330ci,您将看到来自 blocket.se 数据库的结果。

问题是:他们是怎么做到的?我应该怎么做才能拥有相同的功能?

谢谢

如果您需要更多信息,请告诉我,我会更新!

【问题讨论】:

  • 这看起来很熟悉-> stackoverflow.com/questions/1748688/… 无论如何,请阅读这里的回复,告诉我们是否有帮助(或没有帮助)。
  • 您说的是在输入tree german 时会出现一个字典链接...?
  • 有人可以给我看一个示例代码吗?
  • 示例代码看起来像您的搜索代码。在您的站点上生成搜索结果的代码将是一个很好的起点。您想要迭代数据库的所有记录并生成指向其中所有项目的链接。如果您不知道如何执行此操作,则需要对您的代码进行一些研究和/或就 SO 提出一些不同的具体问题。
  • 我会做一些学习,如果我卡住了再发一个Q!

标签: php sql mysql html database


【解决方案1】:

您不需要为每个广告提供一个实际的 html 页面。大多数情况下,只有一个页面会查看 url 并相应地显示内容。

mysite.com/honda
mysite.com/acura
mysite.com/bmw

所有这些网址都将由一个页面处理。该页面将使用 url 来查找要显示的内容并仅提供该内容。

基本上你只是创建一个网站,其余的由谷歌完成

【讨论】:

  • @camran 您可能习惯于通过将参数传递给某些“index.php”(例如“?type=honda”)来做同样的事情。如果您想象一个 Web 服务器使用 'website.php?url=mysite.com/honda' 响应对 mysite.com 的任何请求,Galen 的方法并没有那么不同。
【解决方案2】:

我创建了一个链接到每个类别和每个动态页面的站点地图,这样蜘蛛就可以轻松地浏览您网站上的每个网址。

如果您动态执行此操作,那么您可以轻松按热门关键字进行分组,并拥有一个特殊的“按关键字分组”站点地图。

无论如何,最好让站点地图动态生成,这样您就不会错过任何一个动态页面。

【讨论】:

  • 元关键字和元描述怎么样,它们也是以同样的方式生成的吗?或者你会怎么解决?
  • 元数据当然可以动态生成,就像任何其他 html 元素一样。
  • 我只是不知道从哪里开始!一个例子会为我简化事情
  • 把事情分开,一次做一个,第一步是创建一个站点地图,这样你的页面 100% 都被链接到并且能够被爬取!然后您可以继续使用元标记
【解决方案3】:

您需要有指向(动态创建的)页面的链接。 Google 不知道(或关心)页面是否是动态生成的。但是,如果您没有指向它的链接,它就不会找到它。谷歌机器人不只是垃圾邮件搜索框寻找关键字(出于显而易见的原因)。

例如,您的主页应链接到“最新”页面,其中包含所有最新项目的列表。您还应该为每天创建一个存档页面,其中包含指向当天发布的项目的链接。这些索引页面可以动态生成,只要您的主页有指向它们的链接即可。

另外,请记住缓存您的每日档案,并为 EXPIRES 元标记提供较长的值,这样您就不必每次有人查看时都访问您的数据库。

如果你想了解更多,谷歌有一个网站管理员指南:http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=35769

特别是查看站点地图:http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156184

【讨论】:

  • 好答案,顺便说一句,“记得缓存你的每日档案”是什么意思
  • 我建议他为每天创建一个页面,该页面链接到当天发布的所有项目。这些页面不会改变,所以它们可以被缓存。我应该写“缓存你当天发布的项目的索引”。
【解决方案4】:

您需要创建指向数据库页面的链接。现在,访问您的页面的唯一方法是使用您网站上的搜索。 Google 不填写表单字段。因此,创建一些指向您的页面的链接。

你的页面应该是搜索引擎友好的,所以

  http://site.com?q=honda+civic is bad,

  http://site.com/cars/honda/civic is good. 

您可以使用您的框架重写 url(您使用的是 Web 应用程序框架,对吗?)。

您最好从其他网站链接到这些页面。你永远不会得到谷歌的每一页,因为它们太相似了,谷歌可能会扔掉很多。但是您需要指向它们的链接才能开始。

【讨论】:

  • 好的。我明白你的解释......但你能举个例子吗?您说的是自动将 url 添加到“站点地图”,但该 url 会导致什么?
  • 这里有 2 个单独的问题。 1)你没有站点地图,所以谷歌不知道你有任何页面。 2) 即使你这样做了,谷歌也不喜欢包含 ?q= 的页面所以有两件事需要解决。
  • 示例代码超出了这个问题的范围。我们不知道您使用的是什么框架,如果您使用的是一个。你知道如何迭代数据库并生成页面吗?
  • 是的,我知道!我只是不知道如何创建重命名为其他内容的链接,然后以某种方式向其中添加元元素?我想我将不得不再学习一些。不过谢谢
  • 谷歌 URL 重写。还要检查堆栈溢出。您可以使 /cars/honda/civic 等 URL 自动转到 ?q=honda+civic。祝你好运!
猜你喜欢
  • 2012-09-07
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多