我已经阅读了一些关于友好网址的内容,但我有点不确定什么更好。
我目前的网站使用以下结构http://www.domain.com/page.php?id=2
我正在使用记录 ID 来确定页面的内容。我的记录 id 是数字,并为添加的新页面增加。现有页面的内容会随着时间的推移而完全改变。但是,仍然使用相同的记录 ID(这是一个 cms,因此客户端可以这样做)。
我理解它的方式我有两个友好的网址选项:
http://www.domain.com/page/2
http://www.domain.com/some-text-describing-the-page
现在因为我通过记录 ID 识别内容,所以我认为第一个选项更有意义。
我的客户似乎想要选择二。
经过一番阅读,我发现了两个相互矛盾的观点。
根据 Tim Berners-Lee(WWW 的架构师)的说法,他表示您想要一个 URI,它有可能在 2 个月、2 年、200 年后保持不变。所以你不想为你的页面使用页面标题或类似的东西。如果您更改页面内容,您要么被迫更改内容并保留 URI,要么更改 URI 并被悬空链接卡住。你可以在这里阅读他的文章(http://www.w3.org/Provider/Style/URI)
然而,互联网上的许多其他人(我不知道权威)明确表示,您需要一个描述性但简短的 URI 以获得最佳 SEO 价值。根据我的阅读,主要是为了反向链接和在锚文本中使用关键字,因为人们只是将链接本身用于锚文本。因此,在链接本身中包含关键字有助于搜索引擎在没有自定义标题的情况下了解链接的内容。
在我看来,差异与长期与短期有关。
我是否正确掌握了这一点?
如果我要使用用户定义的 slug 样式 URI,我是否必须只允许我的用户在字段中输入他们想要的任何内容并检查当前数据库以查看它是否存在?如果是这样,我是否应该通过对已知记录 id 运行查询来预测静态链接,然后使用结果生成将被重写回格式的 url http://www.domain.com/page.php?id=2
:?
在我看来,这将是很多额外的开销。