Your Ad Here

Website Maintenance Tips

Why are some people seeing an old version of your site?

Most browsers will cache or keep a local copy of your pages to speed-up future viewing of those pages. Depending on how the viewer set up their browser, it might display an old version of your site, especially if you update your pages often. To tell browsers when to use get a newer copy of your site, you could use following tags:
< equiv="Expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
< equiv="Pragma" content="no-cache">

These meta tags should be placed in between your and tags. Also the specified date should be a date in the past so that the browser will immediately get rid of the cached copy or not keep it at all. The reason for two tags is that while the "Expires" tag is understood by most browsers, some older browsers may still look for the "no-cache" tag.

Find out how many sites are linked to yours and who they are.

Most search engines offer this feature but each do it a bit differently.

  • Yahoo: type in either linkdomain:www.example.com link:http://www.example.com into the search box... or for more detail, try Yahoo! Site Explorer, click "Inlinks", then choose "Except from this domain" from the drop box (this is it's current setup, I don't guarantee that it will stay exactly those steps, but if it changes look around and I'm sure you'll find it.)
  • Google: link:www.example.com
  • MSN: link:www.example.com


Method 1 - .htaccess 301 Redirect

The smoothest way to redirect your visitors is to use an .htaccess redirect. This has no delay since before a page is served to the browser the server checks first for an .htaccess file... if it sees this the old page never loads, instead visitors are sent directly to the new page.

These are a few .htaccess redirect codes that I've used that might come in handy for you. This is not a complete list by any means, but it took me ages to find how to do these so I'll save you the hassle and list them here. Oh, and please don't email me with questions about how these work, like I said, I found these with the help of others.. I have no idea in the slightest how to write this stuff and take no credit (or responsibility) for how they work.

If you're more technically minded than I am and want the information straight from the source, check the Apache Tutorial: .htaccess files for more detailed info.
Important notes about htaccess redirection

1. Always be sure to upload .htaccess files in ascii mode, sending it up as binary will break it (and usually make your server very, very unhappy.)
2. .htaccess does not work if you're on a windows server.
3. Make sure you triple check your changes. Clear your cache and look, test the server headers to make sure you see a 301 (that means its permanent) not a 302 (temporary) unless you are absolutely sure you really mean temporary.
4. Since some operating systems don't allow you to make a file without something before the "." you may need to save it as something.htaccess, some may even have to save it as htaccess.txt and change it once you've uploaded it.
5. Make sure your ftp program will show .htaccess files (FileZilla does and is free) It is a bit hard to edit something you can't see ;)
6. Double check that you're not overwriting an old one (some servers already place one there for your custom 404 pages etc.)
7. Make sure you replace example.com with your own sites URL ;-)

301 Redirect Examples
To Move a single page

Quick, easy and seamless for your visitors.
Redirect 301 /oldpage.html http://www.example.com/newpage.html
To Move an entire site

This will catch any traffic on your old site and redirect it to your index page on your new server. If you want to redirect each page to its new spot, this isn't the one for you.
Redirect 301 / http://www.example.com/
Changed file extension?

This example is perfect if you've decided to switch to .php from .html pages. It will look for any .html page and redirect it to .php (ie http://www.example.com/yourpage.html and redirect it to http://www.example.com/yourpage.php). Now, be careful with this, it does mean any html page. I did this on one of my sites and had totally forgotten I had an iframe with .html content on some pages... I didn't notice for weeks that it was broken :S.
So learn from my mistake ;-) check, double check, then check again.
RedirectMatch 301 (.*)\.html$ http://www.example.com$1.php
Redirect www to non www version of site

It's best to stick with either always using www.example.com or just example.com. Allowing both can confuse the search engines. So here's how to force your site to always show the non-www version. (Search for "canonical url errors" in your favorite search engine for more info.)

Note: If you do use either of the next 2 codes below, and use a secure server (ie. https:) be sure to check that it doesn't redirect the secure to the insecure version. I'm pretty sure this will do that and that isn't something you want!
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^example\.com RewriteRule (.*) http://example.com/$1 [R=301,L]
Redirect non-www to www

Same as above except in the reverse, this one forces the www. into your url.
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^yoursite.com [NC] RewriteRule ^(.*)$ http://www.yoursite.com/$1 [L,R=301]
Redirect example.com/index.php to example.com/

Another snippet that I've heard is a good idea to make sure search engines don't give you a duplicate content penalty, this will also redirect example.com/folder/index.php to example.com/folder/.
Options +FollowSymLinks RewriteEngine on # index.php to / RewriteCond %{THE_REQUEST} ^[A-Z]{3, 9}\ /.*index\.php\ HTTP/ RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

I might add more later as I need them, for now those are the one's I use on a few different sites I run. Remember, I can't stress enough to test, test and re-test anything you do to your .htaccess file.
Method 2 - Meta Redirect

I'd really advise against redirecting this way! Most search engine are having difficulties with this one (and spammers have been using this in very bad ways) and it might get your page in a heap of trouble! Some browsers also don't read it properly so your would-be visitors may get stranded. Seriously, it really isn't advisable to use this anymore but if you insist on trying it, here it is.
< meta equiv="refresh" content="10; url=http://example.com/">

Content="10; tells the browser to wait 10 seconds before transfer, choose however long you would like, you can even choose 0 to give a smoother transition.
Final Notes

I can't stress enough how important it is to test your server's response headers any time you make a change to your .htaccess file! If you use Firefox the LiveHTTPHeaders extensions is the best I've ever found. That will tell if you're sending a 301 (permanent redirect), 302 (temporary redirect, not what you want probably!) or 200 which means page found, as well as a ton of other info.

No comments:

 

© Blogger Beta Templates | Orca Network