On-page SEO — 9 checklist tối ưu trang Google ưu tiên 2026
On-page SEO = tối ưu mọi yếu tố BÊN TRONG website (title, meta, heading, content, schema, image, URL, internal link, page speed). Bài này dạy 9 checklist mandatory + ví dụ cụ thể Vietnamese + tool free check + sai lầm phổ biến.
Mục lục bài viết(19)

On-page SEO = 9 yếu tố tối ưu BÊN TRONG website. Title + Meta + Heading + URL + Image alt + Internal link + Schema + Page speed + Mobile-friendly. Check đủ 9 = Google ưu tiên 80% so với site bỏ qua. Ảnh: AI-generated bằng ChatGPT gpt-image-2.
Hiểu đơn giản nhất
Bạn mở quán cafe. Có 9 thứ phải làm trong quán:
- Bảng hiệu rõ ràng (title tag)
- Menu trước cửa mời gọi (meta description)
- Sắp xếp menu có cấu trúc (heading H1, H2, H3)
- Đường vào quán ngắn dễ tìm (URL slug)
- Ảnh món kèm caption (image alt text)
- Bản đồ chỉ đường giữa các khu (internal link)
- Nhãn dán chính thức "đây là cafe" (schema markup)
- Quán mở nhanh không chờ (page speed)
- Hoạt động trên mobile (mobile-friendly)
On-page SEO = làm 9 thứ này đúng cho mọi trang website. Google bot vào "quán" của bạn, thấy đủ 9 thứ → đánh giá cao → kéo khách (rank top SERP).
9 Checklist On-page SEO — Từng item chi tiết
1. Title tag — 50-60 ký tự, có keyword chính
Format: [Keyword chính] — [Value/Benefit] | [Brand]
<head>
<title>On-page SEO là gì? 9 checklist tối ưu 2026 | VietCodex Wiki</title>
</head>Quy tắc:
- Keyword chính ở đầu (Google đọc trái → phải, ưu tiên đầu)
- Brand cuối (consistency)
- Số hấp dẫn (9 checklist, 5 cách, 7 bước...)
- Năm hiện tại trong title nếu evergreen-ish (2026)
- KHÔNG ALL CAPS, KHÔNG emoji (Google strip)
- Mỗi page UNIQUE title (không duplicate)
Tool check: Google Search Console → Coverage → check title issues.
Ví dụ thực tế: Bài Vibe coding có title: Vibe coding là gì? Karpathy đặt tên cho cách viết code theo cảm xúc — 70 ký tự (hơi dài) nhưng entity "Karpathy" + concept rõ → Google không cắt. Bài Build MVP ngắn hơn: Build MVP là gì? Cách validate idea trong 1-4 tuần thay vì 6 tháng — 65 ký tự, perfect.
2. Meta description — 140-160 ký tự, có CTA
Format: Hook + Value + Call-to-action.
<meta name="description" content="On-page SEO là tối ưu 9 yếu tố bên trong website (title, meta, heading, schema...). Bài này dạy 9 checklist mandatory + ví dụ Vietnamese cụ thể. Đọc 8 phút →">Quy tắc:
- 140-160 ký tự (Vietnamese ~150)
- Bao gồm keyword chính (Google bold trong SERP → tăng CTR)
- Active voice + CTA ngầm ("Đọc 8 phút →", "Tìm hiểu cách...")
- Mỗi page UNIQUE description
Insight 2026: Google đôi khi auto-rewrite description bằng content phù hợp với query → meta của bạn chỉ là gợi ý. Vẫn nên viết tốt (60% Google sẽ dùng).
3. Heading structure — H1 (1) + H2 (3-7) + H3 (mỗi H2 2-4)
<h1>On-page SEO 9 checklist 2026</h1> <!-- 1 cái duy nhất, có keyword chính -->
<h2>1. Title tag — 50-60 ký tự</h2> <!-- H2 với keyword + variant -->
<h3>Format chuẩn</h3> <!-- H3 trong H2 -->
<h3>Quy tắc viết</h3>
<h2>2. Meta description</h2>
<h3>Format chuẩn</h3>
<h3>Quy tắc</h3>
<h2>3. Heading structure</h2>
...Quy tắc:
- H1 ONE per page (Google enforce 2026)
- H2 = section chính, có keyword variant tự nhiên
- H3 = sub-section, không cần keyword
- Skip H4-H6 trừ khi nội dung quá deep
Tool check: Screaming Frog free 500 URL → Heading 1 column check duplicate H1.
4. URL slug — Ngắn, có keyword, dùng -
✅ GOOD:
https://wiki.vietcodex.com/seo/on-page-seo
https://wiki.vietcodex.com/seo/backlink-la-gi
https://backlinkthaibinh.com.vn/blog/backlink-entity-la-gi
❌ BAD:
https://example.com/p?id=12345
https://example.com/blog/2026/05/21/very-long-url-with-many-stop-words-and-noise
https://example.com/blog/on_page_seo_la_gi (underscore — Google không phân tách)
Quy tắc:
- Ngắn (3-5 từ)
- Có keyword chính
- Dùng
-(hyphen) KHÔNG_(underscore) - Lowercase
- KHÔNG ký tự đặc biệt (
?,&,%) - KHÔNG stop words trừ khi cần ngữ nghĩa (
la-gi,cach-lam)
5. Image alt text — Mô tả 5-15 từ
✅ GOOD:
<img src="hero.webp" alt="Sơ đồ MVP từ Henrik Kniberg — skateboard tới xe ô tô">
❌ BAD:
<img src="hero.webp" alt=""> <!-- Decorative thì OK, nhưng content image phải có alt -->
<img src="hero.webp" alt="image1">
<img src="hero.webp" alt="seo seo seo on-page seo image"> <!-- keyword stuffing -->Quy tắc:
- Mô tả NỘI DUNG ảnh, không chỉ "image" hoặc tên file
- 5-15 từ
- Keyword tự nhiên (1 lần, không stuff)
- Lang phù hợp content (Vietnamese cho site VN)
Lợi ích kép:
- Accessibility (screen reader cho người mù)
- Google Images ranking
- Lazy load placeholder text
6. Internal link — 5-15 link/bài tới bài liên quan
Topic Cluster pattern:
Pillar Page
(SEO là gì?)
/ | \
↓ ↓ ↓
Cluster 1 Cluster 2 Cluster 3
(Backlink) (DR/DA) (On-page)
↑ ↑ ↑
└─── cross-link ─────┘
Quy tắc:
- Mỗi bài cluster link về pillar
- Mỗi bài cluster cross-link 3-5 cluster khác
- Pillar link tới mọi cluster
- Anchor text tự nhiên, related concept
- KHÔNG link spam (50+ link/page)
Vd thực tế bài này:
- Link về pillar: SEO là gì?
- Cross-link clusters: Backlink là gì?, DR/DA, E-E-A-T
- Cross-cluster: Vibe coding cho phần "build MVP"
7. Schema markup — JSON-LD 5 type top
5 schema cần có 2026:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{"@type": "Organization", "name": "VietCodex", "url": "..."},
{"@type": "BreadcrumbList", "itemListElement": [...]},
{"@type": "Article", "headline": "...", "author": "..."},
{"@type": "FAQPage", "mainEntity": [...]},
{"@type": "WebSite", "potentialAction": {"@type": "SearchAction"}}
]
}
</script>Top schema cho từng loại site:
| Site type | Schema mandatory |
|---|---|
| Blog/News | Article + BreadcrumbList + FAQPage + Organization |
| Ecommerce | Product + Offer + AggregateRating + BreadcrumbList |
| Local business | LocalBusiness + Organization + Review |
| SaaS | SoftwareApplication + Organization + FAQPage |
| Recipe | Recipe + NutritionInformation + Review |
Tool check:
- Schema.org Validator — syntax check
- Google Rich Results Test — eligibility check
8. Page speed — Core Web Vitals pass
Google 2026 chính thức coi Core Web Vitals (CWV) là ranking factor:
| Metric | Healthy | Poor |
|---|---|---|
| LCP (Largest Contentful Paint) | dưới 2.5s | trên 4s |
| INP (Interaction to Next Paint) | dưới 200ms | trên 500ms |
| CLS (Cumulative Layout Shift) | dưới 0.1 | trên 0.25 |
Top quick wins:
- Image WebP + lazy loading
- CDN (Cloudflare, Vercel)
- Minify CSS / JS
- Defer non-critical JS
- Critical CSS inline
- HTTP/2 enabled
- Browser caching headers
- Preload critical font
Tool measure:
- PageSpeed Insights — Google official
- WebPageTest — detail waterfall
- GTmetrix — historical tracking
9. Mobile-friendly — Responsive + touch target
70% search VN qua mobile 2026. Bắt buộc:
- Viewport meta:
<meta name="viewport" content="width=device-width,initial-scale=1"> - Responsive design: media query breakpoints
- Touch target: button/link tối thiểu 44×44 px
- Font size: tối thiểu 16px (avoid zoom on iOS Safari)
- No horizontal scroll: max-width 100%
- Tap delay: removed (jQuery Mobile, hammer.js)
Tool check:
- Google Mobile-Friendly Test
- Chrome DevTools → Device Mode → simulate iPhone/Android
- Real device test (BrowserStack)
Ví dụ thực tế: Wiki vietcodex.com áp dụng đầy đủ 9 checklist:
- Title 50-65 ký tự, có keyword + brand
- Meta description 150 ký tự với CTA
- H1 unique + H2 có keyword variant
- URL
/wiki/<cluster>/<slug>ngắn - Image alt mô tả 10-15 từ
- Internal link 8-15/bài cross-cluster
- Schema Article + FAQPage + BreadcrumbList + Organization
- Page speed PageSpeed 90+ (CDN + WebP image)
- Mobile-friendly responsive
→ Sau 1 tháng: 8/22 bài index Google, 3 bài top 50 cho keyword Vietnamese SEO.
5 sai lầm On-page phổ biến
Sai lầm 1: Title duplicate hàng loạt
❌ Tất cả product page có title Tên sản phẩm | Brand Shop không variant
✅ Mỗi product UNIQUE: iPhone 15 Pro Max 256GB Titan Trắng - Giá tốt | Brand
Sai lầm 2: H1 multiple per page
❌ Bài có 3 cái H1 (1 tiêu đề, 1 widget hot, 1 sidebar) ✅ ONE H1 duy nhất = tiêu đề bài. Mọi heading khác H2-H6.
Sai lầm 3: Internal link spam footer
❌ Footer có 200 link tới các page khác → Google nghi ngờ "spam link injection" ✅ Footer 10-20 link organize theo nhóm (Services, Resources, Company)
Sai lầm 4: Skip alt text cho mọi image
❌ 50 ảnh/bài đều alt="" hoặc alt="image" → mất accessibility + Google Images
✅ Mỗi ảnh có alt 5-15 từ mô tả nội dung
Sai lầm 5: Schema duplicate / invalid
❌ Inject Article schema tại 3 chỗ trong source (header + body + JSON-LD) → Google reject all
✅ ONE Article schema duy nhất trong <head> JSON-LD. Verify qua Rich Results Test.
Tóm tắt 1 dòng
On-page SEO = tối ưu 9 yếu tố bên trong website (title 50-60 ký tự, meta 140-160 với CTA, H1 unique + H2 với keyword variant, URL ngắn dùng
-, image alt 5-15 từ, internal link Topic Cluster, 5 schema JSON-LD, Core Web Vitals pass green, mobile-friendly responsive). Check đủ 9 = Google ưu tiên 80% so với site bỏ qua. Cross-link với Off-page + Technical SEO cho strategy hoàn chỉnh.
Đọc tiếp
- SEO là gì? — tổng quan + 4 trụ cột
- Backlink là gì? — Off-page side
- DR / DA / PA — đo authority
- E-E-A-T 2026 — Google ưu tiên gì trong content
- Off-page SEO — backlink building chi tiết
- Glossary SEO 30 thuật ngữ — tra cứu
Cần audit On-page SEO cho site B2B / Ecommerce VN? Backlink Thái Bình audit free 30 phút — check 50+ điểm: title, meta, heading, schema, page speed, mobile. Xem audit FREE.