SEO, Traffic and Revenue: Drupalace's Online Manual (STARDOM)

On its way: An organized working of my collected notes and resources on the topic of goal achievement for Drupal-based websites - specifically, best practices related to SEO, traffic, and revenue generation. 

Let me quickly lay out the plan:

1. This Book will collect techniques and tips for achieving goals with a website, whether that means community building, revenue generation, readership increase, corruption of the innocent, whatever. All with special asides on how Drupal fits in.

2. It'll roughly follow the tried-and-tested "Plan, Do, Check" action cycle, as follows:

  • Plan: Building a good site, promoting it effectively.
  • Do: Achieving goals (building community, getting clicks, making money, etc.)
  • Check: Monitoring results, making improvements. 

3. The Book begins from a selfish desire to organize my own mess of notes into something I can use to improve on goal achievement with my own sites. But as long as I'm doing that, I'm more than pleased to offer the same info to any and all, and benefit from your criticisms.

Don't be surprised to see a mish-mash of stuff with big, gaping holes. Things will get filled in and straightened up. And don't be surprised if my how-to info looks like a blanket list of all the stuff this site isn't doing right. Again, improving my own sites is a key goal, so that contradiction is to be expected!

4. Once a fair amount of how-to info is posted, the real fun begins for me: I'll work the techniques into a checklist, and begin applying it to a coterie of my own sites that could stand to be more successful. Naturally, I want to write about that process and its ongoing results!

5. At every step of the way, I would love to hear criticism, corrections, and suggestions from readers. Additional information is welcome, including links to useful how-to information for site builders.

Set a Clear Goal

Nothing's more important for web site success than this commandment:

Have a clear goal!

After all, that's the key to success in anything!

Consider making two goals clear:

Your goal

Your goal for the site may be stated clearly in your site slogan. But probably not – if the site slogan suggests a goal at all, it's likely the goal you intend a visitor to achieve.

How about your goal? Why are you making the site? If it's "just to blog" or "just to post my best Land of the Lost fan fic stories", then a goal-achievement guide isn't necessary. Post some blog entries or a couple Will & Holly tales, and that's it – "goal" accomplished.

But that's not really all you're after, is it?

More meaningful goals for a site can be anything. Such as:

  • Generate revenue
  • Build and lead an online community
  • Make info on a charity available online
  • Create an online portfolio for artwork

Make it specific

For many goals, the above still isn't enough. Get more specific:

  • Generate revenue from site advertising and associate services
  • Build and lead an online community centered around a forum and user-submitted photos
  • Make info from all current print brochures of a charity, plus annual letter, available online

Make it measurable

Still not good enough for some purposes. If progress can in any way be measured, make that part of the goal:

  • Generate $1,000 per month from site advertising and associate services
  • Build and lead an online community centered around a forum and user-submitted photos, with 300 active members in first year

The more specific the goal, the better the odds of success!

Get to the root

Ask whether you're really getting to the root goal. "Be a resource for chess players" isn't very specific. "Be a resource for new chess players looking to find teachers" is better. "Be the #1 resource within 2 years, for new chess players looking to find teachers" is better yet, though still lacking in measurability. "Be the #1 resource, defined by largest member community, within 2 years, for new chess players looking to find teachers" is getting very nicely specific and measurable, leaving only some work to do on what competitors you'll measure yourself against.

But... why do you want to build this #1 resource? To sell ads? Promote a side service? Just scratch a hobbyist itch?

To really make things clear, pin down your real goal, and separate that from strategies to get you there. An example:


  • Generate $1000 per month from site

Strategies to get there

  • Income from site advertising
  • Income from associate services
  • Forum to build community
  • ...

Go from there, fleshing out the strategies in detail.

Goal for visitors

Consider your visitors' goals. Those may not match yours; "Help Ernie Schmidt achieve $1000 per month revenue with his website" is not on many persons' minds as a goal. 

Visitors' goals might be something like these:

  • Read interesting news
  • Be entertained by games and puzzles
  • Find great bargains
  • Chat with fellow hobbyists

Have a clear picture of what visitors will want to get from the site, and make sure your goal is compatible with theirs.

Make a Good Site

Before we worry about attracting visitors, we have to first create sites that they'll find appealing, easy to navigate, and responsive.

Put out the Welcome Mat

When a visitor finds your site, the time you have to make a good impression is... Five seconds? Two seconds? The claim keeps changing, which is fine; the point stays the same: You've got a ridiculously short time to make a good first impression before the visitor clicks on and away, possibly forever.

This page is mostly about looking good. Let's straighten the tie, slick back the hair, and work that digital chive out of our teeth:

Be a unique entity

Get a domain

First: Before gussying yourself up, be a yourself. Site-building and SEO mavens everywhere shout it in unison: Get your own unique domain. Part identity, part unique brand, that domain creates a one-of-a-kind "you" – site, email, and other services – that won't change even through wild reworkings of your site structure, hosting service, CMS, etc.

Domain registration services are everywhere, and a year's registration for a .com, .net, or .org domain shouldn't cost more than US$10.

Be real

It's up to you whether your site lives behind an anonymous identity, or whether you're up-front with your real name, location, and so on. The former is fine for hobby sites; the latter is definitely required for a business site wanting to make a professional impression. (Ask: Would you give your credit card information to an e-commerce site with no identifying place or persons?)

It's said, too, that the search engines are more favorable when a site and its domain (WHOIS) registration offers real identifying information. 


Look good

Be a beauty

"Beauty is only skin deep." So? Beauty still makes visitors more comfortable spending time on a site. All else being equal, there's no reason not to put some effort into making your creations beautiful as well as functional. Electronics company Apple gets this, and it's doing wonders for their bottom line. 

However you create your site's appearance, make it look good. For a CMS, that generally means picking a good theme, or modifying/creating one. Fortunately, we site creators are awash in great, low-cost or free themes to work with.

Be your own beauty

The first time I saw the Drupal 5's default Garland theme, I was really impressed. It looked sharp on any simple site. And it still does... though the first impression has quickly lost its luster. That is, there are so many sites sticking with Garland that, even with the theme's chameleon-like color-changing powers, those sites now resemble the monotone bland output of an assembly line. 

Make your theme your own. At the very least, get an original logo!

The Drupal Connection: "Themeing" is a huge part of Drupal site creation, whether you want to just find and install a ready-made theme, modify one, or create a new one. It's a huge topic, and not the focus of this Book, but stay tuned for more info and links.

Appeal to your audience

Tailor your look to your known (or desired) audience. Not much needs be said about obvious things, such as how colors, layout, and text for Extreme Bungee Surfing News should differ from those for Dentists Against Bank Bailouts. Likewise, white text on a black background usually sends me fleeing, but certain groups seem to actually like it. If you know your audience perversely enjoys the eyestrain, then go for it.

Beyond the obvious elements, a little searching will turn up fascinating research into site features, color combinations, and so on favored by demographic groups like men, women, youths, seniors, and so on. Start Googling for some crunchy design insights – though take claims with lots of salt, and supplement them with feedback from other experts and, most importantly, your own site visitors.


Be a good host

Provide the big picture

An under-rated but vital element of a good site is an overview of itself – the meta-info that lays out for the visitor what the site is all about. Whether it's a brief blurb in a header or a fully-detailed About page or FAQ, good points to address include:

  • What is the site's purpose or goal?
  • Who is the site aimed at?
  • Who is behind the site?
  • What are the opportunities for visitor participation, and the related policies?
  • Are there any disclosures that should be made? (Example: If you discuss stock trading, do you have positions in the stocks you discuss? If you discuss politics, are you a supporter of certain parties/candidates?)

The above is only a suggestion for many kinds of sites, such as general information sites. Your goals might suggest something pretty different. For example, savvy marketers suggest that anyone selling something clearly state three pieces of info:

  • Here's what I have
  • Here's what it'll do for you
  • Here's what I want you to do

If there's any sort of action you want visitors to take, whether product purchase or petition signing or user registration, that's a great format for info to present, probably on your landing page. But visitors will appreciate your answering the other questions as well – who you are, what's your big goal, and so on – even if you move those to an About page. 

Add an About page

There's not much to say here, just a suggestion to have an "About this site" or FAQ page that addresses the above items. Visitors generally expect to find such a page, and to do so easily, usually via a link in your site's main menu.

The Drupal connection: There's no particular function within Drupal for setting up an About page. Just create an appropriate node, and set an easy-to-see link to it in a site menu (such as the primary menu).

An FAQ page can take the same simple form, though if you want to try something fancier, tools like the Frequently Asked Questions module can help.  

Greet your visitors

An About page is a tried and true way to tell visitors what your site is about, but of course it requires that they make another click to get to that page (and even before that, find the link to do so). It's best to have something on your landing page as well! Some common options:

Site name

I'm stating the obvious, but you can let your site name state the obvious too. The site I Will Teach You To Be Rich is a fine example. You'll still need to check out the site to fully understand what it's all about and what stance it takes, but the name alone gets you much of the way there.

Bonus points if your domain name matches the site name!

Site slogan or mission statement

If the site name alone isn't enough, a simple slogan or mission statement at top, or otherwise in a visible spot, can explain a lot to visitors. 

