SEO E-Commerce

Filter Parameter Handling

Quản lý các tham số URL (ví dụ: ?color=red&size=m) bằng robots.txt, canonical hoặc noindex để tránh nội dung trùng lặp.

2 lượt xem Cập nhật: 29/05/2026

Filter Parameter Handling là gì?

Filter Parameter Handling là cách quản lý các tham số trong URL dùng để lọc sản phẩm (ví dụ: ?color=black&size=l&price_min=100000) sao cho công cụ tìm kiếm không coi chúng là những trang nội dung riêng biệt — từ đó tránh sinh ra hàng loạt URL trùng lặp, gây loãng tín hiệu SEO và tiêu tốn ngân sách thu thập (crawl budget).

Đây không phải là việc loại bỏ bộ lọc trên website, mà là kiểm soát cách Googlebot và các công cụ tìm kiếm hiểu, thu thập và lập chỉ mục các phiên bản URL có chứa tham số.

Tại sao quan trọng trong SEO?

Với website thương mại điện tử, mỗi bộ lọc (màu, kích thước, thương hiệu, khoảng giá…) thường tạo ra một URL mới. Một sản phẩm có thể xuất hiện ở hàng chục — thậm chí hàng trăm — URL khác nhau. Nếu không xử lý, hệ quả bao gồm:

  • Mất crawl budget: Googlebot dành thời gian thu thập hàng ngàn URL gần như giống nhau thay vì tập trung vào trang danh mục hoặc sản phẩm gốc.
  • Nội dung trùng lặp: Nhiều URL hiển thị cùng một tập sản phẩm → làm suy yếu độ tin cậy của trang chính, giảm khả năng xếp hạng.
  • Phân tán tín hiệu liên kết: Backlink phân tán về nhiều URL thay vì tập trung vào phiên bản chuẩn.
  • Ảnh hưởng đến trải nghiệm người dùng: Người dùng có thể thấy kết quả tìm kiếm dẫn đến các URL lọc không tối ưu (ví dụ: /danh-muc/ao-thun?sort=price_low&page=5), gây khó khăn khi chia sẻ hoặc quay lại.

Cách hoạt động

Filter Parameter Handling dựa trên ba cơ chế chính được Google hỗ trợ:

  1. Khởi tạo thông qua Google Search Console (GSC): Quản trị viên khai báo tham số (ví dụ: color, size) và chọn hành vi mong muốn: bỏ qua, không ảnh hưởng đến nội dung, hoặc ảnh hưởng đến nội dung.
  2. Sử dụng thẻ rel="canonical": Gắn thẻ canonical trỏ về URL chuẩn (thường là URL không có tham số hoặc chỉ có tham số sắp xếp/cập nhật) trên tất cả các trang lọc.
  3. Áp dụng noindex hoặc chặn thu thập bằng robots.txt: Chỉ dùng khi cần thiết — ví dụ: chặn các URL phân trang sâu hoặc lọc không mang giá trị SEO.

Lưu ý: Từ tháng 9/2023, Google đã loại bỏ tính năng “URL Parameters” trong Search Console. Giờ đây, việc quản lý tham số chủ yếu dựa vào canonical, noindex, cấu trúc URL hợp lý và hướng dẫn qua sitemaps.xml.

Hướng dẫn thực hiện

Dưới đây là quy trình thực tế, áp dụng cho website WordPress, Shopify hoặc nền tảng tùy chỉnh:

  1. Xác định tất cả tham số lọc: Dùng công cụ như Screaming Frog hoặc Log File Analyzer để liệt kê toàn bộ tham số xuất hiện trong URL (ví dụ: color, size, brand, in_stock, sort, page…).
  2. Phân loại theo mức độ ảnh hưởng:
    • Tham số không thay đổi nội dung (ví dụ: utm_source, ref): nên bỏ qua hoàn toàn bằng canonical hoặc robots.txt.
    • Tham số thay đổi tập kết quả nhưng không tạo nội dung độc lập (ví dụ: color=red vẫn hiển thị cùng danh mục, chỉ lọc bớt sản phẩm): dùng canonical trỏ về URL gốc.
    • Tham số tạo nội dung có giá trị riêng (ví dụ: /danh-muc/ao-thun?brand=nike có đủ sản phẩm, tiêu đề, mô tả riêng): giữ nguyên và tối ưu như trang danh mục bình thường.
  3. Cài đặt canonical tự động: Đảm bảo mỗi trang lọc luôn có thẻ <link rel="canonical" href="[URL-chuẩn]">. Ví dụ:
    <link rel="canonical" href="https://site.com/danh-muc/ao-thun/">
    hoặc nếu hỗ trợ lọc theo thương hiệu có giá trị:
    <link rel="canonical" href="https://site.com/danh-muc/ao-thun?brand=nike">
  4. Không dùng noindex bừa bãi: Chỉ áp dụng với:
    • Trang phân trang sâu hơn trang 3–5 (tùy trường hợp).
    • URL chứa tham số thử nghiệm (A/B test), tham số phiên (session_id), hoặc tham số không liên quan SEO.
  5. Cập nhật sitemap: Chỉ đưa vào sitemap.xml các URL có giá trị SEO — loại bỏ các biến thể lọc không cần thiết.

