I am working on implementing facet filter for e-commerce site and I am not sure which schema of URL structuring is better for SEO purposes. There are three options I have in considerations as of now, and and I need some help to understand which is better for SEO & considered as best & standard practices.
Option A
example.com/apparel?price=0-2000&color=red&size=medium&size=large&category=jeans&rating=4-5
All facet parameters separated by &
and as key=value
.
Option B
example.com/apparel?price=0-2000&color=red&size=medium,large&category=jeans&rating=4-5
Like above, but with multiple values in same facet option separated by comma.
Option C
example.com/apparel?specs=color:red||size:medium||size:large&price=0-2000&category=jeans&rating=4-5
Parameters which are fixed like price, rating, category are separated like above and all are grouped in spec parameter with options separated inside spec using double pipe.
Update The question is not about what character to use but the structure of URL. Lets assume I will replace unsafe characters with safe characters, then then what structure do you recommend?
There is a difference in URL structure, like A has everything as key=value pair, while B has key=value1,value2 (two values in single key), and C has a grouping like specs=key:value|anotherkey=value.
Now, as the facetname is going to be dynamic and there could be thousands of them, I can not block them using robots or URL parameters like described here: https://stackoverflow.com/questions/9149782/ignore-urls-in-robot-txt-with-specific-parameters. I believe this is required for preventing duplicate contents issue.
If I use option C, this becomes easy as there are few facet groups only that can be easily configured compared to having direct facetname=value in URL.
What do you recommend.