Bỏ qua tới nội dung
Theo dõi định kỳTheo dõi site

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ợp có người tìm thật đáng có địa chỉ sạch và nội dung riêng; phần còn lại nên không được thu thập hoặc không được lập chỉ mục.

Ban biên tập SEO Gốc · · 6 phút đọc

Nhân viên cửa hàng thời trang xếp áo thun gấp gọn thành từng chồng theo màu và cỡ trên bàn trắng dài

Danh mục “Áo thun nam” có bộ lọc màu (12 màu), cỡ (6 cỡ), giá (5 khoảng), chất liệu (4 loại), kiểu cổ (3 kiểu), sắp xếp (4 kiểu). Nếu mỗi lựa chọn tạo một địa chỉ, và người dùng được chọn nhiều giá trị cùng lúc, số tổ hợp lên tới hàng triệu. Mỗi tổ hợp là một trang trả 200, hiện một phần sản phẩm của cùng danh mục. Googlebot thấy liên kết tới chúng và đi theo. Đó là bẫy thu thập: ngân sách thu thập tiêu vào các trang lọc gần trùng, trong khi sản phẩm mới, trang danh mục chính ít được ghé. Bộ lọc (faceted navigation) là thứ tốt cho người mua và là nguồn rắc rối kỹ thuật số một của shop lớn.

Nền tảng bán hàng phổ biến xử lý chuyện này khác nhau. Một số mặc định đã thêm canonical về danh mục cho trang lọc và chặn sẵn vài tham số trong robots.txt; một số khác để bộ lọc tạo liên kết thẻ a trần cho mọi giá trị. Đừng giả định nền tảng đã lo; mở mã nguồn một trang lọc, xem canonical, thẻ robots, và thử xem liên kết bộ lọc có phải thẻ a không.

Ba loại tổ hợp lọc

LoạiVí dụXử lý
Có nhu cầu tìm riêng, rõ ràng“áo thun nam cổ tròn”, “áo thun nam oversize”, “áo thun cotton nam”Địa chỉ sạch, được lập chỉ mục, nội dung riêng (như danh mục con)
Hữu ích cho người dùng, không có nhu cầu tìmMàu xanh + cỡ L + giá 200–300 nghìnCho người dùng lọc thoải mái, nhưng không cho lập chỉ mục
Vô nghĩa hoặc rỗngLọc ra 0 sản phẩm; sắp xếp; số sản phẩm mỗi trang; thứ tự tham số đảoKhông tạo liên kết thu thập được; nếu có thì chặn

Cách xác định loại thứ nhất: nghiên cứu từ khoá cho danh mục, xem câu tìm nào là tổ hợp “danh mục + thuộc tính” có lượt tìm thật. Thường chỉ là vài thuộc tính: hãng, chất liệu, kiểu dáng, đối tượng (nam, nữ, trẻ em). Màu, cỡ, khoảng giá hiếm khi có nhu cầu tìm riêng đáng kể, trừ vài ngành.

Các công cụ xử lý và khi nào dùng

Công cụTác dụngDùng khiLưu ý
Không tạo liên kết thẻ a cho tổ hợpGooglebot không phát hiện đượcTổ hợp loại 2, 3Bộ lọc dùng nút, ô chọn, cập nhật bằng JavaScript; cách sạch nhất
robots.txt Disallow theo tham sốKhông thu thậpĐã có hàng loạt địa chỉ lọc bị thu thập, muốn cắt nhanhĐịa chỉ đã lập chỉ mục có thể còn nằm đó; không đọc được canonical, noindex
Canonical về danh mụcGợi ý gộp tín hiệuTổ hợp gần trùng danh mụcVẫn bị thu thập; chỉ là gợi ý
noindexKhông lập chỉ mụcTổ hợp cần thu thập được nhưng không muốn lên GoogleVẫn tốn lượt thu thập
Địa chỉ sạch + nội dung riêngLập chỉ mục như danh mục conTổ hợp loại 1Cần tiêu đề, đoạn mở riêng

