如何构建一个列表过滤干净网址的可用性和SEO?

时间:2009-11-01 13:39:44

标签: php url seo friendly-url

我支持在所有页面和列表中使用超级干净的网址。一般来说,我的分页网址只是example.com/section/page/2,标签是example.com/tags/tagname。我通常甚至试图将行id留在网址之外。

但是你们怎么建议做一个过滤列表呢?

假设您有汽车列表,并且您希望按类型,颜色,价格或其组合进行排序。假设您要过滤列表以获得所有绿色的轿车。

对我来说最有意义的是:

example.com/cars/?color=green&type=sedan&order=price

它看起来并不是很好......但我能读得很好。

但是...

example.com/cars/green/sedan/price 

没有任何意义。另外,尝试为此找出路由方案将是一个mofo。

此外,它如何与SEO一起使用?将google抓取后?如果它有或没有爬行参数那么好吗? google索引无穷无尽的相同数据排列会产生不良影响吗?

6 个答案:

答案 0 :(得分:3)

我见过一些在clean URL中使用命名参数的方案。例如:

example.com/cars/color:green/type:sedan/order:price
example.com/cars/page:2

实现它的代码可能有点棘手,但对用户来说很容易理解。

答案 1 :(得分:1)

当你有一个列表时,它应该只有谷歌索引一次。还记得“重复内容”吗?

所以一般情况下我不建议在谷歌中使用过滤后的列表。 (但也许它适合您的服务)

我避免使用干净的网址和我的robots.txt使用干净的网址拦截所有带有queryparams的网址。

答案 2 :(得分:1)

要考虑的主要事情是当用户想要找到所有轿车但又不关心颜色时会发生什么?

就个人而言,我会根据它们的“高级别”来命令这些字段,就像它们是类别一样。例如,首先输入类型,然后输入颜色。任何只改变你查看数据的方式的变量,比如排序,都保存在查询字符串中。

所以你最终会得到这些:

所有轿车:example.com/cars/sedan
所有绿色轿车:example.com/cars/sedan/green
轿车,订购:example.com/cars/sedan?order=price
绿色轿车,订购:example.com/cars/sedan/green?order=price

答案 3 :(得分:0)

Google很早就开始使用查询字符串抓取动态网页。那么'?'在网址中对谷歌来说不是问题。

我们使用干净网址的原因并不是因为搜索引擎不喜欢它。干净的网址应该是为用户准备的。所以,如果你所关心的是SEO,请不要出汗,不要冒汗。

答案 4 :(得分:0)

  

此外,它如何与SEO一起使用?将google抓取后?

通常,它会。

  

如果它有或没有爬行参数那么好吗?

由你来决定,不是吗?我可以想象一些在索引中有好处的一般查询,以及大量非常详细的查询。也许您想准备一些要编入索引的查询,并阻止所有其他查询。

答案 5 :(得分:0)

如果你的对象纯粹是SEO和索引,那么不要改变你的URI地址。而是使用规范链接标记,以及您希望编入索引的网页地址。所有或很快将成为主要搜索引擎支持规范链接标记,并防止使用不同URI地址对同一页面进行冗余索引。

<link rel="canonical" href="http://example.com/cars/green/sedan/price" type="text/html"/>

type属性不是必需的,但我发现在所有请求或定向媒体上指示mime类型通常是一种好习惯。