【问题标题】:Search engine friendly URLs that contain numbers... good or bad?包含数字的搜索引擎友好 URL……好还是坏?
【发布时间】:2011-01-16 21:46:59
【问题描述】:

我创建了一个具有层次结构并具有搜索引擎友好 (SEF) 网址的网站,例如:

/seeds-1/
/seeds-1/fruits-2/
/seeds-1/fruits-2/black-berries-5/
/seeds-1/fruits-2/blue-berries-6/
/seeds-1/fruits-2/strawberries-7/
/seeds-1/vegetables-3/
/seeds-1/vegetables-3/potato-8/
/seeds-1/vegetables-3/onion-9/
/seeds-1/vegetables-3/cabbage-10/
/seeds-1/flowers-4/
/seeds-1/flowers-4/red-rose-11/
/seeds-1/flowers-4/tulips-12/

等等。您会注意到末尾的数字是 ID。现在我已经完成了网站和所有事情,一位“顾问”介入并告诉我的客户“...... url 不是 100% 搜索引擎友好的,要让它们 100% 搜索引擎友好,必须删除数字...”。我显然无法与“顾问”交谈,因为他们已经完成了他们的工作并且消失了

如果有人能指出这两种 URL 的优点和缺点,我将不胜感激。我需要一些可靠的论据来说服客户,而且我真的需要知道我在为我的网站选择这种 URL 方案时是否犯了错误。

编辑----

可能是我太懒了。重写规则如下:

RewriteRule ^[^/]+-([0-9]+)/$ object.php?ObjectID=$1
RewriteRule ^[^/]+-([0-9]+)/[^/]+-([0-9]+)/$ object.php?ObjectID=$2
.
.
.

从查询字符串中提取 ObjectID,将其转换为整数并在 SQL 查询中使用它相当容易。我认为在查询中使用文本比较(WHERE Name = '%s')比使用整数比较(WHERE ObjectID = %d)要慢,因此我很犹豫。问题更像是是否值得以降低编码/性能友好性为代价使 URL 更人性化。

【问题讨论】:

  • 如果你分层展示你的数据,那么你也应该分层存储。
  • 示例被混淆了,我与 FarmVille 无关 :) 我实际上有两个场景来实现这个:#1 有一个表,递归关系,无限深层次 #2 有 6 个表,正好 6 层深

标签: url mod-rewrite url-rewriting seo


【解决方案1】:

同意 cherouvim 并将扩大。

这里需要考虑两件事 -

人性化是一点...如果您的用户想要输入蔬菜/洋葱/vidalia 而不是 vegatables/onions-10,那么它显然对最终用户更有意义。

此外,搜索引擎还可以获取更多细节...因此搜索 vidalia onion 可能会为您的网站带来更好的排名。

最后,顾问正在推广可读性这个流行词。是的,从长远来看,它可能总体上会更好(并且应该像编写一个漂亮的小 .htaccess 文件来修复一样简单),但您的设置确实没有任何问题。

编辑

老实说,这真的归结为您的客户想要什么。正如其他用户也指出的那样,您呈现链接的方式实际上并没有太大的性能差异......

现在真正重要的是您的客户是否希望展示它。他们是否关心这种信息是否可以被人类阅读?如果他们只是要听取顾问的建议,那么您还不如执行您的重写规则。

【讨论】:

    【解决方案2】:

    搜索“种子”、“花”、“蔬菜”等会在 URL 上匹配,因此 URL 很好,引擎会很好地处理它们。

    您是否想让它们更人性化是另一个问题。

    【讨论】:

      【解决方案3】:

      从技术角度来看,如果关键字在其上下文中不是唯一的,您只需要数字 ID。

      例如,如果第一级中可能有多个种子,就会出现这种情况。然后您需要数字 ID(或另一个唯一值)来区分不同的种子

      /seeds-1/…
      /seeds-2/…
       ⋮
      

      但如果所有关键字在其上下文中都是唯一的(路径是唯一的),那么您可以删除数字 ID 而不会丢失任何信息。

      【讨论】:

        【解决方案4】:

        在 URL 中包含 ID 没有任何问题。到处都是。例如:

        1. 在 Stack Overflow 上 (/questions/2264708/search-...) 或
        2. 亚马逊 (http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/)

        只是两个例子,还有更多。将 ID 嵌入到 URL 中几乎无处不在,尤其是对于大型网站或大型数据集,对 slug 进行字符串比较的成本很高。

        它根本不会伤害 SEO。由于用户无法“猜测” URL,因此它可能对用户不太友好,但这完全是一个不同的问题。

        【讨论】:

        • 使用完全相同的 URL(如上文所述)的任何良好示例。我认为 phpbb 可以,但我无法验证或找到在线示例。
        猜你喜欢
        • 2011-08-31
        • 2021-06-12
        • 2013-10-16
        • 2014-11-09
        • 2012-06-18
        • 2010-12-11
        • 2011-12-24
        • 2017-04-13
        • 2012-03-18
        相关资源
        最近更新 更多