一个“SEO友好”的URL可以包含唯一的ID吗?

42
我想开始使用“SEO友好的URL”,但生成和查找大量唯一文本“ID”似乎相对于仅按整数查找是一个重大的性能挑战。我知道这样做不够“人性化”,但如果我从以下内容切换:
http://example.com/products/details?id=1000

致:

http://example.com/products/spacelysprokets/sproket/id

即使只使用ID,也可以快速查找详细信息,但URL本身包含关键字,这些关键字将显示在详细信息中。对于Google来说是否友好?我希望如此,因为它似乎比生成结尾处的既独特又有意义的东西更容易。

谢谢!


4
你的问题假设SEO有显著的好处,但事实并非如此。 - moo
感谢您为Stack Overflow做出贡献!请确保您回答了问题;这是一个问答网站,而不是讨论论坛。提供细节并分享您的研究。避免仅基于观点的陈述;只做出您可以用适当参考或个人经验支持的陈述。 - user823082
1
回顾一下2017年的评论:“你的问题假设SEO是有可衡量的益处的,但实际上并没有。” 现在看来真是太有趣了。在过去的8年里,人们通过SEO获得了大量商业成功的驱动力,赚取了大量的金钱! - Andy Lorenz
12个回答

87

请小心使用与 Stack Overflow 相同的方法来渲染页面。

https://dev59.com/d3RA5IYBdhLWcg3wzhRY

黑帽子可以利用这一点,为长尾竞争对手造成重复内容惩罚(相信我)。

以下是两件保护自己的事情。

  • 将任何匹配您 ID 但不匹配文本的入站显示 URL 重定向到正确的文本。

示例: https://dev59.com/d3RA5IYBdhLWcg3wzhRY 301 -> https://dev59.com/d3RA5IYBdhLWcg3wzhRY

  • 使用规范化的 URL。

<link rel="canonical" href="https://dev59.com/d3RA5IYBdhLWcg3wzhRY" />


1
这是非常好的建议!它确实回答了我今天在这里提出的一个问题。谢谢! - Evik James
在规范URI中,仅在ID后停止不就可以了吗? - DanMan
@DanMan 在 ID 后停止将失去在可索引 URL 中拥有关键字的好处。 - drmonkeyninja
“与您的ID匹配但与文本不匹配”,使用ID的整个目的是不依赖于文本。因此,寻找匹配文本并没有太多意义。 - Zephyr was a Friend of Mine
1
黑帽可以利用这种方法来对长尾竞争对手造成重复内容惩罚(相信我)。你有任何相关的来源吗? - danihodovic
2
@danihodovic:通过一个基本的例子,你就可以明白原因:竞争对手在其网站上发布了一篇虚假评论,其中指向你的网站,并使用错误拼写的产品URL。例如:他们使用href="www.site.com/products/koncrete-mixer/6868"。然后Google索引了这个页面并认为它是与你自己的链接“www.site.com/products/concrete-mixer/6868”重复的内容。实际上没有需要“黑客攻击”的内容。 - aphid

72

1
尽管将标题放在URL中可以获得额外的SEO分数,但在提取产品、文章等时可以省略阅读它。我认为,与具有良好页面描述的唯一ID相比,拥有不良描述的页面并不重要。 - lpfavreau
我认为这个URL结构对于SEO来说并不是最好的。为什么呢?因为搜索引擎高度推荐关键词,而不是文章ID。这意味着你应该将文章标题放在第一位,这样更有利于SEO。例如:domain.com/article-title/id - TomSawyer
1
@TomSawyer 实际上,不建议将ID放在末尾。如果您的URL构建方式无关紧要,那么对于用户来说,使它们变得简短和描述性是很重要的。因此,在这个例子中,应该将ID视为文件夹而不是文件。 - Mooncake

15

可以看一下StackOverflow使用的URL。它们有一个独特的ID,然后是SEO友好的内容。你可以省略掉这些SEO友好的内容,URL仍然有效。


5
你正在做一个恶魔式的交易,你正在用商业目标交换技术目标。
如果你问“从纯粹的商业和SEO角度来看,是否更好地在URL中包含唯一ID?”;答案显然是不要使用它们。
问题变成了,如果你使用它们,它对搜索引擎有多大的负面影响?答案是它肯定会有一些负面影响。到底有多少还有待确定。
就“用户友好”而言,它们绝对不是用户友好的。
在谷歌方面,他们声明“尽可能通过修剪不必要的参数缩短URL”。请参见他们的URL结构文档。

1
你如何评论所有提交给Google新闻的URL都必须包含数字ID这一要求? - viam0Zah
1
关于Google新闻,我想我的答案是Google就是Google,所以他们可以做任何他们想做的事情。换句话说,你需要Google比Google需要你更多。Google将“Google新闻”视为一种特殊情况,具有不同于标准网站的例程。 - JonnyBoats
如果我能通过有意义的SEO,如塑造链接,在谷歌上找到更相关的搜索结果,那么这对网站来说就是一个可用性的提升——在我看来已经足够技术了。 - Rei Miyasaka
但是,如果您放弃ID段,就有可能出现以下URL:https://dev59.com/questions/d3RA5IYBdhLWcg3wzhRY和-2和-3等等,这看起来不太专业。 - Wayne Smallman

4

我不知道在URL中添加ID会引起任何问题。实际上,这非常有用,因为它允许更改URL的人类/搜索引擎友好部分,而不会导致搜索引擎已经索引的页面链接失效。以SO为例,这是您问题的链接:

https://dev59.com/d3RA5IYBdhLWcg3wzhRY


1

我有两个看似矛盾的观点:

  1. 没有人会关注URL!用户已经习惯将“地址”栏中的内容视为不可见,他们知道这些内容可能是'难以阅读'、'毫无意义'和'令人困惑'中的任意两种,因此他们完全忽略它。

  2. 使用一个可以轻松转换为整数的字符串可能比使用稍微难一些(hash() vs. to_int())转换为整数的较长字符串提供轻微的性能优势。然而,在平均Web应用程序的上下文中,任何性能差异都将是微不足道的。

我的建议是坚持自己熟悉的方法。


1

这没什么问题。越来越多的服务开始使用混合解决方案,正如Paul Tomblin已经指出的那样。除了SO,Tumblr也使用了这种模式(也许是第一个)。

此外,在某些服务中,比如Google News,URL必须包含唯一的数字ID。


1

摆脱参数化URL肯定会有所帮助。从我的经验来看,包括ID并不会对其产生影响,只要URL中没有“?key=value”对。


0

重复引用与友好的URL相比会造成更多的负面影响,使用带有ID的虚假文本时要小心,你的竞争对手可能会滥用这个。


我会将友好的URL字符串保存在数据库中,并检查它是否与提供的字符串相等,如果不相等,我会重定向到数据库中的那个。 - Liron Harel
当然,但性能也应该考虑在内。这将被添加到渲染时间中,这个问题会对排名产生负面影响。 - Ehsan

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接