Хотел лирики, а робот не оценил
Хотел лирики: сайт личный, Гараж - но поисковый робот не оценил моих мемуаров. Решил я сделать красиво: свой сайт, ностальгия 90-х, сайт анти-паттерн - то есть я настолько ох#ел или преисполнился, что всё могу, и тут же натворил х#йни, ну всё как я люблю. Но увлекло меня конкретно - я даже коллекцию музыки с кейгенов туда прикрутил. Всё сидел с самодовольным ебл#щем победителя победителей... пока ска... не полез в метрику. И тут я прозрел...
17 августа, переезд личного сайта на Битрикс, мультисайт из двух площадок на общем ядре. Открываю выдачу, смотрю на свои же title и description - и звереет во мне не эстетика, а семантика.
Антон: и нах#й гараж во всём тексте, я так и буду путать робота
Проверка мета по обоим сайтам показала одно и то же: слово стоит в title, в description и в кикере первой записи. Для человека это метафора, для парсера - тематика: автосервис, шиномонтаж, ремонт подвески.
Вот в чём подстава. Живому читателю «гараж» объясняет всё за одно слово: тут не витрина, тут разбирают железо и не причёсывают формулировки. Робот метафор не понимает вообще. Он берёт лексику буквально, складывает её с окружением и получает автотему на сайте про SEO и автоматизацию. Дальше нейро-поиск смотрит на эту кашу и не может ответить на простой вопрос: о чём этот источник. Источник, о котором нельзя сказать одной строкой, не цитируют.
Планка, с которой начался день
Антон: мне нужен эталон мультисайтовости и никак иначе, под поиск ИИ, чтоб проверяльщики не доеб#лись
Тут стоит сказать, кто в этой истории что делает. Схему JSON-LD я не собирал ни разу в жизни и не собираюсь: не моя работа. Моя - назвать уровень и потом не согласиться на меньшее. Уровень назван: эталон, а не «нормально для личного блога». Проверяльщики - это и валидаторы, и живые люди, которые придут смотреть, что там наворотил очередной специалист по SEO на собственном сайте.
Точечно править - гиблое дело
Первым порывом было пойти чинить мета. Порыв я задавил, потому что за годы насмотрелся, чем такое кончается: правишь три страницы, а на четвёртой вылезает то же самое, только в профиль.
Антон: давай тестеров на SEO-аудит двух сайтов... потому что точечно править мы заеб#мся, я уверен - общий пи#дец
Аудит подтвердил - общий. Обе площадки обошли целиком, вот что нашлось.
Что вскрыл аудит
Soft-404. Битые URL отдают код 200 и canonical сами на себя. То есть каждая опечатка в ссылке порождает страницу, которая честно говорит роботу: я существую, я оригинал, индексируй меня. Индекс засирается пустышками, а поисковик тратит краулинговый бюджет на несуществующие адреса вместо статей.
Дубли meta description. По два тега на каждой странице. Не «иногда», а на каждой. Какой из двух возьмёт робот - лотерея, и лотерея не в мою пользу.
Сленг в мета. Тот самый гараж, разобранный выше.
Вес. Это не про блог - на блоге картинок нет вообще, весить там нечему. А вот главная деловой площадки - 2.9 МБ. Внутри аватары размером 24 пикселя весом 291 КБ каждый. Картинка меньше ногтя, а качается как обои на рабочий стол.
Печатная машинка, прятавшая текст. Самое красивое. Посты набирались эффектом терминала - буква за буквой, стилизация под консоль. Робот на такой странице видел пустой контейнер: текста в исходном HTML нет, он появляется скриптом. Люди читали статью, поисковик читал пустоту.
Аналитики ноль, sitemap без статей. Мерить было нечем, а половина контента в карту сайта просто не попала.
Ни один из этих пунктов не чинится точечно. Все шесть - следствия того, что сайт собирали как красивую штуку для людей и ни разу не посмотрели на него глазами парсера.
Эталон, к которому пришли
Дальше на стол легла сводка по GEO и AEO - это про оптимизацию под генеративный и под отвечающий поиск, где выдача не список ссылок, а готовый ответ со ссылкой на источник. Разложу коротко, без пересказа чужих гайдов.
Schema и JSON-LD. Organization, WebSite, Article с привязкой к Person, BreadcrumbList, FAQPage. Ключевой узел - sameAs у автора: перечень профилей, по которым машина связывает автора статьи с реальным человеком в других местах сети. По сводке это главный сигнал доверия, до плюс сорока процентов к вероятности, что ИИ процитирует именно тебя.
E-E-A-T. Именной автор, видимый блок об авторе на странице, реальные даты публикации и правки. Не «команда редакции», не «обновлено сегодня» скриптом.
Структура под цитирование. Прямой ответ на вопрос страницы в первых сорока-восьмидесяти словах. Вся суть в первой трети текста. В ключевых утверждениях - никакого жаргона: машина цитирует то, что понимает без словаря.
llms.txt. Хайп сезона. Краулеры его почти не читают. Делать последним, когда закрыто всё остальное, и не строить на нём никаких надежд.
И главное разделение. Сленг, мат и характер - людям, в тело статьи. Роботу - чистая семантика в заголовках и мета. Это не цензура, это два разных читателя с разными потребностями. До 17 августа у меня в мета сидел язык, написанный для людей, и им же я объяснял машине, чем занимаюсь.
Развязка про гараж
Антон: теперь это не гараж, а личный сайт-блог
Одна фраза, а переписывать пришлось весь верхний слой: title, description, кикеры, лид манифеста. Слово ушло из мета полностью. В текстах оно осталось ровно там, где объясняется, от чего мы отказались.
Заодно досталось меню.
Антон: просто писать "главная" - за#бло и не канает... через черту: сверху home, снизу Главная, music - музыка, и т.д.
Получился двухъярусный пункт: латиница сверху - для глаза и стиля, кириллица снизу - для человека и для семантики. Робот читает нормальное русское «Главная», а не голое home, по которому тематику сайта не определить. Оба читателя обслужены, драки за один пункт меню больше нет.
Что прилетело следом
Антон: все статьи пересмотри. не повторяться, не писать шаблонно, убить все ИИ-паттерны
Это уже про тексты, но задача та же самая. Тексты, написанные машиной под машину, одинаковые как бетонные плиты, и цитировать в них нечего. Пришлось перебирать всё написанное и вычищать шаблон: одинаковые концовки, повторяющиеся между статьями конструкции, гладкие переходы ни о чём.
Кто что делал
За этот день я не написал ни строчки кода. Ни одной схемы, ни одного тега, ни одной правки в конфиге. Код и разметку делали не мои руки, и это не моя работа.
Моя - другая, и без неё список выше остался бы ненайденным. Каждый косяк поймали глаза: сначала я увидел гараж в выдаче, потом потребовал сплошной аудит вместо точечных правок, потом развернул полработы обратно, когда результат оказался ниже заявленного уровня. Сделать быстро и много - вопрос исполнения. Решить, что считается сделанным, за меня никто не возьмётся, и на этом решении держится всё остальное.
Сейчас в мета обоих сайтов слова «гараж» нет ни разу. Аватар весит 4 КБ вместо 291. Печатная машинка печатает поверх статики, а не вместо неё, и робот видит текст с первого байта. Аудит показал шесть классов проблем, закрыты все шесть, и на это ушёл один день - потому что чинили класс, а не страницу.
Антон Майорских. Аудит заказал, планку не опустил, JSON-LD в глаза не видел.