The Drupal connection: Drupal supports input of both a site slogan and mission statement at admin/settings/site-information. The same form lets you create a site footer too, another place where you could briefly explain your site (though often it won't be readily visible).

Whether or not your Drupal site actually displays those info bits, though, depends on your Theme's settings. Most Drupal Themes support slogan, mission statement, and footer, letting you decide whether or not to display them, but some themes might not support one or more of those at all. 

Sidebar info

Plenty of "About" info will fit into a little explanatory block in a sidebar (or whatever location works for you) on the landing page. That saves a visitor the extra trouble of finding and visiting a separate About page. The drawback, of course, is space taken up on the landing page, but it's valuable info, and that's what the space is for!

For a best-of-both worlds approach, have this detailed info appear only for new visitors. Newcomers will see the info only on their first visit (or first several visits, if that's how you set things up); returning visitors don't see it but still have your About page to turn to should they want the info. That's a technique I use a lot: copy the same info (or at least key info) from a site's About page into a sidebar block that greets visitors only for their first few visits.

The Drupal connection: The What Would Seth Godin Do? module makes the above technique easy as pie. I swear by this module!

Representative posts

While I like to see a nicely-written "About this site" overview, another option is to simply provide a selection of links to representative articles. The above I Will Teach You To Be Rich site (as of this writing) takes that approach: there's no helpful About page or block, but there's a "First time here? Here's a quick guide to get started" link to a page full of links to posts in key categories. The titles of those linked posts, the category titles, and the very self-explanatory site name all make it plenty clear what the site is about.

Welcome contact from visitors

If visitors want to contact you, can they do so easily? Contact info is a great thing to add to the site, whether a simple email link in your About page, site footer, etc., or a sidebar block or full page with detailed profile info and means of getting in touch.

The Drupal connection: Drupal has a core Contact module that makes creation of site-wide and personal contact forms easy.  

Disclose other key information

Casual hobby sites can possibly skip ahead here, but an online business may need to disclose key information such as terms of service, fair usage policies, copyright notices, and product return policies. Moreover, any site collecting information from users should set out its privacy policy.

Generators like the below are fine for simple purposes, but ecommerce and other commercial sites should seek professional advice.


Stay up to date

Once you've got all that meta-info posted, check regularly to make sure it's still correct!

Be open to all

Serve all browsers

There's no excuse for greeting eager visitors with a whiny "Internet Explorer only". It's not only annoying and unnecessary, it's chasing after a browser with an ever-shrinking share among web users. Make your site accessible to as many browsers as possible.

Browser ecumenicality. It's more than just a good idea; it's a really good idea.

The Drupal connection: Drupal itself offers no cross-platform issues that I'm aware of. That may not be the case for a given Drupal Theme, though. Like web sites everywhere, most Drupal Themes jump through the necessary hoops to patch over the weaknesses in specific versions of Internet Explorer, yet problems can remain. Test a Drupal site on as many browsers as you can. Services like BrowserShots let you test multiple browsers and platforms remotely.

Stick to standards

Related to the above: A site whose page markup adheres to W3C standards is more likely to please every browser (as well as search engine crawlers). True, there are handicapped browsers which can choke on standards-compliant pages; testing may reveal that you have to build in some workarounds to accomodate. (On the other hand, depending on your audience, you may be comfortable asking visitors to put up with minor imperfections caused by a truculent browser, while urging them to switch to a better browser.)

The Drupal connection: Drupal is said to produce valid valid XHTML code – but, as I understand it, the chosen Theme can make or break that. Take care. (And if you're not a stickler for perfect compliance, you might feel fine ignoring a few minor deviances that don't seem to cause trouble in major browsers, yet would require lots of work to fix.)

On the topic of browser promotion, there's an IE Destroyer module that will urge visitors using Internet Explorer to switch to Firefox instead. Use your judgement in deciding whether such a message will be accepted (even appluaded) by your audience, or whether it'll just confuse visitors. 

Welcome our new mobile overlords

They are coming. No, wait; they're already here. Visitors on mobile platforms are making their way to sites everywhere, and site owners will want to adapt to their needs.

Users of "full browser" mobiles, like the iPhone, can view your site as-is, without your taking any special steps. Yet they'll still have to zoom and pan a lot to really get at the content, all over a slow mobile network. Low-bandwidth versions of your site, even for full browsers, can make sense.

Adapting for the mobile world generally entails detecting a mobile browser and directing it to a low-bandwidth site (even just your RSS feed, as one simple solution). Software aids and online services are springing up to assist. Some that help create sites for the iPhone are Intersquash and iWebkit. Technologies like PhoneGap even offer to help create mobile apps featuring your site's content.   

I haven't yet looked into the topic in detail. Stay tuned for upcoming reports.

The Drupal connection: Two modules to get started with creation of mobile sites are Mobile Theme module and Accessibility module.

Build for accessibility

Site visitors with visual or other disabilities may rely on technologies like screen readers to access content. These, in turn, rely on properly-constructed site features in order to work well. 

Accessibility is a huge topic of its own. A few quick items:

  • Use ALT tags on images, with important keywords in the text
  • Use the A HREF TITLE attribute to tell visitors where a link will take them

An overview with links to additional resources:

Consider international visitors

Serving the needs of international visitors is another big topic to be explored in depth later. You can always focus on one language, like most sites, but a few considerations can greatly expand your potential audience:

  • Create multilingual content. (I didn't say these would be easy considerations!) If not the whole site, at least consider an "About" or similar page for additional language(s).
  • In lieu of real translation, there's the option to post content translated by services like Google, or create links that will perform such translation for the reader. However, understand fully that such machine translation will often be wildly inaccurate. (Insert "I want to massage your grandmother" joke here.)
  • Even if you don't go multilingual, you can help global readers a lot by writing clearly in your language. Clean, succinct English, low on jargon and slang, will be understood by a huge number of readers worldwide. It'll improve machine translation results as well.
  • Consider international standards when creating content, instead of (or in addition to) regional standards: metric vs Imperial measures in text, A4 size paper vs US Letter size paper for downloads, etc.
  • If you accept form input from multiple regions, make sure the forms can handle it. That is, don't anger visitors by asking for country and address, and then using a form that rejects addresses not in US address format (with a required number of zip code digits, etc.). E-commerce sites can lose a lot of customers this way!
  • If your site has to refuse registrations, e-commerce orders, etc. from certain markets for business or security reasons, tell visitors up front before they spend time filling out forms! 


Make Great Content

The pundits offer a drupillion tips and techniques for grabbing eyeballs and nabbing clicks and sweet-talking search engines. But the One Commandment that rises above all else as the master key to site success is this:

Make Great Content!

Do that, and word will spread, and visitors will flock, and advertisers will lie prostrate before you. All the discussions that follow – the SEO, the technical tips, and so on – are subordinate and secondary to the master command of Make Great Content.

Create good stuff

Top sites swear that good content is a more important ingredient behind success than futzing with keywords and getting links and gaming the search engines and what not. Make the best content you possibly can. Good things will follow. 

Write it well

A writer who's sloppy with words and ideas loses a lot of ability to affect readers.  

Oh, I'm sorry. Let me rephrase that in modern Internet-ese:

A writer whose sloppy with words and idea's looses alot of ability to effect their readers. 

If that doesn't make you gnash a few teeth to calcium dust, you need to consider whether you're really ready to spring a web site onto the world.

Sure, we can debate how important the grammar and spelling are compared to the content. Discount this discussion if you really want to. I can only offer myself as one case study: given far more content out there than I can possibly read in a lifetime, I discriminate ruthlessly based on writing quality. Why waste time on writers whose output shouts "I just don't care"? There might be some great ideas in that mess, but experience tells me that the odds are much better with the well-written stuff.

Depending on your audience, most of your readers might not care too much about good writing. But whatever the audience, rest assured that some of it does care. Why risk losing any audience through sloppiness? 

Triple-check your writing. If possible, get proofreaders or an editor to check it over. 

Needless to say, the same applies to non-written content: if your site's all about images or videos or whatever, do those well.

With that, I'll move on before I use up my lifetime allowance of blatantly obvious statements. 

Make it unique

Again, the top bloggers are united on this point: Write with a clear, unique voice. Be yourself.

Some of the bloggers take it a wee further: be opinionated and controversial, they advise. Even an angered audience is better than a bored one!

Make it look good

Make it easy on the eyes: good design, easy to read. Specifically, check whether the page is cluttered and crowded (boo!), or whether it's easy to scan (yay!). In most cases, lots of white space is your friend.

Think twice before deciding that white text on a black page is really what you want. And if your combination is anything worse than that – red on blue, or pale text on a pale background, etc. – then don't think, just nuke it! Fast!

If you're looking for images to gussy up a site or a page, there's a whole Internet full of 'em. Just be sure you have the right to use images you find. Either talk with the image's creator, or use images that aren't restricted. Wikipedia Commons and stock.xchng are good places to look for those. (Or try this tip, via Tim Ferriss: Head to Flickr, open up Advanced Search, check the "" option, and run a search for your keywords from the "Search for" field. To locate the best of the results that Flickr returns, find the little "View" line that appears right above the photos, and click "Most interesting". You should be swimming in good images.) 

Make it clear

That means writing clearly, and using graphics that support, rather than distract from, the text. But more specifically, I want to emphasize titles here: Make your post titles clear and meaningful, and you make the site easier for visitors to scan.

Another consideration: Place key content toward the top. Let visitors see the important stuff (or at least the start of it) right away, without having to scroll beneath pictures and ads to see what the content is about. (Keep it "above the fold", to parrot the strange phrase inexplicably loved by webby types.)

Write what people want to read

All right, as "advice" that's about as helpful as "remember to breathe". What I'm getting at is specific types of content that seem to do especially well with Internet audiences. These include:

  • Lists: favorites, Top 10 lists, and so on. 
  • Scoops, exclusives, breaking news, etc.
  • Interviews
  • How-to articles and tutorials (including screencasts for computer-related how-to)
  • Product/service reviews
  • Guides that simplify complex topics (especially "definitive guide" treatments)
  • Thorough pointers to useful content on other sites (such as "curating" scattered information into a list of best resources) 
  • Seasonal or event-related content (holidays, April Fools' pranks, major sporting events, elections, etc.)
  • Quizzes
  • Contests
  • Rankings (people, products, movies, websites, etc.) 
  • Expanded topics taken from your own FAQ. (If they're really frequently asked, they must be of interest to people.)
  • Infographics (if you've got the organization and artistic chops; see this guide)

Use these with care, though: content should first and foremost be content right for your site, not content you think you need to write. You probably don't want to come across as a slinger of unimaginative, paint-by-numbers content.

A nice example of a Top 10 list from Tillerman: Write a "Top Ten Blogs" list for your niche. There's a list that readers should find interesting, and the blogs you link to will appreciate the attention too, possibly reciprocating with mentions and good will. 

Make lots of it

More content means more stuff to attract and keep a wider range of visitors. It also means more fodder for other sites to link to, and for search engines to find. 

So if (and only if) it makes sense for your site, go ahead and give Quality's oft-derided sibling Quantity a fair shake. Make and post lots of stuff. (Just don't ignore Quality, okay?)

Build your content storehouse

In addition to hammering out fresh content for your site, can you unearth hidden stores of material? Maybe some classic email diatribes in your "Sent" box that'd appeal to a wide audience? Old original artwork? Collected notes and links that'd become a helpful article after a little organization? If you've got good old stuff, recycle it into new content.

Along those lines, here's a not-so-hidden technique for building new content: Whenever I find myself writing an email or posting a comment somewhere, I ask myself whether what I'm writing might also be good fodder for site content. It's a bit of a shame to submit a long book critique as a comment on someone's blog, or help a friend solve computer troubles via a detailed email how-to, and not also share that info with potentially interested readers on your own site. Wherever you are, write with your site in mind!

Stock up ahead of time

Top bloggers often start posts as soon as opportunity and ideas strike, forming a library of half-written posts ready to complete at any time. If nothing else, at least keep a growing list of content ideas, a quick scan of which can trigger a response of "yes, I'm ready to write that one now!". It's great to have this when the creative muse is out for the week.

Your CMS may even let you write full posts and schedule them for publication at set times. Top bloggers swear by this technique as a great way to keep a site automatically churning out content during no-blogging vacations on the beach. I've done it, piling up a week's worth of posts and setting them to trickle out one per day without my lifting a finger. 

The Drupal connection: The Scheduler module is your friend here, letting you schedule both the publishing and unpublishing of modules.

Let your audience help

Many popular sites share a key feature: user-generated content. That can mean comments on content, or forums, or freedom to create and post new content, or all of the above. The more audiences can add to the site, the more they'll feel connected – and the more content there will be for other visitors (and search engines) to enjoy. An engaged audience will grow the site much, much faster than you could on your own.

Enable as many forms of interaction as makes sense for your site. See more information later on building community.

The Drupal connection: As a platform, community is what Drupal is all about. Modules for comments and forums are built right into the core package. It's easy to create registered users, or allow anyone to register as a user, and set permissions for what those users are allowed to do. Out of the box, Drupal even allows a unique blog for every registered use, something other big-name CMSes can lack.

Offer extras

What else can you offer right from your site in addition to pages? Downloads! People love a good download. Some ideas:

  • eBooks. Anyone can turn good content into an eBook in any number of formats: ePub, PDF, etc.
  • Cheat sheets. A condensed collection of useful info is a nice accompaniment to a how-to article. (See my One-Page Checklist for site promotion and SEO.) 
  • Other files. Got any great templates, spreadsheets, audio files, website themes, etc. to share?

Make sure your offerings are truly your own (i.e., they're not making unauthorized use of someone else's text, images, etc.). And don't forget to include your site name and URL within the offerings!

The Drupal connection: Drupal 6 users can enhance file-handling capability with the FileField module. Drupal 7 users don't need to bother; it's built in.

Consider any of a zillion external file hosting services if you're concerned about file downloads stressing your server or bandwidth.

Build a Great Brand

Some people will superficially equate a site's "brand" to its appearance, especially its name, logo, and perhaps design themes. But a brand is more than just a logo. A site's brand is really the whole of what the site is, and the impression it makes in visitors' minds.

Use strong brand elements

Have a good name and domain

Make these easy to say, succinct, memorable, and appealing. "Jimmy Smith's Home on the Web" may work for your needs, but isn't likely to travel far as a memorable brand.

Make a good logo

Your logo is one thing that people will remember from your site and associate with it. Make it good. Get a pro if you really want to do it right. 

People will spread your logo, too: when writing about or linking to your site, other writers may include it in their articles.

Use a good tagline

Tagline, slogan, mission statement... Make them meaningful, memorable, and visible. 

Better yet, unify them into one item. 

The Drupal connection: Set a slogan and mission at admin/settings/site-information. Head to your Theme's settings to set whether or not these display. They'll display with the position and appearance determined by your Theme.  

Make a good design

Good design may even get you featured in design galleries or portals, bringing traffic from those (especially great if your site is about design!). 

Use a Favicon

A favicon is the small (16x16 pixel) icon that appears in the browser's address bar. It's a tiny thing, but completes the look of the site.

Most bookmark lists will also use a site's favicon, so having one makes your site stand out there too.

Have a unique voice

Another frequent piece of advice from the pros: Have a fresh, unique outlook. Offer a new slant that stands out from conventional thinking. Stand for something. Be opinionated, even controversial.

Add something else outstanding

"Outstanding" doesn't have to mean "no one else is doing it"; it just needs to be something that's noteworthy. Many, many items discussed elsewhere – great site design, unique voice, great content, etc. – fall here. But this is a good catch-all place to note a few other possible "differentiators", to spur thinking:

  • Regular posts. Even in this day of RSS feeds to announce new content, people appreciate a regular schedule. 
  • Frequent posts. (That's not the same as regular posts; you can be regular or frequent or both.) "Frequent" is your call; say, three posts per day? (Maybe even many more, if the site has many contributors.)
  • Outrageous viewpoints. (That's easier claimed than demonstrated; if I had a florint for every mundane writer who calls himself a one-of-a-kind, straight-shootin' revolutionary, I'd buy Budapest.) 

Be consistent

Consistency is a huge element of branding, and a big topic. For now, a few broad items to strive for:

  • Have a consistent writing style
  • Be consistent with your tagline or slogan.
  • Use color, graphics, and other design elements consistently throughout the site. A simple example: be sure your logo is on all pages, preferably in the same location. 

Become an authority

Establish a reputation as an expert

One great way to establish your brand and attract followers is to become an expert on a topic, with your site as the outlet for that expertise. Successful bloggers and online enterpreneurs, from Seth Godin to Tim Ferriss, sing the technique's praises.

First, become truly knowledgeable about a topic, and the related questions/problems that others have. (Yes, it's almost comic to say "First, become an expert". But there it is.)

Then go about establishing yourself as a voice on the topic:

  • Establish your site as a place to find answers. FAQs and forums are good tools, but simply soliciting questions via comment or email – and then answering them – is enough to start with.
  • Going deeper into the above: Create detailed resources (such as e-books) for site visitors.  
  • Frequent other sites and forums related to your topic, and answer questions there.   
  • Write authoritative articles on the topic, for submission to other sites.
  • Offer knowledge on "expert sites" such as Yahoo Answers and LinkedIn Answers. In addition to helping people out, this builds authority, gets you associated with keywords, and brings in traffic.

Many items mentioned elsewhere, such as contributing to Wikipedia, leaving helpful comments on others' blogs, etc., fall under this goal. Lots of things fall under this broad umbrella. The real point here is simply this: make a conscious effort to establish yourself as an expert, in all you do. You'll discover many ways to do so.

Be a leader

Related to, but not quite the same as, the above: People online want to be connected to each other and led toward a goal. That's the thesis of Seth Godin, who's making the leading of "tribes" an increasingly major theme in his writings on online success. He speaks eloquently on the topic, so I'll turn it over to him with a couple of links to get you started. From there, subscribe to his blog for lots more on the power of leading a group of like-minded people. 

Be Ubiquitous

It's one of the most important parts of branding: be all over. A brand is all in the mind, and repeated exposure to its elements is what places it here. Some ideas:

  • As mentioned elsewhere, include site name, domain, etc. in all external communications: email or forum signatures, newsletters, printed materials, etc.
  • Use your site's name as a handle any time you create an account on a social network. 


Make Navigation Easy

Make it easy for visitors to locate content on your site, and to jump from one page to another. A lot of topics come under this heading:

Make Home easy to find

Can visitors easily get back to your main page, and recognize it as such? Some considerations:

  • Is "Home", "Main page", etc. a highly-visible part of your site's main menu?
  • Does clicking on your site logo take visitors to your main page? There's no law saying it has to, but most people have come to expect it.
  • Does your main page's design make it clear that it's the main page? A unique design, or big welcome message, can help there. 
  • Do you use a "splash page" that visitors have to click through before they get to the main page or other real content? If so, is it really needed for your site?

The Drupal connection: Drupal handles these considerations with aplomb.

First, you don't need to place your home page in your primary menu or any other menu, but it's simple to do so, and there's no reason not to!

Second, when you set a logo for your theme, Drupal will automatically make that logo link to your main page. Schweet!

Finally, while Drupal doesn't automatically bestow a special design upon your main page, it makes that goal easy. Some Drupal strengths related to the main page:

  • It's simple to make a "node list page" out of your main page in Drupal, with the built-in "Promoted to front page" functionality.
  • It's easy to set which pages display blocks, making the main page (or any specified page) stand out.
  • It's easy to set any given node as your main page at admin/settings/site-information
  • The great Front Page module enables all kinds of tricks, including splash pages that depart from your theme, different main pages for anonymous and authenticated users, different main pages for user roles, PHP code in the main page, custom behavior of HOME links, and custom mission statements.

Make key content easy to find

I always like sites that highlight key content, typically via links in a sidebar. Great examples:

  • Recent posts
  • Recent comments
  • Recent changes to content
  • Related or similar posts
  • Most popular posts
  • Highest-rated content 
  • Content with specific tags
  • Most emailed/forwarded posts

Another great idea is to hand-pick content as suggested reading. A selection of links to posts with your best work, or content that best explains what the site is about, is an especially good way to welcome new visitors.

The Drupal connection: Drupal makes blocks with those links possible. Its core modules create blocks for popular content, recent blog posts, and recent comments. The Poll and Forum modules create blocks for most recent polls and recent forum activity. [Note: Corrections appreciated if required!] In addition, the following modules add features:

Many more useful modules are available. Best of all, the Views module lets you create custom lists of nodes based on nearly any criteria.

Make old content easy to find

Old content can get buried in your navigation system. Keep it alive via any of the methods above for key content, as well as the now-classic link to archives (monthly, yearly, or whatever works).

Don't just leave it to readers to find your old content via such sidebar links, though. As you write, actively include links to older relevant content within your text.

Offer a site map

What better tool than a map to find something? A site map that outlines your whole site will let a visitor get just about anywhere. A text-based site map is great for letting the search engines see the whole picture, too. 

The Drupal connection: The Site Map module and XML Sitemap module create site maps. 

Keep navigation consistent

Simply put: Keep the same menu structure throughout your site, and keep the menu(s) located in the same spot. 

Sub-menus that change with the item selected in a main menu are, of course, fine, as long as they too are consistent and easily identified as sub-menus.

The Drupal connection: Drupal makes it easy to create and manage menus at admin/build/menu. Drupal also allows for two special menus, the primary menu and secondary menu; you give normally-created menus these special designations at admin/build/menu/settings. Most Themes provide for pre-determined locations to display the primary and secondary menus.

Keep choices limited

Multiple menus scattered all over, or menus longer than an NBA player's arm, scare off visitors. Keep it simple: group content into as few distinct menu items as you can.

The more content you have, the harder this gets. Keeping menu choices limited will mean "going deep", with sub-menus and sub-sub-menus... though the experts warn against content that can only be reached by lots of clicks. 

Ideal navigation is more art than science. Plan from the start how content items will fit into a menu structure, and keep experimenting with changes as you build!

The Drupal connection: Drupal menus are as flexible as you like, with built-in support for heirarchical menus too. It's easy, too, to create a menu item that links to a specific node: just set the menu item to the target node's path, and it's done. 

If there's any built-in problem, it's a conceptual stumbling block for some new Drupal site builders: the way Drupal builds pages that list multiple nodes. Unlike some CMSes, it's not via first building the "container" page, and then directing various nodes to go to that page; rather, it's via a) deciding the criteria for grouping the nodes, b) building the nodes with those criteria, and c) creating a menu item (or other link) that tells Drupal to build a new page out of all nodes meeting the criteria.

That approach can be immensely powerful, but in my opinion requires a little more up-front planning: you have to not only decide the menu items that content will fall under, but also the criteria that will define the content under each menu item, allowing Drupal to gather up the appropriate nodes. Similarly, reorganizing menus isn't a matter of telling a node to move from one container page to another container page; it requires changing the relevant criteria attached to the node, so it will now be gathered up under a different menu item.

It's clumsy stuff for me to explain, but actually sensible and powerful once fixed in the head. For any reader still stumbling a bit, some additional reading:

Make choices clear

Not quite conflicting with the above: Whatever choices you do offer, make them visible. Specifically, if you've got nested "drop-down" menus, consider opening up those menus so sub-menu items are always visible.

Balancing the above two is your task. If the menus are unavoidably long, it may be best to show sub-menu items only when the parent item is selected. If menus are short, on the other hand, it may be fine to always show the nested sub-menus. (Then again, if the menus are really short, you might ask whether sub-menus are even needed.) 

The Drupal connection: You can choose whether any sub-menu items are visible always or only when the parent item is selected, by setting the "Expanded" selector when editing the parent menu item at admin/build/menu.

Use breadcrumbs

Breadcrumbs are the "trails" of links that show where the currently-viewed page exists within the site heirarchy. The links let visitors return "up" the heirarchy, all the way back to the main page. Typically, the heirarchy shown in the breadcrumb trail will match the heirarchy of the menus used to reach the viewed page. 

Experts agree: Breadcrumbs are good for helping visitors feel structure and a sense of "place" within your site, and of course to help them navigate. Use breadcrumbs when you can.

The Drupal connection: Breadcrumbs work great with a site that has a clear heirarchy of content, and a Drupal site can be built that way – though, per the above discussion of menu item choices, it can also be built with no real heirarchy of pages. Drupal will show breadcrumbs if your site's Theme support the feature, but unlike CMSes which dutifully place all content into prescribed heirarchies, the breadcrumbs for a Drupal site may make no helpful sense at all!

It's a big topic that deserves a big discussion. For now, some useful resources for creating meaningful breadcrumbs from your site structure:

Another note: A comment on this page claims that placing your content under the stock Navigation menu aids in automatic creation of natural breadcrumbs, without extra modules. I haven't tried this yet; experiment and see whether it's an improvement.

Use sensible paths

Make paths meaningful

The path that your content shows in the browser address bar is important. A short path made from few, easy-to-grasp words is easy for visitors to grok, and is better-liked by search engines too. A long path full of mysterious characters has the opposite effect.

Make your paths meaningful and clean. You get bonus points if your paths' hierarchies (like news/domestic/2008/election_update) match the hierarchies of menus and breadcrumbs. Navigation heaven!

The Drupal connection: By default, Drupal gives content paths that aren't tasty at all, like ?q=node/42. Bleah. Fortunately, Drupal has ready tools for fixing that. The following are your friends in enabling meaningful, clean, unique paths:

Meaningful paths: For Drupal 5.x and lower, the Path module lets you give nodes nice custom paths. The Pathauto module goes one further, automating the work for you! It's a powerful module with many features, including the ability to create path-based hierarchies from otherwise-non-hierarchical content, and is highly recommended for any Drupal site.

Clean paths: Nice human words in your paths are a good start, but there's still something wrong with ?q=news/domestic. Get rid of the ugly ?q= by enabling Clean URLs at admin/settings/clean-urls.

Keep paths unique

Multiple paths leading to the same content can crop up easily when moving a site from one domain to another, or making other large-scale changes in structure. It happens to me a lot just during day-to-day fiddling with paths for specific nodes.

These multiple paths are bad for your search ranking. External sites will link sometimes to one path and sometimes to the other, meaning your vital "link juice" gets split between them. In addition, search engines can view the setup as multiple instances of the same content – an SEO no-no – even though all paths lead to a single page.

Let a given piece of content have just one unique path. Simply deleting extra paths isn't often the answer; there may be incoming links to that that, which will now result in errors. That's bad for visitors and for SEO. 

Google recommends 301 redirects to solve the problem. The same goes for sites that can be reached at both and; you're creating multiple working paths for each piece of content. Deploy the 301 redirects, or see whether your hosting service has a quick solution. (My host DreamHost, for example, easily allows webmasters to set whether the www is automatically added or removed, or whether – should you really want it – either version works.)

The Drupal connection: The easy advice is "never create two paths to the same piece of content", but that's easier said than done. The main culprit: At times you'll want to change the path of a content piece for some reason, yet the old path will remain in the database as well. To fix that, you can find and delete the old path at admin/build/path, but that leaves a problem: external web sites and search engines may point to the old path, which no longer exists! And dead links are bad for you. 

The smart answer: use 301 redirects from the old path to the new. That's a big topic, with many ways to handle implementation. Fortunately for the time-pressed, there's a nice solution in the Global Redirect module, which does this tech-ish work for you behind the scenes. Go get it!


Keep links friendly

Make text links visible

Can visitors easily see the links on your site? Making links bold is itself not enough; bold text alone doesn't say "link" to the reader. Web users have come to expect text colors and/or underlining to mark links. Blue, underlined text may look like an online cliche, but it's actually appreciated by many users, especially those who don't spend as much time on the web as we geeks do.

Separate the appearances (generally, colors) used for unvisited links and for visited links, and use those appearances consistently.

The Drupal connection: Link appearance is controlled by your Theme's CSS (typically within the theme's style.css file).

Make sure links work

Broken internal links are an unavoidable bane of webmastering. They'll throw off visitors and search engine crawlers alike.

Continually check internal links to make sure they're working. (If you've got a friendly user community, why not appeal to them to report any broken links?) You can also make use of services like the W3C Link Checker or Google's Webmaster Tools to find broken links.

The Drupal connection: There's a Links checker module that offers to help with this task.


Handle external links with care

Not everyone thinks this is important, but I like sites that don't unexpectedly toss me to another site when I had still planned to stick around for a while. One way to keep external links from surprising readers is by some visible marker separating them from normal internal links - typically, a small graphic indicating an external link, or even some appropriate added text. Another method is simply to have all external links open in a new window or tab, so the reader gets to the new site without losing his open page on your site.

The Drupal connection: I like and use the External Links module, which adds a small graphic (see it there?) to external links, and even offers the option of making those links automatically open in a new window. That kills both the above birds with one easy stone.

Other modules with similar functionality include the External Links Filter module, and the External Link Page module, which offers a third tack: redirection to a "you are about to leave this site" warning page. That's a mroe intrusive method than I like to use, but some big sites go for it.

Tag content

Metadata is great stuff. Visible metadata "tags" on an article help visitors instantly grok what the article's about. Even if you don't make tags visible, behind the scenes they can let you organize your data in all sorts of ways helpful for navigation. Letting visitors call up all content with a given tag is one great feature.

The Drupal connection: Taxonomy – the art and science of applying tags ("Terms") and managing groups of tags ("Vocabularies") – is a huge Drupal strength and a massive topic on its own. Suffice to say that Drupal excels in letting you tag your content in any way you like and then perform nifty tricks with those tags.

Some reading for the newcomer:

Make search easy

Nothing complex here. Have a search feature (with advanced functions like date ranges if the site calls for it) and keep it visible in a standard location. Also, make sure that your Search Results page looks and acts like the rest of the site, with normal navigation menus, etc.

The Drupal connection: Drupal provides a search box for sites; most Drupal Themes will not only support the search box but also allow you to choose whether or not it displays.

Of course, the built-in Drupal search box isn't your only choice. You can easily use the search widgets provided by other parties, such as the ubiquitous Google-powered search box. Most Drupal site builders will do this by placing the Google-provided code into a block.

Help the lost

Visitors will try to access pages that don't exist, whether via their own error or via broken links and other glitches within your site navigation. Help them get back on track:

Offer useful client error (HTTP 4xx) pages

What do users see when trying to get to a nonexistent or restricted-access page? A page with an error message and number, like 401, 404, etc. Consider placing the following features on the page:

  • Make clear that the page isn't available – that is, something like "The page you were looking for could not be accessed", not just "Error".
  • Give possible reasons for the failure. This may be clear if you serve up a different page for every error, like "The page doesn't exist" for 404, and "You do not have permission to access this page" for 401. But if you use a single page for many such error types, list several of the possible causes.  
  • Get visitors back on track. Make sure that a navigation menu is there, or if nothing else, a link back to your main page. Links to a number of helpful pages – help pages, FAQs, the main page, popular pages, an advanced search page, etc. – might be best of all.
  • For a 401 error, redirecting visitors to a user login page may be helpful.
  • Maintain the site's look. There may be nothing horribly wrong with an error page jarringly different from the rest of your site, but visitors may be less put off if the page matches the rest of the site. 
  • If you expect lost visitors using many languages, make a multilingual page. 

The Drupal connection: At admin/settings/error-reporting you can easily set the page that visitors will see upon receiving 403 (access denied) and 404 (not found) errors.

I like setting these to the site map, based on the Site Map module, which provides an instant full menu of places to head. Needless to say, this also preserves the site Theme as part of the page visitors see. You can configure this module's site map at admin/settings/sitemap, including the explanation of the error that visitors will see.

Another solution for 404 errors is the Search 404 module, which initiates a search for words inside a failed URL path. So, a user trying to reach the nonexistent page would at least receive search results for "modules", possibly leading to the page she had in mind.

Make a user-friendly "server error" (HTTP 5xx) page

An error of 500, 501, 502, etc. means the server failed to fulfill an apparently valid request.

More information on this to come.

More resources

Tune Site Performance

Your site's visitors want performance! And they want it NOW!

Make lighter pages

Less stuff to load means faster loading. Lots of things to consider:

Simplify and reduce elements

Fewer design elements = less to download = more speed.

Banners and other ads, in particular, can be slow to load, as they contact external servers for their content.

Tables can also be slow, especially if nested or full-page.

JavaScript, Flash, and the like can slow things down a lot. Flash intros are so 23-skidoo now, anyway.

The Drupal connection: Sticking with a lightweight, simple Theme, with fewer files and without a lot of graphics and design elements, will go a long way toward keeping the site responsive.

The Theme is only a small part of the site's "bulk", though. Needless to say, the more modules and blocks you throw at a site, the slower it'll crawl. Simplify!

Pare the code

Toss out any unneeded code from your HTML, PHP, or other files.

That goes for unneeded comments, too, if you're sure you won't be needing them to aid further modifications. But you might want to also keep copies of the files with the comments intact, just in case.

Lighten the images

Images are the big stuff on many sites. Cut out the images, or make them smaller. In particular, use thumbnails where full-size images aren't needed. 

Keep in mind that whatever the image size, fewer colors also means smaller size.

Also use the right format for the job. JPEG or PNG are good choices for photographic images, but for simple graphics with few colors, the GIF format will produce smaller files. 

Spread the load

Can some content be moved to other servers to reduce stress on your main server? A simple example: Instead of hosting video content yourself, you could place it on YouTube, and embed the video in your pages. Actual streaming of the video will take place from YouTube's servers.  

Chop it up

If a page is really long, chop it up into multiple pages. Overdoing this will turn off visitors, but having to click through a few pages might be preferable to waiting on a single page that takes forever to load.

The Drupal connection: Use the Paging module or Pagination (Node) module.

Cache the site

Set your CMS to allow caching of content. Pages served to repeat visitors from cache will load much faster. 

The Drupal connection: Site-wide caching is built in at admin/settings/performance. You can set the minimum cache lifetime; make it long for maximum performance. Weigh this against how often you want the site to update what it's sending out to visitors. A minimum cache lifetime of one day might be fine if you only update the site once per day or less frequently, but wouldn't be ideal if you update the site many times in a day.

Note that Drupal will only serve cached pages to anonymous users, so any logged-in registered user won't see a speed improvement! On the good side, though, those users always get served "fresh" pages, with new comments or any other changes reflected.

In addition, there's a Boost module that promises large performance gains for heavy-traffic sites via static page caching. [Does anybody have info on what this performs over and above the built-in site-wide caching?] Finally, those with some technical aptitude and access to server configuration can apply the Memcache module.

Cache selected content

Your CMS may allow caching of specific content. Use this to handle slow-loading content if you're not using site-wide caching already.

The Drupal connection: Speed up a Drupal web site by enabling block caching suggests the Block Cache module as a way to cache and speed up slow-loading blocks. It can be helpful if you can't use site-wide caching, or even if you can: it will cache blocks for logged-in users, something Drupal's site-wide caching won't do.

Using the module effectively requires some testing and tweaking, so consider this an advanced technique. 

Aggregate and compress CSS files

A CMS might call upon a lot of disparate CSS files in generating its pages. If you can, consolidate those into a single short CSS file.

The Drupal connection: This is another option at admin/settings/performance. Note the caveats in the descriptive text: First, you should only use this option after you're finished mucking around with your Theme code; otherwise, you'll need to disable the aggregation when you make further changes in your Theme's CSS, and then re-enable the aggregation again afterward. Second, to enable aggregation you need to have a file system path specified, and your download method set to public. Take care of those  tasks at admin/settings/file-system.

Move inline JavaScript to a separate .js include file

More on this later.

Tune your system

Speed up the environment

Whatever platform supports your CMS is subject to infinite performance tweaks. Check up on what tweaks are most important and put them into service. If you're running on a hosting service, you may need to ask about key technical details, and whether you'll even be allowed to make any performance tweaks.

The Drupal connection: Essential steps to speed up a Drupal web site details three key areas for Drupal performance tuning: Apache file compression, PHP accelerator script caching, and MySQL query caching. There's nothing to add here to those great overviews, so have at them!

There may be other addressable causes behind slow MySQL queries. More info on that as it comes up. 

Keep your CMS up to date

Whatever your CMS, use the latest version of the CMS software, and any related software, that makes sense for your site. 

The Drupal connection: "...that makes sense for your site" is an important caveat. Whatever the performance improvements, don't rush into the latest version of Drupal unless you're sure that your site's key features – especially those relying on third-party modules – are available in the new version. Many site builders have learned this lesson the hard way.

Get a fast host

If the performance techniques above still leave things slow, you might require a faster host. You may mean a faster server, or more memory alloted to your site, or both.

Shared hosting services (like this site's DreamHost) are fantastic for their low price, but typically won't supply the speed you need for a really busy site. Consider a more expensive dedicated server, especially one on which you have freedom to make plaform tweaks for performance.

Also, you may get better performance when your CMS and its underlying database live on the same server. 

The Drupal connection: Some modules have far greater memory needs than others. Views and CCK are among the big eaters, and as you'd expect, any module doing a lot of processing, such as those that resize images, will also eat up server memory and CPU. If you can't get a powerful server, cut down on power-hungry modules and give that wheezing hardware a break.

If your hosting service allows it, place both your Drupal installation and your MySQL database on the same server.

Who's equipped to host Drupal sites? Start with this list, or ask around.

Prepare for surges

Lucky you! You've been picked up by Slashdot or Digg or some such, sending a tidal wave of visitors crashing over your site. You're going to capsize, leaving visitors with nothing to see but an error message! 

Get ready for the possibility of sudden bursts of traffic:

Watch for surges

Watch for the beginning of traffic spikes so you can take quick action. 

The Drupal connection: The Incoming module promises to alert you of traffic surges.

Toss the heavy stuff overboard

Let's face it: turning off a lot of cool features in the name of performance can be heartwrenching for the site designer. Then again, maybe you don't need to run so Spartan when traffic is low. If you have the technical wherewithal, configure the slower, heavier features so they run while the server is chugging happily along, and shut down when the server is gasping for more power. During times of burst traffic, visitors might miss out on the glory of your commenting system or image galleries or whatever you've tossed overboard, but that's better than finding no operating site at all!  

The Drupal connection: There's a great tool to take care of this: the core Throttle module. When activated, it  adds "Throttle" check boxes to modules on your Modules form and to blocks on your Blocks form. Any module or block with a check will automatically be temporarily disabled when your site is under heavy load. (Set the "heavy load" threshold of visitors at admin/settings/throttle.)

Check your hosting service's policies

Ask around to find out how well your hosting service handles traffic spikes. It may be unavoidable that the server resources included in your account's pricing level will only handle so much traffic at once, but try to find a host that scores positively on questions including:

  • Will the host send warnings to you when traffic is spiking?
  • Does the host forgive some reasonable amount of spike-caused traffic over your bandwidth limit?
  • In the event of frequent spikes, will the host work help you explore solutions, or will it arbitrarily take nasty actions like suspending your account?

Measure peformance

What gets measured, gets fixed. There are countless sites out there to measure page loading times and – more importantly – tell you specifically what's wrong and what you may need to fix. Needless to say, the criticisms and suggestions provided by such services are all the opinions of the creators of the services, but with that caveat in mind, any such service should provide you with a barrel-full of areas on which to concentrate improvements, many already listed on this page and many not.

A starting list of services (add more in the comments, please!):

Site Load Test
A simple, straightforward check of performance metrics and suggested improvements. 

More resources

The Drupal connection: Drupal-specific resources:

Drive Traffic

More traffic! More traffic! It's every webmaster's obsession, and the topic of countless blogs and sites and books.

Here's yet one more compilation of tips and techniques.

Promote your Site

Promote, advertise, market, spread the word. A nascent checklist of things to think about:

Get your name out there

Get listed on directories

It's not all about Google search; there are human-powered directories out there sorting and listing web sites by category. How helpful they are in getting people to your site is a matter for discussion, but a listing can't hurt.

Two good starting points are Yahoo! Directory (see Suggest a Site) and the Open Directory Project (see Suggest URL).

Find links to other directories at:

The Drupal Connection: One directory of sites made with Drupal (though not necessarily about Drupal) is See Submit Your Drupal Site to add your own creations.

If your site is about Drupal, regular web directories should have a Drupal category into which you can request inclusion.

In addition,'s own Planet Drupal aggregates Drupal-related blog posts; while not a directory per se, it offers a huge list of Drupal-related sites. [As of this writing, however, I remain foggy on how to submit a site for inclusion. Answers welcomed!]

Use social networks

Here's an overview from Conversation Marketing:

Create a MySpace page for fans/hobbyists/enthusiasts/students of your product or service. Don’t brand the page that heavily. Focus on the type of product or service. Attract folks who want to know more. Then wow ‘em with your knowledge, and build a circle of friends. Now you can announce offers and such to them, too.

Do the same thing on Facebook.

Find any industry-specific social networks that are relevant to you. It’s easy: Go to Google and search for " 'your product' social network". Bet you find some. If you do, join up.

Sounds good to me. Have at it!

Using social networks is a gigantic topic, and really calls for thorough planning and execution. For now, though, here's a tiny list of ideas to start with:

Make it easy for others to spread the word

Following up on that discussion of social networks: Add tools to your site that make it easy for visitors to tell others about you by email, Tweet, Facebook, and so on. A Facebook Like button is the perfect example.

The Drupal connection: There's no shortage of Drupal modules to build integration with Facebook, Twitter, Digg, and so on into your site. There are too many to approach here, in fact, and it's a fast-changing field as well. But for starters, you can't go wrong with the sort of module that does it all. Try the AddToAny Share/Bookmark Button for a single mega-button on your pages that lets readers foreward, bookmark, or share your content via countless services.

Work the content hubs

Contributing to content hubs gets your name, expertise, and URL out in front of people. Try these ideas:

  • Help build and edit Wikipedia. If your site acts as a genuine resource supporting some Wikipedia topic, edit the Wikipedia page to incorporate your contribution and to link to your site. (Be very relevant, or your contribution will be weeded out.)
  • Create a "lens" on Squidoo or a "hub" on HubPages. These are overview pages on any topic you choose. 
  • Create informational guides and lists on See stellar (?) guides relating to Drupal here and here.
  • Answer questions on LinkedIn Answers, Yahoo! Answers, etc.  

Slap your site URL on everything online

You do diligently put your site name, URL, and maybe a little descriptive blurb into all your online activities, right? Those should be in your email signatures, your forum signatures, your online profiles for any site accounts... anywhere you can think of.

Slap your site URL on everything offline

Business cards. Letterhead. Company literature. Whatever fliers and posters and so forth you create for your work. Put it on your car or living room window, if you want. Spray paint it on the cat. 

Blah blah blah

Talk. Tell family and friends to bookmark your site. Corner co-workers. Slip the word to bums and cats in the street.

Litter the world with offline schwag

Who doesn't like schwag, tchotchkes, and all manner of shiny trinkets? If you can sell or give away promotional goodies in some outlet – online shop, trade show booth, etc. – then whip up stuff with your site name and URL. (If you don't have such an outlet, make one! If nothing else, there's the option of a CafePress online shop.)

What makes good schwag? T-shirts, mugs, pens, whatever you can think of... But ask yourself whether your marketing goals and your karma are really served by something that'll end up as landfill. Useful schwag is best! Useless schwag... bleah. (Yes, I'm thinking of those logo-festooned neck straps with the clip on end, ostensibly for hanging cell phones. Who needs that?)

Be creative

100 Ways to Increase Your Website Traffic includes suggestions to leave your website open, or even set your site as the default page, on browsers in libraries, stores, etc. The suggestion to list your site for sale on marketplaces like Flippa just for the traffic feels shady, though makes perfect sense if you're actually willing to entertain offers. Another agressive idea: launch contests in which people directly compete in building or promoting your site. Offer prizes for best contributed content or comments, for retweeting an article of yours, or even for sending the most traffic to your contest page.  

The last idea, however – fake a hacker attack for attention – is a no-no. Don't fake anything for attention. It'll bite you.

Use other resources

A catch-all for other short ideas:

  • Submit posts to appropriate blog carnivals, or host one yourself.
  • Do you have (or can you make) any videos relevant to your site? If so, make sure your site name and URL are featured prominently, and post the goodies on YouTube.
  • Did you create great graphics for your site? Can you offer any of these for free, such as placing your theme files on a CSS gallery? It's a way to make others happy and get more exposure for your site. 
  • Sponsor or assist events in your field.

Work with other sites

Leave comments elsewhere

When visiting blogs, forums, newsgroups, and web sites in general, always be on the lookout for chances to leave useful comments that mention your site (or better yet, specific content on your site). Just keep useful front and foremost. Relevant, helpful comments earn respect and visitors; comments that only exist to get your link out there garner sneers from a furlong away.  

Watch out for sites' policies on links, though. Some will prohibit links. Many will allow links but will add the "nofollow" attribute, meaning the link won't gain you any juice with the search engines. (That's okay, as the goal with comments is to interest real live readers, not search engines.)  

Introduce yourself

Why not head right to the sites that you like to read, and introduce yourself? You don't need to beg for links; it may be best not to, as those sites don't even know you yet. Just let them know you're there, let them know if you've mentioned and linked to some of their content, and while you're at it, offer some thoughtful comments about their sites. 

Say hello and make friends! 

Contribute content to other sites

Creating content for others gets your name in front of a ready-made user base (which someone else went through the trouble of building – sweet!).

Many blogs or other sites in your field would be tickled salmon to have guests provide content. Look for calls for guest bloggers on your favorite sites, or just research the best targets and send inquiries. Needless to say, whatever the target site, your content will have to appeal to the site's editor in order to be selected and published. So you've got to write with three key audiences in mind: the general reader, other sites/blogs that might note and link to your content, and your target site's editor.   

An alternative to directly submitting articles to a target site is syndication. Article syndication services like EzineArticles and GoArticles will take your submitted articles and take care of getting them published on other sites. Some writers report high Google rankings for articles contributed to such services.

Contributing content may or may not net you monetary reward, but you should at least gain traffic from links to your site, and possibly ratchet up your status as an expert on a topic. If you're also allowed to post the same content on your own site, you get some new content out of the experience too. (Or if you offer the content exclusively to the other site, announcing your external guest appearance still nets you a post or press release of your own.) 

Ask for attention

Directly ask others to talk about you. Ideas:

  • Ask appropriate media to write the story behind your site. An interview is a good format.
  • If you're a business, ask customers to write about you on appropriate review sites. (Make sure you're delighting those customers first!)

Trade links

If your site and other legitimate sites can arrange meaningful cross-links that'll serve the interests of your visitors, go for it. You can suggest cross-links to the target site's webmaster, or take the lead in linking and then send the other webmaster a friendly notice. How to go about that is a debated topic; some say that "please link back to me" is bad form, and you're better off just sending a notice and leaving reciprocity to the other side's discretion and generosity.

An important note: When getting (or giving) links, meaningful anchor text links are the most appreciated. Anchor text is the text that contains the link; ideally, the text is descriptive of the content. For example, consider this link on an external site:

Head to's easy Drupal admin manual, EDAM.

The link could be placed on "Head to" (or its common equivalent, "click here"), or on "", or on "EDAM". Any of those would work for a reader viewing the sentence, but they're not as good for search engine purposes. Placing the link on "Drupal admin manual", words that searchers are likely to actually use in queries, helps the search engine associate the linked page with those keywords and rank higher in searches.

Make friends

Make friends with other site editors and owners. Friends are likely to pay attention to your site, and write about or link to its content separately from any collaborations, cross-promotions, link-trading, or tear-filled begging. Be sure to offer the same attention in return!

Make linking easy

To encourage links, many sites offer buttons, banners, and/or link code. I'm not certain how helpful these are; big sidebars full of "link buttons" to other sites seem a fading practice (unless those buttons are for paid adverts), and experienced webmasters aren't likely to need your little aids to construct a simple link.

But if you'd like to promote your brand via a logo or other specific graphic (perhaps in conjunction with a promotional campaign), or are a stickler for certain link formats (like certain anchor text, or links to a specific preferred page), you might as well offer the buttons and/or code, and ask that people use those. Give it a try and see what happens. 

Use trackbacks

Trackback functionality lets sites acknowledge and report links from each other. That is, when ("PL4") angrily notes (and links to) your site's exposé of panda slovenliness, your article will display a brief text excerpt from, and a link to, PL4's indignant rebuke. When you, in turn, link back to PL4's article as you call into question the propriety of the group's infatuation with the bamboo bears, an excerpt from, and link to, your new diatribe will show up on the PL4 article. 

The purpose: Readers of a page with trackbacks will be able to see what other sites have discussed that page, with all these cross-links forming a larger conversation that readers can follow across multiple sites. Just by mentioning and linking to another site, a link to your content shows up on those sites – which are likely to want to further mention your site, so their links show up again on yours.

That's all great in theory, as long as the sites in question are all trackback-enabled. The problem: Spammers have caught on to the game, big time. You need trackback spam protection enabled, or your pages will become filled with long lists of posts that "mention" your page within the textual context of their performance-enhancement pill ads.

The Drupal connection: There's a Trackback module for Drupal that handles the trackback gig nicely. My own story, though, is one of giving up on trackbacks due to spam. The Drupal module allows for moderation, so the spam wasn't showing up where visitors would see it, but it was stuffing my database faster than I could get around to cleaning it out.

I see trackbacks as a small, not vital, way to promote a site. If the spam problem were simpler, I'd enable the feature; until then, I'm not worrying about it.  

Announce what's new

Make full use of RSS

Web users thought to themselves, "Instead of having to regularly checking all my favorite sites for new content, I wish the sites would just send me a message whenever some new content goes up."

Site publishers thought to themselves, "I'd like to send regular readers a message when I post new content, but managing something like a mailing list for that purpose is a nuisance for me and them."

RSS stepped in and made both sides happy. RSS stands for Really Simple Syndication, a great technology that lets site publishers automatically broadcast notices of new content. RSS is supported by browsers, many stand-alone RSS readers, and even mail clients, and is simple for both publisher and subscriber. 

Let RSS be your own little automated PR bot. Make sure your site has an RSS feed for its blog or other new content. It's vital, especially for blogs; I myself have pretty much stopped following any blog that doesn't announce its new content to my RSS reader.

Also check out Feedburner to enhance your RSS feed. It's a free way to customize your fee and find out who's subscribing. 

The Drupal connection: Drupal offers RSS feeds automatically, with simple settings at admin/content/rss-publishing.

Ping the world

Use pings to automatically inform search engines and aggregators (e.g., Technorati) of any new content you publish.

The Drupal connection: Drupal has an optional core Ping module. There's nothing to configure; enable the module, and when you post new content it'll automatically ping the Pingomatic service, which in turn will ping a number of external services. It's all very simple, if a bit of a black box.

Time your posts

Some bloggers swear by timing of posts as a key to maximizing traffic. That is, find out who your main audience is, and at what time of the day or week they're most likely to visit, or at what time they're most likely to be searching for new stuff to read. Hit 'em at their hungriest moments with your fresh-baked content.

My problem, though, isn't figuring out when people are visiting, but in knowing what to do with that information. Should you post at the busiest times, when lots of sites are feeding swarms of readers? Or during the quiet hours, when there are fewer readers in the waters but fewer competing sites tossing out bait? Week or weekend? Morning or lunchtime or evening? Should you vary your timing for long posts vs short, and time-sensitive posts vs "evergreen" posts? Opinions vary on all of these.

I'm not worrying about it for now, until I get authoritative advice or run some experiments. Try some different posting schedules of your own, and share your disocoveries here!

The Drupal connection: If you choose to time your posts, use the Scheduler module to write now and automatically publish later.

Distribute press releases

Create a full press release for the launch of your site, major new features, or notably worthy new content. This gives other sites a "template" for writing about your news, with the who, what, where, when, how, and why all spelled out. In addition to posting the release on your site, you can submit it to free press release submission websites or get help from paid distribution services like PRWeb

Just tell people

What else to do when you've got newsworthy new content? Shout out to people. Send friendly notices to whatever contacts, blogs, forums, newsgroups, etc. you think will be interested. You'll get a better reaction if the target is a community to which you're an active contributor.


I refer to good old-fashioned advertising, in new-fashioned online ways. It's a huge topic to cover later. For now, here's a starting list of advertising channels to promote your site: 


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.  

Basic techniques

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:

  1. Your new content turns up in search results sooner; and
  2. 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.

Get links!

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.)

The Drupal connection: The Site Map module and XML Sitemap module create site maps.


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

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 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). 


Build a Community

A key axiom of business holds that marketing has three purposes:

  1. Increase number of ordering customers
  2. Increase frequency of each customer's orders
  3. Increase amount of each customer's orders

With a web site, "orders" may have nothing to do with product sales; the concept may simply equate to interactions with your site (beginning with visits).

With that in mind, earlier discussions of boosting recognition and traffic are all about 1, increasing number of people who visit. Building a community out of visitors, meanwhile, addresses the remaining goals. Increasing the frequency of visits (i.e., making a visitor into a repeat visitor) covers 2, while getting each visitor to stay longer and do more upon each visit takes care of 3.

The following pages compile ideas for building and supporting a community. 

Build an Offsite Community

People can be part of your site community without even visiting. 

Build an RSS subscriber base

Folks who keep tabs on your site's updates via an RSS feed are an important part of the community. RSS provides an easy, low level of commitment for those with moderate interest. Sure, you may prefer that people actually visit the site instead, but RSS lets moderately interested readers become part of a community without hassle or commitment that might otherwise turn them away. Keep those RSS subscribers intrigued by good content and offers, and they may eventually drop by to join your community of active participants.

Make subscription easy

Make your RSS offer big, easy to spot, and "above the fold" – that is, near the top of the page where visitors will see it without having to scroll. Using the widely-recognized RSS symbol is a good idea, as is placing the offer on every page – visitors arriving via links may never see your front page.

Popular RSS readers, like Google Reader, offer their own subscription icons that will let visitors add your feed to their list with one click. 

The Drupal connection:  Drupal automatically creates feeds for your site. Third-party modules such as FeedButtons and Service Links will create blocks with RSS subscription links, including link icons for specific popular readers. 

Invite visitors to subscribe

A lot of Internet user remain foggy on the RSS concept and won't recognize your subscription link for what it is. Consider adding a bit of explanation, like "Subscribe to this site's free RSS feed to receive automatic updates on new content."

If you really want to help out the newbies, add a "Learn more about RSS" link to a good online overview of the concept (or better yet, a page of your own that makes the sales pitch for subscribing). This video has also proven a popular intro to the still-somewhat-mysterious concept of RSS: RSS in Plain English.

Offer full feeds

The debate over partial or full RSS feeds goes on. One side says that if you want site visitors, you want partial RSS feeds, so people will come to the site to read the rest. The other side says that offering the full feed is a service that busy readers greatly appreciate; if they're really your target audience, they'll be drawn anyway by your other features, your site's community, your old content, and so on.

Web guru Seth Godin is in the latter camp, which is a strong vote in its favor – though he's also known to break common-sense web rules (such as that of allowing comments on a site).

Perhaps an ideal solution is to offer full RSS feeds as a thoughtful service to busy readers, but with ample reminders in the feeds that you've got discussions, additional resources, and more great content over at the site.

Gussy up your feed

There are services out there to help you manage and promote your feeds, count subscribers, analyze their actions, and even monetize the feeds. The Google-owned FeedBurner is, I believe, the king of that hill. More on this topic soon.

The Drupal connection: The FeedBurner module integrates your site with the FeedBurner service. Be sure to check its Read Me document for notes on usage.

Make sure your feed works

Something I've often neglected to do is subscribe to my own feeds. That's bad, as I then end up the last to know when my own feed isn't working right...

To make sure your feeds are right and proper,

  1. Subscribe to and watch your own feeds; and
  2. Check periodically for feed troubles by running the URL through FeedValidator.

Build a newsletter subscriber base

Whether or not you do this is very much up to your goals and energy. There are benefits, though. As great as RSS is, many, many Internet users still aren't even aware of it, while nearly everyone online is familiar with email.

Make signup easy

A simple form asking for an email address is all you need. There does need to be a confirmation process afterward, generally asking the new subscriber to click a URL in a confirmation email, to prevent fake signups. People are used to that step; it's not a burden.

Try not to make things any more complex than that, though. Don't throw a lengthy, detailed signup form – full name, address, all that – at newsletter subscribers unless there's good reason for requesting that info! 

The Drupal connection: The Simplenews module is an easy solution that manages signups, confirmations, newsletter preparation, mailing, and more. 

Make subscribing worthwhile

It's another foray into obviousness, but keep in mind: People will only subscribe to your RSS feed or email newsletter if they feel the "I can't afford to miss this!" pull. Once again, quality content is the key.

Even quantity matters here, too: If a new post comes loping around only every week or few, not many people will feel a need to subscribe out of fear of missing something. Conversely, if you're filling subscribers' RSS readers with a dozen daily micro-posts, you may get people unsubscribing out of annoyance.    


Monitor and Improve

The following pages present notes on checking and improving things.

One-Page Checklist

"Okay, that STARDOM book is all right. But do you have a short checklist of things to keep in mind for SEO?"

That's what a friend asked your humble scribe not long ago. And, hmm, such a thing would be useful for me, too. So I totted up a big list extracting the key points from STARDOM, in really simple form, to create: the Drupalace Site Promotion and SEO One-Page Checklist!

There's next to no detail on that list. Yet it's not memorize-it-and-burn-the-paper short, either; it covers a lot of points. But it does all fit onto one page, and should provide any web master helpful reminders of optimizations that are easy to overlook.

Go through the list, toss out items that don't apply to your site, and check whether you've implemented those that do. For overly-broad items that call for more explanation or breakdown, dig up details within STARDOM, or learn more at any number of great online resources.

This is definitely a work in progress; I greatly welcome your suggestions for what's superfluous, missing, or just plain wrong in my checklist. Please drop a comment or a message!


If you find the resources on this site helpful, please consider a small contribution to hosting costs (just click on the image below). Karma will smile upon you and all your sites.

Donate towards my web hosting bill!

Drupal and the Blogging Starter Checklist

Gathered here are several articles written earlier: a 7-part look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site. 

I add it to this Book as supporting material on the same general topic.

Drupal and the Blogging Starter Checklist, Part 1

Rajesh Setty is a blogger whose name you'll run into without much effort. He's the man behind the Life Beyond Code blog, a site commanding one of the coveted feed slots on Drual Ace's Google Reader.

He's created a Blogging Starter Checklist, which is great for people like me who have enough knowledge of this "blogging" thing to get up and get started, but whose knowledge gaps leave a palpable sense of flailing about and missing important steps. Running through the checklist, every item spurs me to one of three responses:

a) "Got it! I did something right, which makes me more confident about the whole deal."

