I am often asked the best way to start a blog. My answer hasn’t varied much over the last few years, so I’m finally going to capture my answer as a series of recommendations.
If you’ve heard of it, I’ve used it for this site.
I started this website in 1999, which at the time of writing makes 20 years of blogging. In that time I’ve probably used every major blog platform that’s existed, from pure HTML, Ruby, Node, Python, self-hosting, multiple third-party providers, all the way to my current setup.
Anyway, all that means is I’ve made lots of mistakes in these last two decades—mistakes that I can hopefully keep you from repeating.
Ok, so no matter what you do, pay attention to these.
1. Your domain is your identity; pick it carefully
You need to decide if it’s a site about you, or a site about something specific and temporary.
I mostly recommend firstnamelastname.com, like the domain you’re on, because it gives you maximum freedom to explore stuff you care about That domain grows with you. But if you have a specific project that you expect to have for at least 70 years, feel free to use something different. Err on the side of being too broad with your domain rather than too narrow.
Domain name changes are damaging to site reputation, so try to avoid them.
You don’t want to start a blog at 25 called blackberrytips.com, find out in 15 years that you’re actually into Buddhism, and end up writing about meditation on a domain with an ancient tech device in the name.
2. Use a solid domain registrar, like Google or Cloudflare
Be sure to lock these down with two-factor authentication.
I personally would stay away from groups that talk about how cheap they are, or who use other silly advertising to get you to sign up. Again, your domain is everything, so protect it.
Protect your domain’s DNS the same way, and consider using your domain provider as your DNS host as well.
3. Use a simple and logical URL structure
90% of SEO is making it easy for Google to read and understand your site.
Spend a lot of time in the very beginning thinking about the structure of your site and the structure of your URLs. In general you want as few / slashes as possible in a URL, and I don’t recommend using the date as your leading structure.
Simple and descriptive are the keys to a good URL structure.
Ideally you want maybe one level deep (like /blog, /articles, /research, etc), followed by 3-5 primary words that describe the post, e.g., /blog/so-you-want-start-blog. That’s what makes it easiest for Google to read your content.
What to Avoid (Don’ts)
Don’t do these things.
Avoid Third-party Blogging Platforms
Don’t listen when they tell you they’ll be there forever. I’ve seen dozens of them say that only to be gone in 5-10 years.
Unsupervised Learning — Security, Tech, and AI in 10 minutes…
Get a weekly breakdown of what's happening in security and tech—and why it matters.
Every few years a new blogging platform comes along that is the slickest looking thing around. Blogger, Tumblr, Medium, Squarespace, etc—they all promise the world and end up going out of business eventually. Or worse, they sell out due to financial hardship or greed.
Either way, you’re left doing a migration that takes tons of time and probably messes your site up in the process. Don’t use them.
What to do (Do’s)
Do these things.
Use Common and Popular Software
Common and popular means it gets lots of love and lots of scrutiny, which are both good things.
You don’t have to pick the most popular software out there, but don’t pick number nine either. Going with one of the top 2 or 3 options means your platform will have:
Better security (because more people are looking).
More support from an active community.
A longer lifespan.
Pick Software Without Lock-in
Good relationship partners don’t find tricks to keep you from leaving.
Make sure you pick a software package that has incentives that are truly aligned with independent content publishing. This is why you want to avoid the platforms mentioned above: they always (eventually) try to do things in non-standard ways, make it difficult to migrate away from them, and/or will store your content in a proprietary format that doesn’t export well.
If You’re Not Technical, Consider Using a Service
If hosting a site isn’t easy for you, use a service.
Using a hosted blogging service isn’t a problem, you just want to make sure that it’s a pure one.
Pure means that it’s clean hosting of one of the software options above that’s popular and that doesn’t lock you in—as opposed to their own software on their own platform that doesn’ really export well.
Ok, so since I’ve just given advice so far, here are my prescriptive recommendations.
Get your domain from either Google or Cloudflare.
Get your DNS from the same place.
Lock them both down with 2FA.
Either build yourself a VPS or find a host for your blog.
If you’re self-hosting, I recommend AWS or Linode.
If you’re using a service I recommend FlyWheel or Pantheon.
For the blogging software itself, I recommend WordPress or Hugo—in that order.
Make sure you (or your provider) keeps your entire stack updated regularly.
The primary thing that will make your blog popular is consistent creation of unique content that’s at least 1,000 words in length. Everything else is highly secondary.
Don’t overthink it. Once you’ve done the above, focus on the writing, not on the tech.
For 95% of people (and 75% of tech people) I recommend WordPress. It’s built on PHP, which is generally a mess, but it has so much scrutiny and inertia that it really is the best publishing platform right now. If you stay updated and avoid sketchy plugins it’s a fairly secure platform.
For extremely technical people who are not looking for optimized SEO, are willing to do a lot more configuration and tinkering, and/or who need maximum security, I recommend Hugo. It’s a static site generator, meaning it’s just pure HTML. This severely limits you in what you can do on a modern blog with plugins, but if you know for a fact you only have a very narrow use case, and being high up in search rankings isn’t a priority, Hugo is the way to go.
The most important thing to do is not think about your blogging platform once it’s in place. Spend the time researching upfront (like you are now), make your decision, and then don’t re-evaluate more than once a year or two. Your content is what makes a blog, not the tech stack. Stressing and over-indexing on the tech is just another excuse not to write.
A key feature of both WordPress and Hugo is that you can export from them easily—either to each other or to whatever is coming next in 10 or 20 years that you might switch to.
If you decide to self-host either WordPress or Hugo, make sure you keep your host in order—not just your blog software. Enable automatic updates so that you can go longer periods without doing manual updates to Linux. People get busy, and they forget to do it, and that’s how blogs get compromised. Automate it.