Redirection in two phases
-
Hi,
One of my client want a website revamp in two phases.
The first phase would be to move the CMS from Sharepoint to Drupal keeping the same content and URLs but the page extension will change (it could become php or just the name of the page without any extension)
The second phase will be a content revamp with URL change.
The first phase will last 3 weeks and then we will push the second phase with the new content and the new URL.
Some shortcuts to make it a more readable:
- old url = OURL
- old url with new extension = OURLEX
- new URL = NURL
My problem is how can I manage the redirections. Should I:
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: keep the rule I created in phase 1 and add rules for OURLEX to NURL
Or
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: keep the rule I created in phase 1 and add redirect OURL to NURL
Or
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: remove the rule I created in phase 1 and add redirect OURL to NURL
Or
- Phase 1: create a rules for each OURL that will redirect all the pages to OURLEX
- Phase 2: remove the rules I created in phase 1 and redirect the OURL to NURL
Or
- Phase 1: create a rules for each OURL that will redirect all the pages to the OURLEX
- Phase 2: keep the rules I created in phase 1 and add rules to redirect the OURLEX to the NURL
Or
- something else you think is better
Difficult to explain, let me know if it's understandable.
Thanks for you help!
GaB
-
Hi Sha,
I'm changing all the file names and we do have a DB behind the site infrastructure (Drupal) but no unique ID so I guess we'll have to do many rules.
Thanks for your help Sha.
-
Hi GaB,
Sorry, I missed your reference to the URL changes in the original question.
It will depend on exactly what the changes are as to how many Rules will be needed to create the 301 redirects.
If you are retaining file names, but moving whole directories to a new location, then this can be achieved with a single Rule.For example, to 301 Redirect all filenames in Useless Folder 1 to the identical filenames in Relevant Folder 2 can be achieved with a single Rule.
For URLs where the actual filenames will change, or where only some files are relocated you would need to implement individual Rules for each URL.
However, if your site is large, there is another alternative, provided that your URL structure supports it. That would be the use of Database Rewrites to implement the 301 redirects as URL's are requested from the server.
There are some requirements for this to be a viable option:
- There must be a Database behind your site infrastructure
- There must be some identifier in the URLs that will remain constant with the change in site structure. Most commonly this would be a unique product ID number or product name
Basically what happens with Database Rewrites is that when the server receives a request for a URL, the identifier is matched against those in the Database and when the match is found the 301 Redirect is written and the new URL served.
For very large sites Database Rewrites would be the most suitable solution as very long lists of Rules in the .htaccess will eventually impact processing and load times.
Hope that helps,
Sha
-
Thanks Sha,
You are right, I will do a rewrite for phase 1 but for phase 2 I will need a lot of rewrite rules because the URL structure will change since I optimize it (removing useless folder, adding keywords, etc...) for pretty much every pages.
I don't think I have a choice here.
-
GaB, go with Sha's answer. It is a superior solution to my suggestion. I had a bit of tunnel vision and the rewrite idea did not come to mind.
-
Hi GaB,
I would suggest a completely different solution.
I would not use 301 Redirects for the Phase 1 change. Rather, I would use a Rewrite Rule to serve the file with the new extension. The Rewrite Rule is basically telling the server to serve OURLEX when a request is made for OURL. The nett result of this is that as far as the Search Engine is concerned, nothing changes.
Here is a Code example which will serve the .php when the .aspx is requested:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*).aspx$ $1.php [L]Then, when Phase 2 is complete, I would implement the 301 redirects using a single Rule once again to permanently redirect all OURL's to NURL's. So, the solution I would recommend is the last one on your list.
Option 6 - Something else I think is better:
- Phase 1: Use Rewrite Rule to satisfy all requests for the OURL by serving the OURLEX
- Phase 2: create one rule that will 301 redirect all the OURL to the NURL
It is best to keep in mind that a 301 redirect should only be used when you intend the redirect to be permanent. Also while Google's stated position is that googlebot will follow multiple 301 redirects, it has also said that "daisy chaining" them is not generally a good practice. There are two reasons for this:
- Google's Matt Cutts has indicated that "at some point we will stop following them if there are a lot of them"
Should you happen to have other domains that are already 301'd to the site, the daisy chain effect is amplified. - As Ryan mentioned, the small amount of link juice that is lost with a 301 Redirect does accumulate over multiple redirects and can have a negative impact.
Hope that helps,
Sha
-
You are absolutely correct. I failed to mentioned a 3rd step required for that solution:
one rule to redirect all OURLEX to NURL
-
Thanks for your answer.
I'm trying to push a one phase approach but since I'm not sure we will be allowed to do it I prefer to have a back-up plan.
With the methode you mention woudn't it be a problem if the robot index the temporary OURLEX during the 3 weeks (my redirections will all be 301)?
-
Generally speaking, I would not recommend this two phase approach but instead completing the work in a single phase. I'll set that idea aside and presume the two-phased approach is a requirement.
the same content and URLs but the page extension will change (it could become php or just the name of the page without any extension)
I would strongly recommend using the page name without any extension. It not only looks better but it will save you work and benefit your SEO the next time you change systems.
The approach I would recommend is your 3rd option:
- Phase 1: create one rule that will redirect all the OURL to the OURLEX
- Phase 2: remove the rule I created in phase 1 and add redirect OURL to NURL
You want to redirect your site with as few rules as possible to minimize the effort, reduce errors, and minimize server overhead. Additionally, you want to redirect pages with a single redirect. It is a bad practice to allow pages to endure multiple redirects as you will lose a lot of link juice.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
SSL redirect issue
Hi guys, I have a site that has some internal pages with SSL. Recently i noticed that if i put https://mydomain.com, this URL is accessible but all the design is messed up. My site is on wordpress and i use "redirection" plugin for all the 301 redirect. So i decided to add a new 301 redirect from https://mydomain.com to my actual URL version of home page http://mydomain.com. After doing that, my home page doesn't load at all. Does anybody know what happens? Thank you for advice!
Technical SEO | | odmsoft0 -
Redirect typo domains
Hi, What's the "correct" way of redirecting typo domains? DNS A record goes to the same ip address as the correct domain name Then 301 redirects for each typo domain in the .htaccess Subdomains on typo urls still redirect to www or should they redirect to the subdomain on the correct url in case the subdomain exists?
Technical SEO | | kuchenchef0 -
Htaccess redirect with question mark
Hi I have a problem setting up my htaccess for a specific page that has a question mark in the link, and one that has a space in the link and also a question mark. So I would like 2 redirects in my htaccess like that: www.olddomain.com/page.php?page=pagename1 to www.newdomain.com/newpage1.html www.olddomain.com/page.php?page=page name2 to www.newdomain.com/newpage2.html I have tried with something like this but doesn't work: RewriteEngine on RewriteRule ^page.php?page=pagename1 "http://www.newdomain.com/newpage1.html" [R=301,L] RewriteRule ^page.php?page=page name2 "http://www.newdomain.com/newpage2.html" [R=301,L] Could someone tell me what exactly I have to change? Thanks
Technical SEO | | darkanweb0 -
Index.php and 301 redirect with Joomla
Hi, I'm running Joomla 1.7 with SEF on and I'm trying to do a htaccess redirect which fails. I have approximately 100 in effect so far and all working fine, but I have one snag. Index.php is not working as I need it to when it's redirected to www.myurl.com/ If I turn on index.php redirect to root using this code #index.php to root
Technical SEO | | NaescentAdam
RewriteCond %{HTTP_HOST} ^myurl.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.myurl.com$
RewriteRule ^index.php$ "http://www.myurl.com/" [R=301,L] And then go to www.myurl.com/test.html I'm redirected to the homepage. I think this is because all pages are index.php in joomla. SEOMOZ and Google both think that index.php and root are duplicate pages. Does anyone have any advice for overcoming this? Thanks, Adam0 -
Redirects 301
Hello, I need to reedirect a URL of a page that I have in my site (http://digitaldiscovery.com.pt/servicos-de-marketing-digital/publicidade-online/) to a new URL with SEO porpuses. Whats the best way to this? I use Wordpress btw. Tks in advance! PP
Technical SEO | | PedroM0 -
301 redirect issues
Hi all, I'm hoping someone will be able to help me with an extermley frustrating problem with 301 redirects in .htaccess. Basically I'm trying to redirect some old pages (from our old website) that stil rank to the new equivilent. For example - old url = www.domain.com/frames/news/company-news/news-reader.php?newsStoryID=395 New www.domain.com/news/article-title I've tried the simple redirect 301 /frames/news/company-news/news-reader.php?newsStoryID=395 http://www.domain.com/news/article-title But this doesnt work. I've also tried - RewriteEngine on
Technical SEO | | EclipseLegal
RewriteCond %{QUERY_STRING} ^newsStoryID=395$
RewriteRule ^/news-reader.php$ http://www.domain.com/news/article-title/? [L,R=301] Could anyone help? I've followed lots of tutorials that all match the above but it just doesn't work! The only other thing within the htaccess file is from wordpress for pretty permalinks - BEGIN WordPress <ifmodule mod_rewrite.c="">RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]</ifmodule> END WordPress Many thanks in advance!0 -
301 Redirects
Hello, I have a problem with my website. I have a page on my website http://www.ensorbuilding.com/page.php/aboutus but if i type in www.ensorbuilding.com/page.php/aboutus/f8e45e9d9df6140bb5a7ff1173e8d828 or www.ensorbuilding.com/page.php/aboutus/0f0eea5e9ab0a3e8d91fad8fc0d3ce9c it still displays the about us page. Google is seeing this as duplicate content so what I would want to do is 301 redirect anything after www.ensorbuilding.com/page.php/aboutus . How could I implement a 301 redirect in this way?
Technical SEO | | danielmckay70 -
301 redirect on the root of the site
Due to some historic difficulties with our URL Rewriter, we are in the position of having the root of our site 301 redirected to another page. So the root of our site: http://www.propertylive.co.uk/ has a 301 redirect to: http://www.propertylive.co.uk/home.aspx We're aware that this isn't great and we're working to fix this completely, but what impact will this have on our SEO?
Technical SEO | | LianWard860