Have a Focus
Many technical blogs are just a mixed bag of peripheral tips and tricks. A developer will fix a problem, then toss up a short post on how he or she fixed it.
The weakness of this random-topic approach is that it doesn’t lend itself to building an audience. Just because I’m interested in one random tip on your site doesn’t mean I’ll necessarily be interested in any of the other random tips you offer.
What’s better is to build your site around a single focus. When I built AngularOnRails.com I decided to talk about Angular/Rails applications and nothing else. This means that if you’re building an Angular/Rails app you’re likely to find the majority of my AngularOnRails.com posts interesting.
Target Long-Tail Keywords
Long-tail keywords are long, specific queries like
white 1995 porsche 911.
The opposite of a long-tail keyword is a “head” keyword. An example of a head keyword would be something like
porsche or just
Long-tail keywords have two benefits. First, long-tail keywords tend to be easier to rank for because there’s less competition. I imagine that if I were to put up a page with the title of “White 1995 Porsche 911”, I’d have a much higher chance of attracting some search traffic than if I were to put up a page simply titled “Car”.
Second, long-tail keywords are more intent-revealing. If a person googles
car, who knows what the searcher is after. Do they want to learn about the history of cars? Do they want to buy a car? What kind of car? On the other hand, if someone googles
white 1995 porsche 911, we have a better idea of what the person wants. They probably either want to buy one or they want some desktop wallpaper. At the very least, we would have an idea of what to talk about on our page.
This is why on AngularOnRails.com I would go after very specific keywords like angular rails heroku or angular cli webpack heroku, both of which I managed to rank #1 for.
This brings me to my next suggestion which has to do with coming up with keywords in the first place.
Angular is backed by Google. Google has an incentive to produce documentation for Angular. Ruby on Rails is backed by Basecamp. Basecamp has an incentive to produce documentation for Rails.
But no single entity has a very strong incentive to produce documentation for the Angular + Rails combination. That’s why there’s a gap. That’s why, in 2018, there still aren’t a heck of a lot of great resources out there for Angular + Rails.
This fact—that big companies tend not to have an incentive to document combinations of technologies—translates to an opportunity for someone who wants to build a high-traffic blog. Since there’s very little (for example) Angular + Rails documentation out there, the bar is low to create the best Angular + Rails documentation in the world. This low bar is what allowed little old me to attract a fairly consistent 3,000-5,000 unique visits a month on a site that had just a handful of posts.
There are certainly many more underdocumented combinations of technologies than combinations that are sufficiently covered. And as new technologies emerge, new combinations are possible—combinations that could really benefit from some documentation.
There are a lot of possible intersections to cover. Here are some ideas off the top of my head:
- Angular + Rails
- Angular + Django
- Angular + .NET
- Angular + Java
- Angular + Node
- React + Rails
- React + Django
- React + .NET
- React + Java
- React + Node
Obviously a person could brainstorm a much bigger list than this. I googled each combination above and discovered that only one of the above combinations has a website 100% dedicated to it: my own AngularOnRails.com. So if you want to take advantage of the document-a-combination idea, the world is your oyster. Just make sure to pick a combination that has a high ratio of popularity to existing documentation. You don’t want to dedicate years of your life documenting a combination of technologies only used by 8 people worldwide.
Don’t Code Your Own Platform
You want to invest your time in building your blog, not building the platform that runs your blog. You shouldn’t build your own blogging platform for the same reason a carpenter shouldn’t forge his own hammers.
I use WordPress for all my blog sites even though I hate WordPress. The advantage with WP is that since 25% of the web uses it all the common features I’ll need are pretty well-worn paths. Themes, contact forms, SEO tools, content management—it’s all available.
I really don’t like the way most things work in WP but it’s less bad than the alternative of building it all myself, which I’ve tried. I’m not optimizing for a good user experience for myself. I’m optimizing for getting a successful blog off the ground in a reasonably short period of time.
Use Analytics Tools
Obviously it’s nice to know how many people are visiting your blog each day/week/month. Aside from that, one of the main things I use Google Analytics for is to tell me what my most popular posts are:
This tells me what’s working and what’s not. Once I see what’s working I can double down on those topics in order to get more traffic. The topics that don’t get traction I can stop writing about.
Google Search Console
Google Search Console tells me what keywords I’m ranking for, what my rank is, and how many people are clicking. Below is a snapshot of the last 90 days for AngularOnRails.com.
Most of the top keywords are some variation of
angular rails. It’s nice to see that those keywords are doing well but it’s not very useful information. The question I want to answer is, “What do I write about next in order to get more traffic?” I’m going for long-tail keywords to minimize the pool of people I’m competing with.
I do see a couple keywords mentioning test coverage, so that’s a candidate. Perhaps more broadly, I could talk about Angular testing and go deep into specific testing topics, topics that would lend themselves well to long-tail keywords.
Studying analytics is just one way to help decide what to write next. In order to make intelligent decisions I also ask myself:
- What have I personally found to be lacking online? What documentation do I personally wish existed?
- What have my readers been asking me to write about?
Crazy Egg lets me see where people are clicking on any page of my site. Are they clicking where I want them to click or somewhere else? If people aren’t giving attention to the parts of the page I consider important, it means I need to do a better job of structuring the page.
Build an Email List
An email list is a way for you to keep in touch with the people who are interested in the topics you write about.
From the other direction, an email list is a way for people who like you to be able to hear from you every time you have something to say.
Without an email list this type of ongoing relationship would be difficult. Your readers would have to remember to periodically check your site to see if there’s anything new.
Having an email list won’t directly help your search rankings but it’s so important that I wanted to mention it here. Presumably the reason you’re putting a bunch of work into your technical blog is because you eventually want to sell something, either literally or figuratively. You might want to sell:
- Consulting services
- The idea that the reader should work at your company
- A philosophical idea (e.g. “pair programming increases productivity”)
Whatever you’re selling, it’s much easier to sell to someone with whom you have a relationship than it is to sell to a stranger. Regularly communicating with someone over email (which, unlike social media, is one-to-one and private) is a very effective way to build that relationship over time.
And again, this isn’t just about advancing your business agenda. It’s also good for readers who want to hear from you every time you have something to say.
Create an Authority Piece
Google’s main ranking factor is the quantity and quality of links pointing at your site.
If you want to get links, create content that people will want to link to. That advice might sound overly obvious but for me it was really helpful to get into that mindset. Whenever I think of writing something I ask myself, “Will this be so good that people will want to share it?” Often the answer is no. In those cases I scrap the idea and move onto a new one.
I’ve noticed that big, long, definitive resources tend to get shared and linked to a lot more than brief, thin posts.
A good example of one of these big long resources would be Michael Hartl’s Ruby on Rails tutorial. I can’t count how many times over the years I’ve pointed people to this tutorial as the best starting point for Ruby on Rails that I know of.
Another resource I’ve personally shared a lot of times is Brennan Dunn’s Double Your Freelancing Rate. This product started out as an ebook and has morphed into a course.
I wouldn’t be sharing these things if they were just 500-word listicles. These are hefty resources that have the potential to seriously help the reader.
This is what I mean when I say “Authority Piece”: some in-depth resource that demonstrates expertise on a particular topic by being incredibly helpful.
An Authority Piece could be an ebook, a print book, a publicly available online tutorial or a paid course. A blog itself can even serve as an Authority Piece. But the technique I’m describing here is that of putting an Authority Piece on your blog.
For me, my biggest authority piece on AngularOnRails.com is my ebook, Angular for Rails Developers. After that it would probably be my Get Started with Angular 4 and Rails 5 tutorial (which I’ve now moved to CodeWithJason.com).
My Authority Pieces aren’t major ones. My ebook started out at fewer than 50 pages. My “Get Started” tutorial isn’t that long. It doesn’t always take a grand effort to put together something worth sharing, especially if you employ the “Exploit an Intersection” tactic to play in an area where very few people are competing.
Plug Into Other People’s Audiences
I’ve learned that one of the fastest ways to build traffic is to plug into someone else’s existing audience.
One of the biggest traffic sources for AngularOnRails.com is GitHub. Someone created an issue on the Angular CLI project asking about deployment. I had written a post about Angular CLI deployment so I wrote a comment on that issue with a link to the post. People appreciated the link since it was helpful and relevant. That and a couple other similar links have been big traffic contributors for me.
I was also able to send traffic to AngularOnRails.com by being a panelist on Ruby Rogues. Ruby Rogues has a large listener base. Listeners got to know who I was and found out about my website. We also did a whole episode just about Angular and Rails which definitely drove a lot of traffic.
Podcasts are probably among the best ways to drive traffic and earn links. Podcast interviews are relatively easy to get. A link is nearly guaranteed. As a bonus, the act of hearing someone’s voice is a much stronger and faster relationship-builder than just seeing someone’s written text. When you hear someone’s voice on a podcast repeatedly over time, you start to feel like you know the person.
If you want to guest on podcasts I would recommend that you find a podcast guest similar to yourself, then find out what podcasts he or she has guested on, then reach out to those podcasts for an interview.
There’s also the tactic of guest posting. I understand that Google doesn’t necessarily view guest posting in the most favorable light, so guest posting might not bring a ton of direct SEO benefit, but in the right circumstances it might help drive substantial traffic.