Đội ngũ SEO của sàn thương mại điện tử đã viết lại quy tắc lập chỉ mục sau khi chính sách đơn giản “ít hơn 3 tin đăng = noindex” khiến các trang danh mục biến mất khỏi Google và mất nhiều tuần mới xuất hiện trở lại. Bằng cách thêm một bản ghi "mở khóa" (unlock) một chiều cho phép một trang chuyển từ noindex sang index nhưng không bao giờ quay trở lại, trang web đã ngăn chặn được tình trạng trồi sụt này.
Tại sao quy tắc ban đầu lại phản tác dụng
Nền tảng rao vặt này tạo ra rất nhiều trang danh mục và địa điểm. Khi một trang mới xuất hiện, nó thường chỉ chứa một vài tin đăng, vì vậy đội ngũ đã quyết định ẩn nó khỏi công cụ tìm kiếm cho đến khi đạt đến ngưỡng tối thiểu là ba mục. Logic rất đơn giản:
- < 3 tin đăng → thêm thẻ meta
noindex - ≥ 3 tin đăng → xóa thẻ (cho phép lập chỉ mục)
Ban đầu, điều này giúp loại bỏ các trang mỏng (thin pages) và có giá trị thấp khỏi kết quả của Google. Vấn đề nảy sinh khi các tin đăng hết hạn. Một trang có năm tin đăng vào ngày hôm nay có thể giảm xuống còn hai vào ngày hôm sau, ngay lập tức chuyển ngược lại thành noindex. Google tuân thủ, loại bỏ URL khỏi chỉ mục, và trang đó mất đi mọi thứ hạng đã xây dựng được. Khi có một tin đăng mới, trang đó lại có thể lập chỉ mục được, nhưng quá trình quay trở lại mất hàng tuần.
Kết quả là một chu kỳ “bật-tắt” liên tục: các trang được đưa vào chỉ mục, biến mất, rồi lại được đưa vào, và cứ thế tiếp diễn.
Giải pháp "mở khóa" một chiều
Lỗi cốt lõi là quy tắc này không có "trí nhớ"; nó tính toán lại ngưỡng mỗi khi có yêu cầu. Đội ngũ đã giới thiệu một bảng cơ sở dữ liệu nhỏ—seo_unlocks—để ghi lại thời điểm một trang lần đầu tiên đạt mốc ba tin đăng. Quy trình làm việc mới là:
- Kiểm tra số lượng tin đăng. Nếu trang có từ ba tin đăng hoạt động trở lên, hãy tiếp tục.
- Ghi một dòng mở khóa. Chèn một bản ghi cho trang đó vào
seo_unlocks. - Coi trang đó là có thể lập chỉ mục vĩnh viễn. Ngay cả khi số lượng sau đó giảm xuống dưới ba, sự hiện diện của dòng mở khóa sẽ giữ cho trang không rơi vào luồng
noindex.
Vì việc mở khóa chỉ có thể được ghi một lần, một trang có thể chuyển từ “noindex” sang “index” nhưng không bao giờ quay lại. Đội ngũ đã thêm các biện pháp bảo vệ để các URL đã được lọc (ví dụ: kết quả tìm kiếm với khoảng giá) không thể tạo lệnh mở khóa cho các danh mục cha của chúng, đồng thời bọc lệnh gọi cơ sở dữ liệu trong khối try/catch để ngăn lỗi DB làm sập toàn bộ trang web.
Điều này có ý nghĩa gì đối với crawl budget và các trang mỏng
Một quan niệm sai lầm phổ biến là noindex giúp tiết kiệm crawl budget (ngân sách thu thập dữ liệu). Google vẫn phải truy cập trang, đọc thẻ, và sau đó mới loại bỏ nó khỏi chỉ mục. Nếu mục tiêu là ngăn Google yêu cầu toàn bộ một mẫu URL, công cụ chính xác phải là robots.txt. Chỉ sử dụng noindex khi bạn muốn Google thấy trang nhưng không hiển thị nó trong kết quả tìm kiếm.
Đối với các trang danh bạ, bảng tin tuyển dụng và sàn thương mại điện tử dựa trên số lượng lớn các trang được tạo tự động, bài học rất rõ ràng: các quy tắc về trang mỏng phải đi kèm với một lớp lưu trữ (persistence layer) để ghi nhớ khi nào một trang đã giành được vị trí trong chỉ mục. Nếu không có "trí nhớ" đó, sự sụt giảm nội dung tạm thời có thể khiến một trang mất đi thứ hạng đã xây dựng, và việc quay trở lại có thể mất hàng tuần.
Bài học rút ra
Một quy tắc tĩnh “nếu số lượng < 3 thì noindex” tạo ra sự biến động SEO cho các trang web tin đăng động. Việc thêm một bản ghi mở khóa một chiều giúp quy tắc có "trí nhớ", cho phép các trang giành được và giữ vững trạng thái lập chỉ mục ngay cả khi số lượng tin đăng biến động. Kết hợp điều đó với việc sử dụng robots.txt đúng cách để thực sự tiết kiệm crawl budget, bạn có thể bảo vệ cả thứ hạng lẫn tài nguyên máy chủ.
