我正在为电子商务网站实现facet过滤器,我不确定哪个URL结构模式更适合SEO目的。有三个选择,我在考虑到现在,和我需要一些帮助,以了解哪些是更好的SEO和被视为最佳和标准的做法。
example.com/apparel?price=0-2000&color=red&size=medium&size=large&category=jeans&rating=4-5所有的面参数由&和as key=value分离。
example.com/apparel?price=0-2000&color=red&size=medium,large&category=jeans&rating=4-5和上面一样,但是在相同的方面有多个值,用逗号隔开。
example.com/apparel?specs=color:red||size:medium||size:large&price=0-2000&category=jeans&rating=4-5固定的参数,如价格,评级,类别都像上面一样分开,所有的参数都被分组成规格参数,在规格内使用双管分隔选项。
更新问题不是要使用什么字符,而是URL的结构。假设我将用安全字符替换不安全字符,那么您建议使用什么结构?
URL结构有差异,比如A将所有内容都作为key=value对,而B有key=value1、value2 (单键中的两个值),而C有类似于specs=key:value|anotherkey=value的分组。
现在,由于facetname将是动态的,并且可能有数千个,所以我不能使用机器人或URL参数来阻止它们,如这里所描述的:https://stackoverflow.com/questions/9149782/ignore-urls-in-robot-txt-with-specific-parameters。我相信这是防止重复内容发布所必需的。
如果我使用选项C,这会变得很容易,因为相对于在URL中有直接的facetname=value,只有很少的方面组可以很容易地配置。
你有什么建议。
发布于 2019-01-28 08:02:07
首先,让我首先说,我亲自回答了你的最后一个问题,我的建议是备选案文A。由于我说出了我的想法关于备选案文A,我只想说为什么备选案文B和C是不好的。
选项B使用逗号作为范围的分隔符。逗号是一个不安全的字符,这意味着它将被编码到您的url中的%2C,通常看起来像是胡言乱语(绝对不是SEO友好的URL)。
同时,它在URL中的指定用途将用于大数分隔它们的大小(如9,999),因此选项B不引用这种情况。
选项C使用|,正如所见的在中1738中一样,我还在前面的答案中链接到:
Other characters are unsafe because
gateways and other transport agents are known to sometimes modify
such characters. These characters are "{", "}", "|", "\", "^", "~",
"[", "]", and "`".因此,在这三个选项中,第一个选项是遵守规范和最佳实践的唯一选项。
如果您关心的是大量与相同内容相对应的多方面URL,那么将它们分组在URL中并不是一条路。使用规范标签或参数排序您的URL,以确保您不会得到溢出的排名在不同的页面对相同的内容。这是处理重复内容的方法。
即使这样,您也可以选择阻止robots.txt中的分面页面。只需让您的分面页面以/search开头,例如
example.com/apparel?price=0-2000&color=red&size=medium&size=large&category=jeans&rating=4-5
变成了
example.com/apparel/search?price=0-2000&color=red&size=medium&size=large&category=jeans&rating=4-5
在你的robots.txt里
Disallow: /*search?*
我仍然认为facetName=facetValue1-facetValue2是最好的格式,因为它很容易被用户阅读。不过,这是我个人的意见,我想听听其他人对此事的意见。
https://webmasters.stackexchange.com/questions/120531
复制相似问题