IT'S NEW IT'S NEW

Поле «Оглавление (SEO)» для InstantCMS 2

09:53
148

Поиск

Поле «Оглавление (SEO)» для InstantCMS 2

Поле автоматически генерирует интерактивное оглавление на основе заголовков второго, третьего и четвёртого уровней (h2, h3, h4) в основном контенте статьи. Подходит для улучшения навигации, повышения удобства чтения и усиления SEO-сигналов за счёт структурированной разметки и корректного использования якорных ссылок.

Почему это важно в 2025 году?

Согласно последним исследованиям и докладам (включая материалы от GoGetLinks и Google), якорные ссылки (#anchor) играют всё более заметную роль в современном SEO:

  • Google может использовать якоря для отображения «jump links» — прямых ссылок на конкретные разделы страницы прямо в поисковой выдаче.
  • В условиях роста AI Overview (ранее SGE) Google всё чаще цитирует точные фрагменты текста, особенно если они:
    • находятся под чётким заголовком,
    • имеют уникальный идентификатор (id),
    • структурированы и релевантны поисковому запросу.
  • Хотя внешняя ссылка вида example.com/page#section передаёт вес всей странице, а не фрагменту, наличие якоря повышает шансы попадания этого фрагмента в сниппет или AI-ответ.

Таким образом, правильно построенное оглавление не только улучшает пользовательский опыт, но и увеличивает видимость контента в ИИ-выдаче и традиционном поиске.

Основные возможности

  • Автоматическая генерация оглавления
    При включённой опции поле анализирует контент статьи и строит оглавление из указанных тегов заголовков.
  • Гибкая настройка источника заголовков
    Вы можете выбрать, из каких HTML-тегов (h2, h3, h4) формировать оглавление. По умолчанию используются h2 и h3.
  • Минимальное количество заголовков
    Оглавление появляется только если в тексте найдено заданное минимальное число заголовков (по умолчанию — 2). Это предотвращает появление пустых или бесполезных блоков.
  • Интерактивная кнопка-переключатель
    Оглавление скрыто по умолчанию и отображается по клику на кнопку с настраиваемым текстом (например, «Содержание»).
  • SEO-разметка Schema.org (JSON-LD)
    При включённой опции добавляется структурированная разметка в формате application/ld+json, соответствующая стандарту Schema.org для типа Article. Включает поле tableOfContents с полным списком разделов и якорными ссылками.
  • Семантическая HTML-разметка
    Оглавление оформлено как элемент nav с атрибутами aria-label и itemscope, что улучшает доступность и понимание структуры страницы поисковыми системами.
  • Безопасная генерация якорей
    Для каждого заголовка создаётся уникальный и читаемый идентификатор на основе его текста с поддержкой кириллицы и латиницы — что критически важно для корректной работы jump links.

Практическая польза для SEO и AI Overview

  • Улучшает шансы попадания в «jump to»-сниппеты — Google может показывать прямые ссылки на разделы в результатах поиска.
  • Повышает релевантность фрагментов для ИИ-агрегаторов — AI Overview чаще цитирует структурированные, помеченные якорем блоки.
  • Усиливает внутреннюю навигацию — пользователи и роботы быстрее находят нужную информацию, что положительно влияет на поведенческие метрики (время на странице, глубина просмотра).
  • Поддерживает best practices от Google — официальные рекомендации советуют использовать именованные якоря для идентификации разделов.

Технические особенности

  • Поле не хранит данные в базе (тип text, но значение не сохраняется — генерация происходит динамически).
  • Не индексируется для поиска (параметр allow_index отключён).
  • Полностью совместимо с InstantCMS 2.
  • Поддерживает многоязычность и корректно обрабатывает спецсимволы.

Настройки поля (в админке)

  1. Автоматически генерировать оглавление — вкл/выкл.
  2. Минимальное количество заголовков — от 1 и выше.
  3. Теги заголовков для оглавления — выбор из h2, h3, h4 (мультивыбор).
  4. Текст кнопки — например, «Содержание», «Оглавление» и т.п.
  5. Добавить SEO разметку — вкл/выкл JSON-LD по Schema.org.

Установка поля

  1. Распакуйте архив
  2. Залейте файлы из архива по FTP
  3. Добавьте стили в вашу тему в файл CSS (например в /templates/modern/css/theme.css)
    1. #toc-container {
    2. position: fixed;
    3. left: 20px;
    4. top: 50%;
    5. transform: translateY(-50%);
    6. z-index: 9999;
    7. }
    8.  
    9. .toc-button {
    10. background: #0c5cd5;
    11. color: white;
    12. border: none;
    13. padding: 5px 10px;
    14. border-radius: 3px;
    15. cursor: pointer;
    16. font-size: 0.9rem;
    17. box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    18. transition: all 0.3s ease;
    19. white-space: nowrap;
    20. }
    21.  
    22. .toc-button:hover {
    23. background: #0056b3;
    24. transform: scale(1.05);
    25. box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    26. }
    27.  
    28. .toc-content {
    29. background: white;
    30. border: 1px solid #ddd;
    31. border-radius: 5px;
    32. box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    33. margin-top: 10px;
    34. max-height: 70vh;
    35. overflow-y: auto;
    36. min-width: 250px;
    37. display: none;
    38. }
    39.  
    40. .toc-wrapper {
    41. padding: 15px;
    42. }
    43.  
    44. .toc-header {
    45. font-weight: bold;
    46. margin-bottom: 10px;
    47. padding-bottom: 10px;
    48. border-bottom: 1px solid #eee;
    49. font-size: 1.1em;
    50. }
    51.  
    52. .toc-list {
    53. list-style: none;
    54. padding: 0;
    55. margin: 0;
    56. }
    57.  
    58. .toc-item {
    59. margin: 5px 0;
    60. padding: 0;
    61. }
    62.  
    63. .toc-item a {
    64. text-decoration: none;
    65. color: #333;
    66. display: block;
    67. padding: 8px 12px;
    68. border-radius: 3px;
    69. transition: all 0.2s ease;
    70. }
    71.  
    72. .toc-item a:hover {
    73. background: #f8f9fa;
    74. color: #007bff;
    75. }
    76.  
    77. .level-2 a { padding-left: 10px; }
    78. .level-3 a { padding-left: 25px; }
    79. .level-4 a { padding-left: 40px; }
    80.  
    81. @media (max-width: 768px) {
    82. #toc-container {
    83. left: 10px;
    84. top: 20px;
    85. transform: none;
    86. }
    87.  
    88. .toc-content {
    89. position: fixed;
    90. left: 10px;
    91. top: 70px;
    92. right: 10px;
    93. max-height: 50vh;
    94. max-width: calc(100% - 20px);
    95. }
    96. }

Для кого это поле?

  • Для авторов и редакторов, стремящихся улучшить читаемость длинных статей.
  • Для SEO-специалистов, желающих внедрить структурированную разметку и подготовить контент к работе с AI Overview.
  • Для владельцев информационных сайтов, блогов, справочников и других ресурсов с многосекционным контентом.

Поле полностью автономно, не требует внешних зависимостей и легко интегрируется в любую тему InstantCMS. Идеально подходит для тех, кто хочет улучшить UX, SEO и шансы на попадание в ИИ-выдачу «из коробки».

Скачать:
toc.zip 4 Кбскачан 19 раз
09:53
148
0
MrMax MrMax 1 месяц назад #
Эй, народ! Ток – супер, 2025 уже не в тени, но если без оглавления, как без GPS – потеряешь читателя, крикать!
0
Светлана Светлана 25 дней назад #
Очень полезное решение для улучшения читабельности и SEO, особенно в эпоху быстрого потребления контента. Благодарю за практический совет! как опытный пользователь
Оставаясь на сайте, вы соглашаетесь с Политикой в отношении cookie. Если не согласны, покиньте сайт.