b) "Whoops, haven't done that yet. Thanks for the reminder."

c) "What's that mean? Time to hit Wikipedia!"

Below are some notes as I go through the list and check how well I'm doing. In particular, I want to take note of which items Drupal helps take care of for us.

I'm copying headings from the Checklist, followed by my notes. (Head to the Checklist yourself to see Rajesh's more detailed explanation of each point.) It's all jejune to the blogging pros, but the rundown is a good review for the newbies (including me).

Things to do on your blog

1. Enable search on your blog

Drupal's got that covered! You should have an option within your Theme settings to enable a search field, which will then appear wherever the theme has specified. Or, you can enable the Search block that should be part of your setup.

Or you could enable both, though that seems a bit much.

Me, I've tried to take the third route: a Google search function, which allows the user to search either within my site or on the whole web. Alas, Google and Drupal butt up against each other in the use of search parameters, and by default, nothing works. There's a simple fix that allows the on-site search to work – try my search and see! : ) – but leaves web search broken – try my search and see! : (

I detail the issue on the Drupal forums here: Cure for broken Google web search? But I'm not getting any response love yet. Does anybody reading this have a suggestion to get Google web search and Drupal playing nicely together?

2. Link to your profile

The blogger, not the Drupal system, will have to take care of creating some "who I am" info. I think there are a couple of Drupal modules to assist in displaying author info, such as Contact Link and Nodeauthor information, though I haven't tried them yet. Anyone have a comment on what they do?

3. Provide a way to contact you

Again, Drupal's got our backs: the spiffy Contact page, ready to go via simple enabling of a menu item. I like how it even allows you to set multiple contact email addresses ("website feedback", "sales", whatever you like).

Of course, you can add additional contact info (address, phone, etc.) in your profile page, or in a contact info block, etc. For clients, I always create a contact info block that they can choose to display on any page.

4. Create meaningful categories and chunk content

Ah, the power of a CMS. Needless to say, one of the reasons you and I are using Drupal is because of this great ability to tag our content with terms of our own devising, and chunk content using those terms.

5. Put your photo on the home page

Why, yes, that's my real photo at top left.

Seriously, if you're blogging as a real person, I agree that this is a good idea, and creates a stronger link with readers. (Rajesh, how about smiling a bit in that big Life Beyond Code photo!)

Things to do off your blog

1. Register a domain name and redirect it to your blog

Identity, identity, identity! I'm not aware of any special Drupal-related considerations related to domain names, but any blogger should definitely get his own name.

FWIW, I've been happier since I've stopped using a dedicated registrar, and started letting my hosting company (Dreamhost) hold my registrations. It's just easier to keep everything in one place. Though I'm still struggling to transfer my last domains from the registrar to Dreamhost; the current holder of the domains never makes it easy for you to transfer them away. : /

2. Include your blog link in your email signature

Definitely. A big pet peeve of mine: people who communicate by email on business matters, and include no contact info in their signatures. The downside for me: when I need to call such a person or send snail mail, I need to hunt for the info. The downside for the other guy: with every email he sends, he's missing a chance to direct people to his site. (And if he doesn't have a site – hey, buddy, get one! Anything!)

