Phân trang và cuộn vô hạn: để Google thấy được sản phẩm ở trang 2, trang 20
Mỗi trang phân trang cần một địa chỉ riêng, liên kết thật bằng thẻ a tới trang kế, và canonical trỏ về chính nó, không trỏ về trang 1. Cuộn vô hạn và nút Tải thêm chỉ an toàn khi phía sau vẫn có các trang phân trang thật mà Googlebot đi theo được.

Danh mục “Sofa” có 240 sản phẩm, hiện 24 sản phẩm mỗi trang, tức 10 trang. Sản phẩm ở trang 7 có được Google thu thập không phụ thuộc gần như hoàn toàn vào cách làm phân trang. Đây là chỗ nhiều site thương mại điện tử và trang tin mất cả nửa nội dung mà không biết: sản phẩm vẫn có trong sitemap, nhưng không có đường liên kết nội bộ nào đủ gần để Google coi trọng, hoặc tệ hơn, canonical của mọi trang phân trang đều trỏ về trang 1.
Google xử lý phân trang thế nào hiện nay
Năm 2019 Google xác nhận đã ngừng dùng rel="next" và rel="prev" làm tín hiệu lập chỉ mục từ lâu. Thẻ đó không hại, Bing và trình duyệt vẫn có thể dùng, nhưng với Google, mỗi trang phân trang là một trang bình thường: được thu thập, được đánh giá, có thể được lập chỉ mục riêng. Google tìm ra trang sau thông qua liên kết, giống mọi trang khác. Hệ quả:
- Trang 2, 3… phải có địa chỉ riêng truy cập được.
- Phải có liên kết
<a href>thật dẫn tới chúng. - Nội dung mỗi trang khác nhau (danh sách sản phẩm khác nhau), nên chúng không phải bản trùng của trang 1.
Cách làm đúng cho phân trang thường
| Việc | Đúng | Sai hay gặp |
|---|---|---|
| Địa chỉ | /sofa?page=2 hoặc /sofa/page/2 | Đổi trang bằng JavaScript, địa chỉ không đổi |
| Canonical | Trang 2 canonical về chính /sofa?page=2 | Mọi trang canonical về /sofa |
| Liên kết | Thẻ <a href="/sofa?page=3"> thật | Nút gọi hàm JavaScript, không có href |
| Trang 1 | Một địa chỉ duy nhất /sofa | /sofa và /sofa?page=1 cùng tồn tại, cùng 200 |
| Noindex | Không cần noindex trang 2+ | Noindex trang 2+ rồi mong Google vẫn đi theo liên kết lâu dài |
| Title | Thêm “– Trang 2” cho khỏi trùng | Title giống hệt trang 1 |
Lỗi canonical về trang 1 đáng nói kỹ. Ý định nghe có lý (“gom tín hiệu về trang chính”), nhưng thực tế nó nói với Google rằng trang 2 là bản trùng của trang 1. Trang 2 không trùng: nó có danh sách sản phẩm khác. Google có thể bỏ qua canonical sai này, hoặc có thể nghe theo, và khi nghe theo thì không còn lý do để thu thập trang 2 thường xuyên, các sản phẩm chỉ xuất hiện ở trang 2 trở đi mất dần đường vào. Xem thêm thẻ canonical.
Trang ?page=1: chuyển hướng 301 về địa chỉ không tham số, hoặc ít nhất canonical về đó, và mọi liên kết “Trang 1” trong thanh phân trang trỏ thẳng địa chỉ không tham số.
Thanh phân trang: liên kết tới đâu
Thanh phân trang kiểu “‹ 1 2 3 … 10 ›” chỉ liên kết trực tiếp tới vài trang. Sản phẩm ở trang 8 cách trang danh mục 4–5 lần bấm. Vài cách rút ngắn đường đi:
- Hiện thêm vài số trang ở giữa: “1 2 3 … 5 … 8 9 10”.
- Tăng số sản phẩm mỗi trang (48 thay vì 12) nếu tốc độ cho phép: ít trang hơn, đường ngắn hơn.
- Chia danh mục lớn thành danh mục con có ý nghĩa (sofa gỗ, sofa da, sofa góc), mỗi danh mục con ít trang hơn và có thêm cơ hội xếp hạng riêng.
- Liên kết sản phẩm từ nơi khác: bài viết, sản phẩm liên quan, bộ sưu tập theo chủ đề.
Đường đi ngắn quan trọng hơn mọi thẻ khai báo: nó là tín hiệu Google dùng để quyết định trang nào đáng thu thập thường xuyên. Xem liên kết nội bộ.
Cuộn vô hạn và nút “Tải thêm”
Cuộn vô hạn (kéo xuống tự tải thêm) và nút “Xem thêm sản phẩm” rất phổ biến trên giao diện điện thoại. Vấn đề: Googlebot không cuộn và không bấm nút. Nó tải trang, chạy JavaScript, chụp kết quả ở một khung nhìn cao cố định. Sản phẩm chỉ xuất hiện sau khi cuộn hoặc bấm thì Googlebot không thấy.
Cách an toàn là cuộn vô hạn đặt trên nền phân trang thật:
- Vẫn có các trang
/sofa?page=2,?page=3truy cập trực tiếp được, mỗi trang trả đúng danh sách của nó. - Nút “Tải thêm” là một liên kết thật
<a href="/sofa?page=2">; JavaScript chặn hành vi mặc định và tải nội dung trang 2 nối vào danh sách. - Khi nội dung trang mới được nối vào, đổi địa chỉ trên thanh trình duyệt bằng
history.pushStatesang?page=2, để người dùng chia sẻ hay quay lại đúng chỗ. - Kiểm bằng cách tắt JavaScript: vẫn phải bấm “Tải thêm” mà sang được trang 2.
<a class="tai-them" href="/sofa?page=2" data-trang="2">Xem thêm sản phẩm</a>