Google từng có công cụ xử lý tham số URL trong Search Console; công cụ này đã bị bỏ từ 2022. Việc xử lý giờ phải làm trên site.

Khu vườn mê cung bằng hàng rào cây nhìn từ trên cao, người làm vườn đi trên lối chính duy nhất

Cách làm khuyên dùng cho phần lớn shop

  1. Chọn 5–20 tổ hợp có nhu cầu tìm (từ nghiên cứu từ khoá), biến chúng thành danh mục con hoặc trang lọc có địa chỉ sạch: /ao-thun-nam/co-tron, có H1, title, đoạn mở riêng, được liên kết từ trang danh mục.
  2. Các bộ lọc còn lại hoạt động bằng tham số, không có liên kết thẻ a thu thập được (dùng nút, ô chọn), hoặc nếu bắt buộc có liên kết thì thêm rel="nofollow" và canonical về danh mục.
  3. Sắp xếp và số sản phẩm mỗi trang: tham số không bao giờ được lập chỉ mục; canonical về bản mặc định.
  4. Chặn trong robots.txt các mẫu tham số vô nghĩa nếu nhật ký máy chủ cho thấy Googlebot đang tiêu nhiều lượt vào đó:
    User-agent: *
    Disallow: /*?*sort=
    Disallow: /*?*per_page=
    Disallow: /*?*mau=*&co=
  5. Trang lọc ra 0 sản phẩm trả nội dung “không có sản phẩm” kèm noindex, hoặc 404.
  6. Thứ tự tham số cố định: ?mau=xanh&co=l và ?co=l&mau=xanh là hai địa chỉ; chuẩn hoá thứ tự trong mã.

Trang lọc được chọn: làm nội dung gì

Tổ hợp lọc đã chọn để lập chỉ mục cần được làm như một danh mục con thật, không chỉ là danh mục gốc với ít sản phẩm hơn:

  • Title, H1 riêng đúng câu tìm: “Áo thun cotton nam”, không phải “Áo thun nam – Lọc: Cotton”.
  • Đoạn mở riêng nói về đúng tổ hợp đó: cotton 100% hay cotton pha, định lượng vải, cách giặt cho khỏi xù, khoảng giá.
  • Đủ sản phẩm: tổ hợp chỉ có hai sản phẩm thì chưa đáng làm trang riêng.
  • Liên kết từ danh mục cha bằng một khối “Mua theo chất liệu”, “Mua theo kiểu dáng” với liên kết thẻ a thật.
  • Trong sitemap; các tổ hợp không chọn thì không có trong sitemap.

Ví dụ: shop giày thể thao

Ví dụ minh hoạ: shop giày thể thao khoảng 1.200 mã, bộ lọc hãng, cỡ, màu, giá, mục đích (chạy bộ, đi bộ, tập gym). Mỗi giá trị bộ lọc là một liên kết thẻ a, cho chọn nhiều giá trị. Search Console báo hơn 180.000 địa chỉ “Đã phát hiện, hiện chưa được lập chỉ mục”, gần như toàn bộ có tham số lọc; nhật ký máy chủ cho thấy khoảng ba phần tư lượt Googlebot vào địa chỉ lọc, trong khi trang sản phẩm mới mất hàng tuần mới được ghé.

Xử lý: chọn các tổ hợp “giày chạy bộ nam”, “giày chạy bộ nữ”, “giày tập gym”, cộng hãng kết hợp mục đích có lượt tìm thật, làm thành trang có địa chỉ sạch; chuyển bộ lọc cỡ, màu, giá sang nút cập nhật bằng JavaScript không tạo liên kết; thêm quy tắc robots.txt cho các mẫu tham số cũ; sitemap chỉ còn danh mục, trang lọc đã chọn và sản phẩm. Sau một hai tháng, số yêu cầu thu thập vào tham số giảm hẳn, sản phẩm mới được thu thập trong vài ngày, và các trang lọc được chọn bắt đầu có lượt hiển thị riêng.

Kiểm site có đang rơi vào bẫy không

  • Search Console, báo cáo Trang: số địa chỉ “Đã phát hiện, hiện chưa được lập chỉ mục” hoặc “Đã thu thập, hiện chưa lập chỉ mục” rất lớn so với số sản phẩm, với mẫu địa chỉ có tham số lọc.
  • Thống kê thu thập dữ liệu: số yêu cầu mỗi ngày cao bất thường so với quy mô site.
  • Nhật ký máy chủ: tỉ lệ lượt Googlebot vào địa chỉ có tham số. Lệnh gom mẫu tham số có ở đọc nhật ký máy chủ.
  • Tìm site:tenmien.vn inurl:mau= trên Google: nếu ra hàng nghìn kết quả, trang lọc đang được lập chỉ mục.

Site vài trăm sản phẩm với vài bộ lọc thường không có vấn đề lớn; xem ngân sách thu thập để biết khi nào cần lo.

Lỗi hay gặp

  • Chặn robots.txt cho mọi tham số, kể cả ?page=, làm sản phẩm ở trang 2 trở đi mất đường vào. Xem phân trang.
  • Vừa chặn robots.txt vừa noindex: Google không đọc được noindex.
  • Canonical mọi trang lọc về trang chủ thay vì về danh mục.
  • Tổ hợp có nhu cầu tìm (“áo thun cotton nam”) bị noindex chung với các bộ lọc khác, bỏ phí cơ hội.
  • Bộ lọc sinh địa chỉ có ID phiên hoặc mã ngẫu nhiên mỗi lần bấm.

Checklist

  1. Liệt kê thuộc tính lọc, tra nhu cầu tìm cho từng tổ hợp “danh mục + thuộc tính”.
  2. Tổ hợp có nhu cầu: địa chỉ sạch, nội dung riêng, liên kết từ danh mục.
  3. Tổ hợp khác: không tạo liên kết thu thập được, hoặc nofollow + canonical.
  4. Sắp xếp, số mỗi trang: canonical về mặc định, có thể chặn.
  5. Thứ tự tham số chuẩn hoá; lọc rỗng trả noindex hoặc 404.
  6. Không chặn tham số phân trang.
  7. Theo dõi báo cáo Trang, Thống kê thu thập, nhật ký máy chủ; kiểm danh mục bằng chấm điểm SEO.

Hỏi đáp

Có nên cho Google lập chỉ mục trang lọc không?

Chỉ những tổ hợp có người tìm thật, như danh mục kèm chất liệu hay kiểu dáng phổ biến, và khi đó nên có địa chỉ sạch và nội dung riêng. Phần lớn tổ hợp lọc khác không nên được lập chỉ mục.

Dùng robots.txt hay noindex cho trang lọc?

Nếu muốn cắt lượt thu thập vào hàng loạt địa chỉ vô nghĩa, robots.txt hiệu quả. Nếu trang đã được lập chỉ mục và muốn gỡ, dùng noindex trước, chờ Google gỡ xong mới chặn. Không dùng cả hai cùng lúc.

Bộ lọc dùng JavaScript có ảnh hưởng SEO không?

Với tổ hợp không cần lên Google, dùng nút và JavaScript mà không tạo liên kết thẻ a là cách sạch để Googlebot không đi vào bẫy. Tổ hợp cần lên Google thì phải có liên kết thật.

Site nhỏ có cần lo về bộ lọc không?

Thường không nhiều. Vấn đề rõ khi số địa chỉ lọc lớn gấp nhiều lần số sản phẩm và báo cáo Trang cho thấy hàng loạt địa chỉ có tham số chưa được lập chỉ mục.

Đọc tiếp