[{"data":1,"prerenderedAt":96},["ShallowReactive",2],{"guide-ai-crawler-logs-uk":3},{"copy":4,"related":83},{"name":5,"question":6,"title":7,"description":8,"h1":9,"lede":10,"panelTitle":11,"end":12,"sections":15},"Логи ШІ-краулерів","Які ШІ-краулери насправді відвідують мій сайт?","Дізнайтеся, які ШІ-краулери відвідують ваш сайт","Знайдіть GPTBot, ClaudeBot, PerplexityBot та інших ШІ-краулерів у логах доступу, перевірте, чи вони справжні, і які сторінки віддають їм помилки.","Дізнайтеся, які ШІ-краулери справді відвідують ваш сайт","Ваш robots.txt каже, яким ШІ-краулерам можна читати сайт. Лог доступу каже, які з них прийшли, як часто і що отримали у відповідь. Цей посібник показує, де знайти цей лог, як порахувати візити ШІ-краулерів кількома командами оболонки і як відрізнити справжнього краулера від того, хто лише позичає його ім’я.","На цій сторінці",{"heading":13,"text":14},"Перевірте, кому дозволено читати ваш сайт","Безкоштовне сканування прочитає ваш robots.txt і покаже, яких ШІ-краулерів він пускає, а яких блокує, поруч з рештою готовності вашого сайту до ШІ.",{"why":16,"crawlers":22,"find":29,"format":37,"count":48,"verify":57,"errors":67,"limits":75},{"heading":17,"panel":18,"body":19},"Чому важливо, хто справді заходить","Чому це важливо",[20,21],"ШІ-асистент може процитувати лише сторінку, яку прочитав один із його краулерів. Якщо жоден із них не завантажив вашу сторінку з цінами, жодна відповідь її не процитує, хоч би як добре її написано.","Ваш robots.txt і таблиця ШІ-ботів у звіті SagBot кажуть, яким краулерам можна читати сайт. Вони не кажуть, які прийшли. Це каже лог доступу вашого сервера: кожен запит з адресою, звідки він надійшов, сторінкою, кодом статусу та user agent, що називає краулера.",{"heading":23,"panel":24,"body":25},"Які ШІ-краулери існують і навіщо вони приходять","Хто ці краулери",[26,27,28],"ШІ-краулери приходять з однієї з трьох причин. Краулери для навчання збирають сторінки, щоб навчати моделі. Пошукові краулери будують індекс, у якому асистент шукає, коли відповідає. Агенти користувачів завантажують сторінку наживо, бо хтось щойно спитав про неї асистента. Саме візити двох останніх можуть привести до цитування.","OpenAI надсилає `GPTBot` для навчання, `OAI-SearchBot` для пошуку і `ChatGPT-User` для запитів наживо. Anthropic надсилає `ClaudeBot`, `Claude-SearchBot` і `Claude-User`; Perplexity — `PerplexityBot` і `Perplexity-User`. Meta використовує `meta-externalagent`, `meta-webindexer` і `meta-externalfetcher`, Amazon — `Amazonbot`, `Amzn-SearchBot` і `Amzn-User`, а Mistral і DuckDuckGo надсилають `MistralAI-User` і `DuckAssistBot`. `Bytespider` (ByteDance) і `CCBot` (Common Crawl, відкритий архів, на якому навчено багато моделей) збирають дані для навчання.","Двох імен ви в логах не знайдете: `Google-Extended` і `Applebot-Extended` — це правила robots.txt, а не краулери. Google завантажує сторінки через `Googlebot`, а Apple — через `Applebot`; правила Extended лише вирішують, чи можна використовувати завантажене для ШІ. Агент Google для запитів користувачів наживо, `Google-Agent`, у логах таки з’являється під власним ім’ям.",{"heading":30,"panel":31,"body":32},"Знайдіть свій лог доступу","Знайдіть лог",[33,34,35,36],"На власному сервері лог — це звичайний текстовий файл. nginx пише `\u002Fvar\u002Flog\u002Fnginx\u002Faccess.log`. Apache пише `\u002Fvar\u002Flog\u002Fapache2\u002Faccess.log` на Debian і Ubuntu та `\u002Fvar\u002Flog\u002Fhttpd\u002Faccess_log` на Red Hat, Rocky й Alma. Старіші дні ротуються в пронумеровані чи датовані файли поруч, а найстаріші з них стискаються в `.gz`.","На спільному чи керованому хостингу знайдіть у панелі хостингу сирі логи доступу й завантажте їх. Деякі хостинги зберігають лише кілька днів, тож зберігайте логи регулярно, якщо хочете бачити довший період.","Якщо сайт за Cloudflare, відкрийте в панелі керування AI Crawl Control для свого домену. Він є на всіх тарифах і показує запити кожного ШІ-краулера, їхні коди статусу та найчастіше запитувані шляхи, без жодних лог-файлів; на безкоштовному тарифі його метрики охоплюють останні 24 години. Сирі рядки запитів Logpush експортує до обраного вами сховища. Cloudflare бачить лише імена хостів, що йдуть через проксі (помаранчева хмарка); записи DNS only ідуть прямо на ваш сервер.","На Vercel сторінка Logs проєкту показує нещодавні запити з їхнім user agent: годину на Hobby і день на Pro. Log drain (Pro і Enterprise) надсилає кожен запит, зокрема до статичних файлів, до обраного вами сховища.",{"heading":38,"panel":39,"body":40,"code":44},"Перевірте, що лог зберігає user agent","Перевірте формат",[41,42,43],"Саме user agent називає краулера, тож він потрібен у кожному рядку. І nginx, і Apache мають формат `combined`, який завершує кожен рядок реферером і user agent у лапках. nginx використовує його, якщо ви не оберете інший; Apache його визначає, а ваш рядок `CustomLog` вирішує, чи він застосовується.","Перегляньте останні рядки логу першою командою нижче. Якщо кожен закінчується назвою браузера чи бота в лапках, усе гаразд. Якщо рядки закінчуються статусом і кількістю байтів, сервер пише Common Log Format, у якому немає user agent: задайте `combined` у рядку `access_log` (nginx) або в рядку `CustomLog` (Apache), як нижче, і перезапустіть nginx чи Apache.","Команди в наступних кроках розраховані на формат `combined`. Якщо ви використовуєте власний `log_format` чи `LogFormat`, залиште `$http_user_agent` або `%{User-Agent}i` останнім полем у лапках або підлаштуйте команди.",[45,46,47],"tail -n 3 \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log","access_log \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log combined;","LogFormat \"%h %l %u %t \\\"%r\\\" %>s %b \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\"\" combined\nCustomLog ${APACHE_LOG_DIR}\u002Faccess.log combined",{"heading":49,"panel":50,"body":51,"code":54},"Порахуйте візити кожного ШІ-краулера","Порахуйте візити",[52,53],"Вставте перший блок в оболонку на сервері. Він записує в `BOTS` імена ШІ-краулерів із таблиці ШІ-ботів SagBot і рахує запити кожного краулера у поточному лог-файлі. Змініть шлях, якщо ваш інший, наприклад `\u002Fvar\u002Flog\u002Fapache2\u002Faccess.log`.","Другий блок робить те саме для ротованих файлів, стиснутих чи ні; запустіть його в тій самій оболонці, щоб `BOTS` залишалася заданою. Краулери для навчання часто очолюють список. З відповідями пов’язані візити пошукових краулерів та агентів користувачів, тож варто помітити, коли їх немає.",[55,56],"BOTS='GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User'\nBOTS=\"$BOTS|PerplexityBot|Perplexity-User|Google-Agent|Applebot|Bytespider|CCBot\"\nBOTS=\"$BOTS|meta-externalagent|meta-webindexer|meta-externalfetcher|Amazonbot\"\nBOTS=\"$BOTS|Amzn-SearchBot|Amzn-User|MistralAI-Training|MistralAI-Index\"\nBOTS=\"$BOTS|MistralAI-User|DuckAssistBot\"\nawk -F'\"' '{print $6}' \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log \\\n  | grep -Eo \"$BOTS\" | sort | uniq -c | sort -rn","zgrep -hE \"${BOTS:?}\" \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log* \\\n  | awk -F'\"' '{print $6}' | grep -Eo \"$BOTS\" | sort | uniq -c | sort -rn",{"heading":58,"panel":59,"body":60,"code":64},"Перевірте, чи краулер справжній","Перевірте справжність",[61,62,63],"Будь-хто може надіслати запит, у якому user agent каже `GPTBot`, і скрейпери так і роблять. Щоб довіряти візиту, звірте адресу, звідки він прийшов, зі списком самого оператора. Перша команда нижче показує адреси, що назвалися `GPTBot`; підставте будь-яке інше ім’я.","OpenAI, Anthropic, Perplexity, Amazon, Apple і Common Crawl публікують діапазони IP своїх краулерів у документації до ботів. Google і Bing також можна перевірити зворотним DNS: адреса має розв’язуватися в ім’я `googlebot.com`, `google.com` чи `googleusercontent.com` для Google або `search.msn.com` для Bing, а це ім’я має розв’язуватися назад у ту саму адресу. Другий блок показує перевірку на прикладі адреси від самого Google. Apple (`applebot.apple.com`) і Common Crawl (`crawl.commoncrawl.org`) проходять ту саму перевірку.","Meta й ByteDance на момент написання не публікують списку адрес, тож їхні візити можна порахувати, але не перевірити.",[65,66],"awk '\u002FGPTBot\u002F {print $1}' \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log | sort | uniq -c | sort -rn","host 66.249.66.1\nhost crawl-66-249-66-1.googlebot.com",{"heading":68,"panel":69,"body":70,"code":73},"Знайдіть сторінки, на яких ШІ-краулери отримують помилки","Сторінки з помилками",[71,72],"Краулер, що отримав 404 чи 500, іде ні з чим і не має що цитувати, а сторінка, яка постійно видає помилку, може випасти з його індексу.","Блок нижче показує шляхи, що відповіли ШІ-краулерам 404 або будь-яким 5xx, від найчастіших; йому потрібна `BOTS` із кроку підрахунку в тій самій оболонці. Переспрямуйте переміщені сторінки на нову адресу, виправте помилки й приберіть мертві посилання з карти сайту та внутрішніх посилань.",[74],"awk -F'\"' -v bots=\"${BOTS:?}\" '$6 ~ bots {\n  split($3, f, \" \"); split($2, r, \" \")\n  if (f[1] == 404 || f[1] >= 500) print f[1], r[2]\n}' \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log | sort | uniq -c | sort -rn | head -20",{"heading":76,"panel":77,"body":78},"Чого логи не покажуть","Чого логи не бачать",[79,80,81,82],"Сторінка, віддана з кешу CDN, до вашого сервера не доходить, тож власний лог показує менше візитів, ніж було. Для повної картини використовуйте логи CDN або його звіт про краулерів.","Cloudflare бачить лише імена хостів, що йдуть через проксі. Ім’я хоста в режимі DNS only не показує візитів в AI Crawl Control, хоч скільки краулерів до нього доходить.","Сам user agent можна підробити, а Common Log Format його взагалі не записує.","Логи показують візити, а не цитування. Те, що краулер прочитав сторінку, не означає, що асистент її процитує; як часто вас цитують — окреме вимірювання.",[84,88,92],{"path":85,"name":86,"question":87},"\u002Ffor\u002Fdevelopers","Розробники","Чи можуть ШІ-краулери й агенти дістатися до мого сайту та прочитати його?",{"path":89,"name":90,"question":91},"\u002Fguides\u002Fimprove-geo","Як покращити GEO","Як зробити, щоб мій сайт цитували системи ШІ-відповідей?",{"path":93,"name":94,"question":95},"\u002Fguides\u002Fai-visibility","Видимість у ШІ","Що я можу виправити, а що лише відстежувати в тому, як ШІ бачить мій бренд?",1793992963186]