gregdoolittle.com

ATTACK OF THE WEB SPIDERS! (a.k.a pre-conference knowledge of SEO tips and tricks)

August 14th, 2008

i want to preface this with my belief that the SEO profession is a necessary evil. writing code is easy, and people who do your SEO should be capable of writing good code — and with a little SEO training, the opposite is true: web designers and developers should be able to handle the majority of a company’s SEO needs). while SEO is a bit of a dark science, there are some ground rules that all developers should know, general best practices. developers are a dime a dozen, and not knowing how to do SEO seems kinda embarrassing to me. if you’re going to claim to write good code, you should be able to handle SEO.

that being said, i just wanted to detail some of the SEO stuff i already know, so that i can have a record of whether or not i’m really learning anything at the SES conference i’m going to next friday. most of this stuff i’ve learned from my buddy arin, who is the lead engineer at a company called fuzz.com, founder at blip.fm, guitarist with suspiciously faustian strumming skills, and honorary ‘king of kong’, among other things… he taught me a bunch of SEO stuff a while ago.

submit your sitemap to yahoo, google, and d-moz

create a sitemap, or an organized list of all the pages on your site. webmaster tools from google and yahoo to submit this sitemap. you can also enter your site into the DMOZ open directory project. doing these things will get your site on the radar, and is one of the first things to do if you aren’t getting any search related traffic.

semantic markup

basically what this means is that when you write your content, you should encode it in a way that makes sense both to human users and web crawlers. when a web spider look at page content, they rank the relevance of your page for search terms based on the context in which those terms are used on your page. having semantic hierarchy between page elements makes your page easier to index, and makes keywords more visible to spiders. If you want to optimize your page for say… “SEO Tips” here are some key elements you should include:

  1. title tags: e.g. <title>SEO Tips an Tricks</title>
    1. probably the #1 factor in relevance of your page to the keywords you are trying to optimize for.
  2. h1 tags: e.g. <h1>10 Best SEO Tips</h1>
    1. another very useful persuasion tool in convincing web spiders of the relevance of your page to the search results.
    2. don’t believe me? do a search for a chosen word, then view the source of the first website in your search results. in the window that pops up, do a “find” for “h1″, and you’ll notice 9 times out of 10, the word you searched for appears in h1 tags.
  3. URL’s
    1. the URL is another place where you can sneak in keywords. instead of http://www.gregdoolittle.com/?xjfga=153425 replace those get variables with something that is readable by a human, which in turn will make the pages seen by crawlers who are trying. a good alternative for this example would be: http://www.gregdoolittle.com/?topic=seo
    2. even better than replacing the get variables with relevant terms, would be using mod_rewrite or isapi_rewrite to configure your site to allow the same URL to be written as: http://www.gregdoolittle.com/topic/seo/. search engines prefer sites that are not dynamically-generated, and having URL’s that appear to be serving actual files instead of database entries will give you a few bumps up in rankings.
  4. valid code
    1. there are several free tools out there to validate your code. my favorite, is from the world wide web consortium. you can paste in a url, and it will give you a list of all the errors on your page. fixing these errors will make your page content more easily indexed and increase the likelihood of your pages being ranked for specific keywords that may have previously been un-indexable because of the errors on your page.
  5. use keywords in your anchor text
    1. when you provide links on your site, choose the anchor text carefully, and use keywords if possible instead of meaningless text like the words: “click here”.
    2. Compare the two sentences:
      [Visit our website by clicking here] vs. [Visit our website]
      The latter gives meaning to the anchor, acting as a keyword reference for the target of the link. Search engines know this is more meaningful than the former (”by clicking here”). Your users will appreciate this as well.

optimize the site for download efficiency

not only will your users be happy with cleaner, snappier code, but search engines also favor sites with shorter load-times. having a quick loadtime tells the search engine that it can count on you, increasing the ranking value of your page – longer load-times devalue your page rank.

avoid iframes

in the eyes of the search engine, iframes make your content appear disjointed. spiders look at the relation of one keyword to another within your pages. since web crawlers don’t look at the contents of the iframe while looking at the containing page, the page content will not be indexed. only use iframes if it is required because ajax is giving XSS warnings.

robots.txt

if you haven’t already, do some reading about web crawler standards. robotstxt.org will show you how to create your robots.txt file, add robots meta tags to your site template, and also give you more pointers about how to optimize your site.

seo-friendly background images

this is not a recommendation as a general practice, but only for those rare occasions that call for special fonts. there is some debate whether or not this practice is ethical or alllowable, but david shea (of the css zen garden fame…) supports it, and he has always been a good source of information. basically you use the background image of text, and then pull the inline text out of view, so that users only see a background image. this is something i will try to find a solid answer to at the conference.

inbound links are still hot and sexy, according to me.

setting up accounts for your company on social networking sites (twitter, flickr, linkedin, facebook, myspace), or other sites that are regularly indexed by search engines is a good way to build up an array of inbound links. as your site grows, hopefully, visitors will be providing you with inbound links because they’re bragging about how awesome you are in forums or other peoples blog. providing users with a code-based widget (a picture they make on your site, with a link embedded back to your domain) which they can post wherever they please is a good way to bring in traffic, and increases the number of inbound links you have. while this doesn’t directly optimize for specific keywords, it increases your reputation in the eyes of the search engine, which means it is expecting content from you, and will look to you more frequently when it does its web indices… (i will also attempt to verify this at the SES conference)


there’s a lot of other stuff you can do, like adding images with ‘keyworded’ alt text, installing a blog on your site, etc. but what it comes down to is whether or not you are writing good content. if you write solid content, you only need to make it so some people can find it. once that is accomplished, your rankings will improve on their own. no amount of gaming the system is going to complete your business model — SEO is just a tool for getting your site discovered.

additional resources for SEO best practices

Powered by WordPress