I've noticed a few new SQL blogs spring up over the last month or so and someone asked me on Facebook this morning about linking etiquette so I thought I'd lay out a few quick thoughts I have on the subject – some "dos", mostly "don'ts" – as general advice for successfully blogging in the SQL community.

Don'ts 

  • If you're starting a new blog, how are you going to get readers to follow what you write? By writing about something interesting to them. One mistake I see a lot of people making is starting a series that simply rehashes material that's been out there for ages. For example, do we need another series on how SQL Server data structures are put together? Do we need another series on choosing the right non-clustered indexes? And so on. Unless you're putting a different spin on the topic, or introducing new material, it's been done before. Blog about stuff you've discovered that other people *haven't* blogged about ten times before. I know I'm kind of breaking this rule with this post because I'm sure others have written similar posts before, but an advice post is different from a technical post, and this is my spin on it.
    • Steve Jones (blog|twitter) makes a good point in a comment below – paraphrase "if you're using your blog to show-off your professional skills, blogging about something that isn't new can be worth it." I'd still say that there should be a new twist to the material, throw in some anecdotes, and link to some prior art too.
  • Don't be scared to start blogging. You may not be the best writer, but "if you build it, they will come" – popular misquote from the movie Field of Dreams. It can take practice, but it's really satisfying to see people reading and commenting on your stuff.
  • Don't use four-letter words in your posts. Or racism or anything else that's guaranteed to put people off. I swear like a truck-driver, but I don't like reading it in blog posts. You need to be able to express yourself without swearing.
  • Don't plagiarize. Plagiarism means copying other people's work and passing it off as your own (through deliberate or accidental lack of attribution). It's also a violation of copyright – copying work without asking. You're not allowed to do this by law, and it's very, very bad manners. The SQL community at large is vehemently against plagiarism. If you want to quote a paragraph of material, copy a list, or re-use an image, ask the person first. Most likely they'll say yes (I always do if asked first).
  • Don't tweet about your blog post using the #sqlhelp hash tag. That's not what it's for and you'll annoy people.
  • Don't tweet about your blog post multiple times in quick succession, or at high frequency (e.g. hourly). You'll annoy people.
  • Don't copy chunks from Books Online or whitepapers. Reference them with a link.
  • If you're correcting some misinformation that you've seen on the Internet, don't link back directly to the post you're correcting. That makes it personal. Others may disagree on this, but I do it this way.
    • Gail Shaw (blog|twitter) makes a good point – link back to the original misinformation if it's in Books Online or a whitepaper – agreed.
  • Don't be scared of doing short posts announcing something, or a really long post that goes into depth on a topic. For a long post, I like to put headings every so often and a summary at the bottom.
  • Don't get fixated on page view numbers. If you blog good stuff, you'll get a following. I track the numbers for the various SQLskills.com blogs through Google for a couple of reasons: various Microsoft programs (e.g. MVP and Regional Director) like to know what kind of community reach the blogs have, and I like to see what topics people are most interested in.
  • Don't post NDA information. If you're in doubt, ask first. There's no such thing as asking for forgiveness afterwards when it comes to NDA material.

Dos

  • Make it entertaining and let some of your personality shine through. People love to be entertained while they learn. 
  • Use a spell-checker. I always take the blog posts and stick it in Word to check spelling and grammar – it found 4 spelling mistakes in this post. I crnge when I reed things that ara spelt wrongly. Beware of apostrophe usage especially. (Did you notice the typos in the middle sentence?)
  • Put in links to people and their posts. I like to do links like this: And Brent Ozar (blog|twitter) wrote a similar article about snow-blindness in cats here. That's actually a quote from the excellent movie Talladega Nights. People like to have their stuff linked to, and then you'll see people linking back to you.
  • Tweet about your blog post using the hash tags #sql and #sqlserver, and anything else that's *relevant*.
  • Split your prose up into digestible chunks. If I see a page-long paragraph, I move on. I like to use bullet points too (you may have noticed :-)
  • Use the same nomenclature for describing features, algorithms, internals as everyone else does.
  • Make sure what you're posting is accurate, and clearly explained. 
  • If you use someone's name, make really, really sure you spell it correctly. I see Randall very often because people don't bother to check. I'm used to it, but it still rankles.
  • Same thing for company names. I see SQL skills, SQLSkills, SQL Skills. None of which are correct (it's SQLskills) - do the due diligence.
  • Use catchy, descriptive blog post titles. If people are skimming RSS feeds, you want your post to stand out.
  • Invite feedback through comments, and make sure you respond to comments when appropriate. If someone takes the time to ask you a question after they've read through your post, give them the courtesy of some of your time to respond. Then they'll continue to read your blog.
  • Remember that everything you post on your blog will be preserved for all time by Google and Bing. This means prospective employers, spouses/partners, children, parents can and will see what you're posting.
  • Check with your employer whether you need to put a disclaimer on your blog and whether you can make (even oblique) references to anything at your work.
  • Be careful if you're a consultant and you blog about something you did for a customer. Make sure they're not going to be annoyed with you.

These things work for me – I have a successful blog (you're reading it aren't you? :-) – and many others too.

The final "don't": don't take personal affront if you're doing one of my "don'ts" – think about whether you should change for the better.

And the final "do": do let your knowledge and passion for SQL Server shine through your blog posts! Enjoy yourself!

PS A lot of the tips in my long post Public Speaking: A Primer also apply to writing good blog posts too.