Bạn đã có website. Đã đăng nhiều bài viết. Đã làm SEO cơ bản — đặt từ khóa, viết title, meta description. Nhưng traffic vẫn không tăng như kỳ vọng. Có những trang Google không index. Một số bài chất lượng cao mãi không lên được trang nhất.
Câu trả lời thường nằm ở SEO kỹ thuật — phần "đằng sau hậu trường" mà nhiều người bỏ qua. Đây chính là khác biệt giữa website xếp hạng tốt và website mãi đứng trang 5.
Bài viết này dành cho bạn nếu: website đã được Google index; bạn đã quen SEO cơ bản; bạn đang gặp tình huống phức tạp (chuyển site, đa ngôn ngữ, nội dung trùng lặp, site nặng JavaScript); hoặc muốn tối ưu cách Google crawl và index website.
Phần 1: Kiểm soát cách Google crawl và index
Nếu không hiểu rõ pipeline Crawl → Index → Serving, bạn sẽ rất khó debug hoặc dự đoán hành vi của Google. Mỗi bước có lỗi riêng, và mỗi loại lỗi cần cách xử lý riêng — chi tiết trong bài Google Search hoạt động ra sao.
Xử lý nội dung trùng lặp (Canonical)
Khi nhiều URL chứa nội dung giống nhau, Google sẽ chọn một URL làm phiên bản chính thức (canonical). Nếu bạn không khai báo, Google tự chọn — và có thể chọn không như ý bạn.
https://shop.com/san-pham/ao-thun
https://shop.com/san-pham/ao-thun?color=red
https://shop.com/san-pham/ao-thun?utm_source=facebook
https://www.shop.com/san-pham/ao-thunhtml
<link rel="canonical" href="https://shop.com/san-pham/ao-thun" />Đảm bảo Google truy cập được resources
Đây là lỗi rất nhiều website mắc mà không biết: vô tình chặn Google truy cập CSS, JavaScript, hình ảnh qua robots.txt. Kết quả: Google không render trang đúng như người dùng thấy → ảnh hưởng đánh giá chất lượng.
Cách kiểm tra: Search Console → URL Inspection → "Test live URL" → "More info" → "Page resources". Nếu thấy resource nào "Blocked" → xử lý ngay.
Cảnh báo quan trọng từ Google: các trang không truy cập được sẽ KHÔNG xuất hiện trong Page Indexing report — nghĩa là bạn có thể không bao giờ phát hiện ra vấn đề nếu chỉ nhìn báo cáo tổng quan.
Dùng robots.txt đúng cách
NÊN dùng robots.txt để | KHÔNG dùng robots.txt để |
|---|---|
Ngăn crawl trang/nội dung trùng lặp | Ngăn index — sai lầm phổ biến nhất. Muốn không index, phải dùng |
Ngăn crawl resource không quan trọng gây tải server | Ẩn nội dung nhạy cảm — file robots.txt là công khai, ai cũng đọc được |
Quản lý crawl budget cho site lớn | Bảo mật dữ liệu cá nhân |
Nhớ kỹ: trang bị chặn bởi robots.txt vẫn có thể được index nếu có link từ nơi khác trỏ tới. Nó chỉ ngăn Google crawl (đọc nội dung), không ngăn được index.
Sitemap
Sitemap là cách quan trọng để nói với Google trang nào là quan trọng. Đặc biệt cần khi: nội dung thay đổi nhanh; có trang khó phát hiện qua link nội bộ; cần crawl nội dung không phải văn bản (ảnh, video); hoặc cấu trúc site phức tạp.
Lưu ý: Google không chỉ giới hạn crawl trong sitemap — nhưng sẽ ưu tiên các trang trong đó.
Best practice: submit qua Search Console; <lastmod> chính xác (không gian lận); chỉ liệt kê URL trả về 200 (không 404, không redirect); tối đa 50.000 URL hoặc 50MB mỗi file; chỉ đưa canonical URL vào.
Phần 2: Website đa ngôn ngữ và đa khu vực
Dùng hreflang để cho Google biết về các phiên bản ngôn ngữ khác nhau:
html
<link rel="alternate" hreflang="vi" href="https://example.com/vi/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />Ba cách triển khai: thẻ <link> trong <head> (dễ nhất); HTTP header (cho file không phải HTML); hoặc trong XML sitemap (tốt cho site lớn).
Vấn đề với locale-adaptive page: nếu website tự đổi nội dung theo IP người dùng, Googlebot crawl từ Mỹ sẽ chỉ thấy bản tiếng Anh → không biết bạn có bản tiếng Việt. Giải pháp: tách URL riêng cho từng ngôn ngữ.
Phần 3: Di chuyển website — Đừng để mất sạch SEO
Đây là một trong những lý do hàng đầu khiến website mất phần lớn traffic chỉ sau một đêm.
Tình huống | Dùng gì | Ý nghĩa với Google |
|---|---|---|
Chuyển vĩnh viễn | 301 (Permanent Redirect) | "URL đã chuyển vĩnh viễn, hãy chuyển toàn bộ tín hiệu xếp hạng sang URL mới" |
Chuyển tạm thời (bảo trì, khuyến mãi) | 302 (Temporary Redirect) | "Tạm chuyển hướng, hãy tiếp tục crawl URL cũ" |
Trang 404 đúng chuẩn: trang 404 có thể đẹp và hữu ích, nhưng phải trả về HTTP status 404 thật. Trang 404 đẹp nhưng trả về 200 OK chính là soft 404 — Google rất không thích.
bash
curl -I https://yoursite.com/trang-khong-ton-tai
# Kết quả phải là: HTTP/1.1 404 Not Found (KHÔNG phải 200 OK)Quy trình migration toàn site: (1) chuẩn bị — quyết cấu trúc URL mới, lập bản đồ chuyển hướng, test trên staging; (2) triển khai — 301 redirect từ mọi URL cũ, cập nhật sitemap và internal link; (3) thông báo — verify domain mới trong Search Console, submit sitemap, dùng Change of Address tool nếu đổi domain; (4) theo dõi — monitor traffic, crawl error, index status.
Mẹo: giữ redirect 301 ít nhất 1 năm, lý tưởng là vĩnh viễn. Đừng vội xóa. Xem thêm chiến lược khắc phục lỗi 404 và bảo toàn link equity.
Phần 4: Best practices Crawling & Indexing
Link phải crawl được — dùng <a href> với URL hợp lệ:
html
<!-- ĐÚNG -->
<a href="/san-pham">Xem sản phẩm</a>
<!-- SAI - Google không crawl được -->
<span onclick="goto('/san-pham')">Xem sản phẩm</span>
<a href="javascript:void(0)">Xem sản phẩm</a>Dùng rel đúng loại cho link đặc biệt — link trả tiền, link cần đăng nhập, và nội dung do người dùng gửi:
html
<a href="https://sponsor.com" rel="sponsored">Đối tác A</a>
<a href="https://example.com" rel="ugc">Link từ user (comment)</a>
<a href="https://example.com" rel="nofollow">Link tham khảo</a>Crawl budget — bạn chỉ cần lo khi site có hàng trăm triệu trang thay đổi định kỳ, hoặc hàng chục triệu trang thay đổi thường xuyên. Site nhỏ và trung bình không cần lo về crawl budget.
JavaScript — Google có thể xử lý JS, nhưng cần thêm thời gian và tài nguyên. Nếu nội dung quan trọng, hãy cân nhắc SSR hoặc SSG.
Bài viết nhiều trang — chỉ cần link "Trang sau"/"Trang trước" rõ ràng bằng <a href>. Đó là tất cả những gì Google cần (rel="prev"/rel="next" đã bị ngừng hỗ trợ từ 2019).
Infinite scroll — Google gặp khó khi scroll. Hãy cung cấp phiên bản phân trang (/blog?page=2) liên kết bằng thẻ <a> để Google crawl đầy đủ.
Chặn URL "thay đổi trạng thái" — Điểm rất ít người biết
Một số URL khi truy cập sẽ thực hiện hành động: đăng comment, tạo tài khoản, thêm vào giỏ hàng, xóa bài, logout. Nếu Google crawl chúng, nó có thể vô tình tạo hàng nghìn tài khoản giả, thêm hàng triệu món vào giỏ hàng, hoặc spam comment.
User-agent: *
Disallow: /cart/add
Disallow: /comment/post
Disallow: /account/create
Disallow: /logoutTốt hơn nữa: dùng POST request thay vì GET cho các hành động này.
HTTPS là bắt buộc — nếu website còn HTTP, hãy chuyển ngay: bảo mật cho người dùng, Chrome đánh dấu HTTP là "Not Secure", và HTTPS là tín hiệu xếp hạng chính thức.
Phần 5: Giúp Google hiểu nội dung
Ưu tiên text, không phải hình ảnh. Dù Google có thể phân tích hình ảnh, văn bản vẫn là cách an toàn nhất. Đừng đặt thông tin quan trọng chỉ trong infographic mà không có text giải thích.
Structured Data giúp Google hiểu rõ nội dung, đủ điều kiện cho Rich Results và tăng tỷ lệ nhấp. Các loại phổ biến: Article, Product, LocalBusiness, Review, FAQPage, Event, JobPosting.
Luôn validate bằng Rich Results Test trước khi đưa lên production.
Video: đặt video ở vị trí dễ thấy; tạo trang riêng cho mỗi video; có video sitemap; dùng VideoObject schema; thumbnail chất lượng cao.
Hình ảnh: filename mô tả (/giay-the-thao-nike-air.jpg thay vì /IMG_001.jpg); luôn có alt text; tối ưu định dạng (WebP/AVIF); lazy loading đúng cách.
Phần 6: Trải nghiệm người dùng
Chỉ số Core Web Vitals | Ý nghĩa | Mục tiêu |
|---|---|---|
LCP | Thời gian tải element lớn nhất | < 2,5 giây |
INP | Độ trễ phản hồi tương tác | < 200ms |
CLS | Độ dịch chuyển layout | < 0,1 |
Kiểm tra qua: Core Web Vitals report trong Search Console (toàn site), PageSpeed Insights (từng trang), Lighthouse (Chrome DevTools).
Mobile-first indexing — Google đã chính thức dùng mobile crawler làm crawler mặc định. Checklist: responsive design (không phải mobile site riêng); text đọc được không cần zoom; button đủ lớn để chạm; khoảng cách giữa element đủ rộng; tải nhanh trên 3G/4G; viewport meta tag đúng.
Phần 7: Kiểm soát cách website xuất hiện
Favicon — icon nhỏ hiển thị cạnh tên website trong kết quả mobile. Đây là cơ hội tăng nhận diện thương hiệu và CTR mà nhiều website Việt bỏ qua. Yêu cầu: kích thước là bội số của 48×48px; format bất kỳ mà browser hỗ trợ; URL ổn định, không đổi thường xuyên; và Google phải crawl được.
Article date — với blog/tin tức, hiển thị ngày xuất bản giúp tăng CTR cho nội dung mới. Triển khai bằng datePublished và dateModified trong structured data.
Kiểm soát snippet:
html
<!-- Giới hạn độ dài snippet -->
<meta name="robots" content="max-snippet:150">
<!-- Tắt snippet hoàn toàn -->
<meta name="robots" content="nosnippet">Phần 8: Search Console — "Bác sĩ" của website
Báo cáo | Dùng để |
|---|---|
Performance | Theo dõi clicks, impressions, CTR, vị trí từ khóa |
Page Indexing | Trang nào được index, trang nào không, và tại sao |
Core Web Vitals | Hiệu suất trên mobile và desktop |
Sitemaps | Submit và quản lý sitemap |
Manual Actions | Cảnh báo nếu bị phạt thủ công |
Security Issues | Phát hiện malware, bị hack |
URL Inspection | Kiểm tra chi tiết một URL |
Links | Backlink và internal link |
Thói quen nên có: kiểm tra Search Console ít nhất 1 lần/tuần. Nhiều vấn đề chỉ được phát hiện kịp thời qua công cụ này.
Phần 9: Checklist audit toàn diện
Nhóm | Cần kiểm tra |
|---|---|
Crawling & Indexing | Đã verify Search Console; submit sitemap; robots.txt đúng; không chặn nhầm resource; canonical chính xác; không trùng lặp lớn; URL có nghĩa; internal link dùng |
Technical | HTTPS; Core Web Vitals đạt "Good"; mobile-friendly; trang 404 đúng chuẩn (không soft 404); tối thiểu redirect chain; không broken link; JavaScript được xử lý đúng |
Content & Structure | Mỗi trang có title + meta description độc nhất; H1 duy nhất; structured data đã validate; ảnh có alt text; hreflang đúng; có favicon chuẩn |
UX | Tải nhanh trên 3G; button/link đủ lớn trên mobile; không pop-up gây phiền; navigation rõ ràng |
Giám sát | Check Search Console hàng tuần; theo dõi Core Web Vitals; monitor backlink; setup GA4 và cảnh báo lỗi |
Phần 10: Lộ trình 90 ngày
Tháng 1 — Audit & sửa lỗi cấp bách: tuần 1–2 verify Search Console, audit lỗi crawl/index, kiểm tra Core Web Vitals; tuần 3–4 sửa trang lỗi 5xx, gỡ redirect chain, cập nhật robots.txt, sửa soft 404, triển khai HTTPS.
Tháng 2 — Tối ưu cấu trúc: tuần 5–6 chuẩn hóa URL, triển khai canonical, xử lý duplicate content; tuần 7–8 tạo/cập nhật sitemap, cải thiện internal linking, thêm breadcrumb schema.
Tháng 3 — Nâng cao: tuần 9–10 triển khai structured data và validate; tuần 11–12 tối ưu Core Web Vitals, cải thiện mobile UX, tối ưu ảnh (WebP/AVIF).
Kết luận
Trong khi nhiều người chạy theo "thủ thuật" SEO mới mỗi tuần, SEO kỹ thuật vẫn là nền tảng quyết định thành công lâu dài.
Ba nguyên tắc cốt lõi:
Hiểu trước khi làm. Đừng triển khai thay đổi kỹ thuật nào mà không hiểu Google sẽ phản ứng ra sao. Một thay đổi sai (như chặn toàn site trong robots.txt) có thể xóa sổ website chỉ sau một đêm.
Giám sát liên tục. Search Console không phải để xem khi có vấn đề — mà để phòng ngừa vấn đề.
User-first, không phải Google-first. Nếu một "kỹ thuật SEO" làm trải nghiệm người dùng tệ đi, đó không phải SEO tốt.
SEO kỹ thuật không phải việc làm một lần rồi xong — đó là quá trình duy trì liên tục, như chăm một cái cây: có thể tự lớn, nhưng để vươn cao và ra trái thì cần tưới nước, cắt tỉa, bón phân đều đặn.
Nếu doanh nghiệp của bạn cần tối ưu và duy trì SEO dài hạn, hãy tham khảo dịch vụ bảo trì website và dịch vụ SEO, hoặc liên hệ Tấn Phát Digital để được tư vấn chiến lược phù hợp.
Biên soạn và Việt hóa từ tài liệu Google Search Central "Maintaining your website's SEO". Phần phân tích, checklist và lộ trình hành động thuộc về Tấn Phát Digital.















