使用seo友好网址按复选框过滤?

时间:2012-09-16 22:01:11

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我想在我们的房屋列表页面添加过滤(复选框)。我想在ajax的情况下通过ajax做到这一点,但是对于seo目的而言,URL结构对于SEO友好也是重要的。

一个例子:

  • 主题复选框是“nearthesea”。网址是domain.com/houses/nearthesea
  • 主题复选框是“idealfortwo”。网址是domain.com/houses/idealfortwo
  • 设施复选框是“wifi”网址必须是domain.com/houses/idealfortwo/wifi

有想法,链接,帖子等设置吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,没有真正的方法可以做到这一点,即定义具有未定义数量的路径组件的路由。您可以选择最大数量,并定义一系列路线,例如

get '/houses/:f1' => 'houses#index'
get '/houses/:f1/:f2' =>'houses#index'
...
get '/houses/:f1/:f2/:f3/:f4/:f5/:f6' =>'houses#index'  

但是这很快就会变丑,我建议你使用这样的URL方案:

get '/houses' => 'houses#index'

然后您的网址可能如下:

/houses?filter=goodschool,bbq,northeast

然后在索引操作中:

def index
  if params[:filter]
     filters = params[:filter].split(",")
     filters.each do |f|
       # do something with each term in the filter, I have no idea
     end
     @houses = House.where(.....???)
  else
     @houses = House.all
  end
end

它不会产生您所追求的SEO友好URL,但我不确定这会如何影响您的情况下的SEO。