Forum Moderators: phranque
I'm looking for some best-practices when it comes to sites that have tons of filterable variables.
For example,
Say you have a database of restaurants. On the site, you can browse by city, cuisine type, price, and maybe 10 other factors.
The home page has browse links that work as filters.
So, a URL might look like this:
www.mydomain.com/results.php?cuisine=italian&price=expensive&neighborhood=wrigleyville&city=chicago&romantic=yes&kidfriendly=no&etc...
At what point does it not make sense to build a static URL? I don't want to have 20 virtual directories just to include all of those variables.
I've considered building "short" versions with just the most critical filters to get our best keywords in the search engines, but then I'd run into duplicate content issues when I have to pass the data later.
That is,
www.mydomain.com/chicago/italian will be exactly the same as
www.mydomain.com/results.php?city=chicago&cuisine=italian
Additionally, I don't see an easy way these short version URL's could append extra filters...
That is,
www.mydomain.com/chicago/italian?price=expensive would cause all kinds of other problems. (for the search engines - obviously server side would handle this well)
Help please!
Make sure that the page for a single restaurant has a URL that is NOT keyed to the path it took to get there.
That is, have a set of different URLs for various search results, but don't append the restaurant to the end of that URL, have a separate URL for it: maybe just a six-digit identity or something.
.
Alternatively, have one keyed path: /state/city/type/restaurant but for all other entry points make sure that that is the only path that can appear in all internal links and is the only one that can be indexed.
Think about it.
Look at your profile page here at WebmasterWorld. That page contains the list of recent threads that you have participated in, but the URL of the thread in that list is exactly the same as shown at the top of your browser address bar right now.
It isn't a URL that starts with /profile/username/ with the thread number tacked on to the end. That would be a Duplicate Content problem. It's the same URL starting with /apache/ and ending with the unique thread number.
I think you're misunderstanding what I'm saying.
I already know that every URL for the final restaurant/detail level will have it's own simpler separate unique URL.
I'm just wondering if it makes sense to let the spiders crawl every possible variation of results pages based on filters.
So,
Given 4 filters, there are 16 different possible results pages. (the first page of results given the filter)
0= filter off, 1 = filter on
F1 F2 F3 F4
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
etc...
If you browse through metromix you'll see what I'm talking about. They have URL's that look like this:
[city.domain.com...]
it looks like each / defines the search type. They then separate out the variables by variablename.variablevalue, all delimited by underscores.