SEO-Friendly Pagination
Thiết kế phân trang đảm bảo mỗi trang có nội dung độc nhất, thẻ canonical rõ ràng và liên kết next/prev hợp lệ.
SEO-Friendly Pagination là gì?
SEO-Friendly Pagination (phân trang thân thiện với công cụ tìm kiếm) là cách thiết kế hệ thống phân trang trên website thương mại điện tử sao cho mỗi trang danh mục (ví dụ: trang sản phẩm, trang blog) đều có giá trị riêng về mặt nội dung và kỹ thuật SEO. Điều này đảm bảo công cụ tìm kiếm như Google hiểu đúng cấu trúc, không trùng lặp nội dung, và phân bổ quyền lực liên kết (link equity) một cách hợp lý giữa các trang.
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 — ví dụ: /san-pham/dien-tu?page=1, /san-pham/dien-tu?page=2… Nếu không xử lý đúng, các trang này dễ bị coi là nội dung trùng lặp (duplicate content), gây lãng phí tài nguyên thu thập (crawl budget), làm loãng tín hiệu xếp hạng và thậm chí khiến Google chỉ lập chỉ mục một vài trang đầu tiên.
Phân trang thân thiện với SEO giúp:
- Giảm tải crawl budget bằng cách hướng dẫn bot bỏ qua trang không cần thiết
- Giữ lại giá trị SEO cho trang chính (trang 1) nhờ thẻ canonical hợp lý
- Hỗ trợ định hướng người dùng và bot qua liên kết
rel="next"vàrel="prev" - Tránh hiện tượng “thẻ tiêu đề giống nhau”, “mô tả meta trùng lặp” giữa các trang
Cách hoạt động
Phân trang thân thiện với SEO hoạt động dựa trên ba thành phần kỹ thuật chính:
- Thẻ
rel="canonical": Mỗi trang phân trang (trừ trang 1) nên trỏ về trang đầu tiên của danh mục nếu nội dung gần như giống nhau — trừ khi trang đó có nội dung độc nhất (ví dụ: sắp xếp theo giá giảm dần, lọc theo thương hiệu). Trong trường hợp có bộ lọc động, canonical có thể trỏ về URL gốc không có tham số. - Liên kết
rel="next"vàrel="prev": Là cặp thẻ<link>trong phần<head>, giúp Google hiểu thứ tự tuần tự của các trang. Trang 1 córel="next"tới trang 2, trang 2 có cảrel="prev"vàrel="next", trang cuối chỉ córel="prev". Lưu ý: Google đã xác nhận từ năm 2019 rằng họ không còn dùngnext/prevđể lập chỉ mục, nhưng vẫn khuyến khích giữ lại vì hỗ trợ trải nghiệm người dùng và một số công cụ khác. - Nội dung độc nhất: Mỗi trang nên có tiêu đề, mô tả meta, heading H2/H3 và đoạn văn mô tả ngắn khác biệt — đặc biệt ở trang 1, trang 2 và trang cuối. Ví dụ: “Điện thoại iPhone – Trang 1 (Mới nhất)”, “Điện thoại iPhone – Trang 2 (Giá từ 8 triệu)”.
Hướng dẫn thực hiện
Dưới đây là các bước triển khai chuẩn cho website thương mại điện tử:
- Xác định loại phân trang: Phân biệt rõ giữa phân trang tĩnh (số trang cố định) và phân trang động (lọc theo giá, màu sắc, thương hiệu). Với phân trang động, ưu tiên sử dụng URL thân thiện (ví dụ: /san-pham/dien-tu?gia=5-10trieu) thay vì chuỗi tham số dài.
- Thiết lập canonical:
- Trang 1: không cần canonical (hoặc trỏ về chính nó)
- Trang 2 trở đi:
<link rel="canonical" href="https://example.com/san-pham/dien-tu/">— nếu nội dung không khác biệt đáng kể - Nếu trang có bộ lọc riêng (ví dụ: chỉ iPhone 15), đặt canonical trỏ về chính URL đó — vì đây là nội dung độc nhất.
- Thêm next/prev (tùy trường hợp): Chỉ áp dụng khi phân trang tuyến tính, không có bộ lọc. Không dùng cho phân trang kết hợp với bộ lọc vì thứ tự sẽ không ổn định.
- Tối ưu thẻ tiêu đề & mô tả meta: Dùng biến động theo số trang và điều kiện lọc. Ví dụ:
<title>Điện thoại iPhone – Trang {page} | Shop Điện Máy</title><meta name="description" content="Xem {start_item}-{end_item} trong tổng số {total_items} điện thoại iPhone. Giao hàng nhanh toàn quốc.">
- Giới hạn số trang được lập chỉ mục: Dùng
noindex, followcho các trang từ trang 11 trở đi (nếu không có nội dung mới), hoặc chặn quarobots.txtđối với nhóm URL có tham số không cần thiết.
Lỗi thường gặp
Dưới đây là những sai lầm phổ biến và cách khắc phục:
| Lỗi | Hệ quả | Cách khắc phục |
|---|---|---|
| Tất cả trang phân trang đều có canonical trỏ về trang 1 | Google bỏ qua toàn bộ trang 2+, không lập chỉ mục nội dung mới | Chỉ dùng canonical trỏ về trang 1 khi nội dung gần như trùng lặp. Với trang có nội dung riêng (bộ lọc, sắp xếp), giữ canonical trỏ về chính nó. |
| Thiếu thẻ next/prev hoặc đặt sai thứ tự | Bị hiểu nhầm là các trang độc lập, không liên quan | Kiểm tra từng trang: trang 1 thiếu prev, trang cuối thiếu next. Dùng công cụ như Screaming Frog để kiểm tra hàng loạt. |
| URL phân trang chứa tham số không kiểm soát (ví dụ: ?sort=price&page=3&ref=abc) | Tạo vô số URL trùng lặp, tốn crawl budget | Dùng rel="canonical" trỏ về URL chuẩn; chặn tham số không cần thiết trong Google Search Console; hoặc loại bỏ tham số thừa ở tầng server. |
Ví dụ thực tế
Một website bán đồ gia dụng có danh mục /san-pham/may-giat/ gồm 42 sản phẩm, hiển thị 12 sản phẩm/trang → tổng cộng 4 trang.
Trang 1:
<link rel="canonical" href="https://example.com/san-pham/may-giat/">
<link rel="next" href="https://example.com/san-pham/may-giat/?page=2">
<title>Máy giặt chính hãng – Giá tốt nhất 2024 | Điện Máy Xanh</title>
Trang 2:
<link rel="canonical" href="https://example.com/san-pham/may-giat/">
<link rel="prev" href="https://example.com/san-pham/may-giat/">
<link rel="next" href="https://example.com/san-pham/may-giat/?page=3">
<title>Máy giặt – Trang 2 | Điện Máy Xanh</title>
Trang 4 (cuối):
<link rel="canonical" href="https://example.com/san-pham/may-giat/">
<link rel="prev" href="https://example.com/san-pham/may-giat/?page=3">
<title>Máy giặt – Trang 4 (Còn hàng) | Điện Máy Xanh</title>
Lưu ý: Nếu trang 2 có thêm bộ lọc “theo thương hiệu LG”, URL sẽ là /san-pham/may-giat/thuong-hieu/lg/ — lúc này canonical phải trỏ về chính URL đó, không về trang gốc.
Câu hỏi thường gặp
Google có lập chỉ mục tất cả các trang phân trang không?
Không. Google ưu tiên lập chỉ mục trang 1 và một vài trang đầu nếu chúng có nội dung chất lượng. Các trang sau thường bị bỏ qua nếu thiếu yếu tố phân biệt — do đó việc tối ưu canonical, tiêu đề và nội dung là bắt buộc.
Có nên dùng noindex cho trang phân trang từ trang 5 trở đi?
Có thể thay đổi tùy theo quy mô và nội dung. Với danh mục nhỏ (<50 sản phẩm), chỉ cần tối ưu 4–5 trang đầu. Với danh mục lớn (hàng nghìn sản phẩm), nên dùng noindex, follow từ trang 11 trở đi — để giữ crawl budget cho trang quan trọng hơn.
Phân trang với JavaScript (AJAX) có ảnh hưởng SEO không?
Có. Nếu phân trang chỉ tải nội dung qua AJAX mà không tạo URL riêng cho từng trang, Google sẽ không thể lập chỉ mục các sản phẩm ở trang 2+. Giải pháp: luôn cung cấp phiên bản HTML đầy đủ với URL phân trang rõ ràng, đồng thời dùng pushState để giữ trải nghiệm người dùng mượt mà.