0

首先是关于我的产品列表的一些详细信息:

  1. 静态的,包含大约 400 个项目。
  2. 它不会进一步增长。相信我这个。
  3. 没有重复的项目名称。
  4. 产品的属性不会改变。

基本上将我的产品列表视为元素周期表。我没有看到将 id 添加到带有“slug name”(或任何名称)的 URL 的任何意义。我宁愿有一个干净的 SEO 友好的 URL。有什么我在这里忽略的吗?

4

3 回答 3

5

这是关于 ID 和 slug 名称的事情:

使用“产品 ID”:

通常,URL 是使用 ID 设计的:

"/products/[product-id]"
example: /products/213

但是它们对于该 URL 中的确切内容的描述太少(我的意思是,不同的 URL 将具有不同的 ID,但仅此一项 - 仅通过查看它 - 不会为您提供有关该特定 URL 的任何信息。)

底线:仅 ID 不好,因为它几乎没有描述性。

使用“产品名称”:

使用:

"/products/[product-name]"
example: /products/three-legged-walking-oven

其实还不错,需要注意的是:

  • 您将如何将 a 映射[product-name]到 a [product-id]
  • 标题(或[product-name])变化很大,如果有人为旧标题添加书签怎么办?

使用“[产品 ID]/[产品名称]”:

使用:

"/products/[product-id]/[product-name]"
example: /products/213/three-legged-walking-oven
or
"/products/[product-id]-[product-name]"
example: /products/213-three-legged-walking-oven

在这种方法中,您通过idURL 的一部分获取产品。

为您提供两全其美的优势:描述性网址和易于映射的网址和标题(名称)可以在不使旧网址无用的情况下进行更改。

你的场景:

因此,如果您 100% 确定永远不会更改产品名称,则可以继续使用“产品名称”。只需找到一种方法以有效的方式将该“产品名称”映射到“产品 ID”。

奖励:请务必查看这篇关于使用 slug 名称和搜索引擎重要性的精彩文章。

于 2013-04-17T15:39:06.057 回答
2

由于 url 末尾的内容是您的应用程序将用于在数据库中查找产品的内容,因此这变成了一个数据库问题。将 id 保留在 url 中可以让您的应用程序通过 id 查找内容。

如果您的产品名称永远不会改变,并且您实际上可以将产品名称用作数据库中的主键(或至少在列上有一个唯一索引),那么您可能会在您的数据库中只使用产品名称网址也是。

通常,最好将一个唯一的、无意义的字段作为主键,因为在大多数情况下,产品名称之类的内容往往会发生变化,即使只是为了修复拼写错误。

于 2013-04-17T15:36:27.503 回答
0

我能想到的唯一原因是,要使用 /products/[id]-[name],您需要同时知道 id 和 [name],要使用第二个选项,您只需要知道名称即可。

这里更常见的选择是使用:/products/[id]

我只会考虑 /products/[name] 如果您确信名称是:短、唯一、不包含任何特殊字符(&、?#、/、...)

于 2013-04-17T15:36:59.720 回答