Pagination SEO
Chiến lược tối ưu hóa chuỗi trang phân trang (như danh sách sản phẩm) bằng rel="next"/"prev" hoặc view-all page để hỗ trợ lập chỉ mục đúng cách.
Pagination SEO là gì?
Pagination SEO là cách tối ưu hóa các trang phân trang — tức những trang chia nội dung dài thành nhiều phần (ví dụ: trang danh sách sản phẩm, bài viết tin tức, bình luận) — để công cụ tìm kiếm hiểu đúng cấu trúc, tránh trùng lặp và lập chỉ mục hiệu quả. Đây là một phần quan trọng của Technical SEO, đặc biệt với website thương mại điện tử hoặc blog có lượng nội dung lớn.
Tại sao quan trọng trong SEO?
Khi một danh mục có hàng trăm sản phẩm, việc hiển thị tất cả trên một trang gây chậm tải, ảnh hưởng trải nghiệm người dùng và làm loãng tín hiệu SEO. Nhưng nếu chia thành nhiều trang mà không xử lý đúng, Google có thể:
- Xem các trang phân trang như nội dung trùng lặp (vì tiêu đề, mô tả, phần lớn nội dung giống nhau);
- Lập chỉ mục sai trang (ưu tiên trang 2, 3 thay vì trang 1 – nơi chứa tín hiệu mạnh nhất);
- Phân tán link equity (sức mạnh liên kết) giữa các trang thay vì tập trung vào trang chính;
- Bỏ sót trang sâu (trang 5–10+) do crawl budget hạn chế.
Điều này dẫn đến giảm khả năng xếp hạng cho toàn bộ danh mục — dù sản phẩm chất lượng cao.
Cách hoạt động
Pagination SEO giúp Google nhận diện chuỗi trang là một tập hợp liên tục, không phải các trang độc lập. Có hai phương pháp chính được Google xác nhận:
- Thẻ rel="next" và rel="prev": Dùng trong thẻ
<link>ở phần<head>để đánh dấu thứ tự tuần tự (trang trước → trang sau). Ví dụ: trang 1 córel="next"trỏ tới trang 2; trang 2 córel="prev"trỏ về trang 1 vàrel="next"trỏ tới trang 3… - Trang xem tất cả (View-all page): Tạo một trang duy nhất chứa toàn bộ nội dung danh mục (ví dụ:
/danh-muc/dien-thoai?view=all), rồi dùngrel="canonical"từ các trang phân trang trỏ về trang này — nhưng chỉ khi danh mục đủ nhỏ (dưới ~200 sản phẩm) để đảm bảo tốc độ tải và trải nghiệm người dùng.
Lưu ý: Từ năm 2019, Google tuyên bố ngừng sử dụng rel="next"/"prev" như tín hiệu lập chỉ mục bắt buộc — nhưng vẫn coi đây là gợi ý hữu ích để hiểu cấu trúc. Hiện tại, Google chủ yếu dựa vào nội dung, liên kết điều hướng và thẻ canonical để xác định trang đại diện.
Hướng dẫn thực hiện
Dưới đây là các bước triển khai pagination SEO đúng chuẩn:
- Xác định loại phân trang phù hợp: Dùng phân trang truyền thống (page=1, page=2…) nếu danh mục lớn (>200 mục). Tránh phân trang vô hạn (infinite scroll) nếu không hỗ trợ tải riêng từng trang qua URL rõ ràng.
- Đảm bảo mỗi trang có URL ổn định và duy nhất: Không dùng tham số không cần thiết (ví dụ:
?sort=price&page=2&ref=abc). Giữ URL sạch:/dien-thoai/page/2/hoặc/dien-thoai/?page=2. - Thêm thẻ link trong <head>:
- Trang 1: chỉ có
<link rel="next" href=".../page/2/"> - Trang giữa (ví dụ trang 3): có cả
rel="prev"(trỏ về trang 2) vàrel="next"(trỏ tới trang 4) - Trang cuối: chỉ có
<link rel="prev" href=".../page/n-1/">
- Trang 1: chỉ có
- Thiết lập canonical đúng: Mỗi trang phân trang nên có thẻ
<link rel="canonical">trỏ về chính nó — trừ khi dùng view-all page. Khi dùng view-all, tất cả trang phân trang phải canonical về trang view-all. - Tối ưu điều hướng người dùng: Giữ nút “Trang đầu”, “Trang trước”, “Trang sau”, “Trang cuối” rõ ràng; thêm schema
ItemListnếu có thể để tăng rich result tiềm năng.
Lỗi thường gặp
| Lỗi | Hệ quả | Cách khắc phục |
|---|---|---|
| Thiếu thẻ rel="next"/"prev" hoặc đặt sai thứ tự | Google khó nhận diện chuỗi, dễ lập chỉ mục trang giữa làm trang chính | Kiểm tra thủ công hoặc dùng công cụ như Screaming Frog để quét thẻ link; đảm bảo vòng lặp chính xác |
| Dùng canonical trỏ từ trang 1 sang trang 2 (hoặc ngược lại) | Mất tín hiệu xếp hạng của trang chủ danh mục | Chỉ dùng canonical trỏ về chính nó (trừ trường hợp view-all) |
| Phân trang tạo URL trùng lặp (ví dụ: /page/1/ và /?page=1) | Nội dung bị coi là trùng lặp, phân tán crawl budget | Dùng 301 redirect hoặc canonical để thống nhất một định dạng URL |
Ví dụ thực tế
Một website bán laptop có danh mục /laptop/ với 1.200 sản phẩm, hiển thị 24 sản phẩm/trang → tổng cộng 50 trang.
✅ Cách đúng:
- Trang 1 (
/laptop/) có:<link rel="canonical" href="https://example.com/laptop/">và<link rel="next" href="https://example.com/laptop/page/2/"> - Trang 3 (
/laptop/page/3/) có:<link rel="prev" href="https://example.com/laptop/page/2/">và<link rel="next" href="https://example.com/laptop/page/4/"> - Trang 50 (
/laptop/page/50/) có:<link rel="prev" href="https://example.com/laptop/page/49/"> - Tất cả trang đều có tiêu đề và mô tả meta khác nhau (ví dụ: “Laptop – Trang 3 | Thương hiệu A”)
/laptop/ — khiến Google bỏ qua nội dung mới ở trang 2–50, giảm cơ hội hiển thị sản phẩm cụ thể.
Câu hỏi thường gặp
rel="next" và rel="prev" còn cần thiết không?
Từ năm 2019, Google không còn dùng cặp thẻ này như tín hiệu bắt buộc để lập chỉ mục, nhưng vẫn khuyến khích sử dụng vì giúp công cụ tìm kiếm hiểu cấu trúc trang tốt hơn — đặc biệt với site lớn, phức tạp. Việc bỏ qua hoàn toàn không gây lỗi, nhưng giữ lại là thực hành an toàn và chuyên nghiệp.
Có nên dùng view-all page cho mọi danh mục?
Không. Chỉ áp dụng khi danh mục đủ nhỏ (tối đa ~200 mục) và đảm bảo tốc độ tải dưới 2 giây trên mạng 3G. Với danh mục lớn, view-all page gây chậm tải, tăng tỷ lệ thoát và vi phạm Core Web Vitals — Google có thể giảm xếp hạng. Trường hợp này, phân trang chuẩn + rel="next"/"prev" là lựa chọn tốt hơn.
Phân trang có ảnh hưởng đến tốc độ tải không?
Có — nhưng phụ thuộc vào cách triển khai. Phân trang server-side (tải riêng từng trang) thường nhẹ hơn. Còn phân trang client-side bằng JavaScript (ví dụ: tải thêm bằng AJAX) có thể làm chậm render nếu không tối ưu. Luôn kiểm tra LCP, CLS và INP trên các trang phân trang qua PageSpeed Insights.