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.
Updated 2016/09/05 with my latest favorite plugins. I’ve been updating this whole post over the years – I try to keep it pretty relevant since new blogs pop up all the time.
It’s pretty big, so here’s a table of contents:
- Decide why you’re starting a blog
- Why you gotta have your own domain name
- How to pick your domain name (hint: don’t)
- Getting a web host for WordPress
- Quick WordPress tweaks for best practices setup
- Choosing a visual theme
- Create your core pages: about, contact
- Blogging: what to write and how to write it
- Advanced: my favorite free WordPress plugins and tips
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 a Little Money Immediately: if you want to be paid by the word right now, without hassling with finding an audience, look at the kind of posts MSSQLTips.com runs, and then register to write for them. They’ll pay you by the article right from the start, and you can make over $100 per tip. It will be a long, long, long time before your own blog will be paying you anywhere near that much money. The drawback: you don’t really own your material here, so you can’t use it to build your own following.
- Build Up Name Recognition: If you want to get a lot of eyeballs quickly, sign up for a blog author account at an established site like 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. However, you don’t really own your place on the Internet here either.
- Blogging for Career Success: If you want to make a personal investment of your time in order to gain long-term career traction, then you need to write 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 $150 per year, and it’s going to suck up some of your time.
You don’t have to pick just one of those reasons & methods – you can write both for yourself and for other sites. (That’s the approach I took when I got started.) However, that’s MORE work, not less work. 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.
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.
So if you’re doing this for long-term career success, then listen up and repeat after me: “I am blogging for my long-term career success.” This drives the rest of the decisions you’re going to make. You’ll be tempted to take shortcuts along the way, and they’re not going to work.
Why You Gotta Have Your Own Domain Name
When you decide to start off on your own, it’s really tempting to use a blogging service like WordPress.com or Medium. 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:
The problem with that name 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:
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 like MSSQLTips or SQLblog.
Getting your own domain name costs about $10/year and just a tiny amount of work, but it is totally worth it. 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….
How to Pick Your Domain Name (Hint: Don’t)
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 – a lil’ consulting company.
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 SQLonIce works for some guys too. Other guys start up a different blog for each of their technology focuses. Whichever approach you take, though, don’t just include technology without personality.
Getting a Web Host for WordPress
It’s free, it’s open source, and it’s THE blogging software out there. Last time I looked, it powered over half of the web sites in the entire world. (Click on The Entire Internet on the right side of this graph.) It’s WordPress.
WordPress.org is the blogging app.
WordPress.com is the commercial hosting company that hosts the app. (They’re not the ONLY hosting company. They’re just one of them.)
There are three common ways to host the WordPress.org app, and I’m going to break it out in terms of your career progression:
Year 1: easy, cheap ($36/year), managed, but limited customization – WordPress.com – the for-profit company that builds the app (WordPress.org). They make hosting really easy, even with a custom domain name, and they manage the plumbing for you, but they limit the themes and plugins that you can use. This is a quick, easy way to get started, and it’s good enough for most folks.
Year 2: customizable, $300/year, but low power – BlueHost.com or WPengine.com – after you’ve made sure you’re going to stick with this hobby, you’ll want to install more powerful plugins and themes. (We’ll talk about those next.) These companies install WordPress on a server for you, and you manage it. Disclaimer: these links are affiliates, so I get paid when you use that.
Years 3+: powerful, scalable, $1200/year – WPengine.com – you won’t need this for the first couple of years, but if you really start to crank up on popularity and hit 100K visits per month, you’ll need to invest in a more powerful server to sustain peak loads (like when we link to you in our weekly newsletter.) For reference, we get around 400K visits per month, and we’re on WPengine’s Premium tier at around $600/mo.
If you go with a third party host like BlueHost or WPengine, then during the purchase process, make sure you choose a WordPress plan. That way, WordPress will be installed & managed for you rather than you just getting some generic control panel.
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.
Quick WordPress Tweaks for Best Practices Setup
If you chose WordPress.com for your hosting, you can skip this, because you don’t get these options.
Otherwise, once you’ve got WordPress installed, you’re going to log in at:
And it’s going to look something like this:
Here’s the settings you need to change:
Click Settings, General and change:
- Site Title – make it your name and interests for now, like Brent Ozar’s SQL Server Blog
- Tagline – don’t overthink it, just something like “Sharing what I learn about SQL Server”
- Save changes
Click Settings, Reading and uncheck the box that says “Discourage search engines from indexing this site.” You actually want your stuff to show up in Google.
Click Settings, Permalinks and click the radio button for “Month and name.” This way your blog post titles show up as part of the URL, which may help a little for search engine optimization.
And the plumbing is done! Now let’s make it pretty.
Choosing a Visual Theme
Because WordPress is so doggone popular, there’s a whole cottage industry of designers who build gorgeous WordPress themes. You can see them right inside WordPress by clicking Appearance, Themes, Add New – but that method sucks because you can’t tell which themes are being actively updated, or what features they have.
- Are selling a lot, so the author keeps them up to date
- Have a changelog somewhere on the page, with updates in the last few months
- Is responsive, meaning it’ll automatically look good on phones and tablets
- Targeted at bloggers, not e-commerce stores
Most themes are around $50, and totally worth it because they’re so gorgeous. Buy it through Themeforest, and you’ll get a zip file. Then in WordPress, click Appearance, Themes, Add New, Upload Theme.
Your theme may come with demo pages – install those, because they’ll give you a lot of fun ideas for the core pages you want to create.
Create Your Core Pages: About, Contact
WordPress breaks content up into two categories: blog posts, and pages. Pages are the stuff that you’ll have on your menus at the top of the site. (Yes, you can also put blog posts there, but let’s keep it simple for now.)
Every blog needs two pages: about me, and contact me. On my personal blog, my about-me page is all fancy and pretty because I stole most of the styles from the theme’s example pages. For years, on our company site, my about-me page was my resume. When you’re just getting started, the resume is easier because you can just copy/paste it.
For the contact-me page, use your theme to set up a contact form that emails you, or just have a list of your name, email address, and phone number. Yes, you’re opening yourself up for spam. Yes, you should be using a spam filter anyway.
What to Write: 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.
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.
Advanced: WordPress Plugins and Tips
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.
The Jetpack Plugin‘s Subscribe to Comments feature 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. Jetpack 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. Add the Jetpack plugin, then click Jetpack, Settings, Subscriptions, Activate.
Google Webmaster Tools – tell Google about your site, 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.
Google Analytics – 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 free Google Analytics by MonsterInsights plugin, which will automatically insert the Google ad tracking code on every page, plus show your Google reports right inside WordPress.
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.
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!
Now get to it. Blogging was the single best decision I ever made for my career and my personal security. I know it’ll help you, too. If you’re still not convinced, read my post, Rock Stars, Normal People, and You.