Blog

So you’ve been reading blogs for a while, and you want to know how to start a blog. It’s really easy, it pays off long term in your career, and it’s a great way to meet awesome people. I’m going to tell you all the things I wish somebody would have told me way back when I got started blogging in 2002.

Decide Why You’re Starting a Blog

People decide to get into blogging for different reasons. Understanding exactly why you’re doing it will help you determine what kind of blog you need to write and how you need to set it up:

  • Make Money Blogging: the easiest way to make money blogging is to blog for an existing industry site. In the database industry, this means MSSQLTips, SearchSQLServer, SQL Server Magazine, or SSWUG. They’ll pay you by the article right from the start – but only if you qualify as an author. These sites need to make money in order to pay you money, which means they’re looking for established writers (or else they’re paying really low rates). Go to their site, go to the Contact area, and send them an email talking about what you’d like to write about. As of this writing, at least one of those editors is paying new authors (as opposed to established big-name DBAs) around $25-$50 per article. It will be a long, long, long time before your own blog will be paying you anywhere near that much money.
  • Blogging for Name Recognition: If you want to get a lot of eyeballs quickly, sign up for a blog author account at an established site like LessThanDot, SQLBlog, or SQLServerCentral. They won’t pay you to blog, but because those sites already have huge readership numbers, they’ll get you the most name recognition in the least amount of time. Starting your own blog is going to mean toiling unappreciated for months or years before you hit the “big time” – or whatever that means for blogging.
  • Blogging for Career Success: If you want to make a personal investment of your time in order to gain long-term career traction, then start by writing your own blog under your own domain name. It’s not going to pay off for a while – in fact, it’s going to cost you around $100 per year, and it’s going to suck up some of your time. I’m not saying this is an either-or proposition: you can write both for yourself and for other sites. (That’s the approach I took when I got started.) I highly recommend starting with your own personal blog under your own control, though, to build your own brand and benefit your career.

If you’re going to blog to make money or gain name recognition quickly – and there’s absolutely nothing wrong with that – then you can stop reading here. The hosted blog site will handle the plumbing for you.

If you’re going to blog for yourself, then listen up and repeat after me: “I am blogging for my long-term career success.”

As you read through the rest of this article, there’s going to be times when the advice will seem odd, but we have to circle back and remember why we’re blogging: for our personal long-term career success. Not to make money quickly, not to get our name out there overnight, not to make compromises on our integrity in order to get popular, but for our long-term career. So now let’s get started with some of that questionable advice….

Don’t Expect Overnight Success

Whether you define success as visitors per day, money from ads, or the number of paparazzi camped outside your door, you are not going to be happy with your success metrics for months or years if you start your own blog on your own domain name.

If you want to achieve any of those things, I’d suggest that instead of blogging under your own domain name, go blog for one of the big existing blog sites. There are some brilliant people blogging over there, and success over there is contagious. If you like one blog at SQLServerCentral, for example, odds are you’ll go subscribe to more of them, or at least check them out. You can piggyback off guys like Andy Warren just by blogging for the same site as him – your name will be on the site near his stuff.

The downside is that you don’t really own that. You can have a falling out with somebody, you can get pissed off, you can get pissed on, or the site might get bought by somebody that decides to festoon ads all over your content. If you decide to publish a book later, and you include snips of your blog entries in the book, you won’t have to worry about content ownership. Perhaps the worst problem, though, is that when a company wants to associate their name with your good content, they won’t be paying you – they’ll be paying your blog host.  In my personal case, I was approached by a company (Quest Software) who wanted to hire me as an evangelist.  I’m pretty sure I wouldn’t have gotten that opportunity if I hadn’t been running my own blog with a large following, but on the flip side, Aaron Bertrand got hired as an evangelist for SQL Sentry even though he blogged at SQLblog.com.

Why You Should Start a Blog Under Your Own Domain Name

When you decide to start off on your own, it’s really tempting to use a blogging service like Blogger, Live Spaces or WordPress.com. These sites have all the plumbing already set up for you, and they take care of all the tricky parts about web hosting. On the other hand, you end up with a blog domain name that looks like this:

http://myblogname.blogger.com

The problem with that is that you never really own it. The provider can change how your blog looks, change how it works, or just plain go out of business. A company that seems huge today may be nearly gone tomorrow, and it’s already happened in the blogging business – think GeoCities and Tripod. When you get fed up and want to change blogging providers, your web site name will change to:

http://myblogname.someotherblogservice.com

You’ll start over from scratch in the search engine rankings, people will have to move their bookmarks, and you’ll lose a lot of what you’ve worked for. If you’re going to take the hosted service route, just save yourself a lot of heartache and go right back to the first step where we talked about writing for a SQL Server blog community site.

My recommendation: spend $10/year to get your own domain name like www.myblogname.com. I use GoDaddy.com for my registration, and I use Namedroppers to help pick domain names.  Give Namedroppers a list of key words that you might want in the domain name, and it’ll mix and match to show which ones are taken and which are available.

It can be intimidating trying to pick a web site name – there’s so many choices! – but I recommend that you….

Use Your Real Name as Your Blog’s Domain Name

When I first started my site in the 1990s, I had WickedLife.com. At the time, I was into the goth thing (I know, I know) and I thought it was the coolest domain. It was catchy, people liked it, and I had a little following going, but times changed and I stopped being wicked. I realized that wasn’t really the image I wanted to project, and not everybody was going to think it was cute, so I switched to BrentOzar.com.

Back then, I wasn’t blogging about SQL Server – I was blogging about systems administration. Then I got a couple of read-eared slider turtles, and I started writing about those because I couldn’t find any good information on the web about them. I got most of my hits from people searching for how to set up their aquariums, what to feed their turtles, or how to take care of them. I also wrote about a server monitoring program called ServersAlive, and I wrote ASP templates for other sysadmins to track their database servers. Then, over more time, the site’s focus shifted to SQL Server, and here we are today. Two or three years from now, maybe this blog will be mostly cloud-focused, because that’s the direction my interest seems to be aiming.

