Метатеги (англ. meta tags) используются поисковиками, при ранжировании сайтов в поиске, а также служат для представления структурированных данных страницы.
Тег Title — это заголовок html документа. Отображается как заголовок страницы в браузере, а также используется в выдаче поисковых систем.
Тег Description — это краткое описание html документа. Description отображается под мета-тегом title в выдаче, но на странице сайта он не виден посетителям.
Мета-теги Title и Description для любых страниц
Содержание
В админ панели на странице редактирования всех материалов и разделов должна быть возможность редактирования данных полей.
Оптимальная длинна title 70, description 140 символов с пробелами (c 12.2017 года description для google увеличен до 230 символов). В админ панели необходимо настроить счетчик символов в данных полях, при написании title или description большего объёма, необходимо сигнализировать об этом. Материал с более длинными meta все равно можно сохранить.
Условия автогенерации meta
Формирование Title
- Если seo_title указан, используем его, без прогонки через шаблонизатор (дальнейшие шаги не выполняем).
- Если seo_title не указан, используем модуль автогенерации meta.
{post_title} — {category_title} - Если существует шаблон для данной локали и данного раздела, используем его для окончательной генерации Title. В шаблоне должна быть возможность использования переменных {section}
{post_title} — Заголовок (h1)
{category_title} — Заголовок (h1) категории в которой находится материал
{date} — Выводит дату публикации в формате 10.02.2016
{year} – Выводит текущий год
{author} — Выводит ФИО автора данного материала
Формирование Description
- Если SEO Description заполнен используем его (дальнейшие шаги не выполняем).
- Если для данной локали и данного раздела есть шаблон meta_descriptions, используем его. В шаблоне должна быть возможность использования переменных {section} {post_title} — Заголовок (h1){category_title} — Заголовок (h1) категории в которой находится материал{date} — Выводит дату публикации в формате 10.02.2016{year} – Выводит текущий год{author} — Выводит ФИО автора данного материала
- Если шаблона нет, идем дальше. Если есть preview, используем его для генерации description. Если нет — используем content.
- Очищаем текст от html-тегов;
- Обрезаем строку длиной 140 символов.
- Если последний символ один из . ? ! ‘ » ) — оставляем без изменений.
- Если последний символ один из , ; : — удаляем его.
- В ином случае ищем первый пробел с конца и обрезаем по нему, ничего не добавляем.
- Двойные кавычки заменяем на одинарные