3. Build your personal brand

Well, can't argue with that. "Drupal Ace, friend and helper of the fellow Drupal newbie." Now to build that brand, all I have to do is actually be helpful...


There's lots more on the Blogging Starter Checklist – under Registries and Directories, the list starts getting into the more complex blogging-related services, many of which leave me scratching my pointy spade of a head. Stay tuned for Drupal and the Blogging Starter Checklist, Part II!


Drupal and the Blogging Starter Checklist, Part 2

Continued from last time: a look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site.

Last episode hit items in the Checklist's first two short sublists. This time, I start tackling the longer and richer "Registries and Directories" sublist. More than last time, it looks like there'll be several items the beginner blogger may not know much about – beginning with me, who's looking at the list with some trepidation. Well, whatever I don't know, it's now time to learn.

Registries and Directories

1. Get a creative commons license for your blog content

Sounds like a good idea! Have I done this? Nope.

If you're a Drupalite like me, you approach every task with a rousing battle cry: "uh, is there a module to do this for me?" That means a quick search on the page .

In this case, it looks like we've got a module called Creative Commons!

Alas, it's for 4.7, and I have no 4.7 site running to test it. Fortunately, there's a second module, Creative Commons Lite, available for 5.x.

Download module. Check Read Me. Hmm, looks like it creates a block; fine. Install. Enable. Follow instructions.

