Checklist kiểm tra robots.txt, sitemap và thẻ noindex

bảng kết quả checklist kiểm tra robots.txt, sitemap và thẻ noindex
Mục lục bài viết6 mục

Khi nghi ngờ website đang bị chặn thu thập, ba nơi cần mở ra xem theo đúng thứ tự là tệp robots.txt, sitemap và thẻ robots trong mã nguồn. Kiểm sai thứ tự sẽ dẫn tới kết luận sai, vì một tệp robots.txt chặn nhầm làm mọi thứ phía sau trở nên vô nghĩa. Checklist dưới đây gồm 14 điểm, mất khoảng 20 phút.

Thứ tự kiểm và lý do không được đảo

Ba thành phần này can thiệp vào ba thời điểm khác nhau trong hành trình của bot. Tệp robots.txt được đọc trước tiên, quyết định bot có được phép tải URL hay không. Sitemap ảnh hưởng tới việc URL có được phát hiện hay không. Thẻ robots nằm trong mã nguồn, chỉ có tác dụng sau khi trang đã được tải về.

Hệ quả trực tiếp là khi một URL bị chặn trong robots.txt, thẻ noindex bên trong trang không bao giờ được đọc tới. Trang vẫn có thể xuất hiện trong kết quả tìm kiếm dưới dạng chỉ có URL và không có mô tả, đúng tình huống ngược với mong muốn của người đã đặt thẻ noindex.

Vì vậy luôn kiểm theo thứ tự robots.txt trước, sitemap sau, thẻ robots cuối cùng. Ghi kết quả từng điểm vào một bảng đơn giản với ba cột: điểm kiểm, kết quả, việc cần làm.

Bảy điểm kiểm cho tệp robots.txt

Điểm một: mở đường dẫn tệp robots.txt bằng cách thêm tên tệp vào sau tên miền gốc. Tệp phải trả về nội dung dạng văn bản với mã 200. Nếu trả về mã 404 thì không sao, bot hiểu là không có ràng buộc nào. Nếu trả về mã 500 thì nghiêm trọng, vì lỗi máy chủ ở tệp này có thể khiến bot tạm dừng thu thập cả site.

Điểm hai: đọc từng dòng Disallow và đối chiếu với các đường dẫn thật của website. Chú ý các dòng chặn cả một thư mục mà bên trong có nội dung cần thu thập.

Điểm ba: tìm dòng chặn toàn bộ, tức dấu gạch chéo đứng một mình sau lệnh Disallow. Đây là cấu hình của môi trường thử nghiệm và là lỗi phổ biến nhất khi đưa website lên chạy thật.

Điểm bốn: xác nhận các thư mục chứa tệp giao diện và mã kịch bản không bị chặn. Bot cần tải được các tệp này để dựng trang, và việc chặn chúng khiến trang được đánh giá như một trang trống.

Điểm năm: kiểm tra tệp robots.txt có khai đường dẫn sitemap ở dòng riêng hay không. Đây không bắt buộc nhưng là cách rẻ để mọi công cụ tìm kiếm đều biết sitemap nằm ở đâu.

Điểm sáu: xác nhận không có nhóm quy tắc riêng nào dành cho một bot cụ thể mà bạn không cố ý tạo ra. Nhiều plugin bảo mật tự thêm quy tắc chặn theo tên bot.

Điểm bảy: nếu website có nhiều tên miền phụ, kiểm tệp robots.txt của từng tên miền phụ riêng. Mỗi tên miền phụ có tệp riêng và cấu hình của tên miền chính không áp dụng cho chúng.

Bốn điểm kiểm cho sitemap

Điểm tám: mở sitemap và xác nhận nó trả về XML hợp lệ chứ không phải trang lỗi hay trang chuyển hướng. Với website dùng sitemap chỉ mục, mở thêm ít nhất một tệp con.

Điểm chín: đếm số URL trong sitemap và so với số nội dung thật bạn muốn được lập chỉ mục. Chênh lệch lớn theo hướng thừa nghĩa là có loại nội dung không mong muốn đang lọt vào, chênh theo hướng thiếu nghĩa là có nhóm nội dung chưa được đưa vào.

Điểm mười: lấy ngẫu nhiên năm URL trong sitemap, mở từng URL và xác nhận chúng trả về mã 200, không chuyển hướng, không bị chặn trong robots.txt và không mang thẻ noindex. Đây là điểm phát hiện mâu thuẫn giữa ba thành phần, và cũng là điểm hay sai nhất trên website đã chạy lâu.

Điểm mười một: kiểm tra sitemap có tự cập nhật khi bạn xuất bản nội dung mới hay không. Cách kiểm là xuất bản một bài thử rồi mở lại sitemap sau vài phút. Trên website dựng tĩnh, đây là chỗ hay quên vì sitemap chỉ sinh lại khi chạy lại quá trình dựng.

bảng kết quả checklist kiểm tra robots.txt, sitemap và thẻ noindex
bảng ba cột ghi kết quả kiểm cho từng điểm, đã điền theo một tình huống minh họa

Ba điểm kiểm cho thẻ robots trong mã nguồn

Điểm mười hai: mở mã nguồn của năm trang đại diện gồm trang chủ, một bài viết, một trang danh mục, một trang tag và một trang tĩnh, tìm thẻ meta có tên robots. Ghi lại giá trị của từng trang.

