http://example.com/products/details?id=1000
致:
http://example.com/products/spacelysprokets/sproket/id
即使只使用ID,也可以快速查找详细信息,但URL本身包含关键字,这些关键字将显示在详细信息中。对于Google来说是否友好?我希望如此,因为它似乎比生成结尾处的既独特又有意义的东西更容易。
谢谢!
http://example.com/products/details?id=1000
致:
http://example.com/products/spacelysprokets/sproket/id
即使只使用ID,也可以快速查找详细信息,但URL本身包含关键字,这些关键字将显示在详细信息中。对于Google来说是否友好?我希望如此,因为它似乎比生成结尾处的既独特又有意义的东西更容易。
谢谢!
请小心使用与 Stack Overflow 相同的方法来渲染页面。
https://dev59.com/d3RA5IYBdhLWcg3wzhRY
黑帽子可以利用这一点,为长尾竞争对手造成重复内容惩罚(相信我)。
以下是两件保护自己的事情。
示例:
https://dev59.com/d3RA5IYBdhLWcg3wzhRY
301 ->https://dev59.com/d3RA5IYBdhLWcg3wzhRY
<link rel="canonical" href="https://dev59.com/d3RA5IYBdhLWcg3wzhRY" />
可以看一下StackOverflow使用的URL。它们有一个独特的ID,然后是SEO友好的内容。你可以省略掉这些SEO友好的内容,URL仍然有效。
我不知道在URL中添加ID会引起任何问题。实际上,这非常有用,因为它允许更改URL的人类/搜索引擎友好部分,而不会导致搜索引擎已经索引的页面链接失效。以SO为例,这是您问题的链接:
我有两个看似矛盾的观点:
没有人会关注URL!用户已经习惯将“地址”栏中的内容视为不可见,他们知道这些内容可能是'难以阅读'、'毫无意义'和'令人困惑'中的任意两种,因此他们完全忽略它。
使用一个可以轻松转换为整数的字符串可能比使用稍微难一些(hash() vs. to_int())转换为整数的较长字符串提供轻微的性能优势。然而,在平均Web应用程序的上下文中,任何性能差异都将是微不足道的。
我的建议是坚持自己熟悉的方法。
这没什么问题。越来越多的服务开始使用混合解决方案,正如Paul Tomblin已经指出的那样。除了SO,Tumblr也使用了这种模式(也许是第一个)。
此外,在某些服务中,比如Google News,URL必须包含唯一的数字ID。
摆脱参数化URL肯定会有所帮助。从我的经验来看,包括ID并不会对其产生影响,只要URL中没有“?key=value”对。
重复引用与友好的URL相比会造成更多的负面影响,使用带有ID的虚假文本时要小心,你的竞争对手可能会滥用这个。
在请求到达服务器之前,使用类似modrewrite的工具对 URL 进行解析。这样您就可以将一个 slug(如 http://oorl.com/99942/My-Friendly-Text-For-Search-Engines/)转换为http://oorl.com/lookup.php?id=99942。这还让您能够更改用于优化某些链接的 slug 和关键字,而不会破坏功能。