Get Found with SEO
SEO! Search Engine Optimization! It's all about making your site rank higher when a search service like Google spits out results to an online searcher.
The big picture
SEO is a huge topic, with countless sites, companies, and webmaster-hours devoted to its pursuit. It wouldn't be inaccurate to say that SEO is the business of "gaming" the search services, tweaking a web site with the intent of influencing the services' view of the site. That's not necessarily a bad or sneaky thing! If you have a good site that searchers will genuinely welcome, then those searchers benefit when you and the engines work together to let them know of your site.
But the search engines are carefully-guarded black boxes whose inner workings are both secret and constantly changing. Prescriptions from SEO experts keep morphing in the attempt to keep up, and much of their advice is hotly debated.
The Blogger's Glossary notes,
"There are main two groups of [SEO] activities: on-site optimization, which tries to optimize the different tags and the content on the website; and off-site optimization, which tries to work on external factors like the number and quality of backlinks, promotion techniques and so on."
That's a good division, though either group encompasses a huge range of activities.
This page needs to think smaller. SEO basics are already covered elsewhere in this Book, as the same techniques that make a good site, draw in traffic, and so on are the same techniques that lead to good search rankings. Pretty much everything detailed on other pages – validating your code, using descriptive paths and titles, fixing bad links, using anchor text, avoiding multiple paths to the same content, using a reliable host, avoiding frames and splash pages, placing ALT tages on images, and much more – is key to pleasing both of your audiences: human readers and search engine crawlers.
This page, then, will only note additional SEO-specific topics that didn't fit elsewhere, or general topics that bear repeating. Take it all with a spoonful of salt, perform your experiments, and please let me know what I've got wrong and what works for you!
The Drupal connection: There are plenty of Drupal modules that directly or indirectly address SEO-related tasks. There's even the SEO Checklist module by Volacci, which aims to the One SEO Module to rule them all. It gives administrators a simple checklist of tasks – mostly the enabling of helpful modules - to run through in the quest for SEO. While the checklist isn't a comprehensive SEO guide and won't provide a solution tailor-made for your site, just following its suggestions should take you much of the way toward optimization bliss.
That module's no longer alone, though; other SEO checklist modules are springing up. Give the SEO Compliance Checker and SEO Friend modules a try. The developer of the latter also offers this Basic SEO Top 10 list of Drupal modules.
Keep the content flowing
A constant flow of fresh content pleases both visitors and search engines. Simply put, a search engine that doesn't find new content when it comes crawling will wait longer before checking again. Conversely, an engine that finds new content with every visit will speed up its frequency of visits.
The benefits of attracting frequent crawls are twofold:
- Your new content turns up in search results sooner; and
- As part of their black-box workings, engines rank sites with freshly-flowing content higher.
If your site is mostly a static one, an excellent way to keep visitors and crawlers coming back for fresh content is to add a blog.
The Drupal connection: It hardly needs to be said that Drupal excels here; blogging capability is built right in. Better yet, if you have multiple users, each one can have his own blog.
The search engine operators learned quickly that mechanically analysing a page's content made for a poor method of ranking pages; it was all too easy to fool an engine into ranking a page highly for "gingerbread recipes" just by stuffing the page with those words. (Even if the page actually existed only to sell funny blue pills.)
The engines wisely decided to let the web itself decide which pages are most meaningful. One of the best methods they've found is to count links to a page as "votes" for the target page's worthiness, on the assumption that webmasters around the world wouldn't bother linking to a worthless page. Of course, things get complex from there, as the engines use their proprietary formulas to judge the worthiness of each of those "votes", and combine them with other factors into a final ranking for a given search term. And there's still room for sneaky types to try to fool the engines (such as by creating bogus sites for no purpose other than to offer links to the target sites they want to rank highly). But overall, it works.
Having other sites link to your content is one of the most important things you can do to build traffic. It brings visitors directly via those links, of course, and also tells the search engines to rank you higher.
How do you get linked to by other sites? By having a great site with great content – all the things covered by the rest of this Book. On the more proactive front, you can also get incoming links by submitting articles (which contain links to your site, of course) to other sites.
A key point, though: You want links from quality sites, i.e., sites that themselves receive many links and visitors. Links from highly-ranked, heavily-trafficked sites bring you more direct visitors, and score more "votes" for your site in the search engines' ranking system.
Help those who link to you
Anything you can do to meaningfully boost those sites that link to you ends up raising the value of their "votes", and thus raises your search engine ranking.
Naturally, efforts to directly promote your own site will generally pay off bigger than efforts to promote sites linking to you. But if there's some easy way to get more attention and links headed toward the sites that link to you, some trickle-down SEO love may flow your way. (As well as, one hopes, good will and additional future links from those sites you've helped.)
A simple example: You've contributed an article to the Catfish Fancier site, which includes (of course!) a link to your site. If you succeed in getting lots of other sites to link to the article (possibly by your writing a great article in the first place), those links raise the value of the "vote" that Catfish Fancier's link casts for your site, in turn raising you in the search rankings.
Help the search engines find your content
Use a site map
How does a search engine find a given page in the first place? Via a link, whether from some external site or from within your site. A site map is simply a document with a link to every piece of content that you want search engines to find: one visit to that map, and the engine can discover every page you've got. (An added bonus: make the site map available to human visitors, and they too can use it to locate hard-to-find content.)
Manually submit new content
You don't have to wait for search engines to find your content; you can submit it directly to them. The submission process tells the search service "Hey, I got this new page!", so they'll know to come check it out.
Your submission is unlikely to produce an immediate response, though (you should see the 'to-do' list a web crawler has!). In fact, I'm uncertain as to whether submission is even meaningful when you already have web crawlers visiting on some schedule, with your new content in an easy-to-discover location (such as on your front page, or linked to by a site map or other page). Perhaps submission is useful for a new site that's unknown to, and unlinked by, the world; a manual submission tells the search engines that you exist and jump-starts the process of their indexing your site.
I welcome comments on the need to submit. For now, I note it here only as something that can be done, but not something I intend to worry about for existing sites unless I learn of a good reason.
Use internal links
As discussed in Make Navigation Easy, copious internal links help visitors get to more content within your site. They also help search engines discover the same.
Build those links with good anchor text, and they'll also help search engines with the next goal discussed below: understanding the linked content. This is called internal SEO, and represents some very easy work you can do to help the engines both find content and associate that content with chosen keywords.
Help the search engines understand your content
Search engines need to understand what your pages are about so they can recommend those pages to the right searchers. But they're semi-dumb machines, and you've written your pages for comprehension by humans. The engines may fail wildly in getting the gist of your online opus.
Fortunately, there are plenty of ways you can tweak your text for search engine comprehension, and otherwise help them grasp the point.
Use keywords in text content
"Keywords" here is simply the words or phrases that you want search engines to associate with your content. If Google associates a page on your site with the words "chimpanzee astronauts", that'll boost the page's ranking when people search Google for pages on that topic.
So, if you want people searching for "chimpanzee astronauts" to find your page, get Google to make that connection between those words and your page. How? First and foremost, just use the words in your content! Search engines analyze the text in pages to extract those keywords; a word or phrase that appears repeatedly will rise to the top as a keyword.
In short, write about your topic using... well, words about your topic. Ridiculously obvious, perhaps, but there's a caution in there: If you write about those chimps using a palette of colorful terms like "simian cosmonauts" and "hairy spacefarers" and "banana-flavored-Tang slurpers", with barely a use of the words "chimpanzee astronauts", don't be surprised if people searching for those latter words never find your page. Use the words that your target audience will search for!
So you should pack your text to bursting with "chimpanzee astronauts"? No; too many mentions will trigger the search engines' suspicions of spammy or low-quality text. And just how many is too many? It's a much-debated mystery. Keywords should total no more than... what, 10% of the total text? 5%? 2%?
Perhaps the best answer is "be natural". Mention "chimpanzee astronauts" several times, as many times as still reads naturally, and no more. Go ahead and toss in "simian cosmonaut" somewhere as well to break the repetition; you want to think of reader enjoyment, not just search engine mechanisms.
Fortunately, keywords placed in a few special places carry greater weight with the search engines. One of these spots is the headers in your content, and the bigger the header (like H1 tags) the better. Embed "chimpanzee astronauts" in a nice fat header or two, and you'll help Google get the message.
Similarly, a few more areas let you draw attention to keywords without stuffing your content text full of them (and risking a search engine snub). These include:
Use keywords in images
Use meaningful, descriptive keywords in the file names of images used in content. (Be sure to provide information for the ALT and TITLE attributes of the image, too; these help the search engines understand what the image is about.)
Use keywords in metadata
Metadata tags describing what a page is about are an old tool to aid machine recognition, but search engines have learned not to put too much trust in them. It's too easy for a shady page to load its metadata with legit words that have nothing to do with the actual spammy content that follows; that's why the engines hold their noses and dive into actual page content to test the waters.
The actual value of placing keywords in your metadata is debated, but the practice shouldn't hurt. Go ahead and place honest keywords in the appropriate meta element:
<meta name="keywords" content="your first keyword,your second keyword,..." />
Even if Google no longer places much or any importance on this metadata, another search engine might.
You may also want to include keywords in your page's meta description. See notes a bit further down (including Drupal-specific notes).
Use keywords in page titles
Every page should have a unique title, nested within a <title> tag within the <head> section. It's a great place to include a keyword or two. The title tells both users and search engines what the page is about; if the page turns up in a search result, that title is likely to provide the heading for the entry among the search results.
What makes for a good title? Something brief but descriptive of the actual page contents, of course. For your site's main page, that may mean a brief overview of the site itself.
The Drupal connection: Every Drupal node allows (or requires) a title, which Drupal properly places within the tags search engines look for, so it has you covered there. There's also a Page Title module that gives you much more control over your title tags – including the great ability to specify a search engine-pleasing title tag (with keywords) that differs from the actual user-pleasing content title (which you can then set more creatively).
On the topic of keywords in general, there's a module Content Optimizer that promises to help optimize the use of keywords on your page.
Use keywords in paths
Google's SEO experts report that keywords describing a page's content are good things to have in paths. A blog entry with path blog/2009/01/my-favorite-ri will have to rely on its internal content and tags alone to inform people and search engines of its content. Turning that path into blog/2009/01/tv/best-rifleman-episodes gives visitors and search engines alike more to work with.
Use dashes instead of underscores in paths
Should that be best-rifleman-episodes or best_rifleman_episodes? There seems to be a debate over the two (and a third position, "should I care?"), but I've seen sources suggest that Google treats words connected by underscores as run-on words, and words connected by dashes as separate words that will probably better match users' search terms. This post by Google SEO expert Matt Cutts seems hesitant to declare a victor, but gives the nod to dashes.
See through the search engines' eyes
There are ways to view your site the way search engines do, possibly giving you a clue when something is wrong. I'll list methods here as they come up; for now, one service that gives you a crawler's-eye view is seo-browser.com.
Stand out in the search results
Even if you rank highly on a search result, you'll still be one link among dozens. You need to help ensure that the searcher picks you!
Use good meta descriptions
Just as a page's title tag provides the title that appears in search engine results, the page's meta description provides the little descriptive blurb that follows. If you don't supply a meta description for each page, the search engine will create its own, culled from the content it finds – but there's no guarantee that its machine-made blurb will be an appealing or even accurate overview of what's on the page.
Tell the search engine how you want a given page to be described in search results. The meta description may not affect your ranking in the results, but can make your listing stand out among the others. Make your meta description dynamic, appealing to readers, and – to properly serve those who do visit – an accurate depiction of the page!
Google recommends against placing the same meta description on every page, especially for a large site; after all, any page's meta description should uniquely describe that page. Be sure you give pages unique meta descriptions as appropriate.
The Drupal connection: The Meta Tags module lets you set a meta description for each node, along with global meta keywords, node-specific keywords, and other goodies. Configure things (including the all-important meta description, for your main page) at admin/content/nodewords. It's a great tool for SEO.
Don't anger the search engine gods
Throughout all your SEO activities, there are things you shouldn't do. These may be tricks to exploit loopholes in search engines' workings and nab a higher ranking – "black hat SEO", it's called – or just intentional mistakes that turn off search engines (and possibly people, too).
Don't steal content
Is it all right to take content from another website and publish it on yours, without permission? No, no, no.
Watch where you point that link
Too many outgoing links can spoil the SEO broth, say the pros. How many? I don't have the answer yet, though I've heard that hundreds of links on a page is what makes the engines cock an eyebrow. It's not likely something you need to worry about unless, of course, you actually are up to no good with a worthless page meant only to boost the ranking of target pages – precisely what the engines try to ward against.
A more likely problem is outgoing links to pages that search engines have blacklisted as spammy or otherwise undesirable. Remember, the engines count a link as a "vote" for the target page; when you link to a page with a bad rep, your page gets the same reaction from the engines that you get from a lady when you recommend your friend Joey the Weasel as a blind date.
Cancel your vote
Yet you may want to list vast quantities of links, or link to a shady site, for some perfectly legitimate reason. To avoid a wag of the finger from search engines, just add a nofollow attribute to the problematic links, like this:
That simply tells the engines that the link doesn't "count" as a vote for the target page's ranking – and thus that you provide the link with no intent to fiddle with rankings. No motive, no crime, the engines wisely assume, and don't penalize your ranking.
In addition, some pros suggest adding nofollow to "unimportant" internal links, such as "read more" links, comment links, links to contact pages or privacy policies, and so on. The effect should be to shift engines' attention to the internal links that are important – that is, links (with good anchor text!) to key content that you want to make prominent in search results.
(Incidentally, a nofollow link makes for a tiny means of punishing an external page you don't like, such as some blowhard's inexcusable political column that you need to rail against. With a nofollow, you can link to the page you lambast without boosting its search ranking; there, that'll show the miscreant! However, your link will still have the effect of sending readers to the target site, so don't go thinking you're getting the last laugh.)
Step carefully here
Should you trade links?
It can be easier to get inbound links when you give in return. Trading links is best handled with some care, though; many pros say that indiscriminate trading with "link farms" gets you little traffic from legitimate sources, while earning penalties from search engines for association with spammy sites. If your site has been running for any time, you'll likely get email offers from such farms; be skeptical of their merit.
Use wisely. If you're uncertain about how search engines will view any cross-linking you do with other sites, use the nofollow attribute on links. Those links will function unchanged as ways to bring over human visitors, while having no effect (good or bad) on search engines' ranking of the sites.
Should you cross-link your own sites?
There is one webmaster out there who's always willing to offer quality cross-links: youself. That is, if you have multiple sites of your own, check for meaningful opportunities to have your sites mention, link to, or otherwise promote each other.
Still, the above cautions apply: if the cross-links look like "link farming" just to boost search-engine rankings, those engines may penalize your site, ranking it lower in search results. And the criteria search engines use to reach such conclusions remain confusing unknowns to us mortals. The right way to link is to create meaningful links to aid readers, not to game the search engines – yet it's a search bot's algorithms that'll judge which of those goals your cross-links appear to pursue. You don't get to appeal its decision.
So, some blogging pros suggest you play it safe, and not cross-link among your own sites – or if you do, use the nofollow attribute on the links. That won't get you link "votes" that improve your search engine results, but won't risk triggering search engine penalties either.
Should you buy/sell text links?
Incoming links raise your search engine ranking... so why not buy a few strategically-placed incoming links on other sites? Or why not sell such links on your site to make a few bucks?
Well, the search engines want to reward links that are "natural", i.e., legitimate links aimed at helping readers, not gaming SEO. Yet... how would Google even know that an incoming link was born of a small payment you made to the referring site?
They have ways to know, say some. No, as long as sites involved aren't obvious link farms, it's not risky, say others. The jury's really out on this one; take a look at the comments on this discussion of buying text links.
If you want to play it safe, avoid buying or selling links, and look for tried-and-true "natural" ways of building links and revenue.
Consult the experts
As in any field, expert assistance may help you get done what you can't do by yourself. But beware: There's no license or other certification for SEO "experts". All it takes for an utterly inexperienced soul to call himself an "expert" is to... well, call himself an expert. And all it takes for him to become a paid SEO "professional" is to find a mark willing to toss him money.
On the day I wrote this item, I came across a Drupal.org forum thread in which an SEO "expert" gives advice that seems to wholly misunderstand how search engines interact with database-driven web sites. Anyone paying for that advice is getting a bum deal. So with examples like that in mind, ask for references to experienced, trustworthy SEO pros, and do some background research first on what services and results you should expect from outside help. You'll likely come across many SEO services that you can perform yourself!
Stay on top of things
After the first rule of SEO (good content), the second most important rule is this: SEO is a non-stop job. You can't optimize for the search engines once and be done. The engines keep changing, what does and doesn't work keeps changing, the wants of visitors keep changing, your site keeps changing, the zillions of sites competing for your search engine ranking keep changing... Yes, SEO is one of those many, many things in life which is (everybody together now!) a journey, not a destination.
So if you're going to look into SEO at all, commit to ongoing learning, and to ongoing reviews of what you're doing and what you should change.
Fortunately, the most important thing to know about SEO remains this: good content is king. A site that makes people say "wow" will bring in more links, word-of-mouth visits, and search engine love than all those SEO tips and tricks – and "wow" is probably much more fun to work on, too.
Just keep in mind that no matter how many great links and visitors your super content brings, you could be getting some degree more via a site optimized for search engine love. Whether or not that's important enough to spend time on is up to you (and is something everyone disagrees on anyway).