Search Engine Optimization Tutorial - "How To SEO"Search Engine Optimization -- the process of making a site "search engine-friendly" — also known as "SEO" -- is probably the most important aspect of website design. Many, many commercial websites are designed and set up by people who know little or nothing about search engine optimization — how to give the search engines what they need to see when they index your site. This long page contains the information (or links to it) that web designers SHOULD know about optimizing a website for the search engines.
The most important thing to know about search engines is that SEARCH ENGINES ONLY INDEX TEXT. Make that your mantra while designing and optimizing your website. They don't index images well, and they don't index Flash well. Although there are some exceptions to that rule, as search engines are becoming more intelligent and more able to index files such as PDFs and the captions of graphic files, and some of the text in a Flash file — for all practical purposes just remember that rule: Search engines only index text and you won't go too far wrong in search engine optimization.
For a technical "how to" on optimizing Flash files, see this page from J E Hochman, and for an up-to-date late-2010 summary of the pros and cons of trying to optimize Flash, see this article from WebsiteMagazine. (Note that we use these same techniques when optimizing Flash sites.)
There are a lot of small things you can do when designing or re-designing a site to get better rankings in the search engines — and every little bit helps in the end result. There is no one magic thing you can do to get top placement at a search engine for your website. But you can do a bunch of small things that will add up to excellent placement in the search engines for the key words you select that are relevant to your web pages.
Note: If you have a database-driven website, there are special concerns. Click here for more info on how to optimize a database-driven site for the search engines.
Also Note: If you have a website that is designed using <frames>, there are special concerns. Click here for more info on optimizing a frames-built website for the search engines.
If you are designing a site from scratch, see also especially this page: SEO Techniques in Web Design.
Search Engine Optimization – Let's get started!To get a good feel for what is required in optimizing a normal commercial website for the search engines, let's pretend we're creating a website which sells after-market accessories for the "Alfa Romeo Alfetta", a 70's 4-door sports car that provides a snap-your-head-back kind of driving experience. (It is a car with a small but fanatical base of fans.) Our site will sell floor mats, hood ornaments, key chains, steering wheels, and so on -- all for the Alfa Romeo Alfetta.
Pick a Good Domain NameThis step is not very important - but every little bit helps. For the perfect domain name match-up in a search engine so that a page of our "Alfa Romeo Alfetta" website comes up #1 in the search results, the website itself would be best named:
Pick a Good Web Hosting CompanyWhat type of website hosting company do you have? This can be very important to the search engines. Free website hosting is usually bad for search engine rankings, for several reasons. For a detailed article about how your website hosting company can affect your rankings in the search engines by Larisa Thomason (Senior Web Analyst for NetMechanic), click here.
The most important factor is that your website should have its own "static" IP address. In other words, its numeric IP address should be stable, and not be different every time someone types in your URL--that's called a "dynamic" IP Address and is typical of Windows IIS Hosting. Big hosting companies typically use "dynamically assigned" IP addresses which work this way: when someone types in your URL into his browser, the HTTP request is presented to your hosting company's server, which quickly assigns an IP address to your website files on its server and connects the visitor to your files. Some search engines don't like this, for various technical reasons.
But more importantly, if your web hosting company has some "bad hats" (spammers or pornographers or whatever) who have been banned from search engines for good reason, your site could also be banned "by association" because, to the Search Engine your site's IP address looks to be that of the bad hats. In the eyes of the search engines it has an identical numeric IP address -- the one that belongs to your web hosting company.
If you are serious about getting good search engine rankings for your site, you need to have a static IP address of your own. If you don't know whether you do or not, call or email your web hosting company and find out whether your IP address for your site is static or dynamic. If it a static IP address, they should be able to tell you exactly what your static numeric IP address is. Find out what that is. For example, the static numeric IP address for Words in a Row is: 22.214.171.124. You should be able to substitute your numeric IP address after the "http://______", type that into your browser and go directly to your website.
There's another way to find out if you have a dynamic or static IP address, and that is to use this tool provided free by Bruce Clay:
You can also "ping" a website to find out the IP address being used. For example, if you open a DOS command prompt window on your Windows PC, you can type the following:
and it will return the IP address of 126.96.36.199. You can ping any website, get its IP address, and try to reach it through HTTP:// at that IP address. If it has a static, dedicated IP address, you'll get to the website. If not (and that's usually the case) you'll either get a different website, or a generic message from the server saying that there's no website configured at that address.
Now take the numeric IP address from that report and type it in your browser after typing "http://" — don't put in "www" — just type the four numbers after the "http://" — if it returns a "404 page not found" or some site other than yours! -- you have a dynamic IP address. If your site shows up in your browser, then that four-part number is your static IP address. (Many thanks to Bruce Clay for providing this tool!)
We like the website hosting from Data393 for many reasons - one of them is that they will set up hosted websites on their server with static IP addresses. If your hosting company does not offer static IP addresses, my advice is that you should change web hosting companies. Data393 is a good choice but not your only choice -- you could also use Verio or many others. In 2010, even Godaddy.com offers cheap hosting with a dedicated static IP address for an extra $3.00/month. WebWizards.net also offers inexpensive hosting and a dedicated static IP address. Words in a Row also offers hosting, but only to our marketing or web design clients.
Unless you are locked into a proprietary shopping cart or content management system, it is not usually very difficult or expensive to move your site from one hosting company to another. Just make sure your new hosting company gives you a static IP address and that your site passes through the Bruce Clay analysis tool (the form above) without any problems.
In our experience, with all other factors being equal, the site with its own static IP address will rise to the top at the search engines over those with dynamic IP addresses. This is something your hosting company may dispute--especially if they don't provide static IP addresses. Approximately 97% of all IP addresses on the web are dynamically assigned, so do not be surprised if your site has a dynamic IP address when you check it.
Here's a blog post from BruceClay.com about their tests of static vs. dynamic IP addresses to see if they really make a difference in search engine rankings.
Here's an article from Michael Banks Valentine of About.com, about "Playing Hide and Seek with Search Engines". It explains in detail some of the ways your server setup can make your site a problem in the search engines.
Figure Out Your Key Word PhrasesYour next step should be to do some homework and figure out what your key word phrases should be for your website pages. You need to make a short list of 1 or 2 key word phrases for each page of the site you want to optimize. Each phrase should be no more than three or four words. It is okay if the same words are in more than one key word phrase, and it is okay if some of the pages overlap their keyword phrases.
For each page you should wind up with a list of no more than two key word phrases, each less than three or four words long. Longer phrases are less effective. Single words are often useless. The word "Software" for example, is ignored by many search engines - it is what they call a "stop" word, like "the" or "a" - they just ignore it when you search for it, unless you put it inside quotation marks or otherwise make it clear it is part of your search.
For more info about picking the right key word phrases for your website, click here. There are several tools that will help you pick the right keywords. One great free tool is the Google External Keyword Tool.
Set up your Meta TagsThere are several "tags" that go into the HTML code for a page of a website. These tags are placed between the <HEAD> and </HEAD>. These are invisible to the average person browsing the site but are used by the search engines when they come crawling through your site and index the pages--a process called "spidering". These tags should be present on every page of the website. The most important tags are:
- The <title> tag
- and the "description" <meta> tag.
Set up your <Title> TagOur site would contain a <title> tag like this:
<title>Alfa Romeo Alfetta Accessories</title>
What we put in here is based on the key word phrases we figured out above. It should contain our main key word phrase, "Alfa Romeo Alfetta" at least once. It shouldn't contain more than 60 characters. In fact, if you can make it seven words or less (discounting words like "and" and "for", which the search engines ignore anyway) you're better off.
The <title> tag must contain the main keyword phrase for which you are optimizing that page. Google in particular places heavy emphasis on what is in your page's <title> tag. So does Bing.
Set up your Meta Keyword TagThe <meta> keyword tag will contain our key word phrases for the specific page we are on:
<meta name="keywords" content="Alfa Romeo Alfetta, automobile accessories, aftermarket, hood ornaments, floor mats, auto parts, blah, blah, blah">
Don't make this more than about 250 characters long. Don't use the same key word more than twice in it. Vary the capitalization. Don't use all capital letters unless the word is an acronym, like "SEO", which is short for Search Engine Optimization. Don't use words in it that don't show up in the body text on the page. In practical terms, you can delete this keywords meta tag without any consequence. Better not to have a keywords meta tag than one that is filled with keywords that don't show up on your pages; it can count against you!
Note: Don't obsess about the keywords tag. It is mostly disregarded nowadays due to abuse by people stuffing keywords that didn't belong into it. You can almost skip it entirely.
Set up your Meta Description TagThe <meta> description tag is a description of the page. It should contain our key word phrases for the specific page we are on:
<meta name="description" content="Alfa Romeo Alfetta accessories, blah, blah, blah">
This tag should describe the specific page it is on, not the whole website. This is the description of the page that shows up at the search engine when someone is lucky enough to find this page in a search. Don't make the description more than about 200 characters long. Make it descriptive, and make sure it contains your key word phrases!
We won't repeat individual key words more than twice in any one meta tag because that can get a site banned from a search engines for something called "spamdexing", which is "spamming" the index of a search engine. It's also known as "keyword stuffing"; don't do it! For more info on how to avoid spamming the search engines, click here.
Note: The description meta tag should include a call to action, such as "Call for a free consultation" or "Click here for a discount coupon" or something else to make it stand out, so people click on it when your listing does show up in the search engine results.
Put Key Words in HeadingsBack to our Alfa Romeo Alfetta site: It will have "headings" like the one at the top of this section. It was created using heading tags that look like this: <H2>Put Key Words in Headings</H2>.
These "headings" make your browser display the text larger and set it aside from the rest of the text, on its own line. Search engines will look for and index our headings when they index the pages on our site, so our headings should ALSO contain the main key word phrases for our site, like this:
- <h1>Alfa Romeo Alfetta</h1>
- <h2>Alfa Romeo Alfetta - Hood Ornaments</h2>
- <h2>Alfa Romeo Alfetta - Maintenance Manuals</h2>
- <h2>Alfa Romeo Alfetta - Floor Mats</h2>
- and so on through as many headings (in this case our products for sale) as we can think of that we want to include on that page.
Note: Some people detest using headings because they tend to be big clunky elements in web designs, and they can add a lot of space down the page. You can easily bypass this using a simple inline style command, like this:
<H1 style="margin-bottom: 0px; font-size: 12px;">This will make a small heading with no space after it!</H1>
Use Key Words in Your TextOur optimized page would contain TEXT of at least 250 words, with the key word phrase "Alfa Romeo Alfetta" occurring several times near the beginning of the text. If a page doesn't contain at least 250 words, some search engines won't bother to index it. It's preferable to have 500 words or more if possible, on a page. You'll get better results from the search engines if you have more text.
It also seems to help to put the key word phrase near the end of the text, too. Search engines use a factor called "key word density" to determine how relevant that key word you're using is to the page. If it shows up a few times in the text, it is more "dense". Key word density is a good thing, up to a certain point. The main thing is to make sure you have some text that describes what you do or what you're selling - that makes your page a resource worth indexing.
There's a trick of the <table> one can use to keep your menu bar on the left side of the page (where most people put a navigation menu) and still have the text of the page come first in the code. Normally to display to the left, the nav bar has to come first in the code. But not if you use this table trick. Of course if you use HTML/CSS only (no tables) then you won't need the table trick.
Put Key Words in Alt TagsPictures on a website can and should contain a little text description that only shows up when you move your mouse over the picture. That little description is called an "ALT tag" ("ALT" is short for "alternate"). Hold your mouse over the picture on the right for a couple of seconds and your browser will display the ALT tag for the picture in most browsers.
Some search engines index those ALT tags, so we will make sure we label every picture with an ALT tag--every last picture. Wherever it is possible and appropriate, each ALT tag will contain our main key word phrase — "Alfa Romeo Alfetta".
Note: Some people surf with "pictures" turned off, to speed up their browsing. The visually handicapped also use the ALT tags to "see" what's on a picture--there is special software for the blind which reads aloud to the person what's on the page. If there are no alt tags, the pictures are invisible to them, so it is worthwhile to put an alt tag on every picture. If you can appropriately place some key words in those alt tags, so much the better.
This article by Robin Nobles quotes SEO researcher Jerry West's research showing that the alt tag is not used by the main search engines at all. My own research tells me that alt tags are only a small part of what the search engines do look at. Even so, I still recommend that you put alt tags on all images (because that is one thing needed to make your HTML code "valid", and that you put keywords in the alt tags of any images that you use as links where using keywords would be appropriate in helping to describe the image to someone who cannot view the image (i.e., someone who is visually impaired or who is using a text only browser). My research shows that some search engines do use those alt tags describing the image used as a link to determine what the page they point to is about.
Keep image names real, don't stuff keywords into them. You need to have an alt tag on every image (in order to have valid HTML code), but page design element images (such as lines, color blocks, etc.) should just have an empty alt tag, like this: alt="". Also, if you give design elements names that are just numbers, such as 1.jpg, 2.jpg, etc., Google won't bother indexing them, and they won't dilute the importance of images that you DO want Google to index, such as your product images. Don't use numbers as the names of product images if you want Google to index them. Try to use keyword-rich image names and alt tags, of any image that you want Google to index.
Put Key Words in Anchor TagsHypertext links on your site usually look something like this:
<a href="floor-mats.html">. Those are called "anchor tags" — that's what the "a" stands for. You can put some other information in there, which will show up when one mouses over the link. It would look like this:
Sample Anchor Tag:
<a href="blah.html" title="Alfa Romeo Alfetta floor mats"> Alfa Romeo Floor Mats </a>
-- if the link points to the floor-mats.html page. When someone mouses over the link, they will see what you put in the title. These "titles" for the anchor tags get indexed by the search engines. Every little bit helps! Make sure the words that you wrap the anchor tag around are keywords, too, whenever possible.
Is a Robots Tag Necessary?In our experience, a Robots meta tag with instructions to index and follow the links on the page is simply ignored by the search engines. You can safely omit the robots tag if that's all you have been using it for. In the old days of the net (a few years ago) you would have put this tag in the head of your document:
<meta name="robots" content="index,follow">
It might have done some good a few years back - in today's world it can safely be omitted.
The robots meta tag is more useful for pages you do not want indexed. If you don't want a page to be indexed -- such as a test page, or a page you put up for your own use, then put this robots tag in the head of your document:
<meta name="robots" content="noindex">
That will keep the page out of the search engines that recognize and follow these tags. Of course, to actually prevent the page from being indexed by the search engines, you need to add the page name to the robots.txt file as one of the disallowed files. A robots meta tag is not enough to prevent the page from being indexed by some of the search engines that ignore them completely.
Use a robots.txt fileMake an empty file. Name it "robots.txt". Put it in the root directory of your server; usually this is the same directory where your index.html file is kept. (But not always - sometimes your index.html file is in a sub-directory. In which case, make sure you have a copy of the robots.txt file in the root directory - usually the root directory is as high as you can go in the directory tree on your server.
While it is possible to set up a "robots.txt" file to exclude some or all of the search engine robots, what you probably want it to do is to allow every robot that comes along to index your site. If you do want to exclude specific robots from indexing certain directories or certain files, you will have to put some commands into the robots.txt file. For more info than you probably want about the use of the "robots.txt" file, go here. If you want every robot to be able to index your site, just leave the robots.txt file completely empty — but make sure it is there!
Experience has taught me that on some servers, it is wisest to put something in that robots.txt file and put it in both the root directory and in the directory where your index.html file is located. This text works inside the robots.txt file, to allow robots to access everything except what is noted:
That example lets the robots coming to your site index everything except what is in your cgi-bin directory, your tmp directory, and your private directory.User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /private/
To see the robots.txt file in place on Words in a Row, click here
Here is an article called "Search Engine Spiders lost without Guidance" by Mike Banks Valentine, which covers in detail many aspects of creating a robots.txt file.
You can validate your existing robots.txt file using this robots.txt validator tool.
Note: You should have a line in your robots.txt file that says where your sitemap.xml file is. That line looks like this, on my site:
You'll want to put your own domain name in there, of course.
Note: If you have a huge site, you may need more than one sitemap.xml file to list all the pages of your site in it. Here's an explanation of how to set up a sitemap index
Validate your HTML code.Everybody knows that robots, in general, are not too smart. The search engine robots which gather information from your site can really only do two things: 1. Read text. 2. Follow links. That's all.
These days, modern browsers are much, much smarter than robots. So while you may be able to look at a page using the latest version of Firefox, Safari, Google Chrome, or Internet Explorer, the search engine robots are too dumb to see anything at all if there is a big error in your HTML code. If you have an unclosed HTML tag - for example if you have complicated nested tables, any of which aren't closed -- then that may be the point where the search engine robot gives up trying to read your site. To validate your site, use this link: http://validator.w3.org/. This will tell you where your HTML code is "busted" and needs to be fixed so you don't confuse the search engine robots. There's plenty of advice there on how to make your HTML code validate. If you or your webmaster can't figure out how to make your HTML code valid, we can help with that. Note: this page you're looking at right now has valid HTML code.
Click this button to validate now!
Register by Hand with the Search Engines and Directories.As soon as the website is finished and up on the web, it should be submitted to (registered with) the search engines (like Google and MSN) and directories (like Yahoo! and the ODP). Most of these are free -- some of them charge up to $300 for submitting your website. Don't scrimp here. If people can't find your site it is doomed.
There are several programs that can automate this process for you -- but we don't recommend them because, in our experience, they do not get as good of results as you get when you register your website by hand.
We've set up a page to make it easy to register with the search engines and directories by hand, here.
Here's a website that offers a service to get your site listed in 300 small directories, for $450. It's a fair amount of work to get all these inbound links. You can do it yourself, but your site will definitely need links to do well in the search engines.
Then it will take some time (expect it to take several months) for the search engines to actually index and begin listing our site. Some of them only take a day or two, others take months. We have to be patient. But eventually we would be highly placed in a search for "Alfa Romeo Alfetta", on the first page of the search results in most of the search engines. We could expect to be the first result on some of them for our keyword search for our keywords, "Alfa Romeo Alfetta"!
Register in the Search EnginesHere's where to go to register with the main search engines:
Register my website at Google
Register my website at Yahoo
Register my website at Bing
Don't Neglect The Little ThingsWhat are the three most often neglected opportunities for getting better rankings in the search engines? Click here to find out.
Get Links Pointing To Your SiteAfter our website is created and put up on a server and registered with the search engines, we would then go out and find as many other websites as possible that might have an interest in linking from their site to ours, contact them and convince them to set up such links. We might have to offer reciprocal links back to their sites in order to convince them. There's no harm in that, you WANT lots of links from your site to other sites--that's one easily-provided free service you can give away.
Here's some good advice from About.com on the subject of "How to Request Links".
Don't bother with the Free For All Links pages. FFA links pages don't work, and no one actually uses them. You want websites that are similar to yours, or which provide related services, or which contain specialty listings or directories of your type of business.
The rule is: The more links there are to our site, the more relevance it will have in some search engine results and the better placement it will get. A lone website with no links to it is a sad thing. It has no friends. Get plenty of links to your site. Ten links to your site is a good start. A thousand wouldn't be too many.
To see which sites are currently linked to your site, go to Google and type in your domain name like this:
Of course, you'd substitute your actual domain name instead of mydomainnamehere.com.
Then click on the link to "Find web pages that contain the term 'mydomainnamehere.com'." That will give a list of websites that Google shows linking to yours. [Note that the Google toolbar's "backlinks" function is broken and has been for a few years — it gives incorrect results.]
MarketLeap's link analysis tool lets you put in your URL and find out the number of links to your site that are being reported by Google, Hotbot, Yahoo, AOL and MSN all at once.
We list several places to get inbound links on our page covering how to get links.
Here is a helpful article on how to get worthwhile in-bound links, Link Building Strategies
Page Rank and LinksPage rank is Google's way of measuring your rank in terms of links to your site from other sites, based on both quantity and quality. Google page rank varies from 0 (terrible) to 10 (ideal). If you have lots of links from sites with low page ranks, they will mean very little to your page rank, whereas even a few links from other sites with good page ranks can make a difference. That doesn't mean you should cancel existing links -- they still have value.
Your page rank is a good indicator of how your link campaign is going. You want to be at 5 or above. Here is a link to a free page rank tool that tells you any URL's page rank across all the Google data centers.
Having a good page rank at Google is great, as it will help you place above similar sites at Google (page rank is likely a strong part of the algorithm that decides placement when other factors are equal). However, we recommend you track it primarily because the factors that Google tracks as part of your page rank are universal. Improving your page rank will improve your entire web presence, in addition to your placement at Google.
Underhanded sites can now fake their page rank (that displays in the Google Toolbar). So, if a site with a great PageRank contacts you about trading links, we recommend checking their actual PageRank as part of your standard actions. Use this page rank fraud detection tool from SEO Logs. The tool works by telling you the correct page rank for the site that you input, so whatever it displays is the real page rank, regardless of what displays in the Google Toolbar when you browse to that site.
DisclaimerDisclaimer: While SEO is very important in order to get visitors coming to your site from the search engines, it is not the only thing you should be doing to get traffic to your site. Here's an excellent article about some of the other important avenues to use to get visitors to your site.
SEO Tutorial - SummaryIn a perfect world, no other site could receive higher placement in a search for "Alfa Romeo Alfetta" unless the designer of it did exactly as we have done above, only more of it! In THIS not-too-perfect world, our website might get dropped out of a search engine for no good reason because of human error or a glitch in a program somewhere. Murphy's Laws can't be avoided, even on the web. Or another site that should get kicked out of the search engine for "spamdexing" might not get kicked out. (You've seen this kind of thing when you do a search and the same site comes up 50 times in the first 60 results, obscuring all the other relevant sites.)
For help in optimizing your website for the search engines, contact us. It's our specialty and a niche we fell into because too many website designers have not studied up on how the search engines work.
"Yeah, But Does It Work?"By now you might be thinking, "Does all this stuff really help, in the long run?" or "Is all this really necessary?"
Using these techniques we have gotten top placement at Google for our client, Miami Condo Lifestyle, for the highly competitive keywords "miami condos".
To give you an example of the relevance of headings containing keywords, on the Chandler's Natural Soaps website there is a glossary in which each ingredient of the soaps is defined within a specially created <h2> heading tag.
The Chandler's Soaps site routinely gets visitors looking for a specific ingredient, even though that ingredient may be mentioned only a few times in the whole website. Putting key words into headings brings in traffic to the site.
The way this works is that a person searching through Yahoo! (or any search engine) for a particular ingredient (like the herb "chamomile") sees our page come up in the search results and sees that our page is in a website featuring natural handmade soaps. She may not be looking for soap at all, but if she is curious or it sparks her interest, she'll visit the site anyway and maybe buy something. It's a form of impulse shopping via the web. It's human nature to get distracted during a search for something specific by something related that looks appealing. (Witness the success of all the shopping malls out there with stores feeding off of each other's customers.)
Also note that we optimized the Handcrafted Soapmakers Guild website, and it usually ranks at #1 at Google for the phrase, "handcrafted soaps" - click that link to see where they rank today.
Read our search engine optimization client testimonials for more info about how Search Engine Optimization might help you.
Want more proof? This page you are looking at right now often ranks #1 at Google for the term "search engine optimization tutorial". Click that link to see how this page you are looking at ranks today at Google.
So -- Yes, all this stuff works! And yes, it is necessary to use as much of it as possible. These are the guidelines we use when designing a website to optimize it for the search engines. And no, despite the length of this page, this is NOT a complete listing of all the factors that go into optimizing a website for the search engines, only the most important ones.
To make it even more confusing, all of the search engines do things a little differently, one to another.
Thanks for reading all this. We hope that it will help you design (or re-design) your website to optimize it for the search engines. If you need help doing that, you can contact us here. SEO is our specialty.
There's a lot more that can be done to effectively optimize a commercial website in a very competitive market; not every SEO technique is listed here, just the basics that we try to use on every site we optimize.
Those of our competitors who read this information and are savvy enough to apply it well are welcome to it! Good luck!