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

时间:2009-05-12 04:31:14

标签: url seo url-rewriting friendly-url

好吧,那就说我正在写一个论坛应用程序,我想要漂亮的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
  4. 你会说哪一个是考虑所有因素(包括搜索引擎优化),最佳网址?

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

10 个答案:

答案 0 :(得分:15)

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

由于?

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

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

更新

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

答案 1 :(得分:6)

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

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

答案 2 :(得分:2)

我认为第二个URL对SEO来说是最好的,因为它有意义并且深度较少。它对人们来说也更好,因为你可以查看URL并了解内容的含义。

答案 3 :(得分:2)

  1. 不包含标题,因此您将失去在网址中包含这些关键字的额外SEO值。

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

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

答案 4 :(得分:1)

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

这样可以生成很好的语义URL,并且易于实现,如果标题稍后更改,它仍然有效。

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

Best way to format pretty URLs for numeric IDs

答案 5 :(得分:1)

我会选择第一个。你知道现在真的没关系。由于有长URL转换器,它将扩散并将成为未来的标准。请记住,您的网址越长,您获得的搜索引擎优化点就越少。

你无法控制人们为论坛主题命名的方式。所以,我只会选择第一个简单和常规。

答案 6 :(得分:1)

对于搜索引擎优化/流量,毫无疑问肯定是2号。每次都从URL中获取那些毫无意义的数字。

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

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

答案 7 :(得分:1)

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

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

但是根据我与Google的经验,很多时候,我可以看到其他论坛的解决方案,而stackoverflow解决方案几乎是不可见的。

Best way to format pretty URLs for numeric IDs Best way to format pretty URLs for numeric IDs

如果两个网址都是同一个,那么搜索引擎优化只是选项2,而不是优化。

答案 8 :(得分:1)

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

这为URL的上述3个选项提供了一个轻微的替代方案。如果你使用3号但最后添加了.html怎么办?我通常用动态URL来做这件事,但我没有具体的证据表明它有用。根据Google的说法,他们吹嘘说他们可以将动态网址编入索引就好了,因此根本不需要进行网址重写。如果其他引擎不如此优秀,谷歌并不在意。我信任的几个网站最后添加了html(例如博客)并且它不会受到伤害,所以我仍然这样做。

答案 9 :(得分:0)

我会建议第一个,因为主题标题可以由管理员更改为清晰,然后网址将不一致。

www.example.com/topic/123456

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