Hướng dẫn xây dựng blog với Zola 2026: Từ A đến Z
Hướng dẫn chi tiết xây dựng blog tĩnh với Zola 0.22: cài đặt, cấu hình, theme, deploy GitHub Pages, tối ưu SEO, CI/CD tự động. Phù hợp cho người mới bắt đầu.
Bài này trả lời
Zola là gì? Có gì khác với Hugo hay Jekyll? Zola có hỗ trợ blog tiếng Việt không? Zola có SEO tốt không? Nên deploy Zola ở đâu?Mục lục
Bạn muốn mở blog riêng nhưng chán WordPress — nặng, chậm, tốn tiền hosting, hay bị hack? Hay bạn thử Hugo/Jekyll nhưng thấy cài đặt rắc rối vì phải cài Ruby, Python, npm?
Zola là giải pháp mình đang dùng cho blog này — một static site generator viết bằng Rust: một binary duy nhất, build 200 bài trong 3 giây, deploy lên GitHub Pages miễn phí.
Tại sao chọn Zola?
Mình đã thử qua 5-6 static site generator trước khi chốt Zola. Đây là lý do:
Tốc độ. Đây là điểm khác biệt lớn nhất. Zola build toàn bộ site trong 3-5 giây — không cache, không incremental build. Hugo cũng nhanh (~10s), nhưng Jekyll mất 60-90 giây cho cùng số lượng bài.
Cài đặt đơn giản. Download một file binary, thế là xong. Không cần gem install, không cần npm install, không cần virtual environment. Trên macOS: brew install zola. Trên Ubuntu: download release từ GitHub.
Template engine Tera. Nếu bạn từng dùng Jinja2 (Python) hay Liquid (Jekyll), Tera sẽ quen ngay. Nó mạnh mẽ hơn nhiều so với Go template của Hugo.
Tính năng built-in. Zola có sẵn: taxonomy (categories/tags), RSS feed, sitemap, search (không cần server), image processing, syntax highlighting, TOC tự động, multilingual. Không cần plugin bên thứ ba.
Bắt đầu với Zola
Cài đặt trên macOS:
brew install zola
zola init my-blog
cd my-blog
zola serve
# Mở http://localhost:1111
Chỉ 4 lệnh là bạn đã có blog chạy local. Cấu trúc thư mục:
my-blog/
├── config.toml # Cấu hình chính
├── content/ # Bài viết (Markdown)
├── templates/ # HTML templates (Tera)
├── static/ # Ảnh, JS, CSS
├── sass/ # SCSS files
└── themes/ # Themes (nếu dùng)Cấu hình cơ bản
File config.toml là trái tim của Zola. Đây là cấu hình blog này:
title = "SEOMONEY"
base_url = "https://seomoney.org"
default_language = "vi"
[extra]
author = "Duy Nguyen"
description = "SEO, AI WebOps & Tài chính cá nhân"
[markdown]
highlight_code = true
[taxonomies]
category = { feed = true }
tag = { feed = true }Viết bài đầu tiên
Bài viết trong Zola là file Markdown với frontmatter TOML (hoặc YAML). Frontmatter chứa metadata và nội dung bài:
+++
title = "Xin chào thế giới"
date = 2026-07-20
description = "Bài viết đầu tiên của tôi"
[taxonomies]
categories = ["Tất cả", "Công nghệ"]
tags = ["hello", "blog"]
[extra]
toc = true
+++
Zola hỗ trợ nhiều template block mạnh mẽ — page, section, taxonomy. Một bài viết đơn giản cần ít nhất một template trong templates/page.html.
Deploy lên GitHub Pages
Sau khi viết xong vài bài, bạn muốn đưa blog lên mạng. Cách nhanh nhất — GitHub Pages:
- Tạo repository
username.github.io - Thêm GitHub Actions workflow deploy
- Push lên main → tự động build và deploy
Workflow mẫu:
name: Deploy Zola to GitHub Pages
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Zola
run: |
curl -sL https://github.com/getzola/zola/releases/latest/download/zola-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv zola /usr/local/bin/
- name: Build
run: zola build
- name: Deploy
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
Blog này dùng CI/CD phức tạp hơn — với QA check, auto-merge, deploy guard — nhưng workflow cơ bản trên là đủ cho blog cá nhân.
Tối ưu SEO
Một blog tĩnh Zola có lợi thế SEO lớn: tốc độ load nhanh, HTML sạch, kiểm soát hoàn toàn meta tags. Mình recommend:
Essential SEO:
- Mỗi bài có
title(20-60 ký tự),description(50-160 ký tự) [extra] seo_keywordcho từ khoá chính- URL slug ngắn, có từ khoá, không dấu
- Internal link giữa các bài
Advanced SEO:
- FAQ schema qua
[[extra.faq]]— Zola tự render JSON-LD - Article schema và BreadcrumbList — built-in
- Sitemap.xml và RSS — Zola tự sinh
- OG tags cho social share
- Internal link checker script (như
check_internal_links.pycủa blog này)
Kết luận
Zola là lựa chọn tuyệt vời cho blog cá nhân — nhanh, đơn giản, miễn phí. Không cần server, không cần database, không cần bảo trì. Bạn chỉ cần tập trung viết nội dung.
Nếu bạn dùng AI để hỗ trợ viết, xem bài Gemini 3.5 có gì mới để biết thêm về các mô hình AI hỗ trợ viết lách hiện tại.
Còn nếu muốn tìm hiểu cách tối ưu AdSense cho blog tĩnh, blog có bài về Google AdSense AI content policy 2026 giải thích chi tiết.
Liên kết bên ngoài được sử dụng trong bài viết
Liên kết nội bộ liên quan
Bản quyền & Ghi nguồn
Một phần dữ liệu trong bài viết được tham khảo từ GitHub Pages Documentation, Zola Documentation và Zola GitHub Repository. Mọi thương hiệu, tên sản phẩm và tài liệu gốc thuộc quyền sở hữu của chủ sở hữu tương ứng. Bài viết chỉ trích dẫn, tổng hợp và phân tích — không nhằm thay thế tài liệu chính thức.
Bình luận
Đang tải bình luận…
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ ý kiến.
Đăng nhập để tham gia thảo luận.
Đăng nhập bằng Google để bình luậnChỉ dùng để bình luận. Không truy cập trình soạn thảo/CMS.
Không kết nối được máy chủ. Vui lòng thử lại.