好吧,让我们说我正在编写一个论坛应用程序,我想要漂亮的URL.但是,我的所有表都使用数字ID,因此我不确定格式化这些资源的URL的最佳方法.让我假装我正在尝试获取ID为123456的主题和标题这是一个论坛帖子.我已经看过它做了几个方面:
www.example.com/topic/123456
www.example.com/topic/this-is-a-forum-post
www.example.com/topic/123456/this-is-a-forum-post
你会说哪一个,考虑所有的因素(包括搜索引擎优化),最佳的URL?
很抱歉,如果这个问题太模糊,但它似乎与编程有关,并且它不是非常开放式的,因为我只是想听听每种方法的优缺点.
我会选择选项3,并使slug(最后一位)可选
因为?
ID永远是唯一的...例如,2个人可能会创建一个名为"好消息"的帖子
搜索机器人可以访问slug以获得一些SEO优点
slug应该是可选的......仅使用ID仍然可以访问该站点.如果你不关心重复的内容,也许如果slug不在那里你可以转发到slug'd版本.您可以随时使用规范元标记告诉Google索引slugged版本.
可选slug的另一个好处是,如果有人将URL复制并粘贴到文档中,最终可能会将字符切掉(因为URL通常没有空格,因此它们不会破坏新行).使用slug意味着人们有更多机会找到你的页面.
我相信这就是Stack Overflow的作用......并且还注意到它们在搜索引擎中的表现相当不错.
从评论中,一定要301将任何丢失的slug版本重定向到正确的slug.
URL 1绝对不是最理想的.URL 2很有吸引力,但如果标签发生碰撞,您就会面临混淆的风险,特别是如果它们仅在标点符号上有所不同.所以我认为URL 3是明显的赢家.
还要注意,仅仅因为你显示 URL 3是没有理由不接受所有3,其他两个重定向.如果URL 2不明确,则应重定向到消歧页面.