All threads / How do I generate SEO Friendly URL's for filter combinations in Rails?
Ask A Question

Notifications

You’re not receiving notifications from this thread.

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

Tommy asked in 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.

Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 61,257+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

    © 2022 GoRails, LLC. All rights reserved.