SEO и видимость в ответах ИИ: общее ядро, блоки, SEO-центр и аналитика #2

Closed
opened 2026-10-24 18:35:22 +03:00 by codex-bot · 2 comments
Owner

SEO и видимость в поиске и ответах ИИ

Цель: универсальные дополнения к существующим страницам и блокам KiwiCMS. Новые типы страниц наследуют общие настройки. Не обещать позиции или цитирование ИИ. Рабочая ветка dev; testcms закрыт от индексации; main не меняется.

Этап 1. Общее ядро SEO

  • Общая вкладка SEO для всех EffectPage: title/description (существующие поля Wagtail), canonical, index/noindex, изображение для соцсетей, хлебные крошки, краткий ответ, дата редакционной проверки.
  • Единый вывод meta/canonical/Open Graph/Twitter без дублирования блога; canonical учитывает пагинацию, очищает tracking-параметры; фильтры не индексируются.
  • Настройки сайта: название/шаблон заголовка/описание/изображение по умолчанию, публичный origin, разрешение индексации; тестовый сервер всегда закрыт независимо от UI.
  • Sitemap: только live/public/indexable, корректные даты; robots учитывает окружение и политики поисковых/обучающих роботов. robots не используется вместо noindex для удаления страницы из индекса.

Этап 2. Структура, организация и разметка

  • Общая карточка бизнеса: официальное имя, тип, описание, телефон, email, адрес/регион/часы, официальные профили. Наследование бренда/контактов существующих настроек.
  • JSON-LD Organization/LocalBusiness, WebSite, WebPage, BreadcrumbList, BlogPosting; выбор Service/Product/ProfilePage при наличии соответствующих данных. Разметка соответствует видимому содержимому.
  • Хлебные крошки, ручные связанные страницы, ссылки через Wagtail chooser.
  • Использовать штатные перенаправления Wagtail при смене URL; диагностировать циклы/цепочки/неработающие внутренние ссылки. Журнал 404 без query и персональных данных.

Этап 3. Полезный контент и доступность для ИИ

  • Добавочные блоки конструктора на обычных страницах и в блоге: краткий ответ, FAQ, пошаговая инструкция, сравнение, кейс с измеримым результатом, эксперт/источники, связанные страницы.
  • Редактор выбирает содержание и порядок; исходный HTML содержит текст без выполнения анимаций. Декоративные блоки не заменяют заголовки/текст.
  • Дополнения к медиа: alt/подпись/расшифровка, адаптивные изображения; диагностика пропущенных alt. Не менять авторство и не генерировать фиктивные отзывы.
  • Отдельные политики поиска OAI-SearchBot и обучения GPTBot; отсутствие llms.txt не считать ошибкой.

Этап 4. SEO-центр и редакционные проверки

  • Отдельный пункт SEO в админке: состояние индексации, проверка страницы, предпросмотр сниппета, ссылки на настройки/перенаправления/инструменты поисковиков.
  • Диагностика отсутствующих/дублирующихся title и description, структуры H1, alt, внутренних ссылок, страниц без ссылок, неактуальной проверки материала, разметки и canonical. Предупреждения объясняют действия; не блокируют публикацию из-за условного SEO-балла.
  • Команда для воспроизводимого локального аудита и тестов.

Этап 5. Производительность, измерение и интеграции

  • Проверить загрузку медиа, размеры и отложенную загрузку ниже первого экрана; не задерживать главное изображение первого экрана.
  • Измерение LCP/CLS/INP с явным обозначением лабораторных/полевых данных и ограничений; доступ к PageSpeed/Search Console/Яндекс Вебмастер.
  • Настройки verification для Google/Яндекс; опциональная Метрика с явным включением/согласием посетителя, события форм и источники переходов без обещания измерить все цитирования ИИ.
  • Встроенный безопасный отчёт посещений поисковых/AI-источников и конверсий либо интеграция аналитики; без записи email, токенов подтверждения, полного query или IP.

