I'm working on a site that has a search facility with multiple parameters that look up property listings. The possible parameters are:

City, Area, Building Type, Min. Bedrooms, Max Rental Price, Page Number, Sort Order.

The 'raw' url, without any rewriting would look something like this:


While you're using my site, it doesn't matter to me or to you what the URL looks like, so I think I'm happy to work with the so called 'dirty' URL.

It matters however, what Googlebot sees, so i'm planning to add a URL rewrite to allow access to pages like:


And then i'm planning to add canonicals to make sure that's the page that gets indexed - no matter what your bedroom / price preferences are, what page of results you're on or the order in which you want them to appear. The idea is that Google will only index fewer, higher quality 'view-all' pages, but users will be able to drill down and refine their results to get very specific.

The question however is whether or not this is a correct use of the canonical and whether it will lead to the desired effect?


It doesn't matter if google indexes 'dirty' URLs with parameters (though it should index the clean one when theres one available). What really matters is that the site gets found when people conduct a relevant search. Having it above competitor sites is the idea, if they didn't have an SEO strategy.

2 Answers 2


Canonical URLs are to be used when two different URLs can be used to pull up the same content. If your URL rewriting causes this to happen then canonical URLs will be necessary.

So if:


pulls up the same content as


then you need canonical URLs

(That second example may not make sense but hopefully you get the idea).


If the only difference between two pages is the sort order of a metric or something similar you will need to use canonical URLs for those pages.

  • Thanks John, but this much I know. If you add on parameters for &page=1&sort=1 then technically, its different content (slightly) - rather than index every page in every order, my thought is that it would be better to canonicalise the pages back to the basic city/area/type which would list all properties in default order and unfiltered by page. Nobody is ever going to search on google for "page 4" of my results, so theres no need for pages 1,2,3,4 to be indexed separately when I can just index the full result set with a really nice keyword-enabled URL.
    – Codecraft
    Commented Dec 15, 2011 at 14:45
  • Actually changing the sort, etc, doesn't make it new content. In fact when Google announced canonical URLs they specifically pointed that out. So if the sort is the only change you still need to use canonical URLs. I'll append that to my answer.
    – John Conde
    Commented Dec 15, 2011 at 14:49
  • So you'd say that if the page had parameters on for bedrooms, price, page number and sort order - it would still be valid to point ALL of those combinations back to one master URL that filtered only city, area and type? To me, its better that google indexes one page with 50 properties on it, than 25 pages with 2 properties on each. Its better for the user to arrive at a longer page and be able to drill down, rather than to arrive at a shorter page and have to 'unfilter', yes?
    – Codecraft
    Commented Dec 15, 2011 at 14:58
  • You would still have links to all of the properties with all of the various ways of sorting them. You would just use a master canonical URL for each one so Google knows which one to feature for each property in its search results.
    – John Conde
    Commented Dec 15, 2011 at 15:26
  • Yep, each property will have its own page anyway, but the search results pages need to be indexed without sort orders and pagination parameters. The canonical link also provides a keyword rich URL, while still allowing me to use ID numbers for the actual coding part. I just want to be condifent it'll work how I expect it to...
    – Codecraft
    Commented Dec 15, 2011 at 15:57

You could use a canonical reference on the page www.mysite.com/city=1&area=1&type=1&bedrooms=3&price=1000&page=3&sort=1 to point to www.mysite.com/london/kensington/apartments as the master page. However, there are a couple reasons why I wouldn't.

  1. The content on www.mysite.com/city=1&area=1&type=1&bedrooms=3&price=1000&page=3&sort=1 is not usually an exact or even close match for the content on www.mysite.com/london/kensington/apartments.
  2. Correctly mapping all of your search result pages to pages like this, www.mysite.com/london/kensington/apartments could become tricky or complex as your site grows.
  3. There isn't necessarily any value in doing it. How will Google be able to find the page www.mysite.com/city=1&area=1&type=1&bedrooms=3&price=1000&page=3&sort=1? From what I understand, this page is only accessible as a result from an inside search and Google will not enter data combinations into your search forms to find out the links to these pages. Therefore, the only way pages like the this one will end up in Google crawl is if you put a direct link to them in your sitemap.xml file or on an href on a static link on your site, which I assume you won't be doing as there could be literally millions of combinations. That means the only links to a specific search result would have to come from an external site. In which case I would suggest adding this tag to all of your internal search result pages, <meta name="robots" content="noindex,follow" />. This tag tells Google not to index the page but to follow all of the links on the page.
  • The idea is that Google doesn't need to see/know about page numbers or sort orders or price preferences. It only needs to see one big list of the specified type of property in the chosen city/area. Pagination and sort order is only of value for the human visitor...?
    – Codecraft
    Commented Dec 15, 2011 at 14:52
  • @Codecraft If it was only Pagination and sort order then canonical would be the right way to go. Your example includes type, # of bedrooms and price range. These extra 3 variables create the possibility of having thousands of result subsets for an city/area regardless of sort order and pagination. Also, how does Google find the pages with specific search parameters in it? If they don't what is the value of adding the canonical ref? Commented Dec 15, 2011 at 14:57
  • My thinking was that google doesn't need to know about thousands of subsets of pages - I don't think the user would be that specific in their query, if I were looking for somewhere to live, I'd go for city, area and maybe property type and run that, applying bedroom/price filters when I arrived at a site only if the result set I had was too long to manage. So no need for google to index 1000's of different filtered pages on bedrooms/price, just different pages on city/area/type.
    – Codecraft
    Commented Dec 15, 2011 at 15:03
  • @Codecraft Tons of people will search on price, I know I always do. If you give the users the options, they will use them. It still goes back to, how is Google going to find www.mysite.com/city=1&area=1&type=1&bedrooms=3&... and if they do find it, how often? Don't get me wrong, I absolutely think you should have www.mysite.com/london/kensington/apartments in your sitemap.xml and in a webpage sitemap but the ones with huge strings, based off of your current example, I do not think there will be much if any value in using canonical because many times the content won't be a close match. Commented Dec 15, 2011 at 15:31
  • OK, conceding that people may search on bedrooms and price on google; i'll specify canonicals for those "/london/kensington/apartments/3-bedroom/upto-950-pcm" - but still, omitting sort order and page number from any canonical links? We think its still going to work even though when you 'use' the site, you'll not be getting rewritten url's (because it gets complicated to do that right). So users see parameters, and google sees the canonicals, right?
    – Codecraft
    Commented Dec 15, 2011 at 15:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.