Please note: while I originally intended on updating this page regularly, the reality is that I have not. This was last updated on 7/6/2011. While much of the information may still be relevant, please keep that in consideration when reading.
How to approach Search Engine Optimization (SEO) and web marketing can spark a fierce debate among web developers and online business owners. Like a lot of aspects of business, there is no one “right way”, which I think frustrates people. It’s just not as simple as saying “I want to rank #1 in Google” or thinking that by ranking #1 you’ll all of a sudden have a successful site or successful business.
Having spent years providing development, SEO, and marketing services to clients AND for our own sites, I have quite a bit more experience than most. This essay is my approach. I’m sure that ten other people in my shoes would have ten other approaches. The nice thing about this approach is that it works no matter how much or how little time and money that you have. For our sites, it’s always the same basic approach regardless of whether it’s a quick side project or a full fledged business venture.
Table of Contents
- Getting Started
- Search Engine 101
- On-Site Search Engine Optimization
- Keyword Research & Writing With Search Engines in Mind
- Get Indexed!?!?
- Link Building? Nah, Just Market
- Tracking and Tweaking
- Staying up to Date
The hardest part with SEO and web marketing is figuring out what’s most important. Remember: you’re goal is to start a successful business. With that in mind, here are how I prioritize things when creating a new venture:
- Create a great user experience. Make something that you would love to use.
- Develop with search engines in mind. Nothing should be created without first figuring out how to do it as search-engine-friendly as possible.
- Market the site well. Do whatever you can to spread the word about your great site.
- Use a combination of common sense, customer feedback, and web analytics to make adjustments.
To do all of this well and to do it efficiently, you’ll have to start thinking about it BEFORE you start development on the project.
Search Engine 101
How Search Engines Work
Every time a user types something into the search box on a search engine like Google or Bing, a lot is going on behind the scenes to present you with accurate results. All of the major search engines start by indexing the web. Indexing is a process that involves saving copies of every webpage to the search engines’ servers so that they can access it quickly when you perform a search. You can look at what copy they have saved by clicking the cached link next to the search result.
Indexing is done by web crawlers (also referred to as robots or spiders) that visit sites and literally “crawl” all of the links to download new webpages and updated copies of previously visited sites. How frequently a spider visits is dependent upon how many other sites link to a site (a site like Wikipedia gets indexed all the time because spiders are constantly crawling links pointing to their site) and how often they notice the site being updated (if your site is only updated once a year they won’t see the need to index you daily, for example).
The web crawler downloads your entire web page, but can only read and understand text. Images, movies, and webpages done in Flash are just a few of the examples of media that a modern web crawler is still unable to fully understand. To get an idea of what a search engine spider can read and comprehend, you can type the URL of a page in this search engine spider simulator.
As you can imagine, the datacenters that store all of these webpages get pretty large. Google has datacenters all over the world that are all concurrently indexing and saving a snapshot of the web. When a user performs a search, Google decides which datacenter to query based upon your location, the load on each datacenter, and other factors. Most of the time the datacenters mimic one another, but during data refreshes and algorithm updates results can vary wildly, frustrating site owners to no end.
The results presented to the searcher are determined from an ever-changing array of factors like the relevancy of content on your page, the popularity of your domain, the quantity and quality of links pointing to the page in question and the domain as a whole, the age of the site, and hundreds of other things. Algorithms are constantly being overhauled to provide the most accurate results to the user, and to eliminate any form of spamming or manipulation to artificially inflate ranking on the part of the site owner. Google engineer Matt Cutts has repeatedly mentioned that they make 350-400 algorithm changes per year.
For that reason alone, it makes no sense to try to game a search engine. At best, you’ll be involved in a game of constantly trying to outsmart the ever-changing search algorithm, which will result in volatile rankings. At worst, you’ll be penalized and removed from the search engines’ index.
The other thing to ponder is that this means that there really is no such thing as “ranking #1” for a specified term. Google uses personalized search based on your location and browsing history (if you’re logged in to your Google account) as well as “universal search” that returns maps, videos, songs, news articles, products, and more based upon the type of search you preform.
This is a really frustrating concept for most people. You can only control so much. You can control how search engine friendly your site is. You can control how you market your site. That’s about it. Google and other search engines will rank you where they see fit. So rather than obsessing over rankings, create a great search engine friendly site, market it well, and focus on providing a great user experience. From my experiences, if you do that, the rest will always take care of itself and you’ll get the search engine traffic that you deserve (side note: what you deserve and what you want might be two different things, in which case you need to adjust your expectations to the value your site provides relative to other sites for a specified query).
How Rankings are Determined
That’s all fine and well, but WHAT exactly should one focus on to make their site search engine friendly. Since none of us know EXACTLY how a site is ranked for a particular search term, we rely on the studies and observations of the collective community. The best such study called Search Engine Ranking Factors is performed regularly by Search Engine Optimization firm SEOmoz. The entire report is great reading for any site owner.
Below is a summary of what the 2011 panel determined to be the most influential factors in the ranking algorithms. It shows off-site signals – quality links, social media- are overall more important to how a page ranks than on-site signals like keyword usage.
On-Site Search Engine Optimization
As I’ve mentioned a few times earlier, we inject SEO into our development process right from the beginning. If you make it part of the way you do things, it will never become some big impossible initiative down the road. You will just be automatically search engine friendly by nature.
Both Google and SEOmoz have great guides about the development side of optimization. I highly recommend reading these guides from cover to cover.
- Beginner’s Guide to Search Engine Optimization (they also have a nifty little one page Web Developer’s SEO Cheat Sheet)
- Google’s Search Engine Optimization Starter Guide
If you’re a PHP developer, I also highly recommend Professional Search Engine Optimization with PHP: A Developer’s Guide to SEO by Jaimie Sirovich and Cristian Darie. It’s a few years old, but there are some more advanced tips and tricks in there, plus a lot of great well written, re-usable code that will save you development time.
What We Do
Below is a list of all of the things that we do for every single one of our sites. The “how” for each step can be find in the above guides or with a simple Google search.
- Unique Title Tags for each page
- Unique META Description Tags for each page
- Write W3C Compliant HTML that’s easy to index and interpret
- Bold and Italic
- Alt Text for all images
- Strong Site Architecture
- Rewritten URLs (i.e. www.site.com/manufacturer/ instead of www.site.com/manufacturer.php?manufacturer_id=55)
- Logical URL structure (i.e. www.site.com, www.site.com/manufacturer/, www.site.com/manufacturer/product/)
- Canonical 301 redirects (i.e. http://site.com and http://www.site.com/index.php both 301 redirect to http://www.site.com)
- All internal link anchor text is keyword based and not “click here”
- Helpful 404 Not Found page
- All internal redirects are 301 search engine friendly redirects
- Every old page is 301 redirected to the next most logical page as soon as it’s removed
- Configure Robots.txt to allow all search engines on the entire site
- Create a sitemap that is linked to from every page in the footer. Create a sitemap.xml file at www.site.com/sitemap.xml.
- Sign up for and submit your site to Google Webmaster Tools and Bing Webmaster Tools. This will help you get indexed and provide valuable feedback to improve the search engine friendliness of your site.
- Install Google Analytics
This seems like a lot, but when you’ve been naturally doing it for years it really isn’t. These things take up very little extra time, if any, and have a big impact on your user experience in addition to your search engine rankings.
Keyword Research & Writing With Search Engines in Mind
When you’re writing, just write naturally. There’s a good chance that people will search the text in the same context that you write. “Keyword stuffing” words that you want to rank high for can be very detrimental for both search engines and your readers.
That said, understanding what is searched for in your industry and how often it’s searched offers two key advantages. I use the Google AdWords Keyword Tool because when it comes to search I trust Google’s data more than anyone other source, if for no other reason than the fact that they have much more of it than anyone else.
The first is what I call “breaking a tie”. If you aren’t sure whether to title a page “Auto Detailing 101” or “Car Care 101”, and both titles are equally applicable to your content, then by all means use the one that is searched more frequently. In this case, I would chose “Car Care 101” because car care is searched quite a bit more than auto detailing:
The other key advantage is that it gives you ideas for the content to produce on your site. Plug every single phrase into the tool that you can think of. Use the “website content” tab and have it analyze all of your competitors. I then export the results into one massive spreadsheet, weed out all of the outliers, and use the popular search phrases to come up with ideas for articles, blog posts, or even products to carry in our stores.
Once you have your domain purchased and hosting set up, you should go about getting your site indexed. I prefer to get my site indexed months before launch. This ensures that it will be crawled regularly once you start putting the important content up and also (slightly) increases your domain age, which is definitely a factor in how high sites rank.
Getting your site indexed is as simple as getting a link to your site from another site that’s currently being indexed regularly. When we launch a new site, I just do a blog post about it and within a day or two all of the major search engines have hit it. If you aren’t so lucky to have a personal blog, contact a friend in a related field and ask them to link on your behalf. If you don’t know anyone, offer to do a guest post in exchange for a link to your site at the end of the post in a bio. Or – decide that now is the time to start your own personal blog on WordPress.com or Blogger and link out to your new site. Those blogs are indexed regularly so it shouldn’t take very long to get a crawler over to your new site.
Link Building? Nah, Just Market
This is where my strategy really deviates from the serious SEO specialists. As we saw earlier, almost all of the important factors influencing where a page on your site ranks for any given query are based on the incoming links you have. How many links does the page in question have? What sites are they coming from? How many links does your domain as a whole have? How closely does the anchor text in the link resemble the content of the page? And so on and so forth. Bottom line: links from other sites = votes that your site is a reputable source.
This is essentially impossible to control. If quality sites are linking to you, it’s because you provide value. You will almost certainly not have any control over the structure of their site or the anchor text of their link, and trying to do so is a waste of time in my opinion.
This is by design. Search engines want to return the most relevant sites as results (duh), not the one that has the best SEO on their team. That’s why on-page factors are becoming less and less important. And as we know, the most relevant sites are the ones that are constantly being linked to and referenced by all sorts of people across the web all day long (think Wikipedia). To become one of those sites, you have to have a site that people find valuable and you have to do an exceptional job marketing it. If people know about your site, and your site is great, the links will come naturally over time, as will the search traffic and rankings.
Two Things Every Site Should Be Doing
For pretty much every site, large or small, and every budget, large or small, I recommend doing these two things to promote yourself:
- Go directly to where your customers are (magazines, forums, blogs) and do whatever it takes to get them to work with you. Offer to write for them in exchange for some links to your site. Pay for sponsorships where you can interact with their community. Hold a contest with their community. Tap their community for ideas on your project. The ideas are limitless. With any business this is the first and most obvious thing you should be doing. Find out where your target market hangs out online and start hanging out there.
- Start a great blog on your domain. We use WordPress software to power blogs on all of our sites. It takes a few hours to put together a professional blog on your site. I don’t use the word “great” lightly. Great content takes a lot of work. But if you write great stuff and become part of the community (#1 above), you will attract a large audience and you’ll get links(!). Every valuable post you write is one more way that someone can find you when they search. Make sure to syndicate your content via RSS too. We use Feedburner to push updates to Twitter and automatically create a newsletter for each post. You can also set up your Facebook account to auto-post from your RSS feed. With very little effort you can get your content in front of a lot of people rather quickly. This can also turn you into an “expert” in your industry, which will likely lead to media and other bloggers contacting you looking to publish your opinion (and of course mentioning your business when doing so).
Other Marketing Ideas
This is by no means a totally exhaustive list, but these are the other things that we’ve done to market our sites. Depending on your niche some of these may not be applicable:
- Create a Facebook Fan Page. A no-brainer way to interact with your community on the world’s most popular social network.
- Try Facebook Ads. You can hyper-target ads based upon demographics like age, gender, and interests.
- Start a Twitter account. Not only is this another great place to interact with your community, but the public-ness (compared to the private-ness of Facebook) allows you to meet and interact with new potential readers/users/clients/customers. You can set up a saved search for terms and hashtags related to your industry and then jump in and send an @ reply when you have something to offer.
- “Stumble” your site with StumbleUpon. This always provides a quick wave of traffic for a new domain. They also have an advertising program.
- Submit your content to Google. You can submit products for their product search results, real estate listings for their maps, and much more. We automatically upload a nightly feed of all of our products. It definitely brings in traffic and sales.
- Use Google AdWords Pay-Per-Click advertising to bid on ads for searches related to your site (and if that works, expand to their content network and on to Yahoo and Bing).
- Sell your products on eBay or Amazon.
- Start an affiliate program.
- Offer incentives to your visitors to refer friends to the site.
- Write for a popular blog in your industry (in exchange for a bio with a link to your site).
- Start a podcast and submit to podcast directories. Make it available for download on iTunes.
- Post your services on Craigslist.
- Create videos and submit them to YouTube.
- Buy banner ads on related sites.
- Start a CafePress store.
- Hold a contest.
- Sponsor a charity event.
- Contact local media and/or the media in your industry and let them know your story (or, even better, just offer to be a quote source).
- Attend trade shows, conferences, and other events.
- Buy a competitor and 301 redirect their entire site to your site (preferably one that’s been around for a while and ranks well).
And pretty much anything else you can dream up. In a lot of cases these things interact with each other to become part of a larger initiative (i.e. using social networks to get the word out about a charity event). Just remember KISS (keep it simple stupid). Focus your efforts on a few key initiatives instead of spreading yourself too thin.
There’s one glaring omission from this list, and that’s the tech blogs. If your site is innovative and geared toward a tech-savvy audience, a mention on a site like TechCrunch or ReadWriteWeb can be huge. Problem is – for the most part – these crowds are very critical and quick to check your site out and then leave. They might inflate your traffic logs and give you a list of unrealistic features to implement that will make your head spin and freak you out, but that’s about all I’ve gotten in my experience. Focus on your core audience first. Then maybe contact them when you hit a milestone and your product is refined enough that you don’t need them.
In much the same manner, I’ve found submitting to sites like Digg a total waste of time. IF you happen to get lucky and get the digg-effect, you’ll just get a wave of traffic that takes your server down and then nothing more. The power users are essentially “professional web browsers” and aren’t likely to be the type of people you want as customers. If it happens, great. But I don’t recommend expending any effort to make it happen.
Again – focus on your customers and providing them with a great product. That matters more than pumping up your traffic log or a mention on TechCrunch.
Tracking and Tweaking
It’s really hard to get over the obsession of wanting as much traffic as possible, but when you do you’ll start to focus on what’s really a good measure of the effectiveness of your site: the conversion rate. Simply put: what percentage of customers visiting your site complete the “goal” of your site (buying a product, signing up for a newsletter, etc). Everything about your site – the structure, the copy, the graphics, etc – should reflect that goal. Google Analytics makes it simple for you to configure and track goals for your site.
The real question is – how do you know what to change and when to change it? Most people suck at this. Coming from an industrial engineering background where I had my fair share of advanced statistics, too often have I seen people blindly make changes based upon inconclusive data.
First things first, is your site easy for YOU to use? If not, stop everything and make it simple to use. Then sit down and watch a handful of people you know use the site and do common tasks. Again, adjust accordingly based on the feedback you get.
Next, what are your customers struggling with? If they’re having trouble at a specific part on your site – based upon your analytics and your customer feedback – change the layout and/or text on that page to see if it makes a difference. If the conversion rate goes up and/or the negative feedback goes down, it was likely a good change that you should stick with. If not, maybe you should try something different. (Side note: make it as easy as possible for customers to contact you, especially in the beginning, and make it clear that you want their feedback. That’s the only way that you’ll improve).
However, this will only get you so far. To truly test which page copy or layout or graphic is better, you’ll need to attempt to do a normalized A/B split test. Normalized just means that you’re removing excess noise from the experiment, essentially comparing apples to apples. An A/B Test is just what it sounds comparing two versions (A vs B) to see which performs better.
The problem is, it’s almost impossible on the web to normalize all of your data. Even if you do manage to segment everything by referring source, previous page visited, browser, operating system, etc etc there are still a million other variables that are unquantifiable with web analytics. It’s going to be an imperfect experiment no matter how hard you try. That’s just the nature of the web. The best that you can do keep things controlled on your end during testing. Try not to change other site text during the test or run any special sales for only a portion of the test.
When performing your A/B tests, software like Google Website Optimizer makes it easy to gather data. The difficult part is analyzing the data. Using a tool like this split test calculator, you can run a chi-square test to truly determine which variation is better.
Running one of these experiments successfully is hard. The dynamic nature of the web is horrible for keeping your site the same for any long period of time, making it difficult to normalize any part of your experiment. And, if you do some experimenting with a chi-square test, you’ll realize that you often need a lot of data to conclude with 95% confidence that one variation is better than another. So, while definitely a very valuable tool, A/B split testing can be tough and in most cases won’t make sense until you have a steady flow of traffic and sales.
Staying up to Date
I read the SEOmoz Blog for SEO news, the Get Elastic Ecommerce Blog for e-commerce news, and Lifehacker and TechCrunch – tech blogs that pick up on any big search engine news. Between those I always hear about every new trend or change in the industry. Obviously there’s a ton of other information out there. Personally though, I try to stay focused on creating great products for our users and not obsess over every single new SEO tweak. The goal, after all, is to create a great business.
I want this to be a helpful resource. I hope to continuously improve this essay based on your feedback. Please email me at adam [at] adam-mcfarland [dot] net if you notice a mistake or if there’s something you’d like me to add.