Cách chặn Bot Ahrefs quét dữ liệu website thành công 100%

Trong quá trình làm web đôi khi web có nhiều từ khóa top search, nếu muốn đối thủ không phân tích được thì cần chặn bot Ahrefs

Chào các bạn,
Gần đây mình nhận được câu hỏi làm thế nào để chặn Bot Ahrefs quét dữ liệu trên website. Vấn đề khá hay, chắc cũng có nhiều bạn quan tâm, nên mình xin phép viết bài hướng dẫn về phần này.

Trước tiên ta cần hiểu Ahrefs là gì?
– Ahrefs là một công cụ trả phí dùng để phân tích các thông số của website.
– Ahrefs tạo ra các Bot đi vào website và thu thập dữ liệu các website đó như Backlinks, Referring domains, Organic keywords, Top pages…

Chặn Ahrefs để làm gì?
– Nếu bạn có một website với các từ khóa hot đang nằm trên top Google và rất nhiều đối thủ đang muốn cạnh tranh từ khóa đó, họ có thể sẽ dùng tới Ahrefs để phân tích website của bạn. Vậy nên khi chặn Ahrefs Bot thì công cụ này sẽ không còn chính xác khi phân tích website của bạn nữa.

Qua tìm hiểu thì bên phía Ahrefs có cung cấp một đoạn mã chèn vào file Robots.txt để Bot của trang này không vào quét dữ liệu nữa, mình đã thử nhưng khi check file log (lịch sử truy cập) thì Ahrefs Bot vẫn vào quét dữ liệu đều (Ahrefs là một công cụ trả phí, nó mà cung cấp cách chặn chính xác thì không khác gì tự bẻ cần câu cơm của mình).

Ngoài ra có nhiều bạn cũng từ viết chia sẻ chặn Ahrefs qua file .htaccess
– Chặn Ahrefs Bot trên file .htaccess qua IP và UserAgent: Tuy nhiên Ahrefs cập nhật và thay đổi IP Bot liên tục, về phần UserAgent đã đặt theo nhiều hướng dẫn trên mạng mà Bot vẫn vào đều.

Cuối cùng mình đã nghĩ ra một cách khá đơn giản:
Cách Làm
– Bạn thêm đoạn này vào đầu của file header.php trong thư mục Theme đang sử dụng:

<?php $useragent = $_SERVER ['HTTP_USER_AGENT'];
if (preg_match('/AhrefsBot/',$useragent)){
wp_redirect('http://google.com');
exit();
}
?>

Giải thích:
– $useragent = $_SERVER ['HTTP_USER_AGENT'];: giúp ta kiểm tra UserAgent truy cập là gì.
– if (preg_match('/AhrefsBot/',$useragent)){}: Phát hiện đây có phải AhrefsBot hay không.

– wp_redirect('http://google.com');: Nếu là AhrefsBot thì chuyển con bot này nhảy sang trang Google.

– Mình vẫn sử dụng cách nhận biết User Agent để chặn Bot, tuy nhiên mình đã sử lý trong file header.php
– Đã thử giả lập UserAgent thành AhrefsBot và đã Redirect thành công sang Google, trong thống kê truy cập cũng không còn AhrefsBot nữa.

Chúc các bạn thành công!