And when all is said and done, you should see CC license info to the lower left. Mm, feels democratic!

2. Get a feedburner account and direct feeds through feedburner

Wow, another ready-made module.

Not much in the way of instructions. Install, enable, check Administer.

I'm at a loss here. Seems I need to have a Feedburner account. Who what how huh? I don't know. Let's go check it out...

Okay, I have an account now, and it looks like I can add my Drupalace feed URL to my new Feedburner account, and track my RSS subscribers via the Feedburner website... But is that the point of this all? My module created a FeedBurner admin page, which lets me list my Feed URIs and then "Add Feed Redirect"... but what am I supposed to do here? Anyone got a clue for me?

3. Implement subscription chiclets

Got it! See the "Subscribe" buttons in my left sidebar. That's all courtesy of the FeedButtons module.

If you're not be-chicleted, get thee to the module.

Now, the FeedBurner site says something about replacing all my chiclets with a single "do all" button, but I think I'll wait to comprehend the whole FeedBurner thing before playing with that.

4. Claim your blog on technorati

Okay, another service to sign up for. Alas, my attempts to join return only errors when I try to submit a sign-up. Trouble on the technorati server today? I'll try again soon.

In the meantime, I see there's a nice-looking Technorati module to let me add technorati tags to my content.

Once I've got this taken care of, I can check out the Technorati Link Count Widget.

