Шестнадцать проверок технического слоя: что уже сделано и работает, что сделано наполовину и что мешает ассистентам читать и цитировать сайт. Каждая проверка воспроизводится одной командой, сырые ответы сервера сохранены.
Область проверки ограничена техникой: может ли ИИ-краулер получить страницу, дочитать её до содержимого, понять, что на ней, и процитировать. Содержание текстов, ссылочный профиль и позиции в этот отчёт не входят. Только 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В стратегии по AI-оптимизации авторство названо ключевым сигналом, и узел Person на статьях действительно проставлен. Но на страницах нет сущности Article или BlogPosting, у которой этот человек был бы автором. Есть только WebPage с полем author.
Второе расхождение важнее первого: в тексте автор — «Anastasia Borodinets, Travel Technology Expert», в разметке — «Nastya» без фамилии и должности. Для машины это два разных человека. Сигнал E-E-A-T, ради которого всё делалось, в таком виде не собирается.
Что доделать: добавить Article с полем author → Person; в Person полное имя, jobTitle, worksFor, sameAs на LinkedIn · Кто: SEO + разработка · Объём: шаблон статьи, один раз
Проверено 11 имён: Amadeus, Sabre, Travelport, Galileo, Mystifly, Travel Fusion, pkfare, Flightslogic, Hotelbeds, Expedia и вариант написания Travelfusion.
Получается, что конкретика лежит ровно в том файле, который сломан. На вопрос «кто интегрирован с Sabre и Amadeus» ассистенту нечего процитировать из работающего файла.
Что доделать: перенести строку с GDS и ключевыми поставщиками в llms.txt, отдельно указать статус Sabre Developer Partner · Кто: SEO · Объём: 15 минут
Каждая из семи проверенных страниц несёт 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 минут плюс решение
Ничего. Все четыре файла и все замеры шаблона совпадают с предыдущей проверкой с точностью до WordPress-нонсов.
| объект | 26.08.2026 | 03.09.2026 | статус |
|---|---|---|---|
| robots.txt | 446 Б, 0 правил под ИИ | 446 Б, 0 правил под ИИ | без изменений |
| llms.txt | 7 151 Б, 0 имён поставщиков | 7 151 Б, 0 имён поставщиков | без изменений |
| llms-full.txt | 9 306 Б, невалидный UTF-8 | 9 306 Б, невалидный UTF-8 | без изменений |
| главная, h1 | 155 797 из 350 350 | 155 807 из 350 360 | +10 байт, нонс |
| JSON-LD, типы | 4 базовых типа | 4 базовых типа | без изменений |
Отсортировано по соотношению эффекта к затратам, а не по серьёзности. Первые четыре пункта делаются за неделю силами тех, кто уже есть.
| № | что | кто | объём | как проверить |
|---|---|---|---|---|
| 1 | N1 Минификация HTML на выходе | веб-разработка | настройка + тест на страницах с кодом | h1 < 102 400 на 7 страницах |
| 2 | N2 Перекодировать llms-full.txt в UTF-8 | кто выкладывал | 15 мин | декодер не падает |
| 3 | P2 Имена GDS и статус Sabre-партнёра в llms.txt | SEO | 15 мин | grep находит Amadeus, Sabre, Travelport |
| 4 | N5 Явные правила для ИИ-ботов в robots.txt | SEO + решение руководства | 30 мин | секции присутствуют |
| 5 | N3 FAQPage на 7 страницах с FAQ-блоком | разработка | шаблон | тип в JSON-LD |
| 6 | P1 + N3 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 от этого допущения не зависит: первые четыре тысячи знаков каждой страницы — навигация, а модели взвешивают текст тем сильнее, чем ближе он к началу документа. Минификация полезна при любом лимите.