Lỗi thường gặp

Lỗi Hệ quả Cách khắc phục
Thiếu thẻ canonical trên trang lọc Nhiều URL cùng nội dung được lập chỉ mục Bổ sung canonical tự động cho mọi trang có tham số — ưu tiên URL gốc hoặc phiên bản có giá trị cao nhất
Dùng noindex cho toàn bộ trang có tham số Mất chỉ mục các danh mục lọc có giá trị (ví dụ: ?brand=adidas) Phân tích từng nhóm tham số — chỉ noindex với tham số không mang giá trị nội dung
Cho phép thu thập URL phân trang vô hạn (page=100, page=101…) Tiêu tốn crawl budget, sinh URL rác Giới hạn phân trang bằng rel="next/prev", thêm noindex,follow từ trang thứ 4 trở đi (tùy trường hợp)
Sử dụng robots.txt để chặn tham số (ví dụ: Disallow: /*?*) Google không thể đọc canonical hoặc thẻ meta — dễ gây nhầm lẫn lập chỉ mục Không chặn tham số bằng robots.txt nếu trang vẫn cần được thu thập để đọc thẻ canonical. Thay vào đó, dùng noindex hoặc canonical

Ví dụ thực tế

Một website bán giày có danh mục https://shopgiay.vn/danh-muc/giay-the-thao/. Khi người dùng lọc theo màu và kích thước, hệ thống sinh ra:

  • https://shopgiay.vn/danh-muc/giay-the-thao/?color=black&size=42
  • https://shopgiay.vn/danh-muc/giay-the-thao/?color=blue&size=41
  • https://shopgiay.vn/danh-muc/giay-the-thao/?sort=price_high&page=2

Cách xử lý đúng:

  • Tất cả URL có colorsize đều có thẻ canonical trỏ về https://shopgiay.vn/danh-muc/giay-the-thao/.
  • URL có sortpage được giữ ở mức giới hạn: page=1page=2canonical về danh mục gốc; từ page=3 trở đi được gắn noindex,follow.
  • URL có brand=adidas — nếu có tiêu đề riêng, mô tả riêng và ít nhất 10 sản phẩm — được giữ nguyên, thêm canonical về chính nó và đưa vào sitemap.

Câu hỏi thường gặp

Filter Parameter Handling có cần thiết với website nhỏ?

Có, ngay cả website dưới 500 sản phẩm cũng có thể sinh hàng ngàn URL thừa nếu dùng bộ lọc không kiểm soát. Việc xử lý sớm giúp xây dựng nền tảng SEO bền vững, tránh phải dọn dẹp sau này.

Có nên dùng plugin SEO để tự động xử lý tham số?

Có thể dùng — nhưng phải kiểm tra kỹ đầu ra. Một số plugin (như Yoast, Rank Math) hỗ trợ thiết lập canonical theo mẫu, nhưng không phân biệt được đâu là tham số có giá trị. Cần kiểm tra thủ công từng nhóm tham số và điều chỉnh tuỳ trường hợp.

Google có thể tự nhận diện tham số không cần thiết không?

Google có khả năng phỏng đoán, nhưng không đáng tin cậy. Hệ thống có thể bỏ qua một số tham số đơn giản (như utm_*), nhưng với tham số lọc phức tạp (ví dụ: filter[price][min]), Google thường lập chỉ mục tất cả trừ khi được hướng dẫn rõ ràng qua canonical hoặc noindex.