But before doing any more, I'll admit to confusion again. Technorati is new to me. I've checked out the technorati site before, and haven't found the key item: where's the page describing what technorati is and what it's for? Perhaps the site assumes everyone knows these things?

Can anyone tell me (and other readers): what do I want out of technorati?

Next time

That takes me through... let's see, four out of 25 items. Next time, it's on to item #5 and on – and perhaps with your help, Dear Reader, I'll have the Feedburner and technocrati functions properly set up.

Drupal and the Blogging Starter Checklist, Part 3

Continued from last time: a look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site.

I still have unsolved issues from last time: namely, what exactly one does with Feedburner and Technorati. Your advice would be a huge help, oh Reader!

On to the Checklist, starting where I left off:

Registries and Directories

5. Provide email subscriptions to your blog

Yes, your blog, distributed by email. It doesn't sound like a priority item, as your blog is already visible 24/7 and there's even an easy way to subscribe: RSS.

But not everyone is hep to the RSS thing, and some people do like their content delivered by email. Don't believe it? Here's one venerable info source that's polled its large readership to find out how they like their news. Take it as one data point out of infinite:

Rajesh suggests Feedblitz as a way to put your blog into email. Another service to check out!

Looks like a for-fee newsletter service. Fine for those who want it, but what do we already have in Drupal?

The Simplenews module is the Drupal solution I've used for one site's newsletter. So we've got that. But Feedblitz (as far as I can tell) puts your blog into email for you, while Simplenews is strictly create-your-newsletter-from-scratch.

There's Epublish, which looks like a tour-de-force solution for bringing together nodes into a publication, such as a newsletter.

But does that then tie in to Simplenews or another newsletter solution? I tried to play with Epublish in some older (4.x) installations, and was blocked by errors. I'm going to place this on the "to do" heap until I make time to experiment in 5.x. For now, the above is a pointer for anyone looking for a solution.

A question for the world at large: Do you know the Drupaliest way to cast your blog to the masses via email?

6. Link to your photo album

If you've for a Flickr album etc., make some nice links to it on your site. Not much to say about that one, and no Drupally catch.

7. Announce your blog to the world

Rajesh suggests another service, Pingomatic.

But we've got the basics covered with the built-in Ping module, right?

8. Link to your online bookmarks

Similar to #6 above, if you've got a or similar account, link to it. It's no doubt an easier way to build and provide a link collection than creating a links page in Drupal, though an external links page takes visitors away from your site.

Or is there some nifty way to integrate a link collection into your Drupal site?

9. Validate your feeds

In other words: make sure your RSS feeds work fine. Rajesh suggests the easiest way – subscribe to your own feeds in your RSS reader – plus yet another service for the interested to check out, FeedValidator.

(Note to Rajesh: You need to fix your link on this one!)

I'm not aware of any special Drupal twists to this topic.

10. Geo-tag your blog

I'm clueless about geo-anything, so this is another I'll leave solely to interested parties. The recommendation:

On the Drupal side, a quick search of modules reveals possibly related items: (Ah, Google Earth, how many hours have your bewitching maps nipped from my life so far?)