The beauty of using your real name as your domain name is that the site always reflects YOU – your interests, your personal focus, and your career. You don’t have to worry about rebranding some blog, worrying about whether people will find the new one, getting your readers to read a different blog, yadda yadda yadda.

Right now, you might be really deeply excited about SQL Server or .NET, and you might want to pick up a cute, funny domain name like SQLServerTriggerMaster.com. What happens five or ten years later when you’ve started working with Oracle or MySQL, or when Microsoft changes the product name?

This recommendation isn’t a hard and fast guideline. An online persona like SQLAuthority or SQLAgentMan works for some guys too. Other guys start up a different blog for each of their technology focuses – Dmitry Sotnikov took this approach when he started CloudEnterprise.info, for example, and I follow all of his blogs too because they happen to coincide with my interests. If you’re passionate about that, go for it, because a big part of long-term blogging is to…

Be Yourself

I’ve talked to a couple of startup bloggers who’ve asked about what they should or shouldn’t include on their blogs. If you want to talk about it, you should blog about it. If you’re worried that your potty mouth will cause people to avoid your blog, I give you TheBloggess.com, one of the funniest blogs I know. She is gut-bustingly funny and censor-bustingly nasty. If she tried to clean up her act, I’d unsubscribe.

Would you want to go out to lunch with somebody who only talked shop, constant shop, and nothing but shop?

Nah, me neither. I like knowing that the person on the other end of the intertubez is a real human being with a real life that has great days and crappy days. I know other blog readers who say they don’t want any of that personal stuff, and I point those readers toward sanctioned, cleaned-up blogs hosted by corporate sites. If you’re writing a personal site, it should have personal stuff. Not too much stuff, though – I want to know you have kids, but I don’t want to know when they did their first #2 in the toilet instead of the diaper. Save a little something for the family reunions.

I’ve also been asked what to write about in terms of SQL Server content. The big rule of writing is to write what you know. The more you know about the topic, the easier the words will come out. If you try to write about a subject that you don’t already know, even if it’s CLOSE to something you already know, you’re going to have to spend time learning it and getting it right before you can write about it. You don’t have that kind of time, because you need to…

Blog At Least Once a Week

If you’re not expecting to spend an hour a week updating your blog, hang it up. Look at your calendar right now and point at where you could work in that hour a week. If you can’t do it, throw in the towel. Or maybe consider blogging for one of the commercial sites that I talked about early on, because they’ll be thankful to get your blog entries whenever they get ‘em, and they have enough other bloggers to make up for your periods of quiet.

In reality, blogging sucks up a lot more than an hour a week, and you can’t just budget a single hour on one day a week to do it. You’ll be responding to comments as soon as they come in, answering questions, tweaking your blog look and feel, etc.

I have a routine that makes it easier: I’m hard-wired to wake up at the crack of dawn, and Erika sleeps in for a few hours. On the weekends, I still can’t sleep in, and if I’m in a writing mood, I’ll spend that time writing blog entries in advance or checking up on my web site metrics. Sounds vain to look at your own metrics, but I’m not doing that to find out if I’m in the “in crowd” yet. I like to find out where my users are coming from, because people will write articles on their own blogs or web sites, and those articles might include a link to me. I can see in Google Analytics when people are coming to my site from another site, and then I can go look at that other site to see what they said. (Brent Ozar is a narcissistic as-HOLD ON A MINUTE….)

Just because I’m writing on the weekends doesn’t mean my blog entries come out on the weekends, though, because you need to…

Post Your Blog Entries on Weekdays

Internet traffic curve looks like this:

Weekdays are high, and weekends are low.  It sounds creepy to say that you should only post blog entries when people are looking, but here’s the sad fact: some of us get in on Mondays, look at an avalanche of blog posts that hit over the weekend, and we just hit Mark-All-As-Read. If your blog comes in during the day while we’re working, on the other hand, it stands a better chance of getting read.  That doesn’t mean you have to be sitting by the computer waiting to hit Publish: good blog software like WordPress will let you schedule posts ahead of time.

Use Self-Hosted WordPress to Run Your Blog

There’s a bunch of ways to get your domain name up and running on the interwebz, and I think WordPress is the best because:

  • It’s open source, so it’s likely to stick around for a while
  • It’s absurdly popular, so there’s a ton of documentation on it
  • There’s a bazillion plugins to extend it in cool ways

The easiest way to get started is to use a hosting company. BlueHost, GoDaddy, and Hostgator offer one year of web hosting for around $100. (There are many more hosting companies, but I’ve used these two for a couple of years and been very happy.) Between this and your domain name, we’re talking about $110 per year, which is a lot more than a free hosted solution, but this is an investment in your career.

After setting up your blog, it’s tempting to start working on the way it looks so that it suits your personality. I’m going to hold off on that particular topic for now because it’s a monster, and it involves designing and building a personal brand. I think that’s really important, but it needs to be a separate article. Instead, I’m going to keep going and hit the technical side of blog setup first.

Configure WordPress for Search Engine Optimization

Ugh, that phrase Search Engine Optimization is so slimy. It’s an industry of snake oil salesmen. I hate it. But here’s the reality: if people are going to find you, you have to show up in search engines, and there’s a few easy tweaks we can make to WordPress to help Google do a better job of analyzing your content.

With the WordPress default setup, the link to a blog post looks something like this:

http://www.myblogname.com/?p=125

That means nothing to me, and it means nothing to search engines either. Go into WordPress, Settings, Permalinks and choose Custom. Put this in the edit box:

/archive/%year%/%monthnum%/%postname%/

And click save. (There are some people who don’t recommend using the year & month fields, and skipping those is completely OK too.) That will make your blog post links look something like this:

http://www.myblogname.com/archive/2008/12/how-to-write-a-stored-procedure

That makes more sense to end users, and it’ll make more sense to Google too. Search engines use lots of bits of information to determine exactly what is on the web page it’s looking at, and the URL is just one part of that complicated formula.

Show the Full Post in Your RSS Feed

Go into WordPress, Settings, Reading and set “For each article in a feed, show” to “Full text”. That puts the full text of your blog posts in the RSS feeds. RSS feeds are a convenient way for readers to stay on top of dozens or hundreds of blogs without pulling their hair out.

