Search Engine Optimization is a wide and rather unscientific field which changes constantly. Nevertheless, it can be a key to unlocking huge traffic…and huge profits…for a website.
SEO is divided into two major parts: on-page SEO and off-page SEO.
<h1>
to <h6>
with keywords, etc. Headers can be styled. Do NOT use <span>
, <div>
etc. to do headers. Also, do not duplicate keywords from title tag and anchor text… this can hurt rankings. (note that not everybody agrees that this is important)<h1>
tag. 'Long tail keywords' are words that are not searched frequently, but when combined can add up to significant traffic. Long tail search is the best way to go if it works for your site, because popular keywords are very hard to crack, but you can frequently get decent rankings for long-tail keywords within a few weeks. and title=
attributes, if done, should be short and sweet. Do not spam alt & title tags. If you do both, make sure that they are the same.<strong>
tags rather than <b>
tags to make text bold.<div>
) for document layout, and inline elements (like <span>
) for text layout. This helps Google understand the document better, and keeps your pages smaller and faster-loading.rel=“nofollow”
to outbound links, particularly if those links are generated by users (e.g. via a comment or forum posting). Also look at rel=“nofollow”
on non-critical internal pages. apple.com/products/apple-macbook-pro
, not apple.com/product.php?product=apple-macbook-pro
). Having keywords in URLS is important, but mainly as a call to action for the user when they see the result on the Search Page. You can use mod-rewrite to rewrite the former to the latter, so you can still pass paramaters (e.g. ?product=apple-macbook-pro
) but you don't have to put that in the link.www.apple.com
and apple.com
are seen as two different sites, so 301 redirect www.apple.com to apple.com. You can do this with the following code in an .htaccess file:# Add www. if we don't have it RewriteCond %{HTTP_HOST} ^apple.com$ [NC] RewriteRule ^(.*)$ http://www.apple.com/$1 [R=301,L]
index.php
, index.html
, index.shtml
, etc. files to /
, so you don't have duplicate content issues: # Rewrite index.php, index.html, etc. RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html|shtml)\ HTTP RewriteRule ^(.*)index\.(php|html|shtml)$ /$1 [R=301,L]
# 301 Redirect foo.php to foo/. We don't want to do this for certain types # of files, such as .js.php (javascript files generated by PHP) RewriteCond %{REQUEST_URI} !\.js\.php$ # If client request header contains php file extension RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php\ HTTP # externally redirect to extensionless URI RewriteRule ^(.+)\.php$ /$1/ [R=301,L] # Now, if we see something of the form foo/, internally (not externally # with a 301) get the actual PHP file requested. See this for details: # http://www.webmasterworld.com/apache/3371997.htm, post 3386144 # If the requested URL contains a period in the final path-part RewriteCond %{REQUEST_URI} (\.[^./]+)$ [OR] # Or if it exists as a directory RewriteCond %{REQUEST_FILENAME} -d [OR] # Or if it exists as a file RewriteCond %{REQUEST_FILENAME} -f # Then leave URL alone and skip the next rule RewriteRule .* - [S=1] # Otherwise, if requested extensionless URL exists as .php RewriteCond %{REQUEST_FILENAME}.php -f # then add .php to get the actual filename RewriteRule (.*)/ /$1.php [L]
Offsite SEO is even more powerful than onsite SEO, but a lot harder to accomplish.
link:site.com
. I'm not convinced this works that well, because many queries don't return nearly as many links as I think they should (even with pages that contain links and I know are in Google's index)book
vs. books
) then you can safely target the plural, and you don't need to worry about the singular (or worry about it much, anyway). If the plural does not contain the singular (e.g. category
vs. categories
) then you should either pick the most popular or target both.There are three main search engines that you need to worry about. Google currently (April 2008) controls about 60% of the search engine market, so you should focus your efforts there. Yahoo is next, with about 20%. MSN/Live.com is third, at about 10%. The rest (Ask.com, AOL, etc. are too small to consider.)
Generally, techniques for the major engines are the same. However, there are some slight differences: