8

好的,假设我正在编写一个论坛应用程序,并且我想要漂亮的 URL。但是,我所有的表都使用数字 ID,所以我不确定格式化这些资源的 URL 的最佳方法。假设我正在尝试获取 ID 为 123456 且标题为This is a forum post 的主题。我已经看到它做了几种方式:

  1. www.example.com/topic/123456
  2. www.example.com/topic/this-is-a-forum-post
  3. www.example.com/topic/123456/this-is-a-forum-post

考虑到所有因素(包括 SEO),您会说哪一个是最佳 URL?

抱歉,如果这个问题太含糊,但它似乎与编程相关,而且并不是非常开放,因为我只想听听每种方法的优缺点。

4

10 回答 10

15

我会选择选项 3,并使 slug(最后一点)可选

因为?

  • ID 将始终是唯一的...例如 2 个人可能会创建一个名为“好消息”的主题
  • 搜索机器人可以访问 slug 以获得一些 SEO 优势
  • slug 应该是可选的......仅使用 ID 仍然可以让您访问该站点。如果 slug 不存在,如果您担心重复的内容,您可以转发到 slug 的版本。您始终可以使用规范元标记告诉 Google 索引 slugged 版本。
  • 可选 slug 的另一个好处是,如果有人将 URL 复制并粘贴到文档中,则它有可能在结尾处截断字符(因为 URL 通常没有空格,因此它们不会换行)。拥有可选的 slug 意味着人们更有可能找到您的页面。

我相信这就是 Stack Overflow 所做的......并且还注意到他们在搜索引擎中的表现相当不错。

更新

从评论中,确保 301 将任何缺失的 slug 版本重定向到正确的 slug。

于 2009-05-12T04:35:45.103 回答
6

URL 1 绝对不是最理想的。URL 2 很吸引人,但如果标签发生冲突,您会冒着混淆的风险,尤其是当它们仅在标点符号上有所不同时。所以我会说 URL 3 是明显的赢家。

另请注意,仅仅因为您显示URL 3 并没有理由不接受所有 3 个,而其他两个重定向。如果 URL 2 不明确,则应重定向到消歧页面。

于 2009-05-12T04:36:15.227 回答
2

我认为第二个 URL 将是 SEO 的最佳选择,因为它有意义且深度较小。这对人们也更好,因为您可以查看 URL 并了解内容的内容。

于 2009-05-12T04:35:26.557 回答
2
  1. 不包含标题,因此您将失去在 URL 中包含这些关键字的额外 SEO 价值。

  2. 效果不好,因为它没有唯一的数字 ID,所以如果其他人试图发布标题为“这是一个论坛帖子”的主题,你会怎么做?然后你开始进入 digg 所做的奇怪的事情,它必须给第二个 url “ http://www.example.com/topic/this-is-a-forum-post_2 ”,等等。这使得获取他们尝试加载的 URL 并准确确定他们试图访问的主题变得更加困难。

  3. 两全其美,这将是我选择的风格。

于 2009-05-12T04:36:27.927 回答
1

Stackoverflow 似乎使用模式 3,标题被完全忽略(只使用了 id)。

这使得 URL 语义很好,并且也很容易实现,并且在标题稍后更改时仍然有效。

当然,标题可能完全是假的:

为数字 ID 格式化漂亮 URL 的最佳方法

于 2009-05-12T04:36:20.657 回答
1

我会去第一个。你知道现在这真的不重要了。由于有长 URL 转换器,它只会激增,并将成为未来的常态。请记住,您的 URL 越长,您获得的 SEO 积分就越少。

而且您无法控制人们命名论坛主题的方式。所以真的,为了简单和规范,我会选择第一个。

于 2009-05-12T04:38:21.793 回答
1

对于 SEO/流量,毫无疑问绝对是第二名。每次都从 URL 中取出那些无意义的数字。

www.example.com/topic/this-is-a-forum-post

从您的数据库中提取“this-is-a-forum-post”并通过查询将其映射回数据库中的 ID 号。然后将内部 URL 重写到真实页面,例如 /topic.php?ID=324342

于 2009-05-12T04:42:40.507 回答
1

我会选择选项 2,因为 SEO 可以更好地理解。

Stack Overflow 可能使用了第三种方式,这就是 Stack Overflow url 没有针对 SEO 进行优化的原因。我不确定上面的答案。

但根据我使用 Google 的经验,我经常可以从其他论坛看到解决方案,而 stackoverflow 解决方案几乎是不可见的。

为数字 ID 格式化漂亮 URL 的 最佳方法 为数字 ID 格式化漂亮 URL 的最佳方法

如果两个 url 相同,则 SEO 只需使用选项 2,该选项的优化程度较低。

于 2009-05-12T05:11:31.177 回答
1

我不相信更长的 URL 是 SEO 的麻烦。深度似乎是一个更大的问题,不是通过计算斜线,而是通过从具有排名的索引页面到内容页面所需的步骤。我最近创建了一个名为 /content/roofing/how-much-does-a-shingle-roof-cost.html 的虚拟测试页面,并将其扔到服务器上只是为了测试路径并确保我的目录正常工作。我什至不确定谷歌是如何发现这个页面的,但它确实发现了,并且开始获得流量,所以我不得不给它内容并让它成为家庭的一部分。虚拟内容是我们关于页面的副本,因此它不是空的,但我很惊讶未升级的页面会受到关注,并且认为 URL 与此有关。

这为 URL 提供了上述 3 个选项的替代方案。如果您选择 3 号但在末尾添加 .html 会怎样?我通常使用动态 URL 来执行此操作,但我没有具体证据表明它有帮助。据谷歌称,他们吹嘘他们可以很好地索引动态 URL,因此根本不需要重写 URL。如果其他引擎不那么擅长,谷歌一点也不介意。我信任的几个网站在末尾添加了 html(例如博客),它不会受到伤害,所以我仍然这样做。

于 2009-06-10T14:30:33.137 回答
0

我建议第一个,因为为了清楚起见,管理员可以更改主题标题,然后 url 将不一致。

www.example.com/topic/123456

还允许仅编辑 url 的最后一位(数字并跳转到另一个主题),不太可能发生但仍然是一个可用的功能。

于 2009-05-12T04:38:19.780 回答