The other option is to just show the first paragraph or so in the blog post, and then force readers to click on a link to visit your blog site. Readers hate that because it slows them down, and the whole reason they use RSS in the first place is to read more blogs faster. Readers (me included) will simply unsubscribe from a blog that pulls that trick.

Why would people ever use that option? Because they have ads on their web site and they want people to see the ads. We’re not that kind of people, remember, because we decided early on that we were blogging for career development, not to make $15 per month.

The All-In-One SEO Plugin

This does some behind-the-scenes housekeeping to make WordPress blogs more accessible to search engines.

To install it, go to the All-in-One SEO Plugin web site and download it. Unzip it and FTP the contents to your web site’s /wp-content/plugins directory. WordPress automagically detects plugins in any subdirectory of that, so I like to make a subdirectory per plugin to keep the housekeeping simple. After uploading it, go into WordPress, Plugins, and scroll to the bottom where it lists plugins that can be activated. Click Activate on this plugin, and you’re in business.

It works great out of the box, but if you’re really ambitious, you can pay attention to these fields when you write a blog:

Title – the text that appears in your browser’s title bar. If you look at the top of your web browser right now, the title of the program window is “Best WordPress Plugins | BrentOzar.com SQL Server DBA”. If you scroll down and look at the text at the top of the article, though, the page starts with “How to Start a Technical Blog, Part 2: WordPress.” The All-in-One SEO Plugin makes this magic happen. There’s a lot of weird science here, but in a nutshell, the Title should be very search-engine-friendly, whereas the blog article title should be short, funny and friendly. Don’t take this as the gospel truth, by the way – this is just what I hear from our SEO guys.

Description – the text shown to users when they see your web site in search engine results, like this:

Keywords – a few words or phrases that really describe what the blog post is about. For example, in this blog entry, I might use these keywords:

  • blogging
  • WordPress
  • WordPress plugins
  • configuring WordPress

Whew – what a pain in the rear, right? I know, I rarely screw with that stuff too. But before you abandon hope, forget manual configuration – there’s a few more plugins we can install that’ll make it much easier for people to find your blog.

Use the Google Sitemaps Plugin and Google Webmaster Tools

This builds a sitemap file that Google’s bots use to analyze the contents of your entire web site without having to actually scan your entire web site. It’s a map of your site, and for each page, the Google Sitemaps plugin notes how often that page has been updated. That makes it easier for Google’s bots to find what’s new on your web site more frequently. This is only anecdotal evidence, but I can say that before I had a sitemap, my blog’s front page wasn’t updated very often in Google – say, maybe once a week if I was lucky. Now, Google updates its cache of my site’s front page every single day. That’s helpful because I blog about recent technology news, and when people search for information about breaking SQL Server news, they can find it on my site easier – instead of not seeing it for a week or more.

Next, tell Google about your newly created sitemap. Go to Google Webmaster Tools and set up your web site. Tell Google about your site’s sitemap, and check back a day or two later. Google Webmaster Tools will tell you about any problems it’s encountered on your site (which shouldn’t be the case if you haven’t done anything nasty in WordPress) and provide you with some interesting metrics about how many sites link to yours, how many people are reading your RSS feed, and so on.

That’s only scratching the surface of metrics, though. To really dive in, Google gives us another free tool…

Use Google Analytics

Go to http://analytics.google.com and sign up for web site reports about your site. Google will give you a small snippet of code to put on your web site. The easiest way to make that happen is to install the Google Analytics plugin for WordPress, which will automatically insert the Google ad tracking code on every page.

Even if you don’t care how many people are reading your blog, I’d suggest setting up Analytics because if you start caring down the road, you’ll have a nice in-depth history of your site’s activity. It doesn’t cost anything, doesn’t slow your site down, and doesn’t affect your readers.

Google Analytics tracks a ton of metrics about your site. Here’s some quick definitions:

  • Visits and Pages/Hits – Visits is the number of people who came, and pages (or hits) is the number of pages that were viewed.
  • Bounce Rate – the percentage of people who saw one page and left. Obviously, you want that as low as possible.
  • Avg Time – how long people are spending on the site. I don’t think this is really useful for the site overall, but it IS useful when you’re comparing your pages. I like to know which pages people are spending the most time on, because that means they’re reading it carefully and digesting it.
  • Entry pages – Entry pages are where people came in, and no, it’s not always your home page. Search engine users will land on whatever page they found in the search engine, and referred people (folks who clicked on a link to you from some other site) land on whatever page the other site linked to.
  • Exit pages – The last page the user saw before they screamed in horror and closed their browser (or clicked on a link to go somewhere else.)

I’m a DBA, so of course I love to slice and dice my data, and that’s where Segments come in. Segments break up your audience into groups like Search Engine Traffic, Referrals (people who clicked into your site via a link) and Direct Traffic (people who came straight to your place). If you’re just getting started, then you won’t have too much data to slice and dice, but just make a mental note of that capability and come back to it in six months.

Even if you don’t do anything else to your blog, you’ve already made a big difference in your ability to be found by readers. But there’s a whole lot more, and here’s some of my favorite plugins to take your blog to the next level.

FeedBurner Gets You RSS Stats

Some of your readers will subscribe to your blog using RSS feeds. I won’t explain RSS here, but the short story is that even if you use Google Analytics, you still won’t know how many people are subscribed to you unless you get a free FeedBurner account. FeedBurner, also owned by Google, gives you easy-to-read statistics about how many people have their virtual eyes on you.

The FeedPress plugin changes most (but not all) of the links on your blog to point to your FeedBurner feed, which gets you the statistics. If you’re using a custom WordPress theme to change the way your blog looks, that theme may have hard-coded links pointing to your own WordPress theme. (I had that problem here on my own blog.) We won’t cover hand-editing WordPress themes here, although I will touch on that later in the article.

PingPressFM Gets The Word Out About New Entries

Whenever I post a new blog entry here, my blog automatically updates my status on Facebook, Twitter, Brightkite, etc to let people know that I posted a new blog entry.