Этап 6. Проверка, документация, dev и стенд

  • Миграции сохраняют контент и старые SEO-поля. Проверки home/blog/seo, makemigrations --check, браузерный smoke публичных страниц и админки.
  • Проверить закрытие тестового домена, доступные/закрытые страницы, пагинацию, JSON-LD, robots/sitemap, новые блоки, мобильную вёрстку и настройки.
  • Инструкция редактору и инструкция запуска публичного домена. Проверенный код коммитить/push только dev, обновлять стенд штатным deploy-скриптом, проверить HTTP/службы/ассеты.
  • Не читать production-env, не копировать локальные DB/media на стенд. Подключение внешних кабинетов требует собственных аккаунтов владельца и подтверждения домена; это отразить как внешний шаг, а не выдавать за выполненную настройку.

Реализация и проверка — 24 октября 2026

  • Этапы 1–5 реализованы: общее SEO-ядро, структурированные данные, новые блоки, SEO-центр, диагностика, согласие на аналитику и агрегированные измерения.
  • Добавлено первоначальное заполнение: /seo-demo/, услуга, товар, эксперт, учебный блог и статья. Все шесть страниц опубликованы с noindex, реальные страницы не заменяются, рассылки не создаются. Повторная миграция не дублирует материалы.
  • 83 теста home blog seo проходят; makemigrations --check --dry-run не находит изменений.
  • Проверка браузером: мобильная ширина, FAQ, согласие/отзыв аналитики, SEO-центр, вкладка SEO и живой предпросмотр; ошибок JavaScript нет.
  • Gunicorn с DEBUG=False и временной копией БД: главная/блог/статья/вход в админку, HTTPS redirect, запрет чужого Host, noindex, secure CSRF, сборка статики.
  • Подготовлена инструкция docs/SEO-EDITOR-GUIDE.md.

Внешние кабинеты Google Search Console, Яндекс Вебмастер и счётчик Метрики подключает владелец со своими идентификаторами. На тестовом домене индексация намеренно закрыта. Встроенные средние показатели и приближённый INP не заменяют CrUX; переходы из ИИ не равны всем цитированиям. Проверка внешнего развёртывания и commit фиксируются в задаче Forgejo #2.

Результат развёртывания

Все этапы завершены в dev, commit 2217de1c. Стенд обновлён штатным deploy-скриптом. Проверены шесть учебных страниц (HTTP 200), JSON-LD, один H1/canonical, мобильная ширина, FAQ, CSS, robots и sitemap. Ошибок JavaScript нет. Веб-сервис и почтовый worker активны.

Примеры: https://testcms.app-biz.ru/seo-demo/
SEO-центр: https://testcms.app-biz.ru/admin/seo/
Инструкция: docs/SEO-EDITOR-GUIDE.md