Anyone out there have notes on what you can do with geo-stuff and a Drupal site? (Including why you'd want to do it?)

Next time

This time around, there wasn't a suggestion I'm not already using (like pings) or that looks necessary for this site. But there are 15 items left on the list; let's tackle another handful soon.

Drupal and the Blogging Starter Checklist, Part 4

Continued from last time: a look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site. (I'm only copying the item headers from that list; head over there to follow along, and to see Rajesh's comments that you'd otherwise miss.)

In this episode: Another handful of list items turned over, examined, and either discarded or stealthily pocketed. This time it looks to be a service-o-rama: a big heap of yet more services to aid the blogger.

On to the goods, starting with item #11 of the Checklist sub-list below!

Registries and Directories

11. Claim your blog at Feedster

Feedster? Let's see... FeedBurner, FeedValidator, FeedButtons... and now Feedster:

Looks an RSS aggregator: a FeedWidget to display updated blog and other links on your site, created from your search keyword(s). Easy and quick enough to use, despite the indifferently opaque interface. Don't look all day for the "create an account" functionality up front; Feedster secretly keeps account login or creation hidden until the end of the "FeedWidget" creation. So jump in via the "1 Search" button, and you'll get to create an account at the end.

Using "Drupal" as a search term, within a minute I had code in hand for use in creating a FeedWidget. Back to Drupal, create a block, paste in the FeedWidget code (don't forget to use unfiltered HTML as your input format when pasting HTML code!), and there's my creation for the world to see: the greenRSS widget you'll see at the bottom of my left sidebar. As of this writing, that is. Should I keep it? I dunno; how Feedster picks the posts to appear is a black box, so I'll have to watch and see how meaningful the content is that appears.

By way of contrast, see my RSS aggregation feed at right. Less "widgety", but it's made with Drupal modules alone. (And, er, how did I make that? Via node/add/aggregation-item ? I forget... )

For what it's worth, I see no Feedster-related modules available. My verdict: It's nice if you want to bring in some feeds, though we already have Drupal ways to do that. And either way, my creating and hosting the widget doesn't – unless I'm missing something – do anything to promote me. : )

Anyone else have thoughts on Feedster?

12. Register your blog at Findory

Okay, register at Feedory... oh, sorry, that's Findory.

"Read. Learn. Personalize!"

Web 2.0 peeve: When you've got some new site/service to prioritatively aggregate my user-space social feed-peer widget-tracking streamcasts, or whatever it is you do, please spell it out. All journalist-like: who, what, where, etc. – especially, what does it do and why would I want it. "Read. Learn. Personalize!" Whoosh, that goes right by me. I sit glassy-eyed.

Rousing myself to semi-action, I find an "About Findory" link way at the bottom, where I see: "Our personalization technology builds a home page for each reader, recommending content based on what each person has read and what new content is published."

Okay, sort of a Google News-type service, drawing upon RSS feeds. Assuming that Findory has users, registering my blog there theoretically will help some find it. Good enough.

There's an "Add a blog" link way at bottom ("You'll never hide from Drupalace, functional links!") I add , and the rest is easy from there. Findory says they'll check me out and if I'm legit ("If?" Pah!), they'll add me to Findory feeds "within two weeks".

All righty. So, it seems that Findory is a human-selected set of blog feeds, for users who find that a good way to (presumably) locate more targeted, quality posts. If that works for you, add your blog and/or find your news at Findory.

No mention of Findory on the Drupal module list or other Drupaltine connection. So: Next!

13. Register at Blogwise

Wasn't that Frodo's slacker buddy? No, it's a blog directory – but appears defunct. No Blogwise mention in the Drupal modules list.

All together now: Next!

14. Register in the TTLB ecosystem

That's "The Truth Laid Bear". (I was all set to make fun of Rajesh's spelling, but I'll be darned, it's "Bear".)

Another blog directory. I'll make an account – anything for my readers. Apparently, I need an account to add a blog to the "ecosystem" – but having done so, I see no way to add a blog. I do see a confusing bunch of links, and error messages stemming from some.

If you've found this useful, please write in. Otherwise: No special Drupal connection, nothing to see here. Next!

15. Register at Blogarama

It's a simple-looking page, and gets points for a clear byline, "The Blog Directory". Good, no "what's this?" questions.

The "Add Yours Now!" link is visible enough. A little input later, I'm "subject to approval", but apparently I need to place a link back to Blogarama to get good placement in the directory. Hmm. I think I'll tack the link to the bottom of my Feedster block; just slap this stuff together whether they like it or not.

In any case: no special Drupal connection.

(Several minutes later: Nope, I don't yet show up in a Blogarama search for "Drupal". Is this another two-week-wait deal? Dang it, this is the 'Net generation; my attention span is measured in seconds!)


The kicker with these blog directories and the like: Would I even know if registering for these brings me traffic? Other than by polling users, I don't see a way to track the effectiveness of services like Blogarama and Feedster. But if you think they might bring users, have at 'em and report back on what you find.

Next time

Still a lot more to cover!

Drupal and the Blogging Starter Checklist, Part 5

Sorry for the silence; the Ace has been traveling for a while. It's back to the blogging deck to deal a new hand.

Continued from the previous quartet of installments: a look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site. (I'm only copying the item headers from that list; head over there to follow along, and to see Rajesh's comments that you'd otherwise miss.)

Yes, it's Part 5 in the series that's turning this site into one big experimental subject. In today's episode: Another five of Rajesh's suggestions for blogger support services, pinched and poked 'til they (and I) just can't take it any more.

Update from last time

I've still got the Feedster feed going on at bottom left, though after a couple of weeks I haven't yet found reason to get excited by that. If you've got an insight into the benefit to a site owner, please let me know.

In addition, I registered this site at two blog directory services, Findory and Blogarama. Whether either of these endeavors has brought new readers to my Acey brand of goodness remains an unknown, but a big "no!" is my guess. Despite a couple weeks passing, a search for "drupal" or "drupalace" on either service's site returns nothing. So registering on Findory or Blogarama looks like a black-hole waste of time to me.

On to the Checklist goods, starting with item #16 of the Registries and Directories sub-list!

Registries and Directories

16. Get Clustrmaps for your blog

Yet another service I'd never heard of. This one provides a site widget that shows the global locations of your site's visitors.

That all sounds fine and good, but I've been happy with Google Analytics to tell me whence visitors hail (welcome to, visitors from the United States, India, Canada, UK, Germany, Malaysia, Japan, Australia, Spain, and France, in that order!).

There is, of course, a Drupal module to assist you with Analytics (, though there's no Drupal module or function that I see for placing a visitor source map widget on your site. If you have an interest in the latter, give Clustrmaps a whirl and kindly report back.

17. Enable MyBlogLog click tracking

MyBlogLog is a service that has been on my radar for a while. You've probably seen its mark: a little block of blogger face icons in a sidebar.

And what does it do? As is too often the case with these Web 2.0 doohickeys, perusing the site doesn't make this very clear. Fortunately, there's that other Web 2.0 miracle that answers almost everything: Wikipedia! There we read:

MyBlogLog is a blogger community that is based in part on interactions faciliated by a popular web widget... Bloggers... can initiate a blog community for one or more blogs they author. Other registered members can subscribe to these communities, effectively bookmarking them for future reading and sharing... Bloggers can then display widgets on their sites which show MyBlogLog online community members who have recently visited their page... and are one way in which users connect with one another. All members can see certain basic information... [and] may also view more extensive information about traffic on their site for a small monthly fee.

And so on.

All righty. Some of this sounds like functionality I get from Google Analytics or elsewhere, but again, I've been curious, so let's take a shot.

There is a Drupal MyBlogLog module,, but for 4.7 only. No module for me; it looks like I'll be going commando with this one.

Register. There, I'm now Drupalace on MyBlogLog (MBL). Hmm, would I like MBL to make recommendations to me based on my browsing habits? I don't think so! Scary.

Okay, time to get code. I'll get the "Recent Readers" code, but will pass on "Top Links"; Drupal already makes it easy to see what's being read on a site.

And there we go: I've placed a Recent Readers block in my right sidebar. MBL also offers some CSS code for customization, a nice addition.

Here I am online:

And here are other MBL users who use "Drupal" as a tag:

Not a huge number; no doubt it'd ratchet up following an updated MBL module.

Well, now what? I'm not sure. Where's my widget that shows my "community"? No such widget creation option faces me; I'll assume that it becomes available when I actually have a community.

We'll see where this goes. To get started, I'll try joining a community myself – starting with that of the estimable Dries Buytaert (you do know that name, don't you, Drupalites?) Hmm, joining is easy enough; one could join communities willy-nilly while visiting MBL pages.

From there, I'll learn more as I go. It does look like a promising service, and unlike many of those I've come across in this blog series, MBL appears to be thriving and relevant. (But it appears I'm getting only a three-day trial of MBL Pro, after which I'll be downgraded to a regular account; I don't know what changes thereafter.)

I welcome reader thoughts on how site owners can best make use of MBL, and whether there are any Drupal connections I'm missing.

18. Publish your conversations from other blogs to your blog via CoComment

Well, at first glance it looks interesting – a place to track all of your "conversations" on the web – though an attempt to view the explanatory video has filled my Safari screen with text gibberish (something that shouldn't happen with an .mp4 file). Crash.

A second attempt and crash later, I think I'll leave this to someone else to explore. There's no Drupal module for CoConnect; if it looks useful for your blogging exploits, please check it out and let me and others here know what it does for you.

19. Leverage the power of HitTail to get more traffic

Another new one. In his overview, Rajesh appears to have shifted from writing his own mini-review, to pasting the service's own self-description: "HitTail reveals in real-time the least utilized, most promising keywords hidden in the Long Tail of your natural search results. We present these terms to you as suggestions that when acted on will boost the natural search results of your site."

To HitTail's credit, there's a "What Is It?" section that helps explain things. The video does it best:

The service aims to point out "long tail" keywords that can better increase your showing in natural search results, as an alternative to buying pay-per-click Adwords or similar services. In other words: HitTail gives you a list of "long tail" keywords and suggests you write articles full of those, so you'll attract searchers for those topics.

But one early fact: HitTail bills itself as a tool for sites with a lot of content (100+ pages). So there may not be much point in my trying it out yet on this site.

In addition, I've already got Google Analytics to point out the keywords people use to find my sites. What's more, there's a Drupal module that claims to extract keywords from referrers. And because this card aims to please, I'm going to test it out for you.

Easy enough. It places a log inside Administer > Logs > Recent keywords, which reports keywords used to reach the site, along with the search engine name. Or should, that is, as soon as I give my new installation a little time to catch that incoming information.

Those tools are there to tell us what keywords people use to find our sites. There are other services to find out what keywords people are using to find everything and anything. For an up-to-date peek at top keywords, take a gander at the Google Trends Top 100 (and get caught up in the excitement, or fear for the human race; your choice), Yahoo Buzz (Britney is way above Jessica Alba? Not in Aceland!), or Dogpile Search Spy (now with regular Filtered or spicy Unfiltered!).

Useful stuff. But I can see what HitTail claims to offer that's different: a unique look not at the keywords that reach my site, or the top keywords that everyone is clamoring to claim, but the other, lesser keywords that I could conceivably dominate if only I'd pepper my content with them. Yet I don't yet have a firm grasp on this business of putting search terms to use in this way – I'm creating sites to write about given topics and themes, not to write about whatever random words people are searching for; how would I (and should I?) do the latter?

I'm not knocking the concept; I'm saying that it's still a foggy area for me and I could use further enlightenment. As always, if you have experience or thoughts on the topic, please write in!

20. Give back some link love with WhoLinked

Who links to you? How can you tell?

You've got your referrer log, at Administer > Logs > Top referrers. But if your log is like mine, it'll show the good stuff mixed in with internal self-links (what's up with that?) plus a lot of incoming Google searches, and only for a couple weeks anyway. What's a better way?

I'm not aware of another module to add functionality here. On the services side, Google Analytics has you covered. You can also just ask the search engines directly. Google's "link:" tool is famous: do a Google search for "", and you'll get a big list of pages linking to that domain.

But surprisingly, Google's tool is also infamously incomplete; for reasons I know not, you'll get only a little subset of linking pages – in's case, nothing. That's a heck of an ego-bruiser, until you discover that Yahoo kindly offers a much friendlier count. Try this service:

I've added a link in a block at right, "Who links here". Click and see the Yahoo love.

But what Rajesh is suggesting here is openly displaying a list of who links to you, as a way to reward those linkers with some front-page linky good lovin' of your own. Let's see what WhoLinked does for us here.

Looks like there's some ready-made aid for major blogging platforms like WordPress. Drupal falls under "other blog type", but that's okay, there's nothing scary behind the link. Within seconds, you'll have some code.

Hmm, grabbing some quick code via the "Get It" tab, I got a block that displayed a very unexciting list of search engines, even though I know there are Drupally sites that have linked here.

I think this is the trick: go to "Edit It", and you'll find a way to register. Do that, and the WhoLinked site displays a better list that, for me, includes and the such. It then lets me remove my own site from the list, and make a few more tweaks.

But enabling the new code in a block on my site, I still see search engines, not the "real" list that WhoLinked showed me on its site. See the results at right, under the Yahoo link. Maybe it takes time for meaningful results to show; I don't know. If it starts to work well, it'll be a useful service for this blogger, alerting me to any new sources of traffic without my delving into logs or Analytics.

Next time

Whew, that's enough for this installment. Next time, I wrap up Registries & Directories.

Drupal and the Blogging Starter Checklist, Part 6

Continued from the previous quintet of installments: a look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site. (I'm only copying the item headers from that list; head over there to follow along, and to see Rajesh's comments that you'd otherwise miss.)

It's time for Part 6, and that means more self-surgery on this site as I try out the ideas in the Checklist. In this episode: the last five items from the Registries and Directories sub-list. Here goes:

Registries and Directories

21. Provide target website previews via Snap Preview

You've probably seen this: you hover over a link, and the linked web page pops up in a little graphic window. The idea is that you get a tiny peek at the linked site before you click.

It's a small kindness for visitors: theoretically, they can look at that tiny preview and decide, "no, I don't want to go to that site", thus saving a trip.

I was pretty skeptical of the point of this. Say I see a link – but it's not just a link, it shows me a page preview the size of a large postage stamp. So... well, so what? What am I going to say – "Eww, look at the orange gradiant in that header; no thanks!" The previews are much too small for the viewer to actually read text.

However, I see from Snap's web site that there's a bit more to the service. First there are the above web page previews; not terribly useful in my mind, but I suppose that the iconic representation of a web site might jog your memory in a useful way, such as "oh yeah, that site; I remember it now. I definitely want to visit it again." But there are also "snap shots" showing photos, videos, stock charts, and more. And these really could be useful: they're a way to quickly show these items to your visitors without a) sending them away from your site to some other site; or b) actually embedding the linked items into your site, taking up your real estate.

What's wrong with embedding the goods into your own site? Nothing, often. But imagine situations where you might not want to do so. Say you link to some YouTube videos in a sidebar block. It's probably not useful to directly embed those videos in the block; they'll take up a ton of vertical space, and will almost certainly be too wide for your block as well. But if you let Snap toss up a little pop-up YouTube video when your visitor hovers over the link – ah, YouTubey goodness without the real estate demands. Also, if I correctly understand how Snap works, you're going to find it easier to paste in a simple YouTube link and let Snap do the rest, than to actually embed YouTube code in your block or node.

And the Drupal connection? Lo, we have a Snap Preview Anywhere module!

Let's see what we've got. No explicit instructions with the module, but you'll find minimal notes on the configuration form. (After installation, I found it in an unalphabetical location, at the bottom of Administer > Site configuration.)

There's a note that you need to get a key from So sign up with Snap, and get the code they supply for insertion into your site. You won't need all that code – the module does the lifting for you – but you need to extract the key from the code. Look for the part of the code that says key=; your code is the string after that, up to (but not including) the semi-colon that ends it.

For example, my code includes

key=09e5c5af31e93426e43bbea45eb98376&amp; (with a few characters changed for security).

I insert the key 09e5c5af31e93426e43bbea45eb98376&amp in my Snap settings configuration form.

I clicked "Save configuration", and – wow, instant action. You should now see the previews on this site if you hover over any outgoing link.

(Tangent: With the exception of links created by widgets like MyBlogLog, you'll see my outgoing links marked with a little arrow icon, courtesy of the External Links module, . I like that little visual notifier. Snap allows the option of placing another little icon denoting a Snap preview, and I see that this appears even on links within third-party widgets. Snap Preview Anywhere supports this option too. I don't know whether I'll keep using this, though; my links are getting pretty icon-heavy!)

There are some options within the full Snap code that the module doesn't support, like the little Drupal Ace icon I created expressly for the purpose; if I were embedding full Snap code in my pages, that icon would appear in the Snap preview windows. But that's okay. The Snap Preview Anywhere module, while not covering every Snap feature, makes it easy to embed Snap previews in your Drupal site, and looking at the results, I kind of like the convenience of peeking ahead at links.

I haven't yet tried this with links to videos, photos, audio files, etc.; I don't know yet whether the module and Snap will automatically grant me those media types' unique previews.

Anyway, fun stuff! What do you think? Are these Snap previews on my site (on my site as of this writing, anyway) a convenience or an annoyance?

22. Get cool widgets from MajikWidget

MajikWidget offers site widgets for polls, voting, rating, and more.

But I'm not going to say any more here, simply because Drupal already offers, via countless modules, more widgets than any of us can even keep track of. And MajikWidget's offerings are for-fee; as Drupaltines, we're spoiled by a bounty of free goodies. (Take this opportunity to again thank the core Drupal team and the army of third-party developers. It's incredible what's being handed to us, for nothing more than the wish that we'll somehow give back to the community in whatever way we can.)

Still, the next time you're looking for some widget that the Drupal community hasn't yet provided, check for it on MajikWidget.

23. Register in BlogTopSites

This service, which appears to be calling itself simply Blog Flux now, is another blog directory.

Okay, I've registered Drupal Ace there. Easy enough. My submission will be reviewed by humans before it appears; I don't know how long that'll take.

There's more than just a directory, I see. Blog Flux says it aims "to be the single source of services for bloggers". How far along it is toward that goal, I don't know. I've never heard of it, but I'm hardly the expert to ask; Rajesh, a pro blogger, recommends it, so that means something. In any case, offerings include things that Drupal modules may already perform satisfactorily for you: a pinger, polls, anti-spambot email cloak, etc.; and things that you may find novel: a blog button maker, forums on blogging, a comment watcher for web pages you frequent, a web hosting service directory, etc.

There's a blog theme directory too, though with only one theme for Drupal.

Looking at the number of forum posts, theme downloads, and other clues, I believe Blog Flux is very far from being a heavily-used resource for bloggers. But poke around; you may find something useful. And I'll let you know whether my site submission leads to anything interesting.

24. More widgets from WidgetBox

Tons more widgets.

This time, they're free! But otherwise, my comments for MajikWidget apply here too: you're on your own in searching the vast trove here, and finding whatever it is that you need and Drupal doesn't already offer. (Like, okay, Drupal doesn't offer a ready-made cat-shaped clock widget with a swinging pendulum tail. Our favorite CMS isn't perfect, all right?)

25. Post your LinkedIn Profile via LinkedInABox

If you do the LinkedIn thing (i.e., receive frequent "requested to add you as a connection" requests from people you don't vaguely remember : ), and you'd like to enable more direct personal connections with your blog readers via LinkedIn, this could be a very nice widget.

I don't see any Drupal module providing similar LinkedIn support.

Next time

That finished off this segment of the checklist. But wait, there's more to write about – about the rest of the Checklist, and blogging on Drupal in general. (Or just blogging in general.) Stay tuned!

Drupal and the Blogging Starter Checklist, Part 7

Continued from the previous quintet of installments: a look at Rajesh Setty's Blogging Starter Checklist, with a particular eye toward applying its advice to blogging on a Drupal site.

This time, a change of pace: I'll look back at all the past Checklist suggestions I undertook, implemented, or otherwise subjected myself to, and report on results.

Yes, results! That's what makes the world go round. Results put the spin in the globe, the worm in the tequila, the... uh... the drupe in Drupal...

Ahh, I don't even know what I'm saying. Let me start with this:

Does any of this work for you? Tell me!

First, a shameless request. Installments in this series on blogging have turned in a split verdict on visitor reads: half have nearly or well over 400 reads, while the other half sputter at just over 100 reads. Yet I don't think any are uninformative. You may think otherwise, of course; I have to expect that some initial visitors were intrigued by the topic, but said "ho-hum" to my posts and trundled off.

Please let me ask the following, Good Reader:

1) Is this series boring or not of much use? If so, please say so – and suggest improvements, if you have an idea – in the comments.

2) Is this series interesting or useful? If so, please tell others, via a blog of your own, via the "Email this page" link at bottom, or by whatever means work for you. I have a few more installments queued up in this series, and can start any number of new series on blogging (or web dev in general) using Drupal, but will only move ahead if I'm sure someone's interested!

Links for the series so far are:

Drupal and the Blogging Starter Checklist, Part I

Drupal and the Blogging Starter Checklist, Part 2

Drupal and the Blogging Starter Checklist, Part 3

Drupal and the Blogging Starter Checklist, Part 4

Drupal and the Blogging Starter Checklist, Part 5

Drupal and the Blogging Starter Checklist, Part 6

I hope the low readership numbers for some of the installments are just a fluke. Your (brutally frank) comments, and/or your efforts to let people know of the series if you think it's of interest, will be a big help in determining whether and how to continue.

Checking the Checklist: what's worked and what hasn't

On to the main event. Of the many Blogging Starter Checklist suggestions I've taken up in this series, here are those with some follow-up of note:

From Drupal and the Blogging Starter Checklist, Part I

1. Enable search on your blog

Naturally, I've had search from the start – and since that post, even found a fix for my broken Google web search. See
Fixed: Google web search block. (And go ahead and try a Google web search using the upper right block. Go ahead, I dare you.)

2. Link to your profile

Haven't heard from anyone who's used the Contact Link and Nodeauthor information modules.

From Drupal and the Blogging Starter Checklist, Part 2

1. Get a creative commons license for your blog content

Yep, I've been placing those on all my new content. Actually, there's an annoyance involved with that: the Creative Commons Lite module requires that I choose a license for all newly-created content! I don't care for that at all; why can't I leave a particular piece of content with no license if I desire? Other than that point, I'm happy with what the module does.

2. Get a feedburner account and direct feeds through feedburner

Update on this: Okay, I can now go to the FeedBurner web site and see how many RSS subscribers there are to this site...

Ooh, that's not pretty. Lots of work to do.

Is there any other purpose to this FeedBurner? Anyone?

4. Claim your blog on technorati

In the post, all I claimed was ignorance of what Technorati is and what it's supposed to do.

I can now go to Technorati, search for, and see that I have an Authority of 4 (is that good? I doubt it!), and a Rank of 1,372,336 (hmm, no doubt about whether that's good!).

But now what? What does Technorati do for me as a blogger? Ah, services without instructions! Love 'em!

Any words from the Technorati cognoscenti would be appreciated.

From Drupal and the Blogging Starter Checklist, Part 4

11. Claim your blog at Feedster

Everything worked as promised, but I'm removing the Feedster block I had set up at left. No particular need here for another news feed.

12. Register your blog at Findory

About six weeks after submitting my RSS feed to Findory, a search for Drupalace does turn up my posts, but only if I search under the "Web" tab (and not "News" or "Blogs"). Meh.

14. Register in the TTLB ecosystem

I never did submit my site at TTLB, not readily seeing any way to do so. As follow-up, I'll only note that I did receive an email from the site, telling users that the site is alive and making improvements.

15. Register at Blogarama

A couple weeks after submitting my site, Blogarama emailed to say they'd added to the directory. Great! But as I mused in the post, will that actually bring people? A search on Blogarama for "Drupal" reveals Drupalace among a few other sites (though oddly, a search for "Drupalace" turns up nothing).

From Drupal and the Blogging Starter Checklist, Part 5

17. Enable MyBlogLog click tracking

MyBlogLog quickly switched me from Pro to the free version after three days. I'm keeping the widget up while I learn more about what good it does.

18. Publish your conversations from other blogs to your blog via CoComment

In response to my report of problems, I received a post comment from a member of the CoComment team. They say they've fixed bugs, so if you've got an interest in the service, give it another look.

19. Leverage the power of HitTail to get more traffic

Now here's one that really interests me, especially after receiving a comment to the post from a member of the HitTail team. So I went and signed up for the free version.

I didn't find the sign-up process particularly smooth, especially as I found myself being asked for payment information when I only wanted to first test-drive the free service. Closing the page on the payment info request seemed to leave me registered for the free service. So that worked, if in some unclear way.

My bigger problem is this: I can't get the service to work. I placed the supplied code into this site, yet any attempt to look at my Search Hits only gets me the message "There are no New Search Hits", along with the suggestion that perhaps I don't have code enabled in every page. Yet I've confirmed that the code is in my pages, exactly as HitTail supplied it. (You can confirm the existence of the code yourself: pick any page on this site, view the source code, and do a search for "HitTail" within the source code.)

I've followed the other troubleshooting hints, such as making sure I supplied the correct domain name. (Then there's this suggestion: "Close all browsers, open a new browser window and search on" What does that mean? "Search on"? Is that a very broken way of saying "Go to Google and perform a search for your own domain name"?)

Until I get this working, I have no report on HitTail. : (

Next time

Those are the past items for which I have some follow-up comments. Next time, it's on to more blogging tips, and any Drupally connections to them.