There’s two parts to this: first, set up an account on Ping.FM and set up your social networks there. Ping.fm is a cool web service that lets you update all of your networks in one spot.

Next, install the PingPressFM plugin and configure it with your Ping.FM info. Then, whenever you post a blog entry, schazam, people know about it. It even works when you schedule blog posts in advance – this particular post was written days before it actually went live, but when WordPress published it on a scheduled basis, bam, out went the Tweets and whatnot. I do this because I’m not always in a writing mood: when I am, I’ll crank out a week’s worth of posts in a few hours.

Subscribe to Comments Keeps the Conversation Going

When I read blogs, sometimes I’ll leave a comment if I have a question for the author, if I disagree with something, or if I just want to thank the author for doing a great job on the topic. But I’ll never know if the person responded, because I rarely go back to the same blog entry again to check for updated comments.

The Subscribe to Comments plugin solves that problem by letting commenters check a box to get emailed whenever a new comment is added to that entry. That way, if a user posts a question and then I answer that question in the comments, they’ll get an email notification. That quick feedback helps viewers know you’re paying attention to their comments.

There’s another way to solve this issue using Intense Debate, a company WordPress bought recently, but WordPress is undergoing changes and I don’t recommend this plugin for beginning bloggers. I use it here on my site, but it’s not quite ready for public consumption. It’s buggy as hell.

WP-DB-Manager Handles the Boring Stuff

Nice blog you got there.

It’d be a shame if something happened to it.

Rather than paying the mafia for protection, grab this plugin and it will email database backups to you every night. Works best with email providers like GMail who allow absurdly large inboxes.  This plugin ONLY backs up your databases, not your files, so for even more protection, check out Vaultpress.

More Plugins I Use

Once you’ve got the basics in place, here’s a few more you can play with that I’ve found helpful:

  • SyntaxHighlighter Evolved – so your posts show up with color-coding as shown on this post.  It relies on Javascript that runs after the page is loaded, so it’s a little slow, but the results are great.
  • Contact Form 7 – lets your visitors send you email easily as shown on our contact page.  Totally customizable forms, and can send the user to another thank-you page after submitting an email.
  • GoCodes Link Shortener – run your own short-links service inside WordPress.  Useful to give audiences short resource links for your presentations as described here.
  • Search and Replace – if you need to change a lot of links or words in your old posts, you can do it on the database side fast.
  • W3 Total Cache – WordPress ain’t fast.  The more plugins you add, the more queries it runs on every page load.  Your site will quickly fall over when someone famous links to you.  W3 Total Cache helps by caching pages, database queries, and more.
  • WP-to-Twitter – tweets whenever your new posts are published, including scheduled posts.

I’ve covered the mechanics of setting it up, and I’ve left the look and feel for last. Hey, isn’t that how we IT people always work?

How to Make Your Blog Beautiful with Themes

WordPress uses a “theme” system to bundle images, CSS files and PHP templates into a single package (well, zip file). You can browse through the official WordPress theme gallery, or you can search the web for “WordPress themes” and find all kinds of good stuff. Go browsing around, find one you like, and then make sure you really, really like it exactly the way it is.

Don’t ever, ever, ever edit a theme.

Unless you make a living doing CSS work, unless you understand the intricacies of browser rendering engines, unless you put absolutely no value on your time, don’t ever open the hood and start monkeying with the theme.

Want proof? Check out this screenshot of SQLServerPedia by Stuart Ainsworth (who blogs about SQL Server at CodeGumbo.com):

The perils of web page styling

The perils of web page styling

That’s SQLServerPedia, and no, it’s not supposed to look like that. It looks fine on Firefox on a 22″ monitor, looks fine on IE on a 19″ monitor, but it looks like boiled hell on IE on a 22″ monitor.

Why does it look like that? Because us Questies couldn’t find a theme that was “just right”, so we worked with our graphics department to throw all kinds of things into an existing theme. It’s been a long, hard slog through CSS files and PHP templates, and it’s never freakin’ done. Fix one thing, and three other things pop up. I’m a SQL Server DBA, not a CSS guru, and it’s frustrating to have stuff like this get in the way of the technical stuff I want to accomplish, like writing and editing articles.

I’ve run into this same problem on my own personal blog. Every year or two, I’ll get itchy about the way the site looks, and I’ll want to change the theme. Mix things up a little. Keep it fresh. Whatever. So I go around looking for templates, and I’ll find one that’s really close, and if only I could change one thing…bam, the CSS nightmare starts.

Even worse, when you tweak a theme, you can’t upgrade to newer versions of that theme without rebuilding your tweaks. Theme editors sometimes update their themes by popular demand for certain tweaks (like easier resizing, or maybe different numbers or positions of sidebars) and you’ll want to use their free upgrades – but you can’t, not without investing more hours in a text editor. Blech.

My recommendation: pick a theme that meets as many of your criteria as possible, and then stick with that theme the way it is. So what criteria do we use to judge a theme?

Fluid Width versus Fixed Width

Fluid width themes will automatically expand when the reader has a big monitor. Fixed width themes are stuck at around 1024×768 or 800×600. The theme on my site right now is a fixed width theme, and here’s what it looks like on a 22″ widescreen monitor:

See all the wasted space on the sides?

See all the wasted space on the sides?

For an example of a fluid width site, check out Amazon.com. No matter how wide your monitor is, Amazon will suck up the whole thing:

Amazon uses the entire page width

Amazon uses the entire page width

There’s pros and cons to each approach. If I could find a fluid width theme I really liked, I’d use it, but they’re surprisingly hard to find if you want to use photos across the top. Decide early on which style you want, and don’t ever try to change a fixed one to a fluid one without professional web guru help. (And I don’t mean me, because I’ve lost days of my life to that thankless task.)

Don’t Worry About the Images

Most themes come with a stock photo across the top or down the side. Maybe it’s a happy couple, maybe it’s a house for sale, maybe it’s a goth kid with an eye piercing – ignore it. It’s easy to swap out photos.

For photos across the top of your theme, you can use your own photos, or search Flickr. Use Flickr’s advanced search and at the bottom of that search form, check out the Creative Commons options. You can check the box for only searching Creative Commons licensed content, and reuse those photos on your own site – as long as you’re not trying to make money, and as long as you give them credit for their photos. (Pay attention to the licensing.)

