robots.txt và cấu hình sitemap đúng chuẩn
Chương 2: Kiến thức cơ bản về tìm kiếm · Câu hỏi 30
robots.txt và sitemap.xml là hai tệp nền tảng giúp website "giao tiếp" với search engine. Tệp trước cho crawler biết "những gì không nên crawling", tệp sau cho crawler biết "hãy đến crawling các trang này". Cấu hình đúng có thể nâng cao đáng kể hiệu quả indexing; cấu hình sai có thể khiến toàn bộ site biến mất khỏi kết quả tìm kiếm.
Cú pháp cơ bản của robots.txt
robots.txt phải được đặt ở thư mục gốc của website (ví dụ https://example.com/robots.txt), cú pháp cơ bản:
User-agent: Baiduspider
Disallow: /admin/
Disallow: /search?
Allow: /
User-agent: Googlebot
Disallow: /admin/
Allow: /
Sitemap: https://example.com/sitemap.xml
Quy tắc quan trọng:
User-agent: chỉ định crawler nào (*đại diện cho tất cả)Disallow: cấm crawling đường dẫnAllow: cho phép crawling (ưu tiên cao hơn Disallow)Sitemap: khai báo địa chỉ sitemap
Những đường dẫn nào nên chặn?
| Nên chặn | Nguyên nhân |
|---|---|
| /admin/ hoặc /wp-admin/ | Trang quản trị backend, không có giá trị SEO |
| /search? hoặc /s? | Trang kết quả tìm kiếm nội bộ, tạo ra nhiều trang trùng lặp chất lượng thấp |
| /cart/ /checkout/ | Trang giỏ hàng, thanh toán, không có giá trị index |
| /?sort= /?filter= | Trang tham số sắp xếp/lọc, gây ra nội dung trùng lặp |
| /tag/ (tùy trường hợp) | Nếu nội dung trang tag quá mỏng, nên chặn |
| /api/ | Địa chỉ API, không nên xuất hiện trong kết quả tìm kiếm |
Tuyệt đối không được chặn:
- Tệp CSS và JS (Baidu cần render trang)
- Thư mục hình ảnh (trừ khi bạn không muốn hình ảnh được index)
- Di độngTrang
Định dạng và quy chuẩn sitemap.xml
Định dạng sitemap chuẩn:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/page1</loc>
<lastmod>2025-06-15</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Thực tiễn tốt nhất:
- Mỗi tệp sitemap không vượt quá 50.000 URL, dung lượng tệp không vượt quá 50MB
- Khi vượt quá giới hạn, dùng tệp chỉ mục sitemap để tách:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2025-06-20</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2025-06-18</lastmod>
</sitemap>
</sitemapindex>
Kênh gửi
- Baidu SearchNền tảng tài nguyên: Dịch vụ tìm kiếm → Thu thập thông thường → Gửi sitemap (hỗ trợ định dạng txt và xml)
- Google Search Console: Chỉ mục → Sơ đồ trang web → Thêm sơ đồ trang web mới
- Bing Webmaster Tools: Sơ đồ trang web → Gửi sơ đồ trang web
Baidu còn hỗ trợ gửi URL trang mới theo thời gian thực qua "API đẩy chủ động", đặc biệt hữu ích với nội dung có tính thời sự (như tin tức).
Khuyến nghị tần suất cập nhật sitemap
| Loại website | Tần suất cập nhật | Mô tả |
|---|---|---|
| Tin tức thông tin | Mỗi giờ/thời gian thực | Kết hợp đẩy chủ động của Baidu |
| Website thương mại điện tử | Mỗi ngày | Sản phẩm lên xuống kệ thay đổi thường xuyên |
| Website doanh nghiệp | Hàng tuần | Nội dung ít thay đổi |
| Website blog | Khi đăng bài viết mới | Có thể dùng CMS để tự động cập nhật |
Lỗi thường gặp
- robots.txt ghi Disallow: / nhưng quên sửa lại: toàn bộ site bị chặn, đây là lỗi thảm khốc nhất
- sitemap chứa URL bị robots chặn: logic mâu thuẫn, search engine sẽ bối rối
- sitemap chứa trang 404: lãng phí hạn mức crawling
- Ngày lastmod bị làm giả: lần nào cũng ghi ngày hiện tại, search engine sẽ bỏ qua trường này
- Không khai báo vị trí sitemap trong robots.txt: tuy không bắt buộc nhưng nên thêm vào
- Lỗi mã hóa sitemap:Bắt buộc dùng mã hóa UTF-8, ký tự đặc biệt trong URL cần được chuyển nghĩa
Gợi ý thực hành
- Bắt buộc kiểm tra robots.txt trước khi ra mắt:Nhiều website trong giai đoạn phát triển dùng
Disallow: /chặn toàn bộ trang, sau khi ra mắt quên sửa, dẫn đến nhiều tháng không được lập chỉ mục - sitemap chỉ đặt các URL chuẩn mà bạn muốn được lập chỉ mục:không đặt trang trùng lặp có tham số, không đặt trang noindex, không đặt URL nguồn chuyển hướng
- Kiểm tra tình trạng sitemap mỗi tháng một lần:Dùng các công cụ như Screaming Frog để quét, đảm bảo sitemap không có trang lỗi 4xx/5xx
Dùng công cụ AI để giải quyết: tạo cấu hình robots.txt và sitemap
Tình huống một: tạo robots.txt theo loại website
Website của tôi là [website doanh nghiệp/thương mại điện tử/blog nội dung], dựa trên [WordPress/tự phát triển], các thư mục không cần chặn gồm [CSS/JS/hình ảnh], các thư mục cần chặn là [backend/trang tìm kiếm/trang tham số]. Hãy giúp tôi tạo một tệp robots.txt hoàn chỉnh: viết riêng cho Baiduspider và Googlebot, chặn backend và tìm kiếm nội bộ trang, Allow CSS/JS/hình ảnh, cuối cùng khai báo địa chỉ sitemap. Đồng thời chú thích tác dụng của từng dòng quy tắc để tôi dễ hiểu.
Tình huống hai: tạo sitemap.xml từ danh sách URL hiện có
Đây là danh sách tất cả URL của website tôi (dán sitemap hoặc danh sách URL). Hãy giúp tôi: 1) Lọc bỏ các URL có tham số, chứa admin/search và những URL không nên lập chỉ mục; 2) Tạo XML theo chuẩn sitemap, mỗi mục gồm loc, lastmod (dùng ngày đã cho), changefreq, priority; 3) Nếu vượt quá 5 vạn mục, chia thành định dạng sitemap index.
Tình huống ba: kiểm tra "bẫy" trong sitemap
Đây là một tệp sitemap.xml (dán nội dung). Hãy giúp tôi kiểm tra: 1) Các URL có khớp với quy tắc cho phép trong robots.txt không (tôi đồng thời dán robots.txt); 2) Có chứa trang noindex hoặc nguồn chuyển hướng 301 không; 3) lastmod có hợp lý không (có phải tất cả đều là ngày hôm nay không); 4) Mã hóa và chuyển nghĩa XML có đúng không.
Tình huống bốn: tạo biểu thức chính quy để chặn URL trùng lặp dạng tham số
URL trang web của tôi có các tham số sau: ?sort=, ?filter=, ?page=, ?utm_source=, ?session_id=. Hãy giúp tôi tạo các quy tắc regex trong robots.txt để chặn các trang tham số này, đồng thời giải thích phạm vi khớp của từng quy tắc và các trường hợp có thể chặn nhầm.
Lưu ý: Ranh giới của AI
- robots.txt là cấu hình "một phiếu phủ quyết": sau khi AI tạo, nhất định phải rà soát thủ công từng dòng, đặc biệt không được xuất hiện
Disallow: /chặn toàn site, trước khi lên production hãy truy cập trực tiếp robots.txt trên trình duyệt để xác nhận - nội dung sitemap phải trung thực: AI chỉ có thể tạo theo URL bạn dán vào, nó không biết trang nào là noindex hoặc đã bị xóa, bạn phải tự lọc trước
- đừng để AI bịa lastmod: lastmod giả sẽ bị search engine bỏ qua và giảm độ tin cậy, ngày tháng phải lấy từ thời gian sửa đổi thực tế của tệp
