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