No matter what kind of site you’re doing, you can easily find funny images to put across the top, but…

Don’t Use Themes with Irregularly Shaped Pictures

Some themes can’t be easily edited because they threw so many graphics into it. This Japan-Style Theme has all of the big warning signs:

Note the wacko shapes and transparent edges of images

Note the wacko shapes and transparent edges of images

There’s all kinds of curved images in here, buttons with graphical backgrounds, transparent leaves on the background, you name it, it’s got pretty graphics. Problem is, if you want to swap one part of that out, it’s going to be a huge pain in the rear.

If you’re a graphic artist by profession, then show your stuff. If you’re a database administrator, any attempts to be a graphic artist are going to look – well, they’re going to look like a DBA trying to learn Photoshop. ‘Nuff said.

Know a Little About the Theme Designer

Themes come out, new browsers come out later, and the abandoned themes don’t always work well with new browsers. Ideally, find a theme that has been out for a while and has been updated at least once so that you know the original developer still cares about it.

When I got started, I chose my themes when they met these criteria:

  • The author cared enough to put a page on his own web site about it. Some themes are just on the WordPress gallery, and nothing else – the author doesn’t even have a home page. You can bet that theme will never be updated again.
  • The theme had a changelog. Holy moly. I’ve used SOFTWARE that doesn’t even have a changelog.
  • The author had a web forum for support.

These are way above and beyond what a normal WordPress theme has, but keep your eyes peeled and you can find a gem like this.

Wait – This Sounds Like a Lot of Work!

I think picking the right visual theme is harder than setting up the blog plumbing! But if you focus on the mechanics first, get the site up and running, and make sure it all works, then changing the way it looks is easy to do along the way. You can experiment with different themes all the time without having to blow up and rebuild your blog – WordPress makes that part easy.  These days, we’re running Headway, a paid theme that has all kinds of drag-and-drop customizations.  There was a bit of a learning curve, but man, is it powerful.

Enough with the technical details – let’s talk manners.

Ask Before You Use Real Names.

I deal with a lot of questions about how SQL Server works, how to improve performance on a server, how to improve a product, and so on. Ideally, I’d blog about all of them, but sometimes people don’t want me to mention their questions or name names. Before you say, “John Smith emailed me asking how to kill a process in a database,” ask them if it’s okay to use their name in the post. If not, just post a general blog article about how to kill a process.

Hint – here’s how to make that easier. When someone asks me a technical question, I like to kill two birds with one stone by writing the email reply knowing ahead of time that I’m going to copy/paste it straight into my blog.

Think Before You Trash Talk a Product

A while back, I threw Windows Home Server to the mat and body-slammed it, comparing it to the Ford Pinto. If the Microsoft Windows Home Server team decided they wanted to hire me later, and searched my site, they’d probably recoil in horror. Granted, I never want to work for the Windows Home Server team – nothing against that product, it’s just not a career goal I’d want to check off. But that’s not all – that team might include somebody whose career will intersect with mine. Or maybe somebody influential out there like Donald Farmer is madly in love with Windows Home Server, and he’ll never treat me with kindness again.

It’s a small world.

Take me, for example – a little over a year ago, I was having all kinds of problems with a database product. I wrote up a review of it, and I started it off by saying, “I hate badmouthing a product on the internet because it’s permanent.” A few months later, when I was in the job market, I ended up interviewing at one of that company’s competitors, and their executive specifically mentioned my review. He said he’d been impressed by how balanced it was, and that I’d clearly thought through it – that I wasn’t just writing, “So-and-so-sucks-butt-wind.” If I’d have written a slam-the-product article, I bet I wouldn’t have gotten the job I have today.

Don’t Disable Comments on Your Blog

John Gruber of Daring Fireball does this and gets away with it by saying that everybody who reads his blog is only there to read his thoughts, not the thoughts of other readers. He wants people to go to his site and absorb every single word on every page, and not get distracted by somebody else.

Ooookay.

If you’re just getting started blogging, don’t try that. You come off like an asshole who isn’t interested in reader feedback or opinions. (God, I love blogging for myself, because I can use words like asshole.)

Spell Check.

Some browsers have spell check built in, but if you’re not using one of those, copy/paste your blog entry into Microsoft Word before you post it. Look for little squiggly lines under the words, and fix those. It’ll look much more professional.

I know bloggers whose blog posts are completely correct – perfect spelling, good grammar, correct capitalization – but their emails make me think of Mr. Period at Penny Arcade. That’s totally okay – as long as your blog posts are at least relatively period-populated, you’re good to go. We’ll work on your emails in another series of blog posts.

And that’s a wrap!

Get out of here and go write a blog.

