Что нового: A или B для поисковиков

Оба варианта доработаны одинаково: весь текст в HTML, архивы по месяцам, якоря у записей, фильтры под noindex, JSON-LD. Ниже — чем они всё-таки отличаются.

ПунктA — лента по месяцамB — дайджест
Структура заголовков✓H1 → H2 месяц → H3 запись. Дни — подписи с <time>, не заголовки. Одна ровная ветка.H1 → H2 «Главное» → H3 карточки, H2 «Все изменения за октябрь» → H3 записи, плюс служебные H2 в колонке («Разделы», «Архив»).
Полнота текста в HTMLВесь текущий месяц целиком, текст в <details>. Прошлые — анонс из трёх пунктов со ссылкой на архив.То же: весь месяц в списке. Три записи повторяются в карточках «Главное».
Внутренние ссылкиСсылки в тексте записей, «Попробовать», «Подробнее в новости», анонс прошлого месяца ведёт к трём записям архива, блок «Что такое Wishmarket».✓То же плюс карточки «Главное» с кнопками в самом верху страницы — ссылки на посадочные стоят выше и заметнее.
Архивы по месяцамАнонс месяца со ссылкой «Показать все», «Архив по месяцам» внизу, на архиве листалка.✓«Показать ещё: сентябрь» — ссылка на архив, листалка внизу, архив в правой колонке на каждой странице.
Длина на телефоне (375)/changelog ≈ 5 400 px, архив ≈ 4 200 px: записи свёрнуты в строку./changelog ≈ 5 500 px, архив ≈ 4 000 px: карточки каруселью, колонка уходит под список.
Риск дублей✓Низкий: каждая запись на странице один раз, фильтры закрыты noindex.Небольшой: текст трёх главных записей дважды на странице. Фильтры по разделу и по типу — вдвое больше адресов под noindex.
Первый экран и сниппетСразу лента дня — видно, что сайт живой, но главное не выделено.✓Три главные новинки месяца крупно — удобнее гостю, и поисковику проще понять, о чём месяц.
Сложность на сайте✓Проще: один шаблон месяца на /changelog и архив.Нужен выбор «Главного» (флаг important) и правая колонка.

Вывод

Для поиска варианты почти равны: решают адреса архивов, текст в HTML и ссылки, а это есть в обоих. Рекомендую A как основу.

  • Чище структура: H2 — месяц, H3 — запись, без повторов текста и служебных заголовков.
  • Проще на сайте: один шаблон месяца для /changelog и /changelog/ГГГГ-ММ.
  • Из B взять листалку «← Октябрь · Сентябрь →» (в архиве A она уже есть) и, если захочется, три главных пункта месяца строкой над лентой — как в анонсе прошлого месяца, без полного текста.
  • Если важнее первое впечатление гостя, чем аккуратность, B тоже годится: дубль трёх записей поисковики переживут.

Что нужно на сайте

  1. Маршруты: /changelog — текущий месяц, /changelog/{ГГГГ-ММ} — архив. Пока месяц текущий, его адрес отвечает 302 на /changelog (якорь сохраняется), пустой или будущий месяц — 404.
  2. ChangelogController: группировка по месяцам, SeoMeta — title и description с темами месяца, canonical, breadcrumbs, jsonLd(BlogPosting) и jsonLd(ItemList); у фильтров ?area= и ?type= — noindex(), без canonical.
  3. ChangelogEntry: поля slug (адрес записи, по умолчанию транслит заголовка), type, area, important, try_label/try_url, news_id; ссылки в тексте записи — простая разметка в админке.
  4. Сайт: весь текст в SSR внутри <details>, h3 у заголовка записи, id = дата-slug, <time datetime>; «Показать все» и «Показать ещё» — обычные ссылки (раскрытие на месте — по желанию, поверх ссылки).
  5. Sitemap: /changelog (lastmod — последняя запись, weekly) и каждый закрытый месяц (lastmod — последняя запись месяца, monthly). Адреса с фильтрами — нет.
  6. IndexNow: при публикации записи отправлять /changelog и архив её месяца; после закрытия месяца — его архив.
  7. robots.txt для Яндекса: Clean-param: area&type /changelog.
  8. Картинка Open Graph по месяцу (1200×630) — можно собрать тем же OgImage, что у новостей.