Pagination with rel="next"/"prev"
Triển khai thẻ liên kết next/prev cho danh sách sản phẩm phân trang nhằm hướng dẫn Googlebot hiểu chuỗi trang và tập trung quyền lực.
Pagination with rel="next"/"prev" là gì?
Thẻ rel="next" và rel="prev" là hai thuộc tính HTML được đặt trong thẻ <link> ở phần <head> của trang web. Chúng dùng để báo cho Googlebot biết mối quan hệ thứ tự giữa các trang phân trang — ví dụ: danh sách sản phẩm trên một website thương mại điện tử chia thành nhiều trang (trang 1, trang 2, trang 3…). Khi triển khai đúng, Google hiểu rằng đây là một chuỗi liên tục, không phải các trang độc lập cạnh tranh nhau về từ khóa.
Tại sao quan trọng trong SEO?
Trong website thương mại điện tử, danh mục sản phẩm thường có hàng trăm hoặc hàng nghìn trang phân trang. Nếu không hướng dẫn rõ ràng, Googlebot có thể:
- Xem mỗi trang phân trang như một trang riêng biệt, gây hiện tượng nội dung trùng lặp (duplicate content);
- Phân tán quyền lực (link equity) thay vì tập trung vào trang đầu tiên — nơi thường có độ liên quan cao nhất và được liên kết nhiều nhất;
- Bỏ sót hoặc xếp hạng thấp các trang sau do thiếu tín hiệu cấu trúc.
Theo tài liệu chính thức của Google (cập nhật đến tháng 6/2024), rel="next"/"prev" vẫn được hỗ trợ nhưng không còn là yếu tố xếp hạng trực tiếp. Tuy nhiên, chúng vẫn giúp Googlebot hiểu đúng cấu trúc phân trang — đặc biệt khi không dùng canonical hoặc robots.txt chặn sai cách. Đây là thực hành kỹ thuật bắt buộc với website có phân trang quy mô lớn.
Cách hoạt động
Các thẻ <link rel="next"> và <link rel="prev"> tạo thành một chuỗi vòng hở:
- Trang 1: chỉ có
rel="next"trỏ tới trang 2; - Trang 2: có cả
rel="prev"(trỏ về trang 1) vàrel="next"(trỏ tới trang 3); - Trang cuối: chỉ có
rel="prev"trỏ về trang liền trước.
Google sử dụng thông tin này để xác định trang gốc (thường là trang 1), ưu tiên thu thập và lập chỉ mục nó trước, đồng thời giảm thiểu việc crawl dư thừa các trang phân trang ít giá trị.
Hướng dẫn thực hiện
- Xác định tất cả URL phân trang hợp lệ: Chỉ áp dụng cho các trang danh mục sản phẩm thật sự phân trang (không áp dụng cho trang tìm kiếm nội bộ hay filter động bằng JavaScript).
- Đảm bảo mỗi trang có đúng một cặp thẻ link trong phần
<head>. Ví dụ:<link rel="prev" href="https://example.com/danh-muc/ao-thun/page/1/"> <link rel="next" href="https://example.com/danh-muc/ao-thun/page/3/">
- Không dùng thẻ canonical để thay thế:
rel="next"/"prev"vàrel="canonical"làm nhiệm vụ khác nhau. Không gộp chung hoặc loại bỏ một trong hai. - Kiểm tra tính nhất quán của URL: Tất cả URL trong thẻ
hrefphải là URL đầy đủ (có schema, domain, dấu gạch chéo cuối nếu cần), không dùng đường dẫn tương đối. - Loại trừ trang phân trang không cần index: Dùng
noindexcho trang từ page/3 trở đi nếu nội dung quá giống trang 1 và không mang giá trị độc lập — nhưng chỉ khi đã kiểm tra kỹ ảnh hưởng đến trải nghiệm người dùng và tỷ lệ click từ SERP.
Lỗi thường gặp
| Lỗi | Hệ quả | Cách khắc phục |
|---|---|---|
Thiếu thẻ rel="prev" trên trang 2+ |
Google không nhận diện được chuỗi hoàn chỉnh → xử lý từng trang riêng lẻ | Viết script tự sinh thẻ dựa trên vị trí trang (page number), kiểm tra thủ công trên ít nhất 3 trang đầu và trang cuối |
Dùng rel="next"/"prev" cho phân trang không ổn định (ví dụ: sắp xếp theo giá, đánh giá) |
Gây mâu thuẫn tín hiệu — cùng một danh mục có nhiều chuỗi phân trang khác nhau | Chỉ triển khai cho phân trang mặc định (thứ tự mặc định, không filter); chặn các dạng phân trang động bằng robots.txt hoặc noindex |
URL trong href trả mã 404 hoặc 301 |
Googlebot bỏ qua toàn bộ chuỗi → mất khả năng hiểu cấu trúc | Test tất cả URL bằng công cụ như Screaming Frog hoặc Google Search Console > Coverage report |
Ví dụ thực tế
Một website bán giày có danh mục Giày thể thao gồm 120 sản phẩm, hiển thị 24 sản phẩm/trang → tổng cộng 5 trang. Cấu trúc URL như sau:
- Trang 1:
https://shoes.vn/danh-muc/giay-the-thao/ - Trang 2:
https://shoes.vn/danh-muc/giay-the-thao/page/2/ - Trang 3:
https://shoes.vn/danh-muc/giay-the-thao/page/3/ - Trang 4:
https://shoes.vn/danh-muc/giay-the-thao/page/4/ - Trang 5:
https://shoes.vn/danh-muc/giay-the-thao/page/5/
HTML phần <head> của trang 3 sẽ chứa:
<link rel="prev" href="https://shoes.vn/danh-muc/giay-the-thao/page/2/"> <link rel="next" href="https://shoes.vn/danh-muc/giay-the-thao/page/4/">
Trang 1 không có thẻ rel="prev", trang 5 không có thẻ rel="next". Toàn bộ chuỗi được Google đọc như một đơn vị duy nhất.
Câu hỏi thường gặp
rel="next"/"prev" có còn hiệu lực với Google không?
Có. Google khẳng định vẫn hỗ trợ rel="next"/"prev" như một tín hiệu cấu trúc, dù không còn dùng để gộp xếp hạng như trước năm 2019. Việc triển khai đúng giúp cải thiện hiệu quả thu thập và giảm nhiễu trong báo cáo Search Console.
Có nên dùng rel="canonical" thay cho next/prev?
Không. rel="canonical" nói với Google: “Trang này là bản sao, hãy lập chỉ mục trang kia”. Còn rel="next"/"prev" nói: “Đây là các phần của cùng một chuỗi”. Hai thẻ bổ sung chứ không thay thế nhau. Với phân trang, nên dùng cả hai — canonical trỏ về trang 1, đồng thời giữ next/prev cho toàn bộ chuỗi.
Có cần triển khai cho phân trang trên mobile hay AMP?
Cần. Nếu website có phiên bản mobile riêng (m.shoes.vn) hoặc AMP, thẻ rel="next"/"prev" phải được triển khai đồng bộ trên tất cả phiên bản — miễn là chúng phục vụ cùng một danh mục và có cấu trúc phân trang tương đương. Nếu không đồng bộ, Google có thể hiểu sai cấu trúc.