Bài viết dài chia trang và trang “Xem tất cả”
Một số trang tin Việt chia một bài thành nhiều trang để tăng lượt xem quảng cáo. Với SEO, cách này chia nội dung một chủ đề ra nhiều địa chỉ mỏng; với người đọc trên điện thoại, mỗi lần sang trang là tải lại cả trang. Trừ khi bài thật sự quá dài (hàng chục nghìn chữ), nên để một trang.
Trang “Xem tất cả” cho danh mục (hiện toàn bộ sản phẩm một lần) là lựa chọn hợp lệ nếu tải đủ nhanh; khi đó các trang phân trang có thể canonical về trang “Xem tất cả”, vì nó thật sự chứa toàn bộ nội dung của chúng. Với danh mục vài trăm sản phẩm thì trang này thường quá nặng, không nên.
Phân trang kết hợp lọc và sắp xếp
Danh mục có bộ lọc và sắp xếp thì số địa chỉ nhân lên rất nhanh: 10 trang × 5 kiểu sắp xếp × vài chục tổ hợp lọc. Quy tắc: phân trang của danh mục gốc (thứ tự mặc định) là đường chính cho Google; các biến thể sắp xếp canonical về bản thứ tự mặc định cùng số trang, và không cần liên kết tới chúng bằng thẻ a có thể thu thập. Chi tiết xử lý lọc ở bộ lọc và faceted navigation.
Trang tin, trang chuyên mục bài viết và trang thẻ
Không chỉ shop mới có phân trang. Chuyên mục bài viết của một blog đăng đều đặn ba năm có thể dài 40–50 trang. Bài cũ bị đẩy xuống trang 30, cách trang chủ hàng chục lần bấm, và dần ít được thu thập lại. Ba cách giữ bài cũ có giá trị gần mặt nước:
- Trang trụ cột theo chủ đề: một trang tổng hợp có liên kết tới mọi bài quan trọng của một chủ đề, đặt trong menu. Bài cũ có đường vào ngắn, không phụ thuộc thứ tự thời gian.
- Liên kết từ bài mới sang bài cũ khi nội dung liên quan, thay vì chỉ có khối “bài mới nhất” lặp lại ở mọi trang.
- Sắp xếp chuyên mục theo mức quan trọng cho vài vị trí đầu (bài ghim), phần còn lại theo thời gian.
Trang thẻ (tag) thì ngược lại: thường là bản sao kém của chuyên mục, mỗi thẻ vài bài, phân trang thêm vài trang nữa. Site có hàng nghìn thẻ dùng một lần là nguồn trang mỏng lớn. Gộp thẻ trùng nghĩa, bỏ thẻ chỉ có một hai bài, noindex trang thẻ nếu chúng không có nội dung riêng. Xem nội dung mỏng và trùng lặp.
Kiểm phân trang của site
- Mở trang 3 của một danh mục, xem mã nguồn: canonical trỏ đâu, có liên kết thật tới trang 2, 4 không.
- Gõ
?page=1: có chuyển về địa chỉ gốc không. - Gõ một trang vượt quá số trang thật (
?page=999): nên trả 404, không trả trang rỗng 200 (soft 404). - Tắt JavaScript, thử “Tải thêm”.
- Lấy một sản phẩm chỉ có ở trang cuối, tra bằng công cụ Kiểm tra URL xem đã được lập chỉ mục chưa, Google phát hiện nó từ đâu.
- Chạy chấm điểm SEO cho trang danh mục để kiểm canonical và mã trạng thái.
Checklist phân trang
- Mỗi trang phân trang có địa chỉ riêng, trả 200.
- Canonical tự trỏ, không về trang 1.
- Liên kết thẻ a thật giữa các trang.
- Trang 1 chỉ một địa chỉ.
- Trang vượt số trang trả 404.
- Cuộn vô hạn, Tải thêm có phân trang thật phía sau.
- Danh mục quá dài thì chia danh mục con.
Hỏi đáp
Có cần thẻ rel next và prev không?
Google không dùng chúng nữa. Thẻ không gây hại và có thể hữu ích cho công cụ khác, nhưng điều quan trọng với Google là mỗi trang có địa chỉ riêng và liên kết thật giữa các trang.
Trang 2 trở đi có nên noindex không?
Không cần. Chúng có danh sách nội dung khác nhau nên không phải trùng lặp. Noindex lâu dài còn có thể làm Google thu thập chúng ít đi, khiến sản phẩm ở trang sau mất đường vào.
Canonical của trang 2 trỏ về trang 1 có sao không?
Có. Như vậy là nói trang 2 trùng với trang 1, trong khi nội dung khác nhau. Google có thể bỏ qua, nhưng nếu nghe theo thì các sản phẩm chỉ có ở trang sau dễ bị bỏ quên. Canonical nên tự trỏ.
Cuộn vô hạn có hại SEO không?
Chỉ khi không có phân trang thật phía sau. Googlebot không cuộn, nên nội dung chỉ xuất hiện khi cuộn sẽ không được thấy. Kết hợp cuộn vô hạn với các trang phân trang có địa chỉ riêng thì an toàn.
Đọc tiếp

Thẻ canonical: viết đúng, các lỗi hay gặp và lúc Google bỏ qua nó
Thẻ canonical cho Google biết đâu là địa chỉ chính khi một nội dung có nhiều địa chỉ. Viết đúng là địa chỉ tuyệt đối, https, đúng tên miền…

Bộ lọc sản phẩm (faceted navigation): bẫy thu thập vô tận và cách chọn tổ hợp nào đáng có địa chỉ riêng
Mỗi bộ lọc nhân số địa chỉ lên nhiều lần; vài bộ lọc kết hợp là đủ tạo hàng triệu trang gần trùng mà Googlebot có thể đi mãi. Chỉ vài tổ hợ…

Trang danh mục sản phẩm: trang kiếm tiền bị bỏ quên của shop online
Với shop online, câu tìm có giá trị nhất thường là tên loại sản phẩm, và trang đáp ứng đúng nhất là trang danh mục, không phải trang sản ph…

Liên kết nội bộ: dựng cụm chủ đề, sửa liên kết hỏng
Liên kết nội bộ là con đường chính để Google tìm ra trang mới và hiểu trang nào quan trọng, trang nào nói về gì. Cách làm hiệu quả là gom b…