Mobile Robots.txt
Tệp robots.txt cần cho phép Googlebot-Mobile (hoặc Googlebot chung) truy cập các tài nguyên cần thiết như CSS, JS, hình ảnh trên di động.
Mobile Robots.txt là gì?
Mobile Robots.txt là tệp văn bản thuần (plain text) đặt ở thư mục gốc của trang web (ví dụ: https://example.com/robots.txt), dùng để hướng dẫn các công cụ tìm kiếm — đặc biệt là Googlebot-Mobile hoặc Googlebot chung — về việc được phép hay bị chặn truy cập vào các thư mục, tập tin hoặc tài nguyên trên phiên bản di động của website.
Khác với robots.txt thông thường, mobile robots.txt không phải là một tệp riêng biệt — Google hiện chỉ sử dụng một tệp robots.txt duy nhất cho cả máy tính và thiết bị di động. Tuy nhiên, cách cấu hình tệp này phải đảm bảo hỗ trợ đầy đủ cho trải nghiệm người dùng di động: CSS, JavaScript, hình ảnh và API cần thiết để render đúng nội dung trên màn hình nhỏ.
Tại sao quan trọng trong SEO?
Khi Googlebot-Mobile (hoặc Googlebot chung chạy trên user-agent di động) không thể tải được CSS, JS hoặc hình ảnh do bị chặn bởi robots.txt, công cụ tìm kiếm sẽ:
- Không hiểu đúng bố cục và nội dung trang,
- Đánh giá sai mức độ thân thiện với thiết bị di động (mobile-friendliness),
- Giảm khả năng xếp hạng trên kết quả tìm kiếm di động — chiếm hơn 60% lượt tìm kiếm toàn cầu (theo dữ liệu Google Search Console năm 2023),
- Gây ra cảnh báo "Có vấn đề với tài nguyên bị chặn" trong báo cáo Mobile Usability và Crawl Stats.
Việc cấu hình sai mobile robots.txt còn làm chậm quá trình lập chỉ mục, gây trùng lặp nội dung giữa phiên bản desktop và mobile nếu có cấu trúc URL riêng (ví dụ: m.example.com), hoặc làm hỏng trải nghiệm người dùng khi Google hiển thị đoạn trích (snippet) thiếu hình ảnh hoặc định dạng sai.
Cách hoạt động
Googlebot đọc tệp robots.txt mỗi lần bắt đầu crawl một trang. Với thiết bị di động, Google sử dụng cùng một quy tắc nhưng kiểm tra user-agent tương ứng:
User-agent: Googlebot-Mobile— dành riêng cho phiên bản cũ (không còn ưu tiên từ năm 2019),User-agent: Googlebot— hiện là user-agent chính cho cả desktop và mobile (từ tháng 7/2019),User-agent: *— áp dụng chung cho mọi bot nếu không có quy tắc cụ thể.
Google không phân biệt tệp robots.txt riêng cho mobile — nên không tồn tại khái niệm "mobile robots.txt" như một file riêng. Thay vào đó, đây là cách gọi tắt để nhấn mạnh việc tối ưu tệp robots.txt sao cho phiên bản di động được crawl và render đầy đủ.
Hướng dẫn thực hiện
Dưới đây là các bước kiểm tra và cấu hình chuẩn:
- Kiểm tra hiện trạng: Dùng công cụ Robots Testing Tool trong Google Search Console để xác minh xem các tài nguyên thiết yếu (CSS, JS, hình ảnh) có bị chặn không.
- Xác định đường dẫn tài nguyên: Tìm các thư mục chứa CSS (
/css/,/assets/css/), JS (/js/,/scripts/), hình ảnh (/images/,/uploads/) — thường xuất hiện trong thẻ<link>,<script>,<img>trên trang di động. - Sửa quy tắc trong robots.txt: Đảm bảo không có dòng
Disallowvô tình chặn các thư mục trên. Ví dụ:Disallow: /js/là sai — cần xoá hoặc thay bằngAllow: /js/nếu dùng quy tắc hỗn hợp. - Ưu tiên dùng User-agent chung: Chỉ cần khai báo
User-agent: *hoặcUser-agent: Googlebot, sau đó liệt kêAllowrõ ràng cho tài nguyên thiết yếu. - Thử nghiệm và xác nhận: Sau khi cập nhật, đợi 1–3 ngày rồi kiểm tra lại qua URL Inspection Tool và theo dõi báo cáo Crawl Stats.
Lỗi thường gặp
| Lỗi | Hệ quả | Cách khắc phục |
|---|---|---|
Disallow: / hoặc Disallow: /js/ |
Googlebot không tải được script → trang render sai hoặc trắng | Xoá dòng Disallow hoặc thêm Allow: /js/ trước dòng Disallow tương ứng |
User-agent: Googlebot-Mobile + Disallow: /css/ |
Chỉ ảnh hưởng bot cũ, nhưng gây nhầm lẫn và quản lý thừa | Loại bỏ khối Googlebot-Mobile, tập trung vào User-agent: Googlebot hoặc * |
| Tệp robots.txt trả về mã 403 hoặc 500 | Googlebot không đọc được bất kỳ quy tắc nào → hành xử như không có robots.txt | Kiểm tra quyền truy cập server, cấu hình Nginx/Apache, đảm bảo trả về mã 200 và kiểu MIME text/plain |
Ví dụ thực tế
Dưới đây là một tệp robots.txt được tối ưu cho mobile:
User-agent: *
Allow: /css/
Allow: /js/
Allow: /images/
Allow: /fonts/
Disallow: /admin/
Disallow: /wp-includes/
Disallow: /cgi-bin/
Sitemap: https://example.com/sitemap.xml
→ Giải thích: Tất cả bot đều được phép truy cập thư mục CSS, JS, hình ảnh — điều kiện bắt buộc để render đúng trang di động. Các thư mục nhạy cảm (admin, wp-includes) vẫn bị chặn an toàn.
Một ví dụ sai:
User-agent: Googlebot-Mobile
Disallow: /css/
Disallow: /js/
User-agent: *
Disallow: /
→ Hệ quả: Toàn bộ site bị chặn, kể cả phiên bản mobile. Đây là lỗi nghiêm trọng, thường xảy ra khi copy cấu hình từ template lỗi thời.
Câu hỏi thường gặp
Google có còn dùng Googlebot-Mobile không?
Từ tháng 7/2019, Google đã ngừng phân biệt bot di động và desktop. Hiện chỉ dùng Googlebot chung với khả năng tự động phát hiện và render phiên bản di động. Khối User-agent: Googlebot-Mobile không còn cần thiết và có thể gây hiểu nhầm.
Có cần tệp robots.txt riêng cho m.example.com?
Nếu bạn dùng subdomain di động (ví dụ: m.example.com), thì cần tệp robots.txt riêng tại https://m.example.com/robots.txt. Nội dung phải tương tự như phiên bản chính — cho phép CSS/JS/hình ảnh trên subdomain đó. Việc này là bắt buộc vì mỗi subdomain được coi là một website độc lập trong hệ thống crawl của Google.
Tôi nên kiểm tra robots.txt bao lâu một lần?
Nên kiểm tra ít nhất mỗi quý, đặc biệt sau khi nâng cấp CMS, chuyển đổi sang theme mới, hoặc triển khai CDN/optimization plugin — vì các thay đổi này có thể tự động thêm rule chặn tài nguyên. Nếu website có lưu lượng di động cao (>40%), khuyến nghị kiểm tra hàng tháng.