Changing the sites root folder
-
Hi am in the process of developing my new site domainname.com/devs/ but my current site is still on www.domainname.com/
When the time comes to launch the new site (in devs folder) I want to change the main root folder to this devs folder.
Is there a correct system to do this with as little pain as possible. I know I will need to go through all of my pages and make sure they are 301 redirected to the new folder, but not sure what the correct way to tackle the domain name root folder change.
Any help would be awesome!
Thanks
-
Also useful: https://github.com/phanan/htaccess. Cheers!
-
Your $1 variable is coming after the '?route=' bit. You can test htaccess code here: http://htaccess.madewithlove.be.
-
Hi Ryan, I have now since moved the website to the old root folder / instead of /devs/. I have also removed the old .htaccess that redirected my domainname.com to domainname.com/devs/.
For some strange reason though I'm still getting the "?route=" whenever i'm doing a new 301 redirect. You can see my htaccess below:
1.To use URL Alias you need to be running apache with mod_rewrite enabled.
2. In your opencart directory rename htaccess.txt to .htaccess.
For any support issues please visit: http://www.opencart.com
Options +FollowSymlinks
Prevent Directoy listing
Options -Indexes
Prevent Direct Access to files
<filesmatch ".(tpl|ini|log)"="">Order deny,allow
Deny from all</filesmatch>SEO URL Settings
RewriteEngine On
If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !..(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]) index.php?route=$1 [L,QSA]Additional Settings that may need to be enabled for some servers
Uncomment the commands by removing the # sign in front of it.
If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.
1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
php_flag register_globals off
2. If your cart has magic quotes enabled, This may work to disable it:
php_flag magic_quotes_gpc Off
3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
php_value upload_max_filesize 999M
4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
php_value post_max_size 999M
5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
php_value max_execution_time 200
6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
php_value max_input_time 200
7. disable open_basedir limitations
php_admin_value open_basedir none
redirect 301 /buy-online http://www.foliages.ae/
-
Too bad that didn't work. Your code isn't changing out the URL past "/buy-online" and is appending "?route=" instead.
Plus you're getting duplicate content via:
http://www.foliages.ae/devs/artificial-trees/olive
and
http://www.foliages.ae/artificial-trees/oliveThe help docs on mod_write are here: https://httpd.apache.org/docs/2.2/rewrite/intro.html and they warn, "Rewriting is typically configured in the main server configuration setting (outside any <directory>section) or inside <virtualhost>containers. This is the easiest way to do rewriting and is recommended. It is possible, however, to do rewriting inside <directory>sections or .htaccess files at the expense of some additional complexity. This technique is called per-directory rewrites.
The main difference with per-server rewrites is that the path prefix of the directory containing the .htaccess file is stripped before matching in the RewriteRule. In addition, the RewriteBase should be used to assure the request is properly mapped."</directory></virtualhost></directory>
You'll have to crack this on your own or hire out for it unless someone else chimes in.
-
Hi Ryan, I did this set up but I can't seem to get my 301 redirects to work properly. This is what I have:
www.foliages.ae now points to www.foliages.ae/devs/
But when I try and redirect a page to a new one it doesn't work. For example:
www.foliages.ae/buy-online/artificial-trees-dubai/artificial-olive-trees should point to http://www.foliages.ae/artificial-trees/olive but instead I get http://www.foliages.ae/?route=artificial-trees-dubai/artificial-olive-trees
I have the following .htaccess code in the root folder:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?foliages.ae$
RewriteCond %{REQUEST_URI} !^/devs/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /devs/$1
RewriteCond %{HTTP_HOST} ^(www.)?foliages.ae$
RewriteRule ^(/)?$ devs/index.php [L]And in my /devs/ folder .htaccess I have:
1.To use URL Alias you need to be running apache with mod_rewrite enabled.
2. In your opencart directory rename htaccess.txt to .htaccess.
For any support issues please visit: http://www.opencart.com
Options +FollowSymlinks
Prevent Directoy listing
Options -Indexes
Prevent Direct Access to files
<filesmatch ".(tpl|ini|log)"="">Order deny,allow
Deny from all</filesmatch>SEO URL Settings
RewriteEngine On
If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
RewriteBase /devs/
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !..(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]) index.php?route=$1 [L,QSA]Additional Settings that may need to be enabled for some servers
Uncomment the commands by removing the # sign in front of it.
If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.
1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
php_flag register_globals off
2. If your cart has magic quotes enabled, This may work to disable it:
php_flag magic_quotes_gpc Off
3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
php_value upload_max_filesize 999M
4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
php_value post_max_size 999M
5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
php_value max_execution_time 200
6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
php_value max_input_time 200
7. disable open_basedir limitations
php_admin_value open_basedir none
redirect 301 /buy-online http://www.foliages.ae
redirect 301 /buy-online/artificial-trees-dubai/artificial-olive-trees http://www.foliages.ae/devs/artificial-trees/oliveAny ideas?
-
Thanks Ryan, I shall give it a go and let you know how I get on.
-
The nice thing about .htaccess is it's easy to test. Save your current file locally, upload a new one with the changes that you think will make your /devs/ folder the new root, and then test. If it doesn't work, overwrite the new .htaccess with the old one and determine where you might have gone wrong. It doesn't involve moving any other files on your server. Again, depending on your host they might have specific instructions for changing the root folder as well.
-
Hi Ryan, I'm running an ecommerce site (opencart) on the /devs/ folder so will that cause me problems do you think if I just copy the files over to the root?
If I follow the link you gave me (bluehostforum) it appears all I need to do is add the code in my .htaccess file. Do I still need to move all the files from my /devs/ folder if I tackle this from the .htaccess file code?
-
There are several ways to do this, but it sounds like you want the files served from /devs/ to appear as root on www.domainname.com.
- Rename current root in FTP to /WHATEVER-old/ and copy the contents of the /devs/ folder into the root.
- Point the domain root to /devs/ instead of it's current root.
- 301 redirect any old page that won't have a matching url on the new site, preferably to the most relevant page content.
- Modify the .htaccess file to point to the /devs/ folder.
Like Ray already said, it is dependent on your hosting setup, CMS or website software, and so on, but setting a root folder is fairly standard. Here's one example from Bluehost.com: http://www.bluehostforum.com/showthread.php?9844-Change-Root-Folder. Your own host should have specific technical documentation.
-
Hi Alex - Are you saying that you want your www.domain.com to resolve to www.domain.com/devs/ ?
If so, I would highly suggest that you consider using www.domain.com as your primary location and URL - unless your website is somehow targeted to 'devs' and it make sense to keep it in the URL structure. If not, it is preferred to have the shorter, more concise URL.
Making this change depends on your host environment and website setup. Are you using a custom web app or something like WordPress?
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
-
Server was banned, now all sites have dropped ranking.
Hi, I'm new here 🙂 I look after half a dozen sites on the one server. Early January three of those Wordpress sites were hacked and reported for phishing. All sites have been cleaned and the report(s) removed but they are all ranking much lower than previously. I also added IP block to the sites to limit the traffic to Australia and New Zealand as these are all local small businesses. I checked IP reputation for the server and it is neutral, with no blacklisting showing. I checked with the hosting company and they have no bans or warnings on the server either. These sites were ranking ok, usually first or second page but they have all dropped down to page 5 or worse now. Is there anything else I should check? I have resubmitted the sites to Google a few days ago. Any guidance greatly appreciated. I a web designer so I know a little about SEO but this is beyond me.
Local Website Optimization | | MarkNWD0 -
Moving from html to wordpress site - 301's
Hello, I recently took control of my website from a web designer. I have been reading as much as I can regards SEO etc to make long term improvements to my site. The site was a basic 4 page website for a local cleaning company. Consisting of a homepage, services page, testimonial and contact page. The site performed reasonably given it's lack of detail or SEO but probably only because the level of competition isn't great. I am in the process of rebuilding the site in wordpress and with SEO in mind I intend to have more than 1 page regards services. I have 301'd my services.html page to my number 1 keyword term to gain any little link juice that is available. Now to my questions... Should I be doing this with the other pages? Is it worth 301'ing my contact us page? Is there anything to be gained by doing so? Again should I 301 the index.html to the new homepage? Been reading about this and the issues relating to loops etc but cannot find a definite answer regards the need? Last scenario - lets say my testimonials.html page has some link juice would it be beneficial to 301 that to 1 of my new service pages to give that a kick start as opposed to making a less important page like another testimonials page more powerful? Hope this makes sense, I am a beginner just thinking out loud. Thanks
Local Website Optimization | | sfrediktru80 -
Schema for same location on multiple sites - can this be done?
I'm looking to find more information on location/local schema. Are you able to implement schema for one location on multiple different sites? (i.e. - Multiple brands/websites (same parent company) - the brands share the same location and address). Also, is schema still important for local SEO? Thank you in advance for your help!
Local Website Optimization | | EvolveCreative0 -
Does anyone have a good program they use for full site audits?
I'm looking to find a program that will do the following: Scan for page errors including code issues, hosting issues, redirect issues, etc. Pages missing Google Analytics Google + Local audit to identify issues with NAP, citations, category selection etc. Find pages with title issues including missing page titles, duplicates or titles that are too short or too long, header tag issues such as missing H1 tags Meta description issues including missing meta descriptions, duplicate meta descriptions or meta descriptions that are too short or too long Link issues including broken internal or external links or missing anchor or ALT text Identify internal or external links using rel=”nofollow” Image issues, such as missing ALT or title text and broken images Identify pages using Schema.org microdata I know there are probably a couple programs that will do little bits here and there so I'm open to suggestions. Thank you.
Local Website Optimization | | SimonWorsfold0 -
Multilingual site making new URLs, how to preserve SEO juice?
Hello! My site currently serves content in german and english, however without having separate URLs (it depends on Accept-Language and has a submitform for changing language based on set cookies). The site appears extremely well in the search engine, with many keywords ranking at #1-10. They appear on the german and english google search, with the first one bringing the best results. It's however the english site that appears in the results. I want to change to a better approach by having subdirectories for each language, as I'm extending the site, I know how to do this but I have found -nowhere- any infos on how to preserve my search engine ranks? If I keep the english version as homepage and send german visitors to /de/, might this kill my position in the german search engine which is very important, as the new frontpage under /de/ would become more relevant and the english one maybe less? Or should I keep the german version the default one and send english visitors elsewhere? What happens with my search positions, if I have no side on the / but visitors are always send to either /en/ or /de/? Every help is greatly appreciated, as I found a lot of articles everywhere on how to make a multilingual site, but nowhere anything on how it affects current search results.
Local Website Optimization | | innovacy0 -
Single sites per location as well as group site. Should we get rid of single sites & only keep group site.
Currently we have several single sites for each of our dealership locations as well as an automotive group site linking to each location(dealership) website. Currently there is no landing page for each location on the group site. To save money we were looking into beefing up our group site and getting rid of our individual location sites. 301 redirecting them to location landing pages on the group site website. Each site has about the same authority including the group site. Each dealership location resides in the same province(state) but some locations are a 7hour drive apart so not all within the same vicinity. I want to ensure we continue to rank well in each location. I won't be able to include all geographic locations in the title tag on the homepage of the group site due to the character restrictions. What would you recommend? Keeping the individual websites per dealership location OR focusing solely on a group website. I need to ensure we continue to rank well in each city where each dealership resides. Thanks for any recommendations! It's greatly appreciated. Thanks for everyone's thoughts & opinions.
Local Website Optimization | | DCochrane1 -
Do more page links work against a Google SEO ranking when there is only 1 url that other sites will link to?
Say I have a coupon site in a major city and assume there are 20 main locations regions (suburb cities) in that city. Assume that all external links to my site will be to only the home page. www.site.com Assume also that my website business has no physical location. Which scenario is better? 1. One home page that serves up dynamic results based on the user cookie location, but mentions all 20 locations in the content. Google indexes 1 page only, and all external links are to it. 2. One home page that redirects to the user region (one of 20 pages), and therefore will have 20 pages--one for each region that is optimized for that region. Google indexes 20 pages and there will be internal links to the other 19 pages, BUT all external links are still only to the main home page. Thanks.
Local Website Optimization | | couponguy0 -
HELP, My site have more than 40k visits by day and the server is down, I do not want all this visits...
Hello... I have a website for a local spa in ecuador, this website have a blog with some tips about health... and suddenly one of the articles goes viral on south america profiels on FB and I am receiving 40k visits by day from other countries that are not interested to me because my site is for a local bussines in ecuador... I already block some countries by IP , but Im still receiving visits from other south america countries, for this reason My hosting server company put down my website and I can not put it back online beacuse this thousands of visits use more than the 25% of the CPU of the server and the hosting company put down my website again... I really need to know what to do, I do not want to pay for a expensive special server because all this visits from other countries are not interesting to me .and as I said before my bussines is local.
Local Website Optimization | | lans27872