I am often asked the best way to start a blog. My answer hasn’t varied much over the years, so I’m finally going to capture my answer as a series of concise admonitions.

I started this website in 1999, which, at the time of writing, makes 20 years blogging. In that time I’ve probably used every major blog platform that’s existed, which I’d guess has been no less than 20. I’ve done everything 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. And they’re mistakes that I can hopefully keep you from repeating.

First principles

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 this site because it gives you maximum freedom to explore stuff you care about. 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 Blackberry 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. Your URL Structure Matters a Lot

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.

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)

These are the things to avoid.

Avoid Third-party Blogging Platforms

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)

Use Common and Popular Software

That doesn’t mean it has to be number one, but don’t pick number nine either. Going with one of the top 2 or 3 options means your platform will have maximum scrutiny and therefore faster patching if something goes wrong.

It also means it’s likely to last for a very long time.

Pick Software Without Lock-in

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) will 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

It’s not a problem to use a hosted blogging service, you just want to make sure that it’s a pure one.

That 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.

Summary

Ok, so since I’ve just given advice so far, here’s my tangible recommendation.

  1. Get your domain from Google or Cloudflare.
  2. Get your DNS from them too.
  3. Lock them down with 2FA.
  4. Either build yourself a VPS or find a host for your blog.
  5. If you’re self-hosting, I recommend AWS.
  6. If you’re using a service I recommend FlyWheel or Pantheon.
  7. For the blogging software itself, I recommend WordPress, Hugo, or Host—in that order.
  8. Make sure you (or your provider) keeps your entire stack updated regularly.
  9. The primary thing that will make your blog popular is consistent creation of content that’s at least 1,000 words in length. Everything else is highly secondary.
  10. Don’t overthink it. Focus on the writing, not on the tech.


If you like my content, you can support it directly for less than a latte a month ($ 50/year) which also gets you the Unsupervised Learning podcast and newsletter every week instead of just twice a month.

Daniel Miessler


Are you looking for products for hacking, cybersecurity, and penetration testing? Do you need to cleanse your smartphone, PC, or website from viruses and malware? Do you need to track down a person or recover urgent information? Do you need to regain control of an account, email, or password that has been stolen from you? Interested in purchasing pre-configured devices to easily and quickly experiment with hacking techniques? Do you have specific requirements in software or hardware? We can assist you!

Contact us immediately for immediate assistance: provide us with details via email or WhatsApp about the type of support you need, and we will respond you promptly!

Fill out and submit the form below to send us an immediate support request

Write your email address here

Write here how we can help you – we provide immediate support for all your needs!