I've had some pretty good results in my SEO efforts with some of my domains. SEO isn't my primary business, but I have some knowledge about basic good practices that can help. For example, one of my sites: Foodhero.org web site (a recipe site) is currently at #3 for "fast fun recipes", and #4 for "fun recipes" on Google. We're at #7 for "fast healthy recipes" -- not too bad. I'm competing with larger sites like The Food Network, Rachel Ray, and allRecipes.com.
There's still a long list of terms that we're continuing to work towards (like easy recipes, and simple recipes), but as we're tasting some SEO success (sorry for the pun), I thought it might be helpful to share a bit about what we're doing. These are all pretty much standard and well-known SEO strategies, but here's the magical "how-to" list that we are incorporating. It's also a good reminder of what needs to be done for future success on other projects:
1. Spend time on it. Luckily we have a client that is willing to pay for our time to spend crafting content and links, and working on all the below items to get to these coveted spots.
2. Identify the key search terms you want to target. Make a list of what terms you want your site to gain traction on. If you don't know what you're targeting, you won't hit the target.
3. Use the key words in your page titles (that is, the <title> tags on the HTML pages)
4. Use the key words in your <h1>, <h2> and other header tags on the page. You have to be careful with this, you should use the terms in the context of a real heading. So, if the search term I'm going after is "healthy recipes" my page heading might be something like: "Healthy Recipes for a Family on the Go".
5. Have relevant content on your site. With the foodhero website, we've been aided greatly in this because we have a team of people at Oregon State University adding great recipes, and cooking & food tips to the website. If the site only had 3-4 recipes, I highly doubt that we would be getting ranks like this. Google cares about your content, and they may even have a real person take a look at the site - it's not outside the realm of possibilities. Luckily, a team of food & nutrition experts is adding our content, and that doesn't hurt.
6. Build keyword-specific pages. Use the key words in the actual URL. If your page URL looks something like this:
"http://example.com/?q=node/245"
or even
"http://example.com/content/recipes"
- that's not going to be incredibly helpful. For us, because we wanted to target "healthy recipes", or "easy recipes", we created pages that use those key words in the URL. So, a better URL might be
http://example.com/recipes/healthy-recipes
or
http://example.com/easy-recipes.
7. On those key-word specific pages, put real content - and make sure to use the key words here and there through the content. This means you might need to spend time to craft 2-3 paragraphs of content. Realize that a person will probably land on this page, coming straight from Google. So, what do you want them to see? Most site designers and owners are under the impression that a website visitor will land on the homepage, but your homepage may not be what Google ranks highly for a particular key word. If you use this technique, make sure your visitor actually gets what they expected when they clicked the link.
8. One of the things we did was to even use the key words in the image names. So, for example - you might have an image on a page that is actually named "healthy-recipes.jpg". I'm not sure that this has an effect on the regular Google search engine rank, but it definitely has an impact in Google's image search engine.
9. Create internal site links that make use of the key words. On the FoodHero site, we make sure that we have links placed on the website that connect to the Keyword specific pages we created. For example:
Visit this page to see some excellent <a href="/healthy-recipes">healthy recipes</a>.
Links like this will improve your rank, but don't try to flood a page with these internal links. And Google knows all the tricks (like hiding links off the page, or making links blend in with a background color) - you get punished for this.
10. One of the things I mistakenly did was to create a boilerplate footer - a paragraph of text and links to the key-word specific pages, and placed that on every page through the site. After reading on Google's website about SEO tips and specifically duplicate content problems, I saw that they warn against this practice. What I decided to do then was to break up those long text footers and drop a single sentence onto different pages. Removing the duplicate content really seemed to help our rankings.
11. Create external links from other websites back to your site. It's no secret that Google gives weight to external site links coming to your site. Create a Facebook page for your site and promote that. Use Pinterest and other social media sites to promote your site. Write blog posts (like this), and look for other ways to get links back to your site. Of course it's very helpful if the search terms are used in the links, but anything helps!
12. Create an XML sitemap (if you're using Drupal you can grab the xmlsitemap module and use that). Make sure you understand how to build that sitemap so it's actually indexing your nodes, blocks, tags, etc.. and then submit your XML sitemap to Google.
13. We used the metatags module to set up some basic Meta tag descriptions for the SEO keyword landing pages. It's true that Google doesn't use these Meta tags to determine ranks (at least they claim they don't) - but they do use them to determine how the links appear and what text is displayed in the google search result. If you have provided a description, Google will use it. Otherwise it pulls content from the page.
There you go, that's my basic list - hope it helps you in your SEO strategy. You'll notice that there's not much here that's specific to Drupal in reality - not a huge list of special SEO modules, or Drupal-specific tricks. SEO strategy really has little to do with the specific technology used to build the site - just follow the basic best practices and you'll get there. When I get some time I might go back and add some links to various Google documentation on some of these points.