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
-
Cant find source of redirect
Hey guys, I have a bizarre situation on my hands. I have a URL that is being wonky. The url is redirecting to another url and the 301 redirect is not in my htaccess. There is a 301 redirect in my htaccess but is being overwritten by something else, i.e. whatever is happening in above. So basically URL A should be redirecting to URL B but instead its going to URL C. I know we were not hacked, it's not redirecting to a strange bizarre domain. I have also disabled all of our plugins that redirect (to my knowledge) Any thoughts would be great!
Technical SEO | | HashtagHustler0 -
How to set up redirects with a company takeover
Hi there, We are about to take over a player in the market with some good DA en PA's. We choose to redirect all the pages from the domain we take over to our main domain for now, later we want to redirect all categories to relevant and similar categories on our own domain. The company we take over is using a server which will be cancelled in a while. For now we set up the 301 redirect(s) on their server we take over. Because of the extra costs we will cancel the server in a few weeks/months. What is a common way to keep 301 redirects alive after cancelling the server of company we take over? I hope someone can give me the help I need in this one. Thanks in advance! Cheers,
Technical SEO | | MarcelMoz
Marcel0 -
Https redirect when certificate expired
Hi, How do we 301 an https version of a domain to a page on another website when the security certificate has run out? We have 301 redirected the http version but IT stuck on how to do the expired https. Thanks
Technical SEO | | Houses0 -
301 Redirect on a PDF, DOCX files?
Hi, I have to rename many pdf and docx files. How can I implement 301 redirect on them as they are linked from 'n' number of places? Regards, Shailendra Sial
Technical SEO | | IM_Learner1 -
301 Redirecting weird URLs with % in them
I've been working on redirecting links reported as 404 in Google webmaster tools. I've stumbled upon 41 URLs that Google is reporting as 404 that include a '%' in the URL, but I don't know how to redirect. Here is an example: URL: bond_information.htm%20Surety%20Bond%20Information,%20with%20FAQ Attempted redirect: redirect 301 /bond_information.htm%20Surety%20Bond%20Information,%20with%20FAQ http://www.mysite.com/ Unfortunately, after implementing the redirect, http://www.mysite.com/bond_information.htm%20Surety%20Bond%20Information,%20with%20FAQ still resolves a 404 error. Anyone successfully fix these errors using Apache .htaccess?
Technical SEO | | TheDude0 -
Setup 301 Redirects
I have been asked to transfer a clients old domain over to a new domain with a new site. All of the inbound links basically go to the homepage, and the few links that dont go to the homepage on the old site, might as well be redirected to the homepage on the new site. I'm wondering is there a "catch all" sort of redirect such as www.oldsite.com/* redirects to newsite.com. So any redirects we havent set up will automatically go to the new site homepage? And secondly, whats the easiest way to the redirects up? Can I just add it as a parked domain or addon domain in cpanel, and do the redirects in there? Or does it needs its own hosting for the old domain with its own htaccess file? Any help appreciated! 🙂
Technical SEO | | timscullin0 -
301 Redirect Issue
I'm having an issue with 301 redirects: Let's see if I can verbalize my thoughts on this one... So we just recently moved our site to Wordpress. One of our new 301 commands is redirecting oursite.com/news to oursite.com/blog . However there are other links from our previous site that look like oursite.com/news/XYZ and the issue is that, because wordpress structures its links differently, that URL is not equivalent to oursite.com/blog/XYZ. Instead, it might look something more like oursite.com/blog/yaddayadda/XYZ or something. Does that make sense? The issue is that when I find an old link of ours on google that looks something like "oursite.com/news/XYZ" or "oursite.com/news/ABC" it is automatically replacing "news" with "blog". When I try to go in manually and redirect anything that says "/news/XYZ" to "/blog/yaddayadda/XYZ" it still doesn't work. It still just replaces "news" with "blog." Wow I realize that might not make sense to anyone but if it does - please advise!! Thanks!!!!
Technical SEO | | EntrustSEO0 -
301 Redirect Help
Hello! I am getting ready to launch my freshly coded site in the next week or so. My product URLs are changing SLIGHTLY and want to confirm I am going about things the right way: A. My LIVE site store URLs look like http://hiphound.com/shop/dog-collars . My DEV site store URLs look like http://hiphound.com/dog-collars . No /shop directory. B. The dev firm installed the rewrite rule below: ############################################ enable rewrites Options +FollowSymLinks RewriteEngine on #RedirectMatch 301 ^/shop?/$ http://hiphound.com/ RedirectMatch 301 ^/shop?/$ http://hiphound.com ########################################### C. When I manually enter a URL with /shop in the address the website redirects to the correct page which is good. QUESTIONS I HAVE 1. Is the above redirect correct? I need them to permanent. Don't think the above is right... 2. Will links in the Google index be redirected as well? I am assuming yes but just want to confirm. 3. For each page indexed in Google will its pagerank, etc. be passed to the new page using just the 301 above? 4. Do I need to create addtional 301s for each page? So mapping the old page to the new page? Please advise. The goal here is to of course preserve the rankings of the pages already in the Google index. THANK YOU!!! Lynn
Technical SEO | | hiphound0