TẤT CẢ Chặn trang khỏi Google Search khi cần (noindex, robots)

Chặn trang khỏi Google Search khi cần (noindex, robots)

SEO 100/100 A+

📚 SEO Foundation Series (Bài 6/15) — Sau Bài 1: SEO là gì & Search Essentials, Bài 2: Google Search hoạt động — crawl, index, ranking, Bài 3: Bao lâu để thấy kết quả SEO?, Bài 4: Giúp Google tìm nội dungBài 5: Google có nhìn thấy trang giống người dùng?, bài này trả lời câu hỏi đối lập discovery: khi nào và làm sao chặn trang khỏi Google Search? Tôi bám mục Don't want a page in search results? trong Google SEO Starter Guideblock search indexing.

Bài 4 giúp Google tìm URL. Bài 5 đảm bảo Google đọc đủ nội dung. Bài 6 = kiểm soát không muốn URL trên SERP — admin, duplicate, thin utility, staging.

Vì sao cần chặn index — không phải "SEO ngược"

SEO không phải "index mọi thứ". Google SEO Starter Guide khuyên chủ động loại URL không mang giá trị search hoặc không nên public:

  • Trang admin, login, internal tool
  • Kết quả search nội bộ, filter URL vô nghĩa
  • Staging / preview deploy
  • Duplicate hoặc printer-friendly (series Bài 10 canonical)
  • Trang cảm ơn sau form — thin, không intent

Bài 2 đã tách crawl vs index. Chặn index = quyết định ở bước index, sau khi Google có thể đã crawl (Bài 5).

Không chặn đúng → crawl budget lãng phí (Bài 4), duplicate loãng topical authority, hoặc lộ path admin trên SERP.

Ba cơ chế: robots.txt, noindex, X-Robots-Tag

Cơ chếTác dụng chínhChặn index đáng tin?
robots.txt DisallowHướng dẫn không crawl pathKhông đủ một mình
meta robots noindexBáo không index sau crawl — khuyến nghị
X-Robots-Tag headerGiống noindex ở HTTP header — file PDF, API

Google documentation ghi: URL Disallow vẫn có thể indexed nếu Google biết URL qua link ngoài — hiển thị URL only không snippet.

Quy tắc vàng: Muốn không trên SERPnoindex (hoặc password + không link). Disallow là bổ sung, không thay thế.

Chặn trang khỏi Google Search bằng noindex

Meta robots trong HTML

<meta name="robots" content="noindex, nofollow">

Hoặc chỉ noindex nếu vẫn muốn Google follow link trên trang (hiếm).

Theo robots meta tag:

  • Googlebot phải crawl trang mới thấy thẻ → không dùng robots.txt chặn crawl kỳ vọng noindex cùng lúc (bot không đọc được meta).
  • noindex có hiệu lực khi Google fetch lại — timeline Bài 3.

Các giá trị liên quan

DirectiveÝ nghĩa
noindexKhông lưu vào index
nofollowKhông follow link trên trang (legacy; Google vẫn crawl URL nếu biết nguồn khác)
none= noindex + nofollow
noarchiveKhông cache snapshot

Zola / SSG

Thêm vào frontmatter hoặc template:

[extra]  # trang utility — không dùng trên bài posting series

seo_noindex = true

Template base.html render <meta name="robots" content="noindex"> khi flag bật — pattern phổ biến blog tĩnh. Bài posting series giữ index — không bật flag.

robots.txt Disallow — giới hạn và use case

robots.txt làm gì

File tại root (/robots.txt) — blog tôi: static/robots.txt deploy cùng site.

User-agent: *
Allow: /

Disallow: /editor/
Disallow: /admin-author/
Disallow: /admin/paywall/
Disallow: /data/

Sitemap: https://seomoney.org/sitemap.xml

Bài 4 đã nhắc sitemap + robots. Bài 6 nhấn Disallow = giảm crawl path utility — không thay noindex nếu URL vẫn cần "chắc chắn không SERP".

Khi Disallow đủ

  • Bot không cần vào path (tiết kiệm crawl).
  • URL không có internal link public — rủi ro index thấp.
  • Kết hợp auth backend — Googlebot không login được.