Điểm mười ba: xác nhận mỗi trang chỉ có đúng một thẻ robots. Hai thẻ mâu thuẫn xuất hiện khi theme và plugin cùng sinh thẻ, và khi đó chỉ dẫn hạn chế hơn thường được áp dụng, tức trang có thể bị loại khỏi chỉ mục ngoài ý muốn.

Điểm mười bốn: kiểm tra phần tiêu đề phản hồi của máy chủ xem có chỉ dẫn robots ở tầng đó không. Chỉ dẫn ở tầng phản hồi ít gặp nhưng khó phát hiện vì nó không xuất hiện trong mã nguồn trang. Công cụ Kiểm tra URL trong Search Console hiển thị được thông tin này.

Bảng kết quả điền sẵn theo tình huống minh họa

Dưới đây là bản ghi sau một lượt chạy checklist cho website nội dung khoảng 150 bài chạy trên hosting chia sẻ, nghi ngờ có lỗi thu thập vì số trang được lập chỉ mục thấp hơn số bài thật.

Số liệu và kết quả trong ví dụ dưới đây là bản dựng cho một tình huống giả định, không phải bản ghi lấy từ một website cụ thể.

Điểm một: đạt, tệp trả về mã 200. Điểm hai: đạt. Điểm ba: đạt, không có dòng chặn toàn bộ. Điểm bốn: chưa đạt, một thư mục tài nguyên đang bị chặn từ cấu hình cũ, đã bỏ dòng đó. Điểm năm: chưa đạt, chưa khai sitemap trong robots.txt, đã bổ sung. Điểm sáu: đạt. Điểm bảy: chưa đạt, tên miền phụ dùng cho bản thử nghiệm vẫn đang mở thu thập, đã chặn lại. Điểm tám và chín: đạt. Điểm mười: chưa đạt, hai trong năm URL kiểm ngẫu nhiên đang mang thẻ noindex nhưng vẫn nằm trong sitemap, đã loại khỏi sitemap. Điểm mười một: đạt. Điểm mười hai: đạt. Điểm mười ba: chưa đạt, trang bài viết có hai thẻ robots do theme sinh thêm, đã tắt chức năng trong theme. Điểm mười bốn: đạt.

Bốn điểm chưa đạt trong bản ghi này là bốn lỗi độc lập, và chỉ có điểm bốn cùng điểm mười ba thật sự ảnh hưởng tới việc nội dung được ghi nhận. Ghi lại đầy đủ vẫn có ích, vì lần kiểm sau bạn biết ngay nên nhìn vào đâu trước.

Sai lầm khi đọc kết quả và cách tránh

Sai lầm thứ nhất là dùng robots.txt để giấu nội dung khỏi kết quả tìm kiếm. Chặn thu thập không đồng nghĩa với loại khỏi chỉ mục. Muốn một trang không xuất hiện, hãy để bot vào được và đặt thẻ noindex, hoặc dùng cơ chế xác thực nếu nội dung thật sự riêng tư.

Sai lầm thứ hai là sửa robots.txt rồi kỳ vọng thay đổi ngay. Tệp này được lưu tạm một thời gian ở phía công cụ tìm kiếm, nên thay đổi cần vài giờ tới một ngày mới có hiệu lực đầy đủ.

Sai lầm thứ ba là đưa mọi URL vào sitemap cho chắc. Sitemap nên chỉ chứa những URL bạn muốn được lập chỉ mục và đang trả về mã 200. Một sitemap lẫn URL chuyển hướng, URL lỗi và URL mang thẻ noindex làm giảm mức tin cậy của chính nó.

Sai lầm thứ tư là kiểm một lần rồi thôi. Cấu hình robots.txt và thẻ robots hay bị đổi ngoài ý muốn sau mỗi lần cài plugin mới hoặc đổi theme, nên đưa checklist này vào việc phải làm sau mỗi thay đổi lớn.

=== FAQ === Q: Website không có tệp robots.txt thì có phải lỗi không? A: Không phải lỗi, khi không tìm thấy tệp thì bot mặc định được phép thu thập mọi thứ, nhưng nên tạo tệp để có chỗ khai sitemap và để chủ động chặn các đường dẫn không cần thu thập. Q: Đã đặt noindex mà trang vẫn hiện trong kết quả tìm kiếm thì vì sao? A: Thường vì URL đó đang bị chặn trong robots.txt nên bot không đọc được thẻ noindex, cách xử lý là bỏ dòng chặn để bot vào đọc được chỉ dẫn rồi mới loại trang khỏi chỉ mục. Q: Có nên chặn trang kết quả tìm kiếm nội bộ trong robots.txt không? A: Nên, vì nhóm URL này sinh ra vô hạn theo từ khóa người dùng gõ và không mang giá trị riêng, chặn thu thập giúp bot dành lượt cho nội dung thật.

Chạy hết 14 điểm, bạn loại bỏ được toàn bộ nhóm nguyên nhân chặn kỹ thuật và biết chắc vấn đề còn lại nằm ở nội dung hay ở liên kết. Nên chạy lượt đầu ngay hôm nay, vì các lỗi trong nhóm robots.txt càng để lâu càng khiến nhiều nội dung mới xuất bản rơi vào cùng một cái bẫy.