Wildcard Redirects & Canonical Tags
-
I have an interesting situation.
Current URLs Example1:
www.domain.com/red-widgets-cid-1234.html
www.domain.com/red-widgets-cid-1234-1.html
www.domain.com/red-widgets-cid-1234-1-1.htmlCanonical on All Above URLs:
www.domain.com/red-widgets-cid-1234.htmlNew URL:
www.domain.com/red-widgets-cid-4567.htmlCurrent URLs Example2:
www.domain.com/red-widgets-cid-1234+10.html
www.domain.com/red-widgets-cid-1234+10-1.html
www.domain.com/red-widgets-cid-1234+10-1-1.htmlCanonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10.htmlNew URL:
www.domain.com/red-widgets-cid-6789.htmlCurrent URLs Example3:
www.domain.com/red-widgets-cid-1234+10+5.html
www.domain.com/red-widgets-cid-1234+10+5-1.html
www.domain.com/red-widgets-cid-1234+10+5-1-1.htmlCanonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10+5.htmlNew URL:
www.domain.com/american-red-widgets-cid-6789+5.htmlI want to make sure all variations of the above URL redirect to the new URLs. However, as you see in Example 3, we are dealing with variables that are passed on. (+5 in this case).
Question 1: What wildcard 301 redirect / regular expression can I use to tackle these ?
Question 2: If we redirect www.domain.com/red-widgets-cid-1234+10+5.html to www.domain.com/red-widgets-cid-6789+5.html and www.domain.com/red-widgets-cid-6789+5.html contains the canonical tag www.domain.com/american-red-widgets-cid-6789+5.html, any concerns or red flags here ?
-
Hi Nakul
Here is my stab at question 1, my methodology is trial and error so if any guru's want to take another shot at it please do so. Here is a nice 301 reference page lots of examples
RewriteEngine On
RewriteRule ^(.)_red-widgets-cid-1234.html$ www.domain.com/red-widgets-cid-4567.html [R=301]
#Example 2
RewriteRule ^(.)_red-widgets-cid-1234+10.html$ www.domain.com/red-widgets-cid-6789.html [R=301]
#Example 3
RewriteRule ^(.*)_red-widgets-cid-1234+10+5.html$ www.domain.com/american-red-widgets-cid-6789+5.html [R=301,L]We use ^ to denote start of string
We use $ to denote end of string
We use (.*)_ to look for a keyword. In the examples above we are looking for what each page name has in common
We use [R=301,L] for the Last rewrite, previous rules just use [R=301]
One thing that (maybe) needed is escaping the +signs in the string so like example 3 would be
^(.*)_red-widgets-cid-1234+10+5.html$ www.domain.com/american-red-widgets-cid-6789+5.html
Also I may missed a wildcard on some of these....
^(.)_red-widgets-cid-1234+10+5(.).html$ www.domain.com/american-red-widgets-cid-6789+5.html
Question 2:
Canonical to self canonical tag is okay.
This = That and That = That ..........Okay
This = That and That = The ..........Not OkayHope that puts you on track