↑ Back to top
  1. Great stuff Brent, as usual. However, I have to disagree about blogging subject matter.

    “If you try to write about a subject that you don’t already know, even if it’s CLOSE to something you already know, you’re going to have to spend time learning it and getting it right before you can write about it. ”

    Not all of us are a SQL Jedi Knights, in fact some of us aren’t even Padawans yet. I find that I do my best learning while researching something for my blog. I check and double check things to make sure that I’m right and even then I sometimes make mistakes.

    Since one of my reasons for blogging is to document what I’m learning, I intentionally pick topics that I’m not expert at for that purpose.

    Even though you gave me advice about using my name as the URL, I chose to ignore it. I think I will eventually move to my name as well and use URL forwarding so as not to lose the readers when I transition.

  2. You know, I almost used Made2Mentor.com as an example of how to pick a blog name that wasn’t your own personal name, but was still long-lasting. No matter where your career goes, that blog name will still fit. I like it. You did good. :-D

    And you’re right about how writing on a new topic will make you learn it, but learning it does take time. If you have a few hours to invest in yourself and in the blog, it does pay off. I learn something pretty much every time I write a blog entry because I have to double-check my facts (okay, well, single-check, hahaha). I just wanted to warn readers that when they take on a grand new subject for a post, preparing for it will be exhaustive. If it’s not hard work, you’re not working hard enough, and you’re doing copy/paste style blogging. Some people do that and get away with it, but not guys like you and me.

    Keep up the great work, man!

  3. I have to agree with David. My blog was born to be a sounding board so I could straighten out my thoughts. Besides, it’s more fun than explaining SQL Server to my toddler, who keeps stealing back her crayons from me. I don’t really care about hits, I mean sure it’s flattering that someone wants to read my stuff but I do it for me primarily.

    I started a personal blog in 1999, over the years my family knows to go there to get news about my kids and my life. Once I really got into “geeky stuff” and started blogging about it they gave me a hard time, had no idea what I was talking about and so I moved my geek stuff to a new blog. I have yet to decide my favorite domain for it I own two and can’t decide but I leave my personal blog at myname.com

    I had no idea about posting on weekdays, I use wordpress, and I’m going to take your advice there.

  4. Oh, and I can’t believe you were a goth. Does the Goth Talk SNL Skit hit close to home? :)

    http://barney.gonzaga.edu/~tlarson1/gothtalk.jpg

  5. This picture from college will probably help illustrate it:

    http://www.brentozar.com/images/1993blackhair.jpg

  6. Good post! Couple ways you can split the difference on domain names. One is to use Feedburner and publish that URL as your blog URL, then if you change hosting you just update Feedburner and it all works. The other method is to use Blogger (or others I assume) and set it up to point to your domain, usually something like blog.blahblah.com.

  7. Absolutely! I’ll talk about Feedburner in part 3, too. I like it quite a bit.

  8. 1. I would pretend to be offended but my last post is about rape, midgets and phone sex calls so you might have a point.

    2. I was the only goth chick in my totally agrarian high school where people (true story) drove their tractors to school. It was a rough time.

  9. You, madam, are a gentleman and a scholar – wait, that’s not right. I mean, you’re super polite, because you could have said, “Look, Mr. Smartypants, I ain’t done none of that them there SEO stuff and I’m way the hell more popular than you.”

    Not that I’m keeping track of that stuff or anything. It’s not like I make a living managing systems that track numbers and metrics. (sigh)

    And your G1 review is freakin’ awesome.

  10. I’ll admit I’m a little behind the curve, but this series is shaping up to be good stuff. Are you going to get into the design aspects of it as well? Themes, fonts, etc. to maintain good readability or is that taking it into the weeds?

  11. Thanks! Glad you mentioned it – that’s the topic of Thursday’s post.

  12. I love your tips..

    regular blogging is one of the most important factors in technical blogging. IMO

    it’s good to learn new everyday, it will also improve my blog and thank you very much for that.

  13. Pingback: Weekly Link Post 71 « Rhonda Tipton’s WebLog

  14. Pingback: VCritical · Thinking about blogging?

  15. Pingback: Want to start blogging? » Yellow Bricks

  16. Pingback: Here I am | Arnim van Lieshout

  17. The good resource is informative and actual

  18. Pingback: Why Write a Technical Blog? | Benjamin Hysell

  19. Pingback: virtualprimer.info » Hello World!

  20. Pingback: Syndicating Your Blog at SQLServerPedia | SQLServerPedia

  21. Pingback: Hello world! - virtualprimer.info

  22. Crazy as it seems, in a world reeking with Blog-Smog, I have done it. I've gone and started my own blog. I've no idea what I'm doing, so I researched and found your very insightful article. I'm not spending my future 6 digit earnings at this point, but I do know what I know, and my clients call all the time with the same damn questions, so my blog is a space where I can answer them once and for all. I type faster than I can answer multiple phone :) I took your advice about my url and registered it on GoDaddy and now plan to publish articles only on weekdays. Thanks!

  23. Pingback: Who Pushed Me to the Edge… | Rob Paller

  24. I love reading your blogs. Thanks for the tons of info! :)

  25. I would like to set up a blog software package on my website. Do you have any recommendations that aren’t too expensive?

    Thanks,

    Bob
    703-787-3552

  26. Bob – yep, keep reading the next page of the article and I give recommendations for that.

  27. This reply written on Sunday, mailed on Sunday and could be deleted by you on Monday morn? 50 years, I have been a genealogist, family historian and a focused specialist for women’s lost lineages. There are stories I can tell. Some already written and are being sent all over the world as e-mails. Mostly, I’d like to see them all in one place.
    —a blog? well, there is an ability to answer questions due to experience and there is a gleam of fun in the process. If I post the stories to the web site GROUP HUGG in Ancestry.com? then THEY own everything I post and sell it back to people. Free enterprise? Is it possible to make any money from something so simple and complex as Granny Chronicles? thanks

  28. Judy – I don’t know what you mean by “Granny Chronicles”, but when I search the web for that, I find several web sites and blogs that already exist by those names. You may want to contact those authors to see how they’re doing it. Generally speaking, though, you can make money off blogging, but it’s not much.

  29. Brent,
    I just want to say thanks for the information. I have created a blog name for over two months and just haven’t been able to get started. I have co-authored a book, Pro SQL Server 2008 Administration, and it has been published now. So, I have to get going. I wish I would have read this article before I published a blog name, http://sqllazywriter.blogspot.com/, in the book. Now, I really don’t know what to do about my existing name. Do I add a link to a newly created site using my name or stick with the one that I have? Any advice will be greatly appreciated.

    Sylvester Carstarphen

  30. Pingback: Getting Started « Ryan Adams Blog

  31. Pingback: Blog your way to becoming a better DBA – John Sansom – SQL Server DBA in the UK

  32. Well, you seem to have some impressive blogging knowledge there! Thanks for sharing it with the rest of the world. I took note of all of this for my new blog. Thanks Brent!

  33. Pingback: A new blog is born | Allen Kinsel - SQL DBA

  34. Pingback: Interview with Mike Walsh about blogging | Brent Ozar - Too Much Information

  35. Pingback: Happy 1st Blogiversary to me | Arnim van Lieshout

  36. Pingback: Installing WordPress | SQLAndy

  37. Pingback: Tim Benninghoff : My blog is moving!

  38. Pingback: Jay's Blog » Hello World … my first posting

  39. Pingback: SQL Server Central

  40. Pingback: First post at the new site | andy.nifong

  41. Pingback: WP and Themes | SQL RNNR

  42. Dear Brent,

    I found your article while doing research as I am embarking on my first paid blogging assignment. Before I continue, thank you for your insight.

    Long story short, I will be writing technical articles and have to give the company owner a quote of my fees. Researching this as well, would you have any suggestions?

    Primarily, I have blogged about
    raising a family,

    http://www.bringingupfamily.blogspot.com

    selling avon,

    http://www.avonrepnicolemolino.blogspot.com

    submitted an article or two here and there and have a private family-only blog.

    I played around with cut and paste html code back in my myspace days
    http://www.myspace.com/ltlvr
    http://www.myspace.com/ambereddreams

    Now a days I facebook for networking where I have no use for such code.
    http://www.facebook.com/nmolino80

    I am dissatisfied with the templates I have used on Blogger and hate to admit, have no clue how to create one, not that I’ve taken the time to really try…

    Recently, I saw an ad on t.v. for GoDaddy.com and am considering the investment for a domain of my own name. My ultimate goal is to write books, which has always been a dream of mine. I have restrained the content I write about on blogs hoping to save the really good stuff for my New York Best seller. If you have any tips about breaking into print, I would be much obliged. And flattered if you happen to review any of my work.

    So now that I have your head spinning, I will say goodnight and look forward to hearing back from you.

    Thank you for your time and consideration,
    Nicole Molino~*

  43. Pingback: Creative Writing Pt II: Blogging - The SQL UPDATE Statement

  44. Pingback: Props to Brent Ozar | Kevin -=Conan The Canadian=-

  45. Pingback: Why I Blew My Training Budget On SQL Cruise | Mike Reigler's Blog

  46. Pingback: Post 0 - Adventures in Coding - Tom Marsden | Adventures in Coding

  47. Pingback: Some advices when starting a new blog | Undisciplined Bytes

  48. Hi there Brent,

    I’m just on the brink of retirement and have been into computers forever (VIC 20 C64 of late 70’s) but have never been involved with Blogging. I found this blogg from entering “How to …” into Google.
    I’ll be honest, I have a very small pension so I suppose I was hoping to earn at least some money until I read you very informative Blogg.

    My question (AT LAST) well two.
    ONE: How do people know about a particular Blogg? Do they simply ask a question from the command line or do they in some way know the blogg exists and go to it?

    TWO: My area of interest is teaching very basic Electronics and Electrics. I taught these subjects at night school in Ontario for a number of years to all kinds of people with no experience in any of the fields and I found it very rewarding. Do you think these subjects might form the basics of an interesting Blogg or are there so many out there I’d be wasting mine and more important other peoples time?

    Bestbregards Len Beasley

  49. Pingback: Un-SQL Friday: Branding | The SQL UPDATE Statement

  50. Pingback: How I became a DBA

  51. Pingback: SQL Server Central

  52. Pingback: Welcome to my world. | SQL3D

  53. Pingback: My Blogging Manifesto | Dave's SQL Blog

  54. Pingback: T-SQL Tuesday 14: Techie Resolutions for You not Me | John Sansom - SQL Server DBA in the UK

  55. Pingback: “So, Nords, how did you start blogging?” | Military Retirement & Financial Independence

  56. This is a great series Brent and one that I referred to often when setting up my own blog. One item that you don’t mention that is rather subtle but possibly very important is the WHOIS information for your domain registration. Some domain registrars offer to use their information for the WHOIS contact data, but most don’t and even fewer do by default. When registering for your domain with your hosting provider, it’s more common for the service to be available but still very rare for it be used by default. Many places require you to explicitly request it and usually charge around $10/yr.

    So why does this matter?
    Well, by default the WHOIS database is going to contain the same contact information you used to register the domain, including your full name, full address, phone number, and email address. Many people don’t want this information so easily accessible, especially when using a domainname with their real name.

    • Zach – thanks for the feedback. Call me crazy, but I don’t think there’s a lot of privacy in this world. If you’re going to be on the web, you need to be comfortable knowing that people can find you. If you don’t want to get found, building a web site is probably a bad idea.

  57. While I agree that in today’s age your physical location can ultimately found out, that doesn’t necessarily mean that one wants to make such information easily accessible. After all, information such as SSN and driver’s license numbers can also be had by a determined individual, but we don’t post those on our sites either.

    However, whether or not one should provide this information in their WHOIS isn’t the point I was making. The point I am making is that while many first time bloggers may be comfortable in using their real name, they may not realize that by registering a domain they’ve also exposed their full name, address, email, and phone number. I believe it’s something worth mentioning so that the reader is made aware of it and can decide what they are comfortable with.

    • Is there a way to control which of your contact information is made public? Or is it all or nothing?

      • Steven – well, that’s a tough call. Theoretically you can control it by being very selective about what you put online, but in reality, sites like Facebook.com don’t always honor your privacy preferences. For example, there’s been one announcement after another about how Facebook has given your personal contact info to other companies. Even if you just access sites via your phone and they send you a text message to confirm your identity, they may be storing your phone number permanently. The reality of being online is that there’s no real privacy.

        • Oh yeah, I’m with ya on FB. Well, I bit the bullet and setup a site with GoDaddy; they have a special right now. They have an option called private registration, where, for a few dollars more, they use a proxy service to register with WHOIS. The main thing I wanted to avoid was phone and email spam. Hopefully, that will take care of things.

          Now, I need to work on importing my blog and setting things up…

  58. Pingback: SQL University - Professional Development Week | SQLRockstar

  59. Pingback: You don’t call, you don’t write… | Random Thoughts of Jorriss

  60. Pingback: Do I like blogging? « Rabin's Ramblings

  61. Pingback: Tampa IT Camp 2011 Lessons Learned Part 2 | Sev17

  62. Pingback: UnSQL Friday 1: Branding | Matt Velic

  63. You mention Simple Code Embed, but it doesn’t add highlighting onto pages.

    Well, it can do – that plugin adds any HTML or JavaScript to a page that you wish (by default you can’t embed code, particularly scripts, within a post).

    However, it’s unfair to blame the plugin for being slow – it’s whatever you embed!

  64. Hi,

    Nice article, I’m thinking about starting a blog, however not sure if I should make it using multiple unrelated categories (Programming, Technology, Personal, Sports, probably movies and Misc meaning anything i came across that I found interesting) or should I stick to related categories like Programming and Technology.

    • Luis – it depends on your purpose in starting a blog. Right at the beginning of this post, I asked that question. So what did you decide for your answer?

      • If I have to choose any of these it will be “Blogging for career success”, but there’s more to it. The main reasons I want to start blog is so my future employers or employee have something to take a look when they ask “tell me about yourself” and to develop my communication skills.

  65. Hi,

    Do we have experts here for RES, red ear sliders?

  66. Pingback: Hello World! The introduction... | developerTrip

  67. Brent

    Your post goes back a while but it is still extremely relevant! One question for you… how do you go about avoiding all that spam… I get tons of garbage and am looking for a way to beat that… as a new blogger.

    Look forward to any insight or feedback,
    Andrew Brittain

  68. Pingback: In the beginning… | Earl's Technobabble

  69. Pingback: In the beginning… | Earl's Technobabble

  70. Pingback: Louis Davidson : Why We Write #2 - An Interview With Mark Vaillancourt

  71. Pingback: Enhance your career by blogging! | James Serra's Blog

  72. What plug-in (if any) do you use for the code blocks in your posts (example below)?

    http://www.brentozar.com/archive/2013/06/optimize-for-unknown-sql-server-parameter-sniffing/

  73. Great advice Brent, Comprehensive, thorough and quite useful. Once again thanks for sharing your experience.

  74. Pingback: Why Blog? - SQL Server - SQL Server - Toad World

  75. Pingback: Why Blog? | Simple SQL Server

  76. Thanks for this great article. I just want to create a blog about programming. Nice tips!

  77. very nice article. thanks for sharing such article.

  78. Brent, very nice looking site. I am looking to start blogging and will be taking your advice in getting up and running. Since this article was written in 2008, is there anything else significant in the blogging arena that a first-timer should be paying attention to today?

  79. Pingback: Blog Setup (SEO) | Natasha Green

  80. I have a couple random comments on this.

    Blogging once a week would be nice, but it’s not something where you should throw in the towel if you can’t do it from the start. Don’t make commitments, don’t force anything, think of it as an email you wish someone sent to you a couple years ago and write it (this builds on him telling you to be yourself, too). If you don’t feel inspired to write it at the time, it can wait. I’m giving bad advice for getting regular readers who check your site on a schedule, but what I feel is good advice for starting out or accepting that most regulars will just get your RSS feed.

    I personally blog about once a month due to work, kids, and the little life I fit between the two, and it’s turning out ok. I tried doing the weekly thing for a bit, and my posts seemed rushed and uninspired. Then I slowed it down, waited for my “the world needs to know about this” moments, and made longer, more thought-out posts that I have more pride in.

    Self-hosting isn’t as expensive as it was in 2008. BlueHost.com does it for $6/month with a 12-month commitment, and that includes your domain name. Now you’re talking about $72/year instead of $110. You can even get it down to $48/year if you do a 3-year commitment. I used WordPress.com for my first year, which cost me about $30 with my domain. Then I decided I wanted more features. I wasn’t ready for self-hosting when I started and automatic junk made me feel better. While I don’t regret starting that way, I did outgrow it.

    No matter what you do, make sure everything has a Description or Excerpt. You don’t need the SEO plugin for it all, but it helps. If you write this properly then you’ll see your posts eventually get higher in the search engine results than people are better known. The truth of it is that most people read the title and description in a search engine and don’t realize what site they’re going to until they’re there. I’m not the sharpest spoon in the drawer, but I’m pretty high up in some of the search results!!!

    I went against Brent’s advice about using your real name on your blog. Partially because my name is too popular to get, and partially because I felt that one blog should have one focus. Even Brent has two blogs with Ozar.me with stuff he says we don’t care about. However, we should all know why he takes vacations, which is advice that’s as good as or better than anything he says about SQL Server.

    He doesn’t mention it here, but does in other posts… Syndicate your blog! Early on you will get most of your views from syndication, it’s a morale boost in the start when you need it the most. Then, as time goes on, you’ll realize that your syndicated views don’t go up, they’re at the same rate they were always at. However, your views from search engines and return readers keep going up and surpass your syndicated views.

    I think Brent stopped all his syndicated stuff, with my guess being that it was done so he could advertise his services in some posts. As for me, I still syndicate because I don’t have a reason to stop. Someday I’m sure I’ll say something that doesn’t go over well with SQLServerCentral.com or ToadWorld.com, but, until that day, you’ll see me around there.

    Pretty much anything I saw here was as timeless as it gets on the internet, and I doubt I would have gotten so far into blogging without Brent’s advice.

    I doubt I would have commented at all if the once-a-week / throw in the towel thing didn’t rub me the wrong way. However, it’s giving me a chance to say “THANK YOU, BRENT!!” for all this advice.

    • Howdy sir. Thanks for the comments!

      About the real name stuff – I’m confused. What do you think ozar.me means? ;-) That’s my real name, man.

      About syndication – I actually changed my tune once I learned more about SEO. You get penalized if your content appears in multiple places. When people search for something I’ve written, I want it to be clearly visible in the search results as *my* content. That’s challenging at syndication sites when the author isn’t clear. Plus, now I make my living off the content, so I gotta make sure I’m taken care of.

      Keep up the good work!
      Brent

      • I know you have Ozar.me, BrentOzar.com, and probably even BrentLovesHearingHisOwnName.com (you can say this to someone who was voted as the person you most want to drink a beer with), but I went with SimpleSQLServer.com which sticks to a certain subject and audience. I can see this going both ways.

        I think you may have something with the syndication / SEO stuff for certain search engines. That could be why a good day for me is 3 views from Bing/Yahoo, yet I’m in the top 5 for certain search terms in Google and get over 100 views a day from there.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

css.php