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:
www.mysite.com/city=1&area=1&type=1&bedrooms=3&price=1000&page=3&sort=1
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:
www.mysite.com/london/kensington/apartments
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?
EDIT
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.