# SEO и видимость в поиске и ответах ИИ Цель: универсальные дополнения к существующим страницам и блокам KiwiCMS. Новые типы страниц наследуют общие настройки. Не обещать позиции или цитирование ИИ. Рабочая ветка dev; testcms закрыт от индексации; main не меняется. ## Этап 1. Общее ядро SEO - Общая вкладка SEO для всех EffectPage: title/description (существующие поля Wagtail), canonical, index/noindex, изображение для соцсетей, хлебные крошки, краткий ответ, дата редакционной проверки. - Единый вывод meta/canonical/Open Graph/Twitter без дублирования блога; canonical учитывает пагинацию, очищает tracking-параметры; фильтры не индексируются. - Настройки сайта: название/шаблон заголовка/описание/изображение по умолчанию, публичный origin, разрешение индексации; тестовый сервер всегда закрыт независимо от UI. - Sitemap: только live/public/indexable, корректные даты; robots учитывает окружение и политики поисковых/обучающих роботов. robots не используется вместо noindex для удаления страницы из индекса. ## Этап 2. Структура, организация и разметка - Общая карточка бизнеса: официальное имя, тип, описание, телефон, email, адрес/регион/часы, официальные профили. Наследование бренда/контактов существующих настроек. - JSON-LD Organization/LocalBusiness, WebSite, WebPage, BreadcrumbList, BlogPosting; выбор Service/Product/ProfilePage при наличии соответствующих данных. Разметка соответствует видимому содержимому. - Хлебные крошки, ручные связанные страницы, ссылки через Wagtail chooser. - Использовать штатные перенаправления Wagtail при смене URL; диагностировать циклы/цепочки/неработающие внутренние ссылки. Журнал 404 без query и персональных данных. ## Этап 3. Полезный контент и доступность для ИИ - Добавочные блоки конструктора на обычных страницах и в блоге: краткий ответ, FAQ, пошаговая инструкция, сравнение, кейс с измеримым результатом, эксперт/источники, связанные страницы. - Редактор выбирает содержание и порядок; исходный HTML содержит текст без выполнения анимаций. Декоративные блоки не заменяют заголовки/текст. - Дополнения к медиа: alt/подпись/расшифровка, адаптивные изображения; диагностика пропущенных alt. Не менять авторство и не генерировать фиктивные отзывы. - Отдельные политики поиска OAI-SearchBot и обучения GPTBot; отсутствие llms.txt не считать ошибкой. ## Этап 4. SEO-центр и редакционные проверки - Отдельный пункт SEO в админке: состояние индексации, проверка страницы, предпросмотр сниппета, ссылки на настройки/перенаправления/инструменты поисковиков. - Диагностика отсутствующих/дублирующихся title и description, структуры H1, alt, внутренних ссылок, страниц без ссылок, неактуальной проверки материала, разметки и canonical. Предупреждения объясняют действия; не блокируют публикацию из-за условного SEO-балла. - Команда для воспроизводимого локального аудита и тестов. ## Этап 5. Производительность, измерение и интеграции - Проверить загрузку медиа, размеры и отложенную загрузку ниже первого экрана; не задерживать главное изображение первого экрана. - Измерение LCP/CLS/INP с явным обозначением лабораторных/полевых данных и ограничений; доступ к PageSpeed/Search Console/Яндекс Вебмастер. - Настройки verification для Google/Яндекс; опциональная Метрика с явным включением/согласием посетителя, события форм и источники переходов без обещания измерить все цитирования ИИ. - Встроенный безопасный отчёт посещений поисковых/AI-источников и конверсий либо интеграция аналитики; без записи email, токенов подтверждения, полного query или IP. ## Этап 6. Проверка, документация, dev и стенд - Миграции сохраняют контент и старые SEO-поля. Проверки home/blog/seo, makemigrations --check, браузерный smoke публичных страниц и админки. - Проверить закрытие тестового домена, доступные/закрытые страницы, пагинацию, JSON-LD, robots/sitemap, новые блоки, мобильную вёрстку и настройки. - Инструкция редактору и инструкция запуска публичного домена. Проверенный код коммитить/push только dev, обновлять стенд штатным deploy-скриптом, проверить HTTP/службы/ассеты. - Не читать production-env, не копировать локальные DB/media на стенд. Подключение внешних кабинетов требует собственных аккаунтов владельца и подтверждения домена; это отразить как внешний шаг, а не выдавать за выполненную настройку. ## Реализация и проверка — 24 октября 2026 - [x] Этапы 1–5 реализованы: общее SEO-ядро, структурированные данные, новые блоки, SEO-центр, диагностика, согласие на аналитику и агрегированные измерения. - [x] Добавлено первоначальное заполнение: `/seo-demo/`, услуга, товар, эксперт, учебный блог и статья. Все шесть страниц опубликованы с `noindex`, реальные страницы не заменяются, рассылки не создаются. Повторная миграция не дублирует материалы. - [x] 83 теста `home blog seo` проходят; `makemigrations --check --dry-run` не находит изменений. - [x] Проверка браузером: мобильная ширина, FAQ, согласие/отзыв аналитики, SEO-центр, вкладка SEO и живой предпросмотр; ошибок JavaScript нет. - [x] Gunicorn с `DEBUG=False` и временной копией БД: главная/блог/статья/вход в админку, HTTPS redirect, запрет чужого Host, noindex, secure CSRF, сборка статики. - [x] Подготовлена инструкция `docs/SEO-EDITOR-GUIDE.md`. Внешние кабинеты Google Search Console, Яндекс Вебмастер и счётчик Метрики подключает владелец со своими идентификаторами. На тестовом домене индексация намеренно закрыта. Встроенные средние показатели и приближённый INP не заменяют CrUX; переходы из ИИ не равны всем цитированиям. Проверка внешнего развёртывания и commit фиксируются в задаче Forgejo #2. ## Результат развёртывания Все этапы завершены в dev, commit `2217de1c`. Стенд обновлён штатным deploy-скриптом. Проверены шесть учебных страниц (HTTP 200), JSON-LD, один H1/canonical, мобильная ширина, FAQ, CSS, robots и sitemap. Ошибок JavaScript нет. Веб-сервис и почтовый worker активны. Примеры: https://testcms.app-biz.ru/seo-demo/ SEO-центр: https://testcms.app-biz.ru/admin/seo/ Инструкция: docs/SEO-EDITOR-GUIDE.md
Author
Owner

