Phân tích robots.txt API
Tải và phân tích robots.txt của website thành nhóm user-agent, quy tắc allow/disallow, sitemap, và kiểm tra một đường dẫn có được crawl không.
Truyền một URL bất kỳ của website vào url, API sẽ tải /robots.txt từ gốc tên miền và phân tích thành các groups (user agent kèm quy tắc allow, disallow, crawl_delay) cùng danh sách sitemaps. Kết quả còn cho biết file có tồn tại (exists), mã HTTP và nội dung gốc (20.000 ký tự đầu).
Thêm path (ví dụ /search) và tuỳ chọn user_agent (mặc định *) để kiểm tra đường dẫn đó có được phép crawl không: API chọn nhóm khớp với user agent (hoặc *), áp dụng quy tắc khớp dài nhất có hỗ trợ ký tự đại diện * và neo cuối $, rồi trả về allowed: true hoặc false.
File robots.txt được đọc tối đa 512 KB, timeout 10 giây. Chỉ chấp nhận host http/https công khai.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
url | body|query | string | có | URL bất kỳ của website; robots.txt được đọc từ gốc tên miền (tối đa 4096 ký tự). | |
path | body|query | string | không | Đường dẫn cần kiểm tra, ví dụ /search. Khi có, kết quả sẽ kèm trường allowed. | |
user_agent | body|query | string | không | * | User agent dùng khi kiểm tra path, ví dụ Googlebot. |
Ví dụ
curl "https://apibox.io.vn/v1/robots-txt?url=https://github.com&path=/search&user_agent=Googlebot" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/robots-txt?url=https://github.com&path=/search&user_agent=Googlebot', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/robots-txt?url=https://github.com&path=/search&user_agent=Googlebot",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/robots-txt?url=https://github.com&path=/search&user_agent=Googlebot');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"robots_url": "https://github.com/robots.txt",
"status": 200,
"exists": true,
"groups": [
{
"user_agents": [
"GPTBot",
"OAI-SearchBot",
"ChatGPT-User",
"ClaudeBot"
],
"allow": [
"/*?tab=achievements&achievement=*",
"..."
],
"disallow": [
"/account-login",
"/copilot/",
"/gist/",
"/search$",
"..."
],
"crawl_delay": 1
},
{
"user_agents": [
"Bytespider"
],
"allow": [],
"disallow": [
"/"
]
},
{
"user_agents": [
"*"
],
"allow": [
"/*?tab=achievements&achievement=*",
"..."
],
"disallow": [
"/account-login",
"/copilot/",
"/gist/",
"/search$",
"..."
]
}
],
"sitemaps": [
"https://github.com/sitemap_marketing.xml"
],
"path": "/search",
"user_agent": "Googlebot",
"allowed": false,
"raw": "# If you would like to crawl GitHub contact us via https://support.github.com?tags=dotcom-robots\n# We also provide an extensive API: https://docs.github.com\nSitemap: https://github.com/sitemap_marketing.xml\n\nUser-agent: GPTBot\n..."
}
Ứng dụng
- Kiểm tra Googlebot hoặc crawler khác có được truy cập một trang không
- Tìm các sitemap mà website khai báo
- Giúp crawler hoặc công cụ scrape của bạn tuân thủ robots.txt
- Kiểm tra quy tắc chặn bot AI (GPTBot, ClaudeBot...) của website
Hỏi đáp
Làm sao biết một URL có bị robots.txt chặn không?
Gửi url (website), path (ví dụ /private/page) và user_agent (ví dụ Googlebot). Kết quả có trường allowed: true hoặc false.
Có hỗ trợ ký tự đại diện trong quy tắc không?
Có. * khớp với chuỗi bất kỳ và $ ở cuối neo vào cuối đường dẫn. Quy tắc khớp dài nhất được áp dụng, nếu bằng nhau thì Allow thắng.
Nếu website không có robots.txt thì sao?
Kết quả có exists: false, mã HTTP, danh sách nhóm rỗng, và mọi đường dẫn kiểm tra đều được coi là cho phép.
API liên quan
Metadata của URL
Lấy tiêu đề, mô tả, thẻ Open Graph, Twitter Card, favicon, canonical, RSS và JSON-LD của bất kỳ URL nào dưới dạng JSON.
H:HTTP Header
Xem mã trạng thái HTTP và toàn bộ response header của một URL, kèm tóm tắt các security header như HSTS, CSP, X-Frame-Options.
301Kiểm tra chuyển hướng
Theo từng lần chuyển hướng 301, 302, 307, 308 của một URL và nhận toàn bộ chuỗi kèm mã trạng thái, URL cuối và số bước.