DevOps

Hướng dẫn chặn Google Index link ?add-to-cart trong Search Console

Việc Google lập chỉ mục (index) các URL có chứa tham số ?add-to-cart= là một vấn đề phổ biến trên các website sử dụng WooCommerce hoặc các nền tảng thương mại điện tử. Điều này không chỉ gây lãng phí Crawl Budget (ngân sách thu thập dữ liệu) mà còn tạo ra nội dung trùng lặp, ảnh hưởng đến chất lượng SEO chung của website.

migrated-1785161433024

Dưới đây là 5 cách cụ thể để bạn xử lý triệt để vấn đề này:

Cách 1: Cấu hình file robots.txt

migrated-1785161433372

Đây là cách nhanh nhất và hiệu quả nhất để yêu cầu bot của Google không truy cập vào các đường dẫn chứa tham số giỏ hàng.

  • Hướng dẫn tạo và chỉnh sửa file robots.txt thủ công

User-agent: * Disallow: /*?add-to-cart=* User - agent : * Disallow : /*?add-to-cart=*

  • Giải thích: Lệnh này yêu cầu tất cả các loại bot không được phép quét bất kỳ URL nào có chứa chuỗi ?add-to-cart=.
  • Lưu ý: Cách này ngăn Google quét (crawl) nhưng nếu link đó đã lỡ được index, nó có thể vẫn tồn tại trên kết quả tìm kiếm một thời gian dưới dạng “Indexed though blocked by robots.txt”.

Cách 2: Sử dụng thẻ Canonical

migrated-1785161433779

Nếu bạn muốn Google hiểu rằng trang san-pham/?add-to-cart=123 thực chất chỉ là một biến thể của trang san-pham/ , bạn nên dùng thẻ Canonical.

  • Cách làm: Đảm bảo rằng trên trang sản phẩm, thẻ luôn trỏ về URL gốc (URL sạch).
  • Với WordPress/WooCommerce: Hầu hết các plugin SEO như Rank Math hoặc Yoast SEO đã tự động làm việc này. Tuy nhiên, nếu bạn đang tự code (như dự án chuyển đổi sang PHP thuần bạn đang làm), hãy đảm bảo logic code luôn xuất ra:$\text{}$ngay cả khi URL hiện tại là ?add-to-cart=.

Cách 3: Sử dụng thẻ Meta Noindex hoặc X-Robots-Tag

A. Thẻ Meta Noindex

migrated-1785161434133

Nếu các link này đã bị index quá nhiều và bạn muốn chúng biến mất nhanh nhất có thể, hãy dùng thẻ noindex.

  • Cách làm: Thêm đoạn code vào header của trang web để kiểm tra nếu URL chứa tham số thì xuất thẻ noindex:

if (isset($_GET['add-to-cart'])) { echo ' '; } if ( isset ( $_GET [ 'add-to-cart' ])) { echo ' ' ; }

  • Lưu ý quan trọng: Không được dùng cách này chung với robots.txt (Cách 1). Vì nếu bạn chặn trong robots.txt, Google sẽ không vào trang đó để đọc được thẻ noindex, dẫn đến việc link cũ vẫn nằm lại trên Google Search.

B. Sử dụng X-Robots-Tag

Thay vì đợi trình duyệt tải xong HTML rồi mới đọc thẻ Meta Noindex (Cách 3), bạn có thể chặn ngay từ phản hồi của Server.

  • Cách làm trong PHP: Thêm đoạn code này vào ngay đầu file xử lý logic (trước khi xuất bất kỳ ký tự HTML nào):

if (isset($_GET['add-to-cart'])) { header('X-Robots-Tag: noindex, nofollow', true); } if ( isset ( $_GET [ 'add-to-cart' ])) { header ( 'X-Robots-Tag: noindex, nofollow' , true ); }

  • Lợi ích: Googlebot sẽ nhận được chỉ thị “không index” ngay khi vừa chạm vào Server. Cách này cực kỳ chuyên nghiệp và thường được các Senior Developer ưu tiên hơn thẻ Meta trong HTML.

Cách 4: Chuyển phương thức xử lý từ GET sang POST

Lý do chính khiến Google thấy các link ?add-to-cart= là vì chúng đang được đặt trong thẻ (thẻ liên kết) với phương thức GET. Googlebot đi theo các thẻ này và thu thập dữ liệu.

  • Giải pháp: Thay vì dùng link , hãy chuyển sang dùng thẻ với method="POST" hoặc sử dụng AJAX.
  • Lợi ích: Phương thức POST không tạo ra URL mới trên trình duyệt và Googlebot hoàn toàn không thể (và không bao giờ) nhấn vào các nút POST để thu thập dữ liệu. Đây là cách “sạch” nhất để link rác không bao giờ sinh ra.

Cách 5: Sử dụng công cụ Xóa URL

Nếu các link ?add-to-cart= đã lỡ xuất hiện quá nhiều trên kết quả tìm kiếm và bạn muốn chúng biến mất ngay lập tức (thay vì đợi Google tự cập nhật):

  • Vào Google Search Console mới.
  • Chọn mục Trang (Pages) -> Xóa (Removals) ở cột bên trái.
  • Nhấn Yêu cầu mới (New Request).
  • Chọn tab Xóa tạm thời (Temporary Removal).
  • Nhập vào: ?add-to-cart=
  • Chọn dòng: Xóa tất cả các URL có tiền tố này (Remove all URLs with this prefix).
  • Nhấn Tiếp theo và Gửi yêu cầu.
  • Cách xử lý Spam Index Google & Google Search Console hiệu quả

Tổng kết

Quy trình tối ưu nhất để đạt hiệu quả 100%, bạn nên kết hợp theo thứ tự ưu tiên sau:

  • Chặn ngay từ gốc (Quan trọng nhất): Dùng AJAX hoặc POST để không bao giờ sinh ra cái link có đuôi ?add-to-cart= trên giao diện.
  • Dùng Robots.txt (Cách 1) để thông báo cho Bot Google rằng “Đừng thu thập nội dung này”.
  • Bảo hiểm: Dùng X-Robots-Tag hoặc Canonical để nếu lỡ Bot có lách qua được Robots.txt, nó cũng không lưu lại dữ liệu rác vào kho lưu trữ.

azsystemd.com - AI Assistant

Đang kết nối...

🚀

Chào mừng đến với azsystemd.com!

Blog chia sẻ kiến thức DevOps, System Admin, Kubernetes, CI/CD, n8n bởi Đăng Đạt.