Исправления по замечаниям пользователя: ee693832 в dev, стенд обновлён. Обложке статьи возвращена автоматическая высота: на реальной новости проверено 1180×573 вместо 1180×233, также проверен мобильный экран. SEO-аудит использует внешний origin запроса вместо внутреннего hostname Wagtail; ошибка одной страницы больше не ломает весь центр. Добавлено объяснение назначения настроек и учебного раздела. 85 тестов проходят, миграций нет. Авторизованный SEO-центр проверен тестами; внешнюю пользовательскую сессию администратора не использовали.

Исправления по замечаниям пользователя: ee693832 в dev, стенд обновлён. Обложке статьи возвращена автоматическая высота: на реальной новости проверено 1180×573 вместо 1180×233, также проверен мобильный экран. SEO-аудит использует внешний origin запроса вместо внутреннего hostname Wagtail; ошибка одной страницы больше не ломает весь центр. Добавлено объяснение назначения настроек и учебного раздела. 85 тестов проходят, миграций нет. Авторизованный SEO-центр проверен тестами; внешнюю пользовательскую сессию администратора не использовали.
Author
Owner

Исправлена фактическая причина 500: NoReverseMatch для wagtailadmin_pages:explore в условной кнопке учебного раздела. Используется wagtailadmin_explore. Регрессионная проверка теперь открывает центр и полный scan после создания демо; дополнительная проверка с production-настройками и заполненной копией БД возвращает 200. Commit b395885b, стенд обновлён. В авторизованной вкладке на стенде лично проверены SEO-центр, полный HTML scan и переход «Редактировать примеры»: работают. Баннер статьи выровнен по тексту: ширина обоих 800px и одинаковый левый отступ, высота баннера 388.33px соответствует пропорциям исходного изображения. 85 тестов проходят, миграций нет.

Исправлена фактическая причина 500: NoReverseMatch для wagtailadmin_pages:explore в условной кнопке учебного раздела. Используется wagtailadmin_explore. Регрессионная проверка теперь открывает центр и полный scan после создания демо; дополнительная проверка с production-настройками и заполненной копией БД возвращает 200. Commit b395885b, стенд обновлён. В авторизованной вкладке на стенде лично проверены SEO-центр, полный HTML scan и переход «Редактировать примеры»: работают. Баннер статьи выровнен по тексту: ширина обоих 800px и одинаковый левый отступ, высота баннера 388.33px соответствует пропорциям исходного изображения. 85 тестов проходят, миграций нет.
Sign in to join this conversation.
No labels
NewTask
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
codex-bot/KiwiCMSBack#2
No description provided.