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.

9 phút đọcCập nhật 2026-05-21
Đang tải audio...
Mục lục bài viết(19)
On-page SEO 9 checklist tối ưu trang

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:

  1. Bảng hiệu rõ ràng (title tag)
  2. Menu trước cửa mời gọi (meta description)
  3. Sắp xếp menu có cấu trúc (heading H1, H2, H3)
  4. Đường vào quán ngắn dễ tìm (URL slug)
  5. Ảnh món kèm caption (image alt text)
  6. Bản đồ chỉ đường giữa các khu (internal link)
  7. Nhãn dán chính thức "đây là cafe" (schema markup)
  8. Quán mở nhanh không chờ (page speed)
  9. 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

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:

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 typeSchema mandatory
Blog/NewsArticle + BreadcrumbList + FAQPage + Organization
EcommerceProduct + Offer + AggregateRating + BreadcrumbList
Local businessLocalBusiness + Organization + Review
SaaSSoftwareApplication + Organization + FAQPage
RecipeRecipe + NutritionInformation + Review

Tool check:

8. Page speed — Core Web Vitals pass

Google 2026 chính thức coi Core Web Vitals (CWV) là ranking factor:

MetricHealthyPoor
LCP (Largest Contentful Paint)dưới 2.5strên 4s
INP (Interaction to Next Paint)dưới 200mstrên 500ms
CLS (Cumulative Layout Shift)dưới 0.1trên 0.25

Top quick wins:

  1. Image WebP + lazy loading
  2. CDN (Cloudflare, Vercel)
  3. Minify CSS / JS
  4. Defer non-critical JS
  5. Critical CSS inline
  6. HTTP/2 enabled
  7. Browser caching headers
  8. Preload critical font

Tool measure:

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:

Ví dụ thực tế: Wiki vietcodex.com áp dụng đầy đủ 9 checklist:

  1. Title 50-65 ký tự, có keyword + brand
  2. Meta description 150 ký tự với CTA
  3. H1 unique + H2 có keyword variant
  4. URL /wiki/<cluster>/<slug> ngắn
  5. Image alt mô tả 10-15 từ
  6. Internal link 8-15/bài cross-cluster
  7. Schema Article + FAQPage + BreadcrumbList + Organization
  8. Page speed PageSpeed 90+ (CDN + WebP image)
  9. 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.

❌ 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


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.

Câu hỏi thường gặp

On-page SEO là gì? Khác Off-page và Technical SEO?
**On-page SEO** = tối ưu yếu tố BÊN TRONG 1 trang (title, content, internal link, schema...). **Off-page SEO** = yếu tố BÊN NGOÀI (backlink, brand mention, social signal). **Technical SEO** = yếu tố backend (sitemap, robots.txt, page speed, mobile-friendly, HTTPS, crawl budget). 3 cái phối hợp: On-page = nội thất, Off-page = uy tín hàng xóm, Technical = kết cấu nhà.
Title tag dài bao nhiêu ký tự?
**50-60 ký tự** (bao gồm khoảng trắng). Google hiện thị ~580 pixel — Vietnamese tính ~55-65 ký tự. Quy tắc: keyword chính + brand. Format: `[Keyword chính] — [Mô tả/giá trị] | [Brand]`. Vd: `On-page SEO là gì? 9 checklist 2026 | VietCodex Wiki`. >65 ký tự → Google cắt giữa câu (...). <40 → bỏ qua giá trị + brand.
Meta description có còn quan trọng cho ranking 2026 không?
KHÔNG cho ranking (Google không tính từ 2009). NHƯNG cực quan trọng cho **CTR** (click-through rate). Meta hấp dẫn → user click nhiều hơn → indirect signal Google tăng ranking. Quy tắc: 140-160 ký tự, có keyword + call-to-action + value prop. Vd: 'Học SEO 2026 qua 9 checklist On-page dễ áp dụng. Tiết kiệm 3 tháng dò mò. Đọc 5 phút →'. CTR tốt = 5-10% top 3 SERP.
Có cần đặt keyword vào H1, H2, H3 không?
**H1**: 1 cái duy nhất / trang, BẮT BUỘC có keyword chính. **H2**: 3-7 cái, có **keyword biến thể** (related keyword, semantic variant). Vd cho keyword 'On-page SEO': H2 có thể là 'Title tag tối ưu thế nào', 'Heading structure quan trọng ra sao'. **H3**: trong H2, không cần keyword. KHÔNG keyword stuffing H2 lặp lại 'On-page SEO' 10 lần.
Internal linking pattern tốt nhất 2026 là gì?
**Topic Cluster** pattern (HubSpot 2017): 1 pillar page (3000-5000 từ, từ khoá rộng) + 10-30 cluster page (chuyên sâu từng sub-topic) → đều internal link về pillar + pillar link về cluster + cluster cross-link nhau. Vd: Wiki vietcodex SEO cluster pillar = `/wiki/seo/seo-la-gi`, cluster pages = backlink-la-gi, dr-da, on-page-seo, etc. Mỗi bài 5-15 internal link đến 5-15 bài khác cùng cluster.
Image alt text viết thế nào?
Alt text mô tả NỘI DUNG ảnh cho user khiếm thị + Google bot hiểu. Quy tắc: 5-15 từ, descriptive, có keyword tự nhiên nếu phù hợp. Vd cho ảnh hero bài này: `On-page SEO 9 checklist với hình ảnh người check item`. KHÔNG: `seo seo seo on-page on-page seo image`. Cũng đừng decorative ảnh (`alt=""`) — chỉ skip cho ảnh thuần trang trí, ảnh content phải có alt.
Schema markup nào quan trọng nhất?
Top 5 schema mọi site nên có: (1) **Organization** — định nghĩa pháp nhân, logo, sameAs social. (2) **BreadcrumbList** — Rich result breadcrumb SERP. (3) **Article** cho blog post. (4) **FAQPage** — FAQ rich snippet (~30% CTR boost). (5) **Product** cho ecommerce. Format JSON-LD trong `<head>`. Tool check: [validator.schema.org](https://validator.schema.org) + Google Rich Results Test. Schema KHÔNG ảnh hưởng ranking trực tiếp, ảnh hưởng display SERP.
Page speed bao nhiêu là OK?
Google Core Web Vitals 2026: **LCP** (Largest Contentful Paint) dưới 2.5s, **INP** (Interaction to Next Paint) dưới 200ms, **CLS** (Cumulative Layout Shift) dưới 0.1. Quality threshold: Mobile 3G load dưới 3s, desktop dưới 1.5s. Tool check: [PageSpeed Insights](https://pagespeed.web.dev), [WebPageTest](https://webpagetest.org). Top fix: optimize image (WebP), lazy load, CDN, minify CSS/JS, defer non-critical.