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

Sas*_*gov 8 url seo friendly-url url-rewriting

好吧,让我们说我正在编写一个论坛应用程序,我想要漂亮的URL.但是,我的所有表都使用数字ID,因此我不确定格式化这些资源的URL的最佳方法.让我假装我正在尝试获取ID为123456的主题和标题这是一个论坛帖子.我已经看过它做了几个方面:

  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

你会说哪一个,考虑所有的因素(包括搜索引擎优化),最佳的URL?

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

ale*_*lex 15

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

因为?

  • ID永远是唯一的...例如,2个人可能会创建一个名为"好消息"的帖子
  • 搜索机器人可以访问slug以获得一些SEO优点
  • slug应该是可选的......仅使用ID仍然可以访问该站点.如果你不关心重复的内容,也许如果slug不在那里你可以转发到slug'd版本.您可以随时使用规范元标记告诉Google索引slugged版本.
  • 可选slug的另一个好处是,如果有人将URL复制并粘贴到文档中,最终可能会将字符切掉(因为URL通常没有空格,因此它们不会破坏新行).使用slug意味着人们有更多机会找到你的页面.

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

更新

从评论中,一定要301将任何丢失的slug版本重定向到正确的slug.

  • 如果你使slug成为可选的,请确保将不正确或丢失的slug重定向到正确的规范版本.这可确保搜索引擎只能看到一个页面.(stackoverflow.com做错了) (5认同)

Nor*_*sey 6

URL 1绝对不是最理想的.URL 2很有吸引力,但如果标签发生碰撞,您就会面临混淆的风险,特别是如果它们仅在标点符号上有所不同.所以我认为URL 3是明显的赢家.

还要注意,仅仅因为你显示 URL 3是没有理由不接受所有3,其他两个重定向.如果URL 2不明确,则应重定向到消歧页面.