Avoid SEO loss after URL structure change
- by Eric Nguyen
We recently re-wrote our site from Umbraco to WordPress. This has been done by third-party developers. I have been the project manager and it is my mistake that I haven't notice the change of URLs that affect SEO until now. New site was launch last Thursday.
The old URL for a "place" (a WordPress custom post type, in case you're WordPress expert and want/ need to point me to another discussion on WP Stackexchange) page is as follows:
ourdomain.com/singapore/central/alexandra/an-interesting-place
Now it has been changed to
ourdomain.com/places/an-interesting-place
I have already requested the third-party developers to work rewriting the URLs to emulate the old URL structure. However, it's taking quite a lot of time (we have multiple custom post types e.g. events etc. so it might be complicated; the developers seem quite by blur when I first mentioned rewriting URLs for the custom post types)
In the meantime, I wonder if there is a quicker work around for this
1) Use .htaccess to rewrite
ourdomain.com/singapore/central/alexandra/an-interesting-place
to
ourdomain.com/places/an-interesting-place
This should avoid 90% loss of the search traffic.
I suppose I can learn how to do this quite quickly but no harm mentioning it here
2) Use rel="canonical" to indicate that
ourdomain.com/places/an-interesting-place
is the exact duplicate of
ourdomain.com/singapore/central/alexandra/an-interesting-place
I will definitely go for both approaches (and also I'm changing 404 page to cater for this temporary isue) but I wonder if 2) is even feasible and if I have missed anything.
Is there anything else you could recommend me in this situation.
Let me know if my question is not clear anywhere.
Clarifications
The old website is on a Windows Server EC2 completely separated from the Linux EC2 instance on which the new site is running. In addition, the same domain "ourdomain.com" is used here (an A record is used to point to an EC2 Elastic IP).
Therefore, the old server is completely inaccessible at the moment, unless you we use the IP address to old server (which doesn't help me at all in this case). Even if the old server is accessible, I can't see where one can put the .htaccess or a HTML file to do 301 redirect here.
Unless I'm successful with my approach 1) or the developers can rewrite the URLs with coding, 404 page is really a choice for me.