I've got three blogs at the moment, and given the amount of time and effort I put into them, I do try to recoup at least a little bit through the ads you see around here. (I try to keep the ads from being annoying.) So I've been thinking a lot lately about search engine optimization, or SEO.
This is also actually part of my job, and I deal with it at work and have for years now - since before "SEO" was even a buzz term.
There are a lot of pages out there on the net talking about this. The problem is most of these guys are selling snake oil. Some of them probably even believe in the snake oil they're selling, but it's still snake oil.
A big issue with SEO is managing expectations. Whether your site or blog is large or small, most people think their traffic's going to look like this after a little bit of SEO:
In reality, it's probably going to look more like this:
And that's assuming you had a problem to begin with. A lot of blogs and sites are pretty good from an SEO standpoint even before optimizing anything. If you're not getting traffic, the problem may not be SEO - it may be your content.
The fact of the matter is a lot of SEO is guesswork. Some optimizations are based on trial and error, but the real mechanisms at work behind those results aren't known. Other optimizations are based on statements from Google employees that may or may not be wholly accurate and even if they are, we still don't know the reasons why the things they say work the way they do. Still other common optimizations are basically made up, because they just seem logical.
Here's what's known. The only things Google and most other search engines really care about are two things: distribution of links around the web ("importance"), and page content ("theme"). All of your optimizations should be going towards one of those two goals. Any optimizations that don't specifically address one of those goals are probably not necessary and may even be counterproductive. Google calls their system for assigning page importance PageRank.
To really get good at SEO, you need to consider all the implications of what I just said above. I'm focusing on Google here, but the concepts apply to most search engines. It helps to understand how PageRank really works. Read this article on PageRank - it's enlightening and will have you re-thinking a lot of what you thought you knew about SEO. In short, many of the most common SEO techniques amount to trying to move Mount Everest with a snow shovel. Wrong concept, wrong tool.
The most important points:
* Google indexes pages, not sites.
* PageRank is assigned by a mathematical formula that calculates the distribution of links on pages around the entire world wide web.
* The average PageRank of all pages on the world wide web will always equal approximately 1. The average isn't exactly 1 because the calculations can never be 100% accurate. (Read the article linked above to see why. It's a very Matrix-ish sort of problem.)
So the PageRank system is all about the relative distribution of existing PageRank potential through linking between pages. That's all it does.
Again, there are two components to any front-end search result: importance and theme. People are searching for specific things, not just looking for pages with the highest PageRank. Search engines need to display the pages most relevant to a search term that also have the highest rank. Theme is where things like keywords, anchors, and of course the content of your pages themselves comes in. So this is important too. Obviously, the better your content, the more links you'll probably get coming in, so theme and importance go hand in hand.
Given that, let me go through some common SEO steps and whether I think they're necessary or not.
First, these are things you can consider but that probably won't dramatically affect your search results:
1. Meta tagging. Google doesn't care, and in fact most search engines are programmed these days to intentionally ignore most meta tags. They used to be an easy way to fool search engines, so most don't even look at them anymore.
One exception: your homepage. Google does use the meta description field to describe your homepage in search results, and this is usually more helpful for readers than a random piece of text. For individual pages within your blog, though, it's usually better to let Google pick out relevant content to show - it gives potential readers a preview featuring their search terms.
2. Disallow archive page indexing. Having duplicate content on your site is generally a bad idea. So most people will suggest using a robots.txt file or some other means to disallow spidering of your archive pages.
But Google is smart enough to know how blogs work. They own Blogger, after all, and Blogger still makes archive pages that are indexed by Google. Go search Google for "jazzmaster setup", for example - you'll see my page on the subject is the #1 result right now. The archive page containing this post is nowhere in the top 100.
It probably can't hurt to disallow archive spidering, but I doubt it helps either. Google doesn't seem to penalize blogs with archive pages. (Here is Google employee Matt Cutts' response to this question.)
3. Page title before blog title. Some blog software (including Blogger) put the blog name before the post title in their page titles. While annoying, nothing has ever convinced me that this affects PageRank or search results. Some argue that the post title should be first for SEO. Why? All the same words are there; search engines aren't determining syntax. They're not linguists, they're just looking at words.
I like post title first just because they're less likely to get truncated in search results that way, which makes it more likely that someone will click on a post with a long title. But it's got nothing to do with how high a post appears in search results.
4. Blog post categories/labels/tags. There's a lot of conflicting info about this out there. Some say it helps PageRank. Others say it hurts. Which is right?
Neither, really. A category or tag is just an internal link anchor. It may slightly affect your keyword density, but the larger consideration is the redistribution of PageRank among your pages that contain the same tags. For example, say you have a group of 10 post pages tagged "puppies" and you have a link to that tag on many pages of your blog (wherever you show that tag). Now all those other pages on your blog are giving a little bit of their PageRank in favor of these posts about puppies. So the puppy posts will have a higher PageRank while all of your other posts will have a lower PageRank.
At the same time, all of these posts about puppies are redistributing their own PageRank amongst themselves through that common link. You may not want that, because some of these posts may be better/longer/more important to you than others.
Categories and tags are something you need to consider, but not in the context of getting "more" PageRank. Again, there's one exception, and that's if your pages don't all link to each other regardless (say, through a nav). Otherwise, it's really more about how you want the PageRank you already have distributed among your pages. Give your important pages more tags and your unimportant pages fewer (or none).
5. Use a hosted domain. This has other advantages, but SEO isn't really one of them. Google assigns the same weight to a page regardless of where it's hosted - it doesn't somehow assign pages a lower rank just because they're a subdomain, including blogs on blogspot.com. Given the exact same content and number and quality of incoming links, a page at http://pencils.blogspot.com and a page at http://www.pencils.com will get the exact same rank. There's some debate about whether Google gives preference to top-level or second-level directories vs. directories nested further down (ie. http://www.pencils.com might have higher weight than http://www.pencils.com/home/pencils/index/numbertwo), but that's not usually a consideration for bloggers.
I put these five in the "not necessary" category because they promote neither importance nor theme, and are therefore basically irrelevant to search results.
Now for stuff you SHOULD do:
1. Write unique content. Look at my Jazzmaster setup post, which is the most popular post I have on this blog right now. There are only about two pages out there specifically detailing that subject, and we link to each other. Anyone who searches for that term - and a lot of people do - will find both of our sites.
It helps if your blog has an uncommon theme. This one's pretty random, but my other blogs - while they may not be everybody's cup of tea - cater to a specific niche. (Namely, classic video games and a female Japanese pop duo.)
2. Be controversial. I wish I was better at this! Get people posting your stuff in discussion boards around the net and leaving comments. Comments are basically just more content to Google - they increase your keyword density and help with theming.
3. Write often. Because Google ranks pages and not sites, the more pages you have, the more potential PageRank you have. Some say writing more often will also cause Google to spider more often, and to some extent that's true, but that doesn't help your PageRank except on those individual pages. It just keeps the results current. It's simply having more pathways to enter your site that helps your search traffic. Blogs are an example of the "long tail" in action. Bigger blogs with more pages get more traffic because they come up in more unique search results.
More frequently updated blogs are usually more timely too, and that can't hurt - write about stuff while a lot of people are searching for it. (This is one thing I don't do enough.)
4. Keep your comments on your post page, not a popup, so they affect the theming of that page. Don't use third-party hosted comment services. If you use Blogger, you can sign in to Blogger in Draft to select the option for inline comments. (Depending on when you read this, this feature may now be part of regular old Blogger.)
5. Use pictures and video. For one thing, they make your blog more fun to read - especially if your posts can get kinda long. (Guilty!) That makes it more likely that other site/blog owners will link to you. But they also help you get search traffic. For example, your photos will turn up in image searches. Embedding YouTube video creates a link to your blog post on YouTube.
6. Use trackbacks! A lot of people have declared the trackback "dead", others say it's unnecessary now that we have Digg and Technorati links (which I used to have here). But they're misunderstanding how trackbacks work.
First, trackbacks either distribute PageRank both ways (if they're used) or they just don't do anything (if they're not), unlike persistent Digg or Technorati links that only leak PageRank out of your site unless people actually use them.
Second, trackbacks allow *you* to put your own link elsewhere on the web, getting PageRank back. You're not relying on others to (you hope) do it for you.
Most blog systems have trackbacks by default. If you're using Blogger, follow these instructions on adding Haloscan trackbacks to your blog, and then use this Greasemonkey script to enable outbound trackbacks.
7. Turn off "backlinks" if using Blogger. Backlinks are a bastardized, uncontrollable version of trackbacks. Turning them off will encourage people to use trackbacks (if you have them).
8. Make use of the nofollow tag. Should you be penalized in search results just because you run a blog with a lot of links? No - that's what the web is intended for. Use rel="nofollow" in your links when appropriate and don't worry about the number of links in your posts affecting PageRank. Be judicious with it, because you're basically deciding who deserves your PageRank and who doesn't. Never nofollow another blogger who's linking to you. But do nofollow links to major retailers, news sites or Wikipedia (Wikipedia nofollows every external link, so they're not very deserving of your PageRank, IMO). My rule of thumb is that I use nofollow if I don't expect a link back and I don't feel the page I'm linking to needs my help in their search results.
Nofollow is also useful for internal links, if, for example, you want a link to your "about" page on every page you have, but you don't necessarily want to be redirecting all that PageRank to that page.
Some argue that nofollow goes against the spirit of the web, which is that every link counts equally. I would argue that it is the spirit of the web, in that its use encourages more linking without fear of losing search results ranking. Don't forget that search engines came well after the web was created; they're the ones that changed the nature of the web. Before they existed, the way we all found our way around these parts was for someone else we trusted to link us somewhere. After search engines, we're all petrified of having too many links lest we bleed PageRank. All nofollow does is restore the balance and allow content creators to link without fear.
9. Use good link anchor text. Don't link words like "here" or "this". (I'm guilty again.) Link descriptive words. It helps determine theme and keyword results.
10. Sign up for a free Google Webmaster Tools account. There you can see if there are any errors in your site that are preventing Google from crawling it correctly, and you can easily get a lot of information about how you're appearing in their search results. You can also control various things the Googlebot does, such as ignoring certain pages or setting the crawl rate.
11. Canonicalize your URL. What the heck does this mean? Well, this blog technically resides at both http://alphabetcityblog.com and http://www.alphabetcityblog.com. If both were in Google's index, it would think they were two different pages with the exact same content. Not good!
Choose one url. There are ways to do this on the server side if you're using a hosted blog, but it's also easy to do with Google Webmaster Tools.
12. Write page and/or post titles that a person would want to click on. I don't subscribe to the theory that page titling affects search placement much (unless you're just way off theme), and in fact I go a little against the grain in that I think you're likely to see more traffic with catchy, bold titles than with titles that have a lot of keywords in them.
For example, would you more likely click on a search result entitled "A qualitative look at popular musical genres in the 2000's vs. the 1960's" or on one entitled "Today's music sucks!" See what I mean? You always have to remember that humans are doing these searches. SEO is not all about "optimizing" for PageRank's sake; it is fundamentally about attracting humans to your content.
13. Subscribe to Matt Cutts' blog. He works for Google and specializes in SEO, and he posts about the subject pretty often. The best info is straight from the horse's mouth, after all.
I really think it's important not to get too caught up in all of this, though. The best way to get ranked highly in search results is to put stuff out there that people want to read. Do that, and you'll be naturally ranked highly. It doesn't usually happen overnight. Build an audience.