Шестнадцать проверок технического слоя: что уже сделано и работает, что сделано наполовину и что мешает ассистентам читать и цитировать сайт. Каждая проверка воспроизводится одной командой, сырые ответы сервера сохранены.
Область проверки ограничена техникой: может ли ИИ-краулер получить страницу, дочитать её до содержимого, понять, что на ней, и процитировать. Содержание текстов, ссылочный профиль и позиции в этот отчёт не входят. Только software.travel; gpsolutions.com не проверялся.
Базовая гигиена на сайте выполнена. Это надо зафиксировать в первую очередь, чтобы список дефектов ниже читался в правильном масштабе: фундамент есть, проблемы выше него.
noindex нет ни на одной из 7 страниц, meta robots разрешает полные сниппеты: max-snippet:-1, max-image-preview:largelang="en-US" и "de-DE". Title и description есть на каждой проверенной страницеxhtml:link, lastmod у каждого URLНа статьях проставлен узел Person. Но в разметке и в тексте одной и той же страницы автор указан по-разному, и для машины это два человека.
Это не вопрос «сигнала E-E-A-T»: публичных данных, что разметка автора повышает шанс попасть в ответ ChatGPT или Perplexity, нет, и в этом отчёте авторство как фактор цитируемости не рассматривается. Это вопрос согласованности данных. Сайт сообщает машине про одного человека два имени, одно из них без фамилии и должности. Такие расхождения дешёво чинятся и не должны существовать независимо от того, что о них думает поиск.
Что доделать: в Person полное имя как в тексте, jobTitle, worksFor; если добавляется Article (см. N3), привязать автора к нему · Кто: SEO + разработка · Объём: шаблон статьи, один раз · Приоритет: низкий, делать заодно с N3
llms.txt — не визитка, а шпаргалка для модели, которая отвечает на вопрос покупателя. В него стоит выносить только то, что проходит три фильтра: об этом спрашивают, это проверяемо, это отличает нас от других. Названия систем, с которыми платформа интегрирована, проходят все три, и это видно по Search Console за 12 месяцев.
| имя в запросе | показов | из них с «api / integration» |
|---|---|---|
| amadeus | 84 407 | 38 819 |
| sabre | 40 271 | 5 814 |
| travelport / galileo | 34 203 | 1 638 |
| ndc | 20 417 | 473 |
| travelfusion | 12 765 | 886 |
| ratehawk | 10 995 | 1 075 |
| tbo | 8 622 | 1 166 |
Люди набирают «amadeus api integration» и «sabre integration», и сайт по этим запросам уже показывается. Это формулировки, которые модель получит в промпте. Сейчас в файле на это отвечает строка «80+ travel suppliers»: число не отвечает на вопрос «а с моей системой?».
Что именно выносить: не все 80 интеграций, а три группы, о которых спрашивают. GDS — Amadeus, Sabre, Travelport / Galileo. NDC и агрегаторы — Travelfusion, Mystifly, Sabre NDC. Бедбанки, о которых спрашивают со словом «integration» — RateHawk, TBO, Hotelbeds, WebBeds, DOTW. Плюс оба партнёрских статуса, формулировкой, которую можно подтвердить документом. Категории называть отраслевыми терминами (GDS, bed bank, NDC aggregator, channel manager): модель матчит слова из вопроса со словами в источнике.
Тем же фильтром объясняется, чего в файле не нужно: награды и рейтинги покупатель не спрашивает, а функции платформы там уже есть — в llms-full.txt описаны все модули.
Что доделать: одна секция «Integrations & partnerships» в llms.txt с тремя группами и двумя статусами · Кто: SEO, статус Amadeus сверить с документом · Объём: 30 минут
Каждая из семи проверенных страниц несёт 155–160 КБ одинаковой преамбулы до своего <h1>. Всё, что краулер читает до этого, — навигационное меню, идентичное на всех страницах: одни и те же ~2 750 знаков в первых 100 КБ, с точностью до десятков.
| страница | размер | h1 на байте | доля | пробелы | h1 после минификации | текст в первых 100 КБ |
|---|---|---|---|---|---|---|
| / | 350 360 | 155 807 | 44,5% | 43% | 67 337 | 2 803 / 20 193 |
| /platform/gp-travel-enterprise/ | 391 136 | 160 294 | 41,0% | 38% | 71 731 | 2 799 / 20 159 |
| /solutions/travel-crm/ | 364 770 | 160 185 | 43,9% | 41% | 71 760 | 2 772 / 20 261 |
| /glossary/travel-agency/ | 250 949 | 154 714 | 61,7% | 43% | 66 773 | 2 747 / 11 289 |
| /blog/tour-operators/gds-system/ | 373 821 | 157 630 | 42,2% | 40% | 69 195 | 2 766 / 37 500 |
| /platform/gp-travel-hub/suppliers/ | 337 003 | 160 259 | 47,6% | 44% | 71 801 | 2 761 / 15 072 |
| /de/blog/integrationen/amadeus-api/ | 288 980 | 160 456 | 55,5% | 41% | 70 336 | 2 609 / 24 167 |
Причина — не мега-меню как таковое. Из 155 807 байт до h1 на главной 88 470 байт (57%) — пробелы, табуляция и переводы строк: HTML отдаётся с отступами, как в редакторе, медианный отступ строки 60 символов, максимальный 284. Остальное: 613 тегов и 48 КБ атрибутов. Отдельно: до h1 стоят 56 тегов <img>, и семь строк текста повторяются в меню по шесть и более раз (блок «450+ / 350+ / 300+ / Clients» вставлен в каждую панель).
Простое снятие отступов переносит h1 на 67–72 КБ на всех семи страницах и уменьшает документ на 40–44%. Это одна настройка, а не переделка шаблона.
Что делать, по порядку: (1) минификация HTML на выходе WordPress, с исключением <pre>, <textarea> и инлайн-JS; (2) убрать шестикратный повтор блока и лишние <img> из панелей меню; (3) архитектурно — вынести <main> в исходном HTML перед шапкой · Кто: веб-разработка, не SEO · Затрагивает: все страницы
Заголовок ответа объявляет charset=utf-8, а в теле — байты из диапазона C1, которых в UTF-8 не бывает. Строгий декодер падает на первом же, на 44-й позиции.
0x97 в Windows-1252 — длинное тире, пары 6338/6339 — кавычки. Файл собран копированием из текстового редактора и сохранён без перекодировки. Размер тот же, что 26.08: с тех пор файл не трогали.
Что делать: пересохранить в UTF-8, заменить одиннадцать байтов на нормальные тире и кавычки · Кто: тот, кто выкладывал файл · Объём: 15 минут
Набор типов JSON-LD одинаков на всех семи страницах — это шаблон, а не описание. Ни одна страница не сообщает машине, что на ней: статья, определение термина, продукт или список вопросов.
Последняя строка — самое дешёвое из упущенного: FAQ уже написаны и стоят на каждой странице, разметить их — работа шаблона, не копирайтера. И глоссарий, единственный растущий раздел сайта, размечен как обычная веб-страница, хотя под определения существует специальный тип.
Что делать: Article на блог и глоссарий, DefinedTerm на глоссарий, FAQPage там, где есть FAQ-блок, SoftwareApplication на страницы продукта; обернуть контент в <main> и <article> · Кто: SEO + разработка · Объём: четыре шаблона
Узел Organization есть, с именем, описанием, телефоном и логотипом. Но поля sameAs в нём нет вовсе, а логотип указан относительным путём.
В стратегии по AI-оптимизации «согласованные данные в каталогах» названы каркасом сущности. sameAs — это ровно тот механизм, которым сайт сообщает машине, что он и профили на LinkedIn, Crunchbase, Clutch, Capterra, G2 — одна компания. Без него каталоги и сайт живут раздельно.
Что делать: добавить sameAs со ссылками на LinkedIn, Crunchbase, Clutch, Capterra, G2, Wikidata (если появится); логотип абсолютным URL · Кто: SEO · Объём: один узел в шаблоне
Весь файл — 446 байт и одна секция User-agent: *. Правил для GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Bytespider нет.
Сейчас это не мешает: доступ открыт всем, см. A1. Но решение нигде не зафиксировано. Любая правка общих Disallow развернёт его молча, и никто не узнает. Это не поломка, это отложенный риск: разрешить или запретить, но записать явно.
Что делать: явные секции для ИИ-ботов с осознанным решением по каждому (отдельно — обучающие краулеры вроде CCBot и Bytespider, отдельно — поисковые вроде OAI-SearchBot и PerplexityBot) · Кто: SEO · Объём: 30 минут плюс решение
Отсортировано по соотношению эффекта к затратам, а не по серьёзности. Первые четыре пункта делаются за неделю силами тех, кто уже есть.
| № | что | кто | объём | как проверить |
|---|---|---|---|---|
| 1 | N1 Минификация HTML на выходе | веб-разработка | настройка + тест на страницах с кодом | h1 < 102 400 на 7 страницах |
| 2 | N2 Перекодировать llms-full.txt в UTF-8 | кто выкладывал | 15 мин | декодер не падает |
| 3 | P2 Секция интеграций и партнёрств в llms.txt: GDS, NDC, бедбанки, оба статуса | SEO | 30 мин | grep находит Amadeus, Sabre, Travelport |
| 4 | N5 Явные правила для ИИ-ботов в robots.txt | SEO + решение руководства | 30 мин | секции присутствуют |
| 5 | N3 FAQPage на 7 страницах с FAQ-блоком | разработка | шаблон | тип в JSON-LD |
| 6 | N3 + P1 Article и DefinedTerm на блог и глоссарий; заодно согласовать имя автора | SEO + разработка | два шаблона | Person.name = имени в тексте |
| 7 | N4 Organization.sameAs, абсолютный логотип | SEO | один узел | поле присутствует |
| 8 | N1 Дедупликация меню, затем <main> перед шапкой в DOM | веб-разработка | архитектурно | h1 не зависит от размера меню |
Проверку из первой строки стоит сделать регулярной, а не разовой: тема обновится, плагин отключат, и всё вернётся молча. Логичное место — рядом с уже работающим GSC Collector, тем же ежедневным триггером.
Измерено и воспроизводится: коды ответов 17 краулеров, посимвольное совпадение текста, позиция h1 и доля пробелов на 7 страницах, битые байты с позициями, состав JSON-LD, содержимое robots.txt и обоих llms-файлов, sitemap. Сырые ответы сервера сохранены в папке проекта, 44 файла.
Предположено: что ИИ-краулеры обрезают документ около 100 КБ. Цифра общепринятая, снаружи её не измерить, у разных ботов она разная. На схеме это ориентир, не факт.
Вывод N1 от этого допущения не зависит: первые четыре тысячи знаков каждой страницы — навигация, а модели взвешивают текст тем сильнее, чем ближе он к началу документа. Минификация полезна при любом лимите.