Khi Disallow không đủ

  • URL có backlink hoặc trong sitemap nhầm → vẫn có thể index.
  • Cần gỡ nhanh khỏi SERP → noindex + Removals tool tạm thời.

X-Robots-Tag và header HTTP

Với file không phải HTML — PDF, JSON export:

X-Robots-Tag: noindex

GitHub Pages static — ít dùng; nếu host PDF báo cáo, set header qua CDN/host config.

Search Console URL Inspection hiển thị cả meta và header — Bài 5 workflow vẫn áp dụng để verify.

Khi nào chặn trang nào — ma trận quyết định

Loại trangKhuyến nghịCông cụ
Bài blog chínhIndexSitemap, internal link
Admin / editorKhông indexDisallow + noindex template + auth
StagingKhông indexnoindex toàn site hoặc HTTP auth
Tag/archive trùng lặpTùy chiến lượcnoindex hoặc canonical (Bài 10)
Trang cảm ơn / cartnoindexmeta robots
API / JSON dataDisallow + noindexrobots.txt + header
Draft ZolaKhông publishdraft = true — không lên build

Đối lập Bài 4

  • Muốn index: internal link, sitemap, không noindex.
  • Không muốn index: noindex, không đẩy sitemap, không link nội bộ từ pillar.

Series posting /zola/posting/seo-la-gi...cố ý index — checklist Bài 4 ngược lại với Bài 6 cho utility path.

Remove URL vs chặn lâu dài

Removals tool (tạm thời)

Search Console → Removals — ẩn URL khỏi SERP ~6 thángkhông thay thế noindex. Dùng khi:

  • Lộ thông tin nhạy cảm — cần ẩn nhanh.
  • Đã noindex nhưng cache SERP còn.

Chặn lâu dài

  1. noindex trên trang.
  2. Gỡ internal link tới URL.
  3. Gỡ khỏi sitemap.
  4. Đợi Google recrawl — Bài 3 timeline.

410 Gone hoặc 404 — URL biến mất khỏi index theo thời gian — khác noindex (URL vẫn tồn tại nhưng không lưu).

Blog Zola — robots.txt và template thực tế

robots.txt production

Blog tôi Allow Googlebot toàn site posting, Disallow chỉ utility:

  • /editor/, /admin-author/, /admin/paywall/
  • /data/ — báo cáo nội bộ

Mediapartners-Google, AdsBot-Google Allow — đồng bộ AdSense series crawl ad relevance.

Bài posting series

  • Không noindex — draft = false, trong sitemap.
  • Sau publish: URL Inspection Bài 5 — xác nhận khôngnoindex nhầm.

Kiểm tra nhanh

curl -sI https://seomoney.org/posting/seo-la-gi-huong-dan-co-ban-google-search/ | grep -i robots
curl -s https://seomoney.org/posting/seo-la-gi-huong-dan-co-ban-google-search/ | grep -i 'meta name="robots"'

Kỳ vọng: không noindex trên bài pillar.

curl -s https://seomoney.org/robots.txt | grep -i disallow

→ Thấy path admin đã chặn crawl.

Subpath /zola/

Production base_url — internal link và sitemap dùng /zola/... — robots và noindex áp cùng path (Bài 4).

Sai lầm thường gặp

"Disallow = không lên Google" — Có thể vẫn index URL-only. Dùng noindex.

"noindex toàn site trên production" — Template staging quên gỡ — disaster SEO. Audit sau mỗi deploy.

"Chặn crawl + noindex cùng path" — Bot không đọc meta → noindex không áp dụng. Chọn một: cho crawl đọc noindex, hoặc 401/404.

"noindex trang đang muốn rank" — Nhầm frontmatter — kiểm tra URL Inspection.

"Xóa URL khỏi sitemap = deindex ngay" — Chỉ giảm tín hiệu discover; cần noindex hoặc 404.

"nofollow internal link pillar" — Không thay noindex; làm yếu Bài 4 cluster.

"robots.txt chặn / nhầm" — Cả site không crawl — lỗi staging copy production.

Checklist chặn index đúng cách

