Как в WordPress ограничить количество символов в заголовках постов

В WordPress по умолчанию отсутствуют ограничения на длину заголовка H1 для постов и страниц. Это дает владельцам сайтов свободу в настройке, но также может породить несколько проблем.

Сегодня мы обсудим, как можно установить собственные ограничения на количество символов или слов в заголовках.

Ограничение длины заголовков может помочь улучшить читаемость и восприятие контента. Кроме того, это может положительно сказаться на SEO, так как более короткие и четкие заголовки обычно лучше воспринимаются как пользователями, так и поисковыми системами.

Существует несколько способов реализации ограничения. Один из самых простых — это использование пользовательского кода, добавляя его в файл functions.php вашей темы. Вот пример кода, который ограничивает длину заголовка до 60 символов:

function limit_title_length($title) {
if (mb_strlen($title) > 60) {
return mb_substr($title, 0, 60) . '...';
}
return $title;
}
add_filter('the_title', 'limit_title_length');

Этот код обрезает заголовок и добавляет многоточие, если он превышает 60 символов. Также можно добавить проверку, если заголовок нарушает правило, чтобы выводить сообщение об ошибке в админке при сохранении поста.

Еще одной хорошей практикой будет использование плагинов, таких как «Title Formatter» или «WP Better Post Title», которые позволяют легко настраивать ограничения без необходимости писать код. Эти инструменты могут предоставлять пользовательский интерфейс для настройки лимитов символов и другие функции.

Не забывайте тестировать изменения на своем сайте, чтобы убедиться, что они не влияют на пользовательский опыт и отображение вашего контента.

Недостатки нелимитированного заголовка

Неопределенная длина заголовков в WordPress имеет свои недостатки:

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

Поисковые системы советуют избегать длинных заголовков. В результатах поиска такие заголовки часто обрезаются, что может снижать CTR. Поэтому Google и Яндекс рекомендуют ограничивать длину заголовков H1 до 60-70 символов.

Ключевые слова, присутствующие в заголовках, играют важную роль в индексации и определении основного намерения страницы поисковыми системами. Избыточные слова и фразы в H1 могут размывать релевантность этих ключей, что негативно сказывается на SEO.

Еще один большой минус: в некоторых темах WordPress при использовании длинных заголовков может нарушаться верстка в карточках постов на главной странице, в категориях, блоках похожих материалов и виджетах с последними публикациями.

Поэтому, если на вашем сайте несколько сотрудников занимаются редактированием и публикацией контента, имеет смысл заранее установить лимит на длину заголовков. Это позволит контролировать ситуацию на стадии сохранения и публикации новых записей.

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

Рекомендуется также регулярно проводить анализ заголовков, чтобы определить, какие из них привлекают больше трафика и взаимодействия со стороны пользователей. Это поможет оптимизировать контент и улучшить его видимость в поисковых системах.

Кроме того, использование подзаголовков (H2, H3) для разделения длинных заголовков может помочь сделать текст более структурированным и удобным для восприятия. Это также будет положительно сказываться на SEO, так как позволяет поисковым системам лучше понять структуру страницы.

Как ограничить число символов в заголовках поста с помощью плагина

К сожалению, в WordPress нет встроенных средств для установки таких ограничений.

limit post titles

Однако есть стороннее решение — плагин Limit Post Titles. Хотя этот плагин не обновлялся более семи лет, он выполняет свои функции в классическом редакторе.

Обратите внимание, что в блочном редакторе Gutenberg ограничения не будут работать, и вы сможете опубликовать запись с очень длинным заголовком.

После установки и активации плагина перейдите в админку, выбрав Настройки -> Limit Post Titles.

настройки длины заголовка WordPress

На странице настроек нужно указать всего два параметра.

  • Character Limit — максимальное количество символов в заголовке;
  • Post Types — выбор типов записей, к которым будет применяться это ограничение.

Обычно достаточно отметить значение post (пост) и/или page (страница).

Чтобы изменения вступили в силу, не забудьте нажать кнопку «Сохранить изменения».

Теперь перейдите в админке в Записи -> Добавить новую и введите в заголовке больше 60 символов.

В области ввода заголовка будет отображаться счетчик символов, а кнопка «Опубликовать» станет неактивной.

попап limit post title

Когда вы попытаетесь сохранить запись с заголовком, превышающим допустимую длину, появится всплывающее окно с соответствующим уведомлением.

Таким образом, черновик сохранится, но его публикация окажется невозможной.

Помимо указанного плагина, существуют и другие альтернативные решения, которые могут помочь в этом вопросе. Например, вы можете использовать встроенные функции на уровне кода, добавив соответствующий фильтр в файл functions.php вашей темы. Это может быть полезно, если вы хотите иметь больше контроля над поведением заголовков и их ограничениям.

Вот пример кода, который можно использовать для ограничения заголовка на 60 символов:

function custom_title_length($title) {
$max_length = 60;
return (strlen($title) > $max_length) ? substr($title, 0, $max_length) . '...' : $title;
}
add_filter('pre_get_document_title', 'custom_title_length');

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

Ограничиваем длину заголовка записей с помощью php хука

Мы уже обсуждали, что такое хуки, и вы можете ознакомиться с этой информацией в предыдущей статье.

Разработанные нами хуки функционируют как при создании новой записи, так и при внесении изменений в уже существующую. Однако они работают только в Classic Editor, в то время как Гутенберг не поддерживает эту функциональность.

Ограничение по количеству символов

function limit_post_title() { if (mb_strlen($_POST['post_title']) > 60 ) wp_die( 'Вы превысили допустимую длину заголовка.' ); } add_action('publish_post', 'limit_post_title');

Вы можете задать собственные сообщения и лимиты для длины заголовка.

При применении данного хука кнопка «Опубликовать» продолжает быть активной, однако после нажатия на неё срабатывает ограничение на количество слов, и появляется пустое окно с соответствующим уведомлением.

Об ограничении по количеству слов

Метод ограничения заголовка постов по числу слов не является самым оптимальным, так как он не всегда эффективно решает проблему с «плывущим» дизайном вашего шаблона, поскольку слова могут состоять из разного количества букв. Тем не менее, может быть, что кому-то этот метод будет полезен.

function limit_word_title() { $post_title = explode(" ", $_POST['post_title']); if ( count($post_title) > 10 ) wp_die( 'Вы превысили максимально допустимое количество слов в заголовке.'); } add_action('publish_post', 'limit_word_title', 0);

Результат выполнения данного хука аналогичен предыдущему — появляется сообщение о превышении допустимой длины заголовка в отдельном пустом окне.

В каждую из этих функций можно добавить свои условия для задания ограничений на длину заголовка для конкретных страниц, записей (по ID) и других доступных таксономий.

* Обратите внимание, что стандартно максимальная длина заголовка в базе данных MySQL ограничена типом данных TEXT и составляет примерно 65 тысяч символов для текстов на латинице.

Оставьте комментарий