You launched your Drupal site yesterday, and it's not on the front page of Google. What do you do now? One of our clients asked us about Search Engine Optimization (SEO) recently, so I thought I'd share some advice from our experience.
First of all, getting organic search results takes time. It doesn't happen overnight, and you're lucky if you're findable on popular terms within the first couple months. Why? Because...
1. Google is a popularity contest
At its heart, Google simply points to sites that people like. Google came to quickly dominate the search engine market because it tracked popularity of sites, and ranked popular sites better than ones nobody visits. And a key measure of popularity is in-bound links -- the more sites link to your site, the more popular your site becomes. Each inbound link is a vote for your site -- somebody has found your site relevant enough to create a link and point their audience to it. And they used words on that page that have something to do with the words people are searching on.
Not all votes are equal, though. Google gives links on popular sites much more value than links on obscure sites. Getting a mention on the New York Times will do far more for your ranking than a link on a blog that gets a couple dozen visitors a month.
And your site does have a ranking you can measure over time. Google provides a "PageRank" between 0 and 10 that indicates how popular each site is. And while the PageRank alone doesn't trump relevant content, it does influence the position of your site compared to the others that appear for the same terms.
Think of PageRank as your site's online reputation -- it takes a long time to grow.
So why don't you just go add links to your site on all kinds of forums, blog comments, and link farms? Because...
2. Google punishes spammers
If quantity of inbound links was all there is to the equation, it would be pretty easy to game the system, by posting links to all sorts of open forums throughout the web. Guess what? Lots of people do exactly that.
It's a form of spam, and it's something we struggle with on a lot of sites we host and manage for our clients. It's really hard to make a site where visitors can freely interact, without opening the door for comment spam.
Comment spam does work -- for a while. But at what cost? If you engage in this type of behavior, you're ruining the forums you're posting in, creating ill-will towards your site, and ultimately this tactic will backfire. If you get a reputation as a spammer, do you really think that will benefit you for long?
Google is constantly in a cat-and-mouse, whack-a-mole game with spammers. Many of these spammers call themselves SEO experts, so ask carefully before hiring somebody how they will improve your rankings -- these slash-and-burn tactics will surely cost you more in the long run in lost business and above-board SEO help to get you de-listed from Google's blacklist. Once Google identifies you as a spammer, they'll remove all your listings from their search engine, and it can take months or years to get listed again.
So how do you make sure that when Google changes their algorithms, you do okay? Remember one thing...
3. Google rewards good content
Good content is what it's all about. People are looking for answers to their questions. If you provide that, ultimately you'll get rewarded by inbound links, and more Google-juice. It may take a while to get discovered, but if you can find an audience who will champion your site online, that will result in better Google placements, and ultimately even more traffic.
So the absolute best thing you can do to get your site found is write something that some audience cares to read, share, and talk about. Do that and everybody is happy -- but have some patience!
Meanwhile, there are a few other things you can do. Because ...
4. Search engines are a key audience with special needs
Here's where Drupal comes into the picture. Right out of the gate, Drupal has a ton of features designed with search engines in mind. While a lot of the following features are provided by add-on modules, and not in the core Drupal installation, these are features and modules we consider to be core, and install on every site. This section should probably be its own post, but here's some key things to consider:
Create a relevant title
Some places on each page are more valuable than others. By far the most important spot on your entire page is the page title--the words you use there have more weight than anywhere else on the page. The page title is what you see in the menu bar for the window showing the page. For example, the title of this page is currently "Drupal SEO: 7 things you need to know to get found on the Internet | Seattle Drupal and Web Development by Freelock Computing".
Out of the box, Drupal uses your site name and the page name to construct the page title -- and this is a pretty good practice.
I have consciously chosen some words for the title that reflect what I'm writing about, and our site name describes what we do and where we do it. That's very specifically for search engines -- those contain words we expect our customers to be searching.
Aside: Use linkbait effectively
The Internet loves lists. I expect this story will get more than our average number of reads, and I also hope that people will find this post interesting, valuable, and worth sharing. Creating a list and telling people how many items you've got is a pretty good formula for generating traffic, it turns out! There's a lot of other story formats that can attract readers, and links, but this is a relatively easy one. And, in case you're not paying attention, it's demonstrating its own best practices!
Use header tags, not bold.
HTML defines a series of header tags that look like the following: <h1>page name</h1> <h2>a subhead</h2>. Google and other search engines use these as hints for what the page is about, and weights those words more than others. For Drupal, we usually provide a drop-down selector in the WYSIWYG editor called "HTML Block Format" that looks like this in TinyMCE:
Use those header tags instead of simply making the header bold -- it lets the structure of your story become more meaningful for search engines.
If you view the source code for this page, you'll find each of the headers are wrapped in h2 or h3 tags.
Use Search-Engine Friendly URLs
See the path of this page? There's lots of English words there, and they also reflect the name of the story. Not only does this add to the weight of those words in the search engines, it's also friendly for humans, too -- you have some idea what this page is about before following the link, if you haven't followed a short one.
These "friendly" URLs are built into Drupal. We use Pathauto to define a more logical structure to our URLs, and while there's always room for improvement, it's well worth taking some time to organize the URL structure to reflect the organization and content of your site. This is another area where Drupal really outshines the competition (Joomla *cough* *cough*) in the level of control you have over URLs. Path_redirect is also very useful for creating landing pages or tracking pages, while redirecting to the single main version of the page -- some SEO folks say that having identical content on multiple pages can get penalized by Google, as a pattern spammers have used.
Provide a sitemap
Having a single page where users, including search engines, can find all the content on your site is a good way to help your rankings. Providing it in the XML sitemap format Google defined can get new content identified quicker. The Sitemap and XML Sitemap modules for Drupal make both of these a piece of cake -- install, turn them on, and identify the menus and taxonomies to include. Done.
Provide custom meta tags
Personally, I think doing more optimization than that is a waste of time -- you're better off building relationships, creating new content, doing things to get more inbound links and create more compelling content instead of adjusting meta tags that nobody but search engines see, and search engines don't particularly care about anymore. But if you really, really want to set custom descriptions for each page and a different set of keyworks, the Nodewords module is quite good at it.
There's a point of diminishing returns, when it comes to optimization. And after all, let's get our priorities straight. It's all about ...
5. Links, content, optimization
... in that order. Links are king. I don't care how good your content is, if nobody links to it, you won't be found. So do the things that get you links, without crossing over the line into spamming.
There are some easy, obvious places you can create links to your site for free, where people expect you to promote yourself. Social Media. Twitter, Facebook, LinkedIn, Biznik -- create a profile and/or page on each one of them, and in your profile, link to your site. Tell people you know about it. Point to individual stories on Twitter. Provide easy sharing buttons on your stories -- at the moment, we're liking the ShareThis module the best.
Go participate in forums, comment on blogs, and use your site as the "homepage" or in your signature. These may not count directly in search engines, but if other readers follow them, may help you get found--but again, don't spam. Make your comments constructive, on topic and you'll get rewarded by people checking you out. If all you do is talk about your site, you'll get ignored, just like somebody at a party who only talks about themselves.
There's also a bunch of "social bookmark" sites out there where you (or somebody you encourage) can post links about cool sites. Digg is one of the biggest, but there's lots of others -- Reddit, Slashdot, Delicious and many more.
Content, of course, is the end goal -- without good content, people may come to your site but they won't come back. Content is critical to growing an audience, which feeds back into links, which feeds back into a bigger audience. Don't write crap. Deliver what you're promising.
Optimization is last -- doing all the things to optimize your site for a search engine alone might marginally help you--and can certainly remove roadblocks that are killing your rankings. But if your site is unknown, it's not going to get you known.
So if links are the most important thing, and you've done everything you can do short of spamming everyone you know, what next? What about ...
Building an audience takes time. Thomas Friedman, Dave Barry, Stephen King, they didn't become popular overnight -- they've all spent decades developing an audience. Successful bloggers didn't start out with millions of followers -- they put in hard work of writing stuff people want to read day in, day out, and grew their audience over time. A few have managed to get there in months, but none in days. Basically there are no shortcuts.
But there are some ways of getting there faster. Two, anyway.
Buy your traffic
Advertising is perhaps the best known way of getting attention. Google itself is funded by advertising -- by sites like yours doing a pay-per-click adsense campaign. And it works, too, if you're smart enough about the words you advertise and spend an appropriate amount. Advertising can jump-start traffic to your site. I've heard it claimed that Google rewards advertisers slightly with better search results -- I certainly have no verification of this, but it's something to consider. Depending on your audience, you might find other advertising venues to be worthwhile -- Bing has a lot of penetration in Washington, with all the ex-Microsoft folks around here. Facebook works for some types of sites, definitely not all. And there are thousands of other sites around who might be interested in running your ad -- a few of them are our clients!
Buying advertising is often called Search Engine Marketing (SEM) and good SEO people will likely offer or recommend SEM services for new sites trying to get a niche.
The other way to make your site popular, if social bookmarks and organic growth aren't getting you there quickly enough, is through other forms of marketing. Public Relations (PR) has been around a long time -- getting a quote about you with a link to your site from a popular mainstream publication can give you a spike of traffic -- and if your content is relevant, perhaps they'll come back. I'm a big fan of Peter Shankman's Help A Reporter list -- I've been quoted in several dozen articles around the web, and most of the recent ones have come from responding to queries on this list.
A very tiny number of sites have gained popularity by doing some sort of publicity stunt, or coming up with some viral way to get noticed.
The main point here is that SEO is not a factor in sites that become wildly successful very quickly -- just about every popular site you can think of got there through some creative (or sometimes lucky) marketing. SEO is a good way of improving your search engine results and getting more traffic as a result--but it grows on traffic you gain by doing less sexy (or sometimes purely sexy) marketing tactics.
7. Your competition
Finally, the last thing you really need to understand is that you have competition. I don't care what your site is, or how original your idea is, there are other sites in your space. Who are you trying to displace at the top of the search engines? What is their motivation for being there on the terms you want, and how will they respond if you displace them? These aren't faceless computers who just happen to occupy the results above you -- these are people and businesses who are (usually) trying to do exactly what you're doing, and for the moment, they're more successful at it. That situation can change very very quickly -- but if it does, and their phone stops ringing, you can bet they'll be asking somebody how to get back above you.
SEO is not something you do once and then you're done. The practice of SEO is a constant cycle of measurement, experimentation, adjustment, and analysis. Good SEO professionals will help you identify what terms lead to the best conversions, the best results for your business. And then they'll track, analyze, and suggest things to do to improve those results. That's what SEO--that's what marketing--is all about.
Wrapping it up
Okay. After all that, you probably think we're an SEO shop. We're not. We're a hard-core development shop, but we've been doing this long enough to see what works and what doesn't. We don't (yet) have dedicated SEO services, but we can certainly out your site to support SEO, and we may soon bring more SEO services in house. For now, we have a short list of people we've worked with, and are happy to make a recommendation.
So what have I missed? What Drupal modules do you use for SEO that I haven't mentioned above? What strategies do you find effective -- or not? Please leave a comment below -- but only if you have something constructive to add.
I will delete comments that add nothing to the discussion -- if all you have to say is "good post" and a link to your site, say it on Twitter or Facebook or on your blog -- I will delete it from here. If you repeat the points above, without substantially making it less confusing -- gone. This isn't the spot for spammer SEO folks to comment -- but if you've got something helpful and relevant, you may leave a link.