Chặn bot ahreft

 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:


-------------------------------------------Đây là mã chèn vào html

<pre style="background-color: #f1f1f1; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #3a3a3a; margin-bottom: 1.3em; overflow-x: auto; padding: 20px; width: 877.5px;">Bạn cho đoạn code của bạn vào đây</pre> Xuống dòng

------------------------------------------Đây là mã chèn vào html

Đầu tiên, để thay đổi tần suất AhrefsBot truy cập trang web của bạn, bạn có thể chỉ định độ trễ tối thiểu giữa hai lần truy cập liên tiếp của Bot thông qua robot.txt:

User-agent: AhrefsBot
Crawl-Delay: [value]

Trong đó giá trị [value] là thời gian được tính bằng giây.

Trong trường hợp, bạn muốn ngăn AhrefsBot truy cập trang web của mình, hãy đặt hai dòng sau vào tệp robot.txt trên website của bạn:

User-agent: AhrefsBot
Disallow: /




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.

Nhận xét

Bài đăng phổ biến từ blog này

Sửa sản phẩm tương tự trong Flatsome