SEO E-Commerce

Faceted Navigation Crawling Control

Kiểm soát việc thu thập dữ liệu từ các bộ lọc (giá, màu, kích thước…) bằng robots.txt, noindex hoặc parameter handling trong Search Console.

4 lượt xem Cập nhật: 01/06/2026

Faceted Navigation Crawling Control là gì?

Faceted Navigation Crawling Control (kiểm soát thu thập dữ liệu từ điều hướng phân mặt) là tập hợp các kỹ thuật giúp công cụ tìm kiếm như Google chỉ lập chỉ mục những phiên bản URL của trang danh mục sản phẩm thực sự cần thiết — đồng thời ngăn chặn việc thu thập hàng loạt URL trùng lặp hoặc không có giá trị do các bộ lọc (giá, màu sắc, kích thước, thương hiệu, xếp hạng sao…) tạo ra.

Ở website thương mại điện tử, mỗi lần người dùng chọn một bộ lọc thường sinh ra một URL mới (ví dụ: /ao-thun?color=do&size=L&price=200000-500000). Nếu không kiểm soát, hệ thống có thể tạo hàng nghìn URL gần giống nhau — gây lãng phí ngân sách thu thập (crawl budget), làm loãng tín hiệu SEO và tăng nguy cơ bị đánh giá là nội dung mỏng.

Tại sao quan trọng trong SEO?

Trong SEO thương mại điện tử, Faceted Navigation Crawling Control không phải là tùy chọn — mà là yêu cầu bắt buộc để duy trì sức khỏe kỹ thuật của website. Lý do:

  • Bảo vệ crawl budget: Google chỉ dành một lượng giới hạn thời gian và tài nguyên để thu thập dữ liệu từ mỗi trang. URL thừa làm chậm việc cập nhật các trang quan trọng như sản phẩm mới hoặc trang chủ.
  • Tránh nội dung trùng lặp: Nhiều URL hiển thị cùng một tập sản phẩm (chỉ khác tham số) khiến Google khó xác định phiên bản nào là chính — dẫn đến phân tán tín hiệu liên kết và xếp hạng yếu.
  • Giảm tải máy chủ: Các bot thu thập dữ liệu truy cập quá nhiều URL không cần thiết có thể ảnh hưởng đến tốc độ phản hồi và trải nghiệm người dùng thật.
  • Hỗ trợ lập chỉ mục chính xác: Khi chỉ index các biến thể có ý nghĩa (ví dụ: danh mục theo thương hiệu), bạn tăng khả năng xuất hiện trong kết quả tìm kiếm phù hợp.

Cách hoạt động

Các công cụ tìm kiếm nhận diện và xử lý URL có tham số bằng cách kết hợp ba lớp kiểm soát:

  1. Phát hiện: Bot đọc URL, nhận dạng tham số (như ?color=, &sort=) và so sánh cấu trúc với các URL đã biết.
  2. Đánh giá: Dựa trên tín hiệu như thẻ rel="canonical", noindex, cấu hình trong Search Console hoặc quy tắc trong robots.txt, Google quyết định có thu thập hay bỏ qua.
  3. Xử lý: Nếu được phép thu thập, Google sẽ phân tích nội dung; nếu bị chặn hoặc gắn thẻ không lập chỉ mục, nó sẽ không thêm vào kho chỉ mục — dù vẫn có thể dùng để khám phá các liên kết bên trong.

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

Dưới đây là cách triển khai từng phương pháp — nên áp dụng kết hợp để đạt hiệu quả cao nhất:

1. Sử dụng robots.txt để chặn thu thập

Thêm quy tắc vào tệp robots.txt để ngăn Googlebot truy cập các đường dẫn chứa tham số không cần thiết:

User-agent: Googlebot
Disallow: /*?color=
Disallow: /*&size=
Disallow: /*?sort=
Disallow: /*?page=

Lưu ý: robots.txt chỉ chặn thu thập — không ngăn lập chỉ mục. Nếu URL đã được liên kết từ nơi khác, nó vẫn có thể xuất hiện trong kết quả tìm kiếm (với thông báo “đã bị chặn bởi robots.txt”). Vì vậy, luôn kết hợp với noindex hoặc canonical.

2. Gắn thẻ noindex cho trang phân mặt

Thêm thẻ <meta name="robots" content="noindex,follow"> vào phần <head> của các trang danh mục chỉ dùng để lọc — nhưng vẫn giữ liên kết nội bộ (follow) để bot tiếp tục khám phá sản phẩm.

Áp dụng khi: trang không có nội dung độc lập, không nhắm từ khóa cụ thể, chỉ phục vụ tương tác người dùng.

3. Cấu hình Parameter Handling trong Google Search Console

Trong Search Console (GSC), vào Crawl > URL Parameters để khai báo cách Google xử lý từng tham số. Bạn có thể chọn:

  • Yes: Changes page content — nếu tham số làm thay đổi nội dung đáng kể (ví dụ: ?brand=apple).
  • No: Doesn’t change page content — nếu chỉ sắp xếp hoặc phân trang (ví dụ: &sort=price_asc hoặc &page=2).

Lưu ý: Tính năng này đã bị Google ngừng hỗ trợ từ tháng 9/2023. Hiện tại, cách duy nhất để kiểm soát tham số là dùng rel="canonical", noindex hoặc cấu hình qua cấu trúc URL (ví dụ: chuyển sang sử dụng POST hoặc JavaScript để áp dụng bộ lọc mà không sinh URL mới).

4. Thiết lập canonical đúng cách

Mỗi trang danh mục phân mặt phải trỏ về URL gốc không có tham số hoặc phiên bản tiêu chuẩn:

<link rel="canonical" href="https://example.com/ao-thun/" />

Nếu có nhiều biến thể hợp lệ (ví dụ: theo thương hiệu và giá), hãy chọn một phiên bản đại diện làm canonical — và đảm bảo tất cả các biến thể khác đều trỏ về nó.

Lỗi thường gặp

Lỗi Hệ quả Cách khắc phục
Dùng robots.txt chặn tham số nhưng không dùng noindex URL vẫn có thể được lập chỉ mục nếu có liên kết từ bên ngoài Kết hợp robots.txt + noindex hoặc canonical
Thiết lập canonical trỏ tới URL có tham số Gây vòng lặp hoặc phân tán tín hiệu Luôn trỏ canonical về URL gốc hoặc phiên bản chuẩn không tham số
Bỏ qua phân biệt giữa tham số có ảnh hưởng và không ảnh hưởng Ngăn chặn cả các biến thể hữu ích (ví dụ: danh mục theo thương hiệu) Phân tích từng tham số: brand, category → giữ; sort, page → chặn

Ví dụ thực tế

Một website bán giày có cấu trúc danh mục như sau:

  • https://shoes.vn/giay-nam/ — trang gốc, index được
  • https://shoes.vn/giay-nam/?color=den&size=42 — chỉ dùng để lọc, không có nội dung riêng → gắn noindex + canonical về /giay-nam/
  • https://shoes.vn/giay-nam/?brand=nike — có nội dung riêng, nhắm từ khóa “giày Nike nam” → giữ index, canonical tự nó
  • https://shoes.vn/giay-nam/?sort=price_desc&page=3 — chỉ sắp xếp và phân trang → chặn bằng robots.txt và gắn noindex

Sau khi triển khai, website giảm 72% số URL bị thu thập thừa trong 30 ngày, tăng 28% lượt hiển thị cho trang danh mục gốc trong Search Console.

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

Có nên chặn toàn bộ thư mục có tham số bằng robots.txt?

Không. Việc chặn chung chung (ví dụ: Disallow: /*?) sẽ vô hiệu hóa toàn bộ chức năng phân mặt — kể cả những biến thể có giá trị SEO như danh mục theo thương hiệu hoặc phân loại chuyên sâu. Chỉ chặn từng tham số cụ thể dựa trên phân tích nội dung.

noindex có ảnh hưởng đến liên kết nội bộ trên trang đó không?

Không. Với thẻ noindex,follow, Google vẫn đi theo các liên kết trên trang để khám phá và thu thập — chỉ không lập chỉ mục trang hiện tại. Đây là cách tối ưu để giữ luồng crawl mà không làm loãng chỉ mục.

Có thể dùng JavaScript để xử lý bộ lọc mà không sinh URL mới không?

Có thể. Một số nền tảng hiện đại (Shopify, Magento 2.4+, WooCommerce với plugin nâng cao) hỗ trợ lọc sản phẩm bằng AJAX hoặc History API — giữ URL gốc và cập nhật nội dung động. Tuy nhiên, cần đảm bảo phiên bản server-side (rendered HTML) vẫn cung cấp đầy đủ dữ liệu cho bot, hoặc dùng dynamic rendering nếu cần. Cách này phụ thuộc vào kiến trúc hệ thống và có thể thay đổi theo phiên bản nền tảng.