Trang không muốn trên SERP

  • noindex (meta hoặc X-Robots-Tag) — không chỉ Disallow.
  • robots.txt Disallow — giảm crawl (tùy chọn bổ sung).
  • Không link nội bộ từ bài index.
  • Không có trong sitemap.xml.
  • Auth nếu dữ liệu nhạy cảm.
  • Search Console Removals nếu cần ẩn khẩn.

Trang muốn rank (bài posting)

  • Không noindex — verify URL Inspection Bài 5.
  • robots.txt không Disallow path bài.
  • Trong sitemapBài 4.
  • Internal link từ series 1–5.

Sau deploy

  • Test 1 URL posting + 1 URL admin.
  • Ghi ngày — recheck nếu đổi template (Bài 3).

Bạn nên làm gì sau bài 6?

Khi đã biết chặn URL đúng cách, bước tiếp trong SEO Starter Guidetổ chức website — cấu trúc thư mục, navigation (series Bài 7). Trước mắt:

  1. Audit robots.txt production — Disallow chỉ utility, không chặn /posting/.
  2. URL Inspection 2–3 bài pillar — xác nhận indexable, không noindex nhầm.
  3. Liệt kê path cần noindex lâu dài — admin, data — đối chiếu template.

Chưa giúp Google tìm URL? Bài 4. Chưa verify render? Bài 5.

Tóm lại

Chặn trang khỏi Google Search khi URL không nên trên SERP — dùng noindex (meta hoặc header) là cách Google khuyến nghị; robots.txt Disallow chỉ hạn chế crawl, không đủ một mình để chắc không index. Bài posting series cố ý index — ngược lại với admin, staging, data.

Pipeline: tìm URL (Bài 4) → Google thấy nội dung (Bài 5) → quyết định index hay noindex (Bài 6) → tổ chức site (Bài 7). Blog Zola: robots.txt chặn utility, posting public trong sitemap — kiểm tra bằng URL Inspection sau deploy.

Series: Bài 1 (Essentials) → Bài 2 (crawl/index) → Bài 3 (thời gian) → Bài 4 (giúp Google tìm) → Bài 5 (Google thấy trang) → Bài 6 (chặn index khi cần). Tiếp theo: tổ chức website hợp lý cho SEO — cấu trúc site và navigation (Bài 7).

Tham khảo & Nguồn dữ liệu

1. Liên kết bên ngoài được sử dụng trong bài viết

2. Liên kết nội bộ liên quan

3. Bản quyền & Ghi nguồn

Nội dung dựa trên tài liệu chính thức Google Search Central (SEO Starter Guide, robots meta tag, robots.txt). Google có thể cập nhật khuyến nghị bất cứ lúc nào — nên đối chiếu phiên bản mới nhất trên developers.google.com/search.

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

noindex và Disallow trong robots.txt khác nhau thế nào?
noindex (meta robots hoặc X-Robots-Tag) báo Google không lưu URL vào index sau khi crawl — khuyến nghị khi muốn chặn index. Disallow trong robots.txt chỉ hướng dẫn không crawl — Google có thể vẫn index URL nếu có link từ nơi khác (URL-only index). Muốn chắc không hiện trên Search → dùng noindex, không chỉ Disallow.
Trang admin hoặc draft nên chặn bằng cách nào?
Kết hợp: không publish draft lên production (Zola draft=true), robots.txt Disallow path admin (tín hiệu phụ), và noindex trên template admin nếu URL vẫn public. Blog Zola: /editor/, /admin-author/, /admin/paywall/ đã Disallow trong robots.txt — bài posting public không noindex.
Chặn trang staging có cần noindex không?
Có — staging/production mirror nên noindex toàn site hoặc password-protect; robots.txt Disallow một mình không đủ nếu URL lộ (backlink, sitemap nhầm). Production blog chính thức: bỏ noindex, kiểm tra Search Console sau deploy ([Bài 5](/posting/google-nhin-trang-giong-nguoi-dung/)).

💬 BÌNH LUẬN

Đăng nhập GitHub để comment. Hỗ trợ markdown, reaction, reply.

S-DNA · CI/CD Monitor

Live TheoDoi8

🔄 running
theodoi8@github-actions

Đang tải terminal theodoi8…