Building a Personal Blog from Scratch: 2026 Complete Tutorial

A personal blog is one of the best ways to showcase expertise, share knowledge, and build a personal brand.

1. Preparation: Domain

1.1 Choosing a Domain

  • Short and memorable (under 3 words)
  • Brand-relevant (your name or topic)
  • Good extension (.com best, then .me, .blog, .dev)

1.2 DNS Resolution

Registering the domain is only half the job; you still have to point the domain at your server or hosting platform. Two records do most of the work:

  • A record: points the domain at a server IP, e.g. blog.example.com -> 203.0.113.10; set TTL to 300 seconds during testing so changes propagate faster.
  • CNAME record: points a subdomain at another domain, e.g. www -> example.github.io, which is how GitHub Pages and Vercel are usually wired up.

Propagation can take anywhere from minutes to 24 hours; verify with dig blog.example.com or nslookup. Once resolution works, get an SSL certificate so the site runs over HTTPS — otherwise browsers flag it as not secure.

2. Option 1: WordPress (Most Flexible)

2.1 Pros

  • Largest market share, mature ecosystem
  • Rich themes and plugins
  • No coding needed for publishing
  • Powerful blog management

2.2 Setup Steps

# Install LEMP stack
apt update && apt install nginx mysql-server php8.1-fpm php8.1-mysql

# Download WordPress
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz -C /var/www/

# Configure database and run setup wizard

2.3 Recommended Plugins

  • SEO: Yoast SEO / Rank Math
  • Cache: WP Super Cache / W3 Total Cache
  • Security: Wordfence / Sucuri
  • Backup: UpdraftPlus
  • Images: Smush / ShortPixel

3. Option 2: Hexo (Static Blog, Minimal)

3.1 Pros

  • Pure static pages, extremely fast
  • Markdown writing experience
  • Free deployment (GitHub Pages / Vercel)
  • No server management needed

3.2 Setup

npm install -g hexo-cli
hexo init my-blog
cd my-blog
npm install
hexo new "My First Post"
hexo server  # http://localhost:4000

3.3 Auto-Deploy with GitHub Actions

To skip running hexo deploy by hand, add a GitHub Actions workflow: on every push to main, it runs npm ci and hexo generate, then publishes the generated public/ folder to Pages or your server. Writing becomes "edit Markdown locally -> push -> live in about two minutes":

name: Deploy
on:
  push:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20 }
      - run: npm ci && npx hexo generate
      - uses: peaceiris/actions-gh-pages@v4
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public

4. Option 3: Ghost (Writing-Focused)

4.1 Pros

  • Designed for content creation
  • Built-in membership and subscription
  • Modern editing experience
  • Better performance than WordPress

4.2 Setup

docker run -d --name ghost-blog -p 2368:2368 ghost:latest

5. Comparison

Dimension WordPress Hexo Ghost
Difficulty Medium Low-Medium Low-Medium
Maintenance Regular updates Low Medium
Speed Needs optimization Very fast Fast
Extensibility Very high Limited Medium
Cost Server + domain Domain only Server + domain
Best for Feature-rich blogs Tech blogs Content creators

Doing the Math

Rough estimates at 2026 prices:

Approach Minimum annual cost Notes
Hexo + GitHub Pages ~$10 for the domain Hosting is free, domain only
WordPress + 2C2G cloud server ~$165 Server + domain + occasional backup storage
Ghost + official hosting from ~$100 Most convenient, most expensive

A static site can get down to just the domain fee; a dynamic site is a fixed "server + domain" expense plus backups and monitoring down the line. If budget matters in the early stage, the static route has a clear edge.

6. Content Strategy

6.1 First Post Ideas

  • "Why I built this blog" (personal story)
  • "[Technology] Beginner's Guide"
  • "Best Practices for [Topic] in 2026"

6.2 Consistent Writing Tips

  • Fixed frequency: at least 1 post per week
  • Focus on your niche
  • Solve specific problems
  • Update old posts regularly
  • Engage with readers

Common Questions

  • Which TLD should I buy: prefer .com, then theme-relevant ones like .me, .dev, .blog; be cautious with obscure new TLDs outside a brand context.
  • Learn the tech first or write first: if your goal is recording and sharing, start with a static setup like Hexo and go live in half an hour; if you plan long-term content monetization (membership, courses), start with WordPress or Ghost.
  • What if nobody reads my posts: spend 80% of the early effort on "content that is genuinely useful" rather than polishing themes and plugins; traffic compounds slowly.

7. Summary

WordPress is most feature-rich, Hexo is lightest, Ghost has the best writing experience. For most beginners, start with WordPress or Hexo. The best platform is the one that helps you keep writing.

Reference: WordPress docs https://wordpress.org/documentation/ ; Hexo docs https://hexo.io/docs/ ; Ghost docs https://ghost.org/docs/