Save 36% for Black Friday! Learn more

New Discussion

Notifications

You’re not receiving notifications from this thread.

How do I generate SEO Friendly URL's for filter combinations in Rails?

7
General

I have a site where the user can apply a combination of multiple filters.

To improve the SEO on the site I would like to have the URL in a human-readable format when filters are applied.

I would like the URL to be:
example.com/stadiums-in-england-or-spain-with-grass-and-capacity-of-more-than-20000

Instead of:
example.com/country=england,spain&surface=grass&with_capacity_of_more_than=20000

This is something that I've seen on NomadList where for example, if the user applies the filter 'walkable' and 'Europe the generated URL will be
https://nomadlist.com/walkable-places-in-europe

Anyone here has any idea on how to build this?

Hey Tommy!

You would probably need to do this with wildcard URLs and then parse them.

# At the very bottom of your routes file so it doesn't override other GET routes
get "*place" => "places#show"

This should assign params: { place: "walkable-places-in-europe"}

And you could parse that string with Regex or similar to get your filter and location out of it in the controller.

That's great sharing! I did

Good question and nice answer, thx Chris Oliver

You would have to make sure your site has been indexed first and then make it friendly!

I'm working with a client that is looking to build a page to feature products with filters/facets.

Is this really possible to buy traffic from another source? How long the traffic will stay on the site? I mean after a few months it will automatically decrease or increase? Does Google give values for this type of paid traffics?

I’ve had to deal with similar SEO-friendly filters before, and one thing that helped was grouping params into a consistent order so URLs don’t change with different param ordering. Also, I found some solid help on nested filters and clean URLs on https://rankyak.com – worth checking out if you're trying to avoid duplicate content and keep things neat.

Join the discussion
Create an account Log in