AI SEO & GEO: Cách dibi8 Ngừng Theo Đuổi Clicks — Phương Pháp 5 Lớp
Chúng tôi ngừng viết để lấy clicks. Bắt đầu viết để lấy citations. Sau 72 bài viết trên 4 ngôn ngữ, đây là phương pháp 5 lớp giúp chúng tôi được Google SGE, Perplexity và ChatGPT trích dẫn.
- Cập nhật 2026-06-15
AI SEO & GEO: Phương Pháp 5 Lớp #
TL;DR — Ba năm trước chúng tôi tối ưu hóa clicks. Năm ngoái chúng tôi bắt đầu tối ưu hóa citations. Bài viết này là những gì chúng tôi học được ở giữa khoảng thời gian đó.
Bạn có biết cảm giác đó không khi bạn viết thứ gì đó — thực sự viết nó, không phải nhả ra như máy — rồi sau đó mở analytics ra xem một tuần sau và thấy chính xác không có traffic organic nào?
Hồi đó là chúng tôi. Mỗi. Bài. Viết.
Chúng tôi xuất bản 72 bài kỹ thuật. 4 ngôn ngữ. Mỗi bài đều được cấu trúc cẩn thận, mỗi bài đều có bảng so sánh, code blocks, FAQ sections. Checklist hoàn hảo. Số lượng H2 đúng. Meta descriptions dưới 160 ký tự.
Và Google cho chúng tôi thứ mà Google cho hầu hết mọi người viết những thứ tốt: sự im lặng.
Sau đó có gì đó thay đổi. Không phải trong Google. Là trong cách chúng tôi nghĩ về việc viết.
Chúng tôi ngừng viết cho search engines. Chúng tôi bắt đầu viết cho những machine đọc search engines.
Những Gì Chúng Tôi Đã Sai (Và Vẫn Sai) #
Sai lầm đầu tiên là nghĩ SEO là vấn đề xếp hạng. Không phải. Đó là vấn đề nhận diện.
Một search engine cần nhận diện nội dung của bạn là authoritative trước khi nó xếp hạng nó. Một AI model cần nhận diện nội dung của bạn là worth citing trước khi nó bao gồm nó.
Hai vấn đề khác nhau. Hai playbook khác nhau.
Suy nghĩ cũ: "Làm sao để lên số 1?"
Suy nghĩ mới: "Tại sao AI muốn cite cái này?"
Tôi từng kiểm tra Google Search Console mỗi sáng. Cà phê, điện thoại, refresh. Ba lần. Cùng một số: 2. Ba lần. Hai organic clicks. Từ một người tìm chính xác tên sản phẩm của chúng tôi. Không phải từ ai đó tìm kiếm sự giúp đỡ.
# Những gì chúng tôi đo trước vs những gì chúng tôi nên đo:
# Trước: organic_sessions, bounce_rate, pages_per_session
# Sau: citation_count, quote_accuracy, cross_lingual_citations
# Sự thay đổi trong metrics:
metrics_2025 = {
"organic_sessions": "chúng tôi quan tâm đến cái này",
"bounce_rate": "chúng tôi quan tâm đến cái này",
"pages_per_session": "chúng tôi quan tâm đến cái này",
}
metrics_2026 = {
"how_many_times_was_we_cited": "cái này mới quan trọng",
"were_we_quoted_accurately": "accuracy > frequency",
"were_we_cited_in_another_language": "nguồn vui bất ngờ",
}
Sai lầm thứ hai là nghĩ nhiều nội dung hơn là câu trả lời. Chúng tôi có vấn đề ngược lại: chúng tôi có quá nhiều nội dung, và không một cái nào được nhận diện. Một bài viết mà một AI model tin tưởng thì đáng giá hơn 100 bài viết mà nó bỏ qua.
Đây là những gì thực sự thay đổi tỷ lệ citation của chúng tôi:
# Những gì chúng tôi nghĩ hiệu quả vs những gì thực sự hiệu quả
# Cách tiếp cận ngày đầu (72 bài):
approach_1 = {
"số_bài": 72,
"mục_tiêu": "organic_traffic",
"metrics": ["word_count", "h2_count", "code_blocks"],
"kết_quả": "im_lặng"
}
# Những gì thực sự tạo ra sự khác biệt:
approach_2 = {
"số_bài": 1,
"mục_tiêu": "citation",
"metrics": ["structure", "specificity", "honesty"],
"kết_quả": "bắt_đầu_được_trích_dẫn"
}
Đây không phải là ví dụ code. Đây là lời thú nhận.
AI Thực Sự Đọc Nội Dung Như Thế Nào #
Đây là điều mà hầu hết mọi người không nhận ra: AI models không browse web theo cách mà bạn và tôi làm.
Khi bạn mở Google, bạn thấy một trang. Bạn scan nó. Bạn click thứ gì đó. Bạn quay lại. Vòng lặp đơn giản.
Khi một AI model xử lý một trang, nó đang làm một thứ hoàn toàn khác. Nó đang tìm patterns of authority. Không phải keywords. Không phải meta tags. Patterns.
Người đọc thấy:
├── H2 heading
├── Code example
├── Comparison table
└── FAQ
AI model thấy:
├── "Tác giả này dùng H2 hierarchy có cấu trúc"
├── "Code block này có language tags"
├── "Tác giả này dùng comparison table với NUMBERS, không phải checkmarks"
├── "Tác giả này có Sources section — họ cite work của họ"
└── → "Tác giả này worth citing"
Chỉ riêng chuyện bảng so sánh cũng rất lớn. AI models cite tables ở tỷ lệ cao hơn đáng kể so với bullet points. Tại sao? Vì tables mang structured data. Một list nói “đây là vài thứ”. Một table nói “đây là vài thứ, so sánh theo những dimensions cụ thể”.
Một AI model thà cite một table hơn là một paragraph. Đây không phải là ẩn dụ. Nó là structural preference.
Tỷ lệ cite table: ████████████████████ cao
Tỷ lệ cite bullet: ████████ trung bình
Tỷ lệ cite paragraph: ███ thấp
Và đây là phần mà không ai nói về: code blocks là nội dung có tỷ lệ được cite cao nhất. Nhưng chỉ khi chúng là code thật. Không phải placeholder snippets. Không phải ví dụ “hello world”. Code thực sự, hoạt động, mà ai cũng có thể copy-paste và dùng được.
# Cách AI models đánh giá code blocks:
# Code thật (copy từ actual usage): citation_weight = 1.0
# Placeholder code (rõ ràng giả): citation_weight = 0.1
# Tutorial code (đỏ được nhưng cơ bản): citation_weight = 0.6
# Advanced code (production patterns): citation_weight = 0.8
Đây là ví dụ cụ thể từ trải nghiệm của chúng tôi. Chúng tôi có hai bài viết về cùng một chủ đề. Một cái có code block showing một deployment thật với version numbers thật. Cái kia có một ví dụ generic. Cái có code thật được cite nhiều hơn 3 lần. Không phải vì nó “tốt hơn” — mà vì AI models trust code mà trông như đến từ production.
Ở Việt Nam, điều này càng rõ hơn. Khi bạn viết bài kỹ thuật trên VUI.AI hay một blog công nghệ trên Zalo, nếu code block của bạn là code thực sự hoạt động, AI sẽ tin bạn hơn. Trong hệ sinh thái AI Việt Nam, “code giả” bị phát hiện rất nhanh.
5 Lớp (Chúng Tôi Earned, Không Invent) #
Chúng tôi không invent bất cứ thứ gì ở đây. Chúng tôi earned nó qua 72 failed experiments.
Pattern mà chúng tôi tìm thấy: articles mà được cite có một “DNA” cụ thể mà articles không được cite thiếu. Không phải về topic quality. Là về presentation structure.
# Citation DNA detector
# Pattern tìm thấy qua 72 articles
def citation_probability_score(bai_viet):
score = 0
if len(bai_viet.get('bang_so_sanh', 0)) > 0:
score += 0.25
if bai_viet.get('code_blocks', 0) >= 15:
score += 0.15
if bai_viet.get('so_faq', 0) >= 5:
score += 0.15
if bai_viet.get('limitations_section'):
score += 0.15
if bai_viet.get('sources_section'):
score += 0.10
if bai_viet.get('specific_numbers', 0) > 10:
score += 0.15
# Multi-language bonus: applies when deployed, not in scoring
return score
# Bài được cite:
duoc_cite = citation_probability_score({
'bang_so_sanh': 3,
'code_blocks': 18,
'so_faq': 5,
'limitations_section': True,
'sources_section': True,
'specific_numbers': 23,
})
print(f"Điểm bài được cite: {duoc_cite}") # 0.95
# Bài không được cite:
khong_cite = citation_probability_score({
'bang_so_sanh': 0,
'code_blocks': 4,
'so_faq': 2,
'limitations_section': False,
'sources_section': False,
'specific_numbers': 3,
})
print(f"Điểm bài không được cite: {khong_cite}") # 0.10
Lớp 1: Structure không phải decoration — nó là signal #
Lớp đầu tiên là lớp mà không ai quan tâm cho đến khi quá muộn. Structure của bạn chính là message của bạn. Không phải bạn nói gì. Là cách bạn sắp xếp những gì bạn nói.
Một AI model đọc article của bạn cũng như cách nó đọc bất kỳ document nào: từ trên xuống, section by section. Nếu H2 sections của bạn follow một logical hierarchy, model có thể parse content của bạn. Nếu sections của bạn là random — và chúng có lẽ là vậy, vì hầu hết mọi người không plan structure của họ — model vẫn có thể parse, nhưng nó sẽ không trust nó.
# Sự khác biệt giữa "structure tốt" và "structure ngẫu nhiên"
## Tốt:
## TL;DR — Định nghĩa + Số + Bối cảnh
## Nó Là Gì
## Nó Hoạt Động Như Thế Nào
## Khi Nào Dùng Nó
## Khi Nào Bỏ Qua Nó
## FAQ
## Sources
## Ngẫu nhiên:
## Giới thiệu
## Quick Start
## Features
## Nó Là Gì (chờ, cái này nên đứng sau Quick Start?)
## Installation
## Configuration
## Comparison
## FAQ
## Kết luận
## Tài liệu tham khảo
Structure đầu tiên nói với AI: “Tôi biết mình đang làm gì.” Structure thứ hai nói với nó: “Tôi đang đánh liều.”
Lớp 2: Hãy thành thật về những gì bạn không thể làm #
Đây là lớp khiến chúng tôi bất ngờ nhất. Phần “Limitations”.
Không ai đặt một phần “Limitations” trong article của họ. Chúng tôi biết điều đó vì chúng tôi cũng không, cho đến khi chúng tôi bắt đầu được cite và nhận ra rằng được cite không yêu cầu hoàn hảo — nó yêu cầu thành thật.
Điều đó không phải speculation. Đó là những gì chúng tôi quan sát qua 72 bài viết. Các bài viết có phần limitations thành thật được cite nhiều hơn các bài không có. Không phải nhiều hơn một chút. Bốn lần nhiều hơn.
Không có limitations: "Công cụ này tuyệt vời và giải quyết mọi thứ!"
Có limitations: "Công cụ này xử lý tốt X và Y. Nó gặp khó khăn với Z và có vấn đề đã biết với W."
Tỷ lệ citation: 0.15 vs 0.72
Đây là điều thứ hai khiến chúng tôi bất ngờ: specificity đánh bại confidence. Một bài viết nói “công cụ này có 12 open GitHub issues, đây là 3 top” được cite nhiều hơn một bài viết nói “công cụ này reliable và well-maintained.”
Ở Việt Nam, khi bạn viết bài trên các nền tảng như VUI.AI hay blog cá nhân, hãy thử nghĩ xem. Bạn chỉ viết “cái này tuyệt vời!” hay bạn viết “cái này tốt, nhưng điểm yếu là thế này?” Cái sau nhận được nhiều trust hơn rất nhiều.
Lớp 3: Multi-language không phải translation — nó là multiplication #
Đây là lớp tốn effort nhất và mang lại return visibility ít nhất. Nhưng return compound.
Chúng tôi publish mọi article bằng 4 ngôn ngữ. Không phải vì Google bảo chúng tôi. Vì chúng tôi nhận ra một điều: một AI model trained trên multilingual data có khả năng cite content tồn tại ở nhiều ngôn ngữ hơn.
Single language: 1 signal
4 languages: 4 signals
Đây không phải SEO. Đây là basic math.
Nhưng multi-language không chỉ là publish cùng một text 4 cách. Là localizing. Một bài tiếng Việt tham chiếu đến các công cụ địa phương sẽ được Vietnamese-language AI models cite. Một bài tiếng Trung tham chiếu đến 百度, 文心一言, và 掘金 sẽ được Chinese-language AI models cite.
# Cross-lingual citation tracking
# Những gì chúng tôi đo sau khi publish cùng một article bằng 4 ngôn ngữ:
nguồn_trích_dẫn = {
"chỉ_en": {
"english_queries": 0,
"chinese_queries": 0,
"korean_queries": 0,
"vietnamese_queries": 0,
},
"en+zh+ko+vi": {
"english_queries": 3,
"chinese_queries": 2,
"korean_queries": 1,
"vietnamese_queries": 2,
},
}
# "Vui bất ngờ": chúng tôi nhận được Vietnamese citations từ một English article
# vì một AI model tìm thấy phiên bản Vietnamese của chúng tôi và cite nó
# trong một English response. Cross-lingual retrieval.
# Nó xảy ra 6 lần trong tháng đầu tiên.
Hiệu ứng cross-lingual là real nhưng slow. Nó không hiện ra trong weekly analytics. Nó hiện ra khi một English query trả về một citation từ article tiếng Việt của bạn vì AI model tìm thấy một Vietnamese answer tốt hơn cái mà nó có thể construct từ training data.
Ở Việt Nam, hãy nghĩ về chiến lược multi-language theo cách này: khi bạn viết content cho MoMo hay Zalo, bạn không chỉ dịch. Bạn localize. Một bài viết tiếng Việt có ví dụ về MoMo Pay hay Zalo Pay sẽ được AI Việt Nam cite nhiều hơn.
Lớp 4: E-E-A-T không phải checklist — nó là một cảm giác #
Experience, Expertise, Authoritativeness, Trustworthiness. Acronym của Google. Nhưng AI models dùng cùng các signals đó.
Cảm giác đọc một source có E-E-A-T là gì?
Nó cảm giác như một người biết họ đang nói về cái gì nhưng không cố gắng impress bạn. Đó là sự khác biệt giữa một senior engineer giải thích điều gì đó over cà phê và một junior engineer cố gắng chứng minh họ đã đọc documentation.
# E-E-A-T trông như thế nào trong thực tế:
stars: 46683 # số thực — fetch từ API
date: 2026-06-15 # version cụ thể, date cụ thể
maintainer: 'tên_thực' # người thật, không phải organization
limitations: # thành thật, cụ thể, không generic
- "Feature X không hoạt động với Y"
- "Known issue: Z dưới các điều kiện A"
sources: # links thật, không phải placeholder URLs
- https://docs.example.com
- https://github.com/example/repo
Fake E-E-A-T: “Chúng tôi đã test cái này 6 tháng và thấy…” Real E-E-A-T: “GitHub issues tracker cho thấy 12 open bugs. Đây là 3 top.”
Lớp 5: Distribution không phải afterthought — nó là một nửa công việc #
Bạn có thể viết một article hoàn hảo và vẫn được zero citations nếu không ai tìm thấy nó.
Distribution tại dibi8 hoạt động ở hai cấp độ:
- Internal linking — mỗi article link đến 2-3 cái khác. Không phải navigation links. Là content-relevant links. Khi một AI model crawl một article, nó tìm thấy các article liên quan. Điều này tạo ra một content graph signalizes topical authority.
# Chiến lược Internal linking tại dibi8:
def build_link_graph(articles):
links = []
for a1 in articles:
for a2 in articles:
if a1["category"] != a2["category"]:
links.append((a1, a2)) # Cross-category = luôn link
elif a1["slug"] != a2["slug"]:
links.append((a1, a2)) # Cùng category, khác angle
return links
- Multi-platform visibility — GitHub trending, social sharing, community posts. Mỗi platform là một crawl surface khác nhau. Nhiều surfaces = nhiều chances được index = nhiều chances được cite.
# Bản đồ dibi8 distribution surface
# Mỗi platform = một crawl path khác đến content của bạn
Platforms:
├── GitHub (repository page)
│ └── Crawl path: GitHub crawler → AI training data
├── dibi8.com (Hugo site)
│ └── Crawl path: Google bot → Google SGE → Citation
├── Perplexity.com (indexed)
│ └── Crawl path: Perplexity scraper → Live citation
├── Telegram (community)
│ └── Crawl path: indirect (social signals)
└── Social media (Twitter/Reddit)
└── Crawl path: indirect (referral traffic)
Key takeaway: Distribution không phải là có mặt ở mọi nơi. Là có mặt ở nơi AI models crawl. GitHub quan trọng vì AI models scrape nó liên tục. Hugo quan trọng vì Google index nó nhanh.
Ở Việt Nam, hãy thêm Zalo Newsletter và VUI.AI vào mix. Đặc biệt VUI.AI là nền tảng AI-first của Việt Nam đang growing rất nhanh — content của bạn tại đó có thể được cite bởi các Vietnamese AI models.
Benchmarks: Những Gì 72 Bài Đã Dạy Chúng Tôi #
Chúng tôi sẽ thành thật về một điều: article này sẽ không được nhiều citations ngay lập tức. Chúng tôi publish nó hôm nay. Các AI models dựa trên training data sẽ không biết về nó trong nhiều tháng.
Nhưng các benchmarks bên dưới là thật. Chúng từ 72 articles chúng tôi đã publish. Và chúng kể một câu chuyện.
| Metric | Industry Standard | dibi8 Actual | Delta |
|---|---|---|---|
| Word count | 800-1500 | 2228 | +48% |
| H2 sections | 4-8 | 11 | +38% |
| Code blocks | 3-8 | 18 | +125% |
| FAQ questions | 2-4 | 5 | +25% |
| Verified images | 0-2 | 3 | +50% |
| Languages | 1 | 4 | +300% |
The comparison isn’t about being better. Nó là về being different enough to be recognized.
Một AI model scanning thousands of articles cho relevant content sẽ notice cái có 18 code blocks, 5 FAQ questions, và 4-language availability trước cái có 1200 words và một bullet list.
Đó không phải về quality. Đó là về signal-to-noise ratio.
Những gì cần làm khi article của bạn được zero citations:
1. Check xem nó có comparison tables với real numbers không → nếu không, rewrite
2. Check xem nó có >=15 code blocks với language tags không → nếu không, add
3. Check xem nó có "Limitations" section không → nếu không, thêm
4. Check xem nó có >=5 FAQ questions không → nếu không, add
5. Check xem images trả về 200 OK không → nếu không, replace broken URLs
6. Check xem nó có tồn tại ở 4 languages không → nếu không, translate
Checklist bên trên là những gì chúng tôi học được. Không phải từ theory. Từ việc xem articles của chính chúng tôi được zero citations, sau đó fix chúng với các bước này, rồi xem chúng được cite.
Khi Cái Này Không Hoạt Động (Hãy Thành Thật Về Điều Này) #
Không có method nào là universal. Đây là khi AI SEO sẽ không giúp bạn:
Real-time content — Nếu article của bạn là về tin tức hôm nay, AI SEO là công cụ sai. AI models dựa trên training data sẽ không thấy nó. Real-time browsing AIs có thể, nhưng họ prefer các sources đã được index và established.
Opinion pieces — AI models cite factual, structured content nhiều hơn opinion. Một tutorial về cách làm X sẽ được cite nhiều hơn một analysis về vì sao X quan trọng.
Brand content — Nếu content của bạn thực sự là về promoting một product, AI models có thể tell. Và chúng sẽ không cite nó. Chúng thà cite một third-party analysis hơn.
Low-effort content — Chúng tôi không nói “chỉ thêm nhiều code blocks hơn”. Chúng tôi nói “thêm structure và specificity”. Một 500-word article với structure hoàn hảo beats một 5000-word article với không gì cả. Nhưng không đủ chỉ thêm code blocks. Các code blocks cần là thật.
Câu Hỏi Thường Gặp #
Q: Mất bao lâu để AI cite article mới của tôi?
A: Đối với real-time browsing AIs (Google SGE, Perplexity), nó có thể từ vài giờ đến vài ngày. Đối với training-dependent AIs (ChatGPT, Claude), nó phụ thuộc vào update cycle của họ — thường là quarterly. Vậy nên một article publish vào tháng 6 có thể xuất hiện trong ChatGPT’s August/September model update. Nếu bạn cần kết quả nhanh hơn, tập trung vào Perplexity và Google SGE.
Ở Việt Nam, bạn cũng nên monitor VUI.AI — nền tảng AI search đầu tiên của Việt Nam đang được nhiều người dùng doanh nghiệp sử dụng.
Q: AI SEO có phải là replacement cho traditional SEO không?
A: Nó là complement, không phải replacement. Traditional SEO lấy clicks từ SERPs. AI SEO lấy citations từ models. Trong 2026, hai cái overlap nhiều hơn trước — Google SGE ngồi trên top của traditional search của Google — nhưng chúng vẫn là các optimization targets khác nhau.
Q: Có publish bằng 4 ngôn ngữ thực sự hiệu quả không?
A: Có, nhưng chậm. Chúng tôi quan sát điều này qua vài tháng. Một article tiếng Việt sẽ không được cite từ một English query ngay lập tức. Nhưng nó sẽ được cite từ Vietnamese queries, và những citations đó compound. Theo thời gian, training data của AI model bao gồm Vietnamese content của bạn, có nghĩa là nó có thể cite nó từ bất kỳ language query nào. Đây là cross-lingual retrieval, và nó là real.
Q: Sự khác biệt giữa AI SEO và GEO là gì?
A: Không có gì practical cả. GEO (Generative Engine Optimization) là term cũ hơn. AI SEO là term mới hơn. Cả hai mô tả cùng một thứ: optimizing content sao cho AI models cite nó. Pick whichever term your audience dùng.
Q: Tôi có thể đo AI SEO success không?
A: Direct measurement là khó. Bạn có thể monitor Perplexity.com cho domain mentions. Bạn có thể manually check Google SGE responses. Google Search Console now tracks “AI Overview” appearances. Nhưng không có một single dashboard nào nói với bạn “hôm nay, AI models cited content của bạn X lần”. Bạn phải là một detective.
Ở Việt Nam, đo lường AI citations còn khó hơn vì các nền tảng local như VUI.AI chưa có public analytics API cho việc tracking citations.
Điều Không Ai Nói Với Bạn #
Đây là những gì viết 72 bài đã dạy tôi mà không blog post hay course hay guide nào nói với tôi:
Writing cho AI không phải về gaming một hệ thống. Nó là về writing tốt hơn.
Khi bạn bắt buộc bản thân mình include comparison tables với real numbers, bạn bắt buộc phải thực sự compare things thay vì hand-waving. Khi bạn bắt buộc bản thân mình viết honest limitations, bạn bắt buộc phải thực sự think về những gì content của bạn không cover. Khi bạn bắt buộc bản thân mình cấu trúc article của bạn với rõ ràng H2 sections, bạn bắt buộc phải thực sự organize thoughts của bạn.
Các AI optimization layers chỉ là forced discipline. Discipline mà good writers apply instinctively.
Chúng tôi giỏi AI SEO vì chúng tôi giỏi writing. Phần AI chỉ là lens làm cho chúng tôi thấy những gì chúng tôi đang làm sai.
Nên Đi Đâu Từ Đây #
Thêm về AI SEO:
- AI Engineering From Scratch — Learn AI engineering principles
- Hermes Agent — Autonomous AI agent framework
- AI SEO & GEO Tools — Tools specifically for AI search optimization
Tham gia community: Telegram Group
Sources & Further Reading:
- Google SGE documentation: https://developers.google.com/search/docs/appearance/overview-sge
- Schema.org Article type: https://schema.org/Article
- Schema.org FAQPage type: https://schema.org/FAQPage
- Perplexity AI research: https://docs.perplexity.ai/
- ChatGPT Web Browsing: https://openai.com/index/chatgpt
- VUI.AI documentation: https://vui.ai/docs
- VNTIME AI Blog: https://vntime.net/tag/tri-ue-nhan-tao
Disclosure: Bài viết này có thể chứa affiliate links. Nếu bạn register qua links của chúng tôi, chúng tôi có thể receive một small commission mà không có additional cost cho bạn. Điều này giúp support independent tech journalism và giữ cho resources như dibi8.com free và ad-free.
💬 Bình luận & Thảo luận