Nguyên nhân khiến trang không được lập chỉ mục có thể ẩn trong cấu trúc mã hoặc cấu hình máy chủ
Ví dụ, bot không thể “đọc hiểu” nội dung động của bạn hoặc một tham số sai khiến trang bị coi là trùng lặp.
Bài viết này sẽ xuất phát từ góc độ kỹ thuật, tổng hợp 6 vấn đề thường bị bỏ qua nhưng ảnh hưởng trực tiếp đến việc lập chỉ mục, kèm cách kiểm tra và khắc phục cụ thể.

Table of Contens
ToggleTốc độ tải trang chậm làm bot không thể thu thập dữ liệu
Ví dụ, nếu thời gian phản hồi máy chủ vượt quá 3 giây, Googlebot có thể từ bỏ việc thu thập hoặc chỉ lập chỉ mục nội dung bị thiếu.
Vấn đề này thường bị bỏ qua, vì nhiều quản trị viên web chỉ chú trọng trải nghiệm người dùng (như việc hiển thị animation khi tải trang) mà quên mất “ngưỡng chịu đựng” của bot.
Thời gian phản hồi máy chủ quá lâu
Cách kiểm tra vấn đề:
Kiểm tra TTFB (Time to First Byte) qua Google Search Console ở mục “Core Web Vitals” hoặc dùng công cụ như GTmetrix. Nếu TTFB vượt quá 1.5 giây, cần tối ưu.
Giải pháp:
- Nâng cấp cấu hình máy chủ (CPU/RAM) hoặc chuyển sang các nhà cung cấp hosting hiệu suất cao (như Cloudways, SiteGround).
- Tối ưu truy vấn database: Giảm các truy vấn JOIN phức tạp, thêm index vào bảng dữ liệu sản phẩm.
- Bật cache máy chủ (như Redis hoặc Memcached) để giảm tần suất tạo trang động.
Chưa tối ưu các tệp tài nguyên
Các vấn đề thường gặp:
- Ảnh sản phẩm chưa nén (ví dụ PNG chưa chuyển sang WebP, độ phân giải quá 2000px).
- CSS/JS chưa được gộp, gây ra hàng chục yêu cầu HTTP.
Các bước khắc phục:
- Dùng Squoosh hoặc TinyPNG để nén ảnh, chọn kích thước phù hợp với thiết bị phổ biến (ví dụ 1200px chiều rộng).
- Dùng Webpack hoặc Gulp để gộp CSS/JS, giảm số lượng yêu cầu tệp.
- Bật nén Gzip hoặc Brotli để giảm dung lượng truyền tải.
Script chặn hiển thị nội dung
Ở góc nhìn bot:
Bot khi gặp script không tải bất đồng bộ (ví dụ Google Analytics tải đồng bộ) sẽ tạm dừng xử lý HTML cho tới khi script thực thi xong.
Giải pháp tối ưu:
- Thêm thuộc tính
asynchoặcdefercho các script không cần thiết (ví dụ:). - Chuyển các công cụ bên thứ ba (như chatbox, heatmap) tải sau khi trang đã hiển thị xong.
Công cụ kiểm tra & gợi ý ưu tiên
Checklist tự kiểm tra:
- PageSpeed Insights: Xác định vấn đề tải tài nguyên cụ thể (ví dụ “Giảm thời gian thực thi JavaScript”).
- Screaming Frog: Kiểm tra hàng loạt TTFB các trang sản phẩm, lọc ra các URL có tốc độ chậm.
- Lighthouse: Xem mục “Cơ hội” để nhận đề xuất (ví dụ xóa CSS không dùng).
Ưu tiên tối ưu gấp:
Xử lý ngay các trang có TTFB > 2 giây, trang có trên 50 HTTP request, hoặc ảnh dung lượng > 500KB.
Tham khảo số liệu:
Google cho biết, nếu thời gian tải trang tăng từ 1 giây lên 3 giây, khả năng bot thất bại khi thu thập dữ liệu tăng 32%. Áp dụng các giải pháp trên có thể giúp đa số trang sản phẩm tải xong dưới 2 giây, nâng cao đáng kể khả năng được lập chỉ mục.
robots.txt chặn nhầm thư mục sản phẩm
Ví dụ, nếu vô tình viết Disallow: /tmp/ thành Disallow: /product/, bot sẽ không thể truy cập trang sản phẩm, dù nội dung chất lượng cao.
Cách nhanh để kiểm tra robots.txt chặn URL
Công cụ kiểm tra:
- Google Search Console: Vào “Chỉ mục” > “Trang”, nếu trang sản phẩm bị chặn sẽ hiện chi tiết lý do do robots.txt.
- Công cụ kiểm tra trực tuyến: Dùng robots.txt tester nhập URL để kiểm tra quyền truy cập dưới góc nhìn bot.
Các lỗi thường gặp:
- Gõ sai đường dẫn (ví dụ
/produc/thay vì/product/). - Dùng ký tự đại diện
*quá mức (ví dụDisallow: /*.jpg$chặn tất cả ảnh sản phẩm).
Cách sửa lỗi chặn robots.txt nhầm lẫn
Nguyên tắc viết đúng chuẩn:
- Khớp chính xác đường dẫn: Tránh chặn quá rộng, ví dụ với thư mục tạm thời nên dùng
Disallow: /old-product/thay vìDisallow: /product/ - Phân loại bot rõ ràng: Nếu chỉ muốn chặn bot rác, cần chỉ rõ User-agent (ví dụ:
User-agent: MJ12bot)
Xử lý tham số URL:
- Cho phép tham số cần thiết (ví dụ phân trang
?page=2), chỉ nên chặn tham số sắp xếp bằngDisallow: *?sort= - Dùng ký hiệu
$để chỉ kết thúc tham số (ví dụ:Disallow: /*?print=true$)
Quy trình khôi phục khẩn cấp & kiểm tra xác minh
Ví dụ các bước thực hiện:
- Chỉnh sửa file robots.txt, ghi chú hoặc xóa dòng sai (ví dụ:
# Disallow: /product/) - Gửi yêu cầu cập nhật robots.txt trên Google Search Console
- Dùng công cụ “Kiểm tra URL” để kiểm tra thủ công trạng thái thu thập dữ liệu của trang sản phẩm
- Kiểm tra lại tình trạng index sau 24h, nếu chưa khôi phục có thể gửi sitemap sản phẩm thủ công
Biện pháp bảo vệ:
- Quản lý lịch sử chỉnh sửa robots.txt bằng công cụ quản lý phiên bản (ví dụ Git) để dễ dàng khôi phục lại
- Thử nghiệm các thay đổi trên môi trường staging, tránh chỉnh sửa trực tiếp trên môi trường chính
Phân tích tình huống thực tế
Cấu hình sai:
User-agent: *
Disallow: /
Allow: /product/
Vấn đề: Disallow: / đã chặn toàn bộ website, nên rule Allow sau đó không có tác dụng
Chỉnh sửa đúng:
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Allow: /product/
Giải pháp: Chỉ chặn thư mục quản trị và thư mục tạm thời, cho phép rõ ràng đường dẫn sản phẩm
Trang sản phẩm thiếu liên kết nội bộ hợp lệ
Nếu trang sản phẩm không có liên kết nội bộ (ví dụ: menu điều hướng, bài viết liên quan, anchor text trong nội dung), nó sẽ trở thành “đảo cô lập”. Dù nội dung tốt, bot cũng khó index.
Tình huống này thường gặp ở sản phẩm mới, trang chuyên đề độc lập hoặc trang nhập hàng loạt từ công cụ bên ngoài — những trang này chưa được gắn vào cấu trúc điều hướng tổng thể của website.
Thiếu cấu trúc điều hướng hoặc thiết kế kém hợp lý
Vấn đề phổ biến:
- Trang sản phẩm không nằm trong menu chính hoặc danh mục (chỉ hiển thị qua trang tìm kiếm)
- Menu di động dạng ẩn (hamburger menu), nhưng đường dẫn sản phẩm quan trọng lại bị ẩn sâu trong nhiều tầng submenu
Giải pháp:
Công cụ tự kiểm tra: Dùng Screaming Frog crawl toàn bộ site, lọc trang sản phẩm có “số lượng liên kết nội bộ ≤ 1”
Các bước tối ưu:
- Thêm liên kết đến trang sản phẩm tổng hợp (ví dụ: “Sản phẩm mới nổi bật”, “Danh mục gợi ý”) ngay trong menu chính
- Đảm bảo mỗi trang sản phẩm đều thuộc ít nhất 1 danh mục (ví dụ:
/category/shoes/product-A)
Chưa tận dụng tốt module sản phẩm liên quan
Góc nhìn bot: Nội dung kiểu “Có thể bạn thích” nếu chỉ tải bằng JavaScript thì bot có thể không thu thập được các liên kết này.





