Илья Чигарев

Сделаю для вас сайт, который станет источником клиентов, дохода, продвижения

Как убрать висячие предлоги на сайте без плагинов (решение для WordPress и Elementor)

Как убрать висячие предлоги на сайте Разработка сайта

В профессиональной веб-разработке и верстке сайтов грамотная типографика играет ключевую роль. Одна из самых частых проблем, портящих внешний вид текстовых блоков — это «висячие» предлоги и союзы. Когда короткие слова (в, на, под, из, к и т.д.) остаются на концах строк и отрываются от связанных с ними слов, текст становится визуально «рваным» и хуже читается.

Браузер переносит текст в местах обычных пробелов. Чтобы заставить предлог «прилипнуть» к следующему слову, необходимо использовать неразрывный пробел (HTML-сущность  ). На многостраничных проектах делать это вручную нецелесообразно, а установка тяжелых плагинов-типографов (например, WP Typograph) может создавать лишнюю нагрузку на сервер и замедлять загрузку страницы, что негативно сказывается на SEO-показателях и Core Web Vitals.

Оптимальное решение для современных сайтов на WordPress — использование легкого кастомного JavaScript-кода, который автоматически отформатирует текст на стороне клиента.

Как работает скрипт автоматической замены

Представленный ниже код запускается сразу после полной загрузки DOM-дерева страницы. Он сканирует заданные текстовые элементы (заголовки всех уровней, абзацы, списки), находит отдельно стоящие кириллические предлоги и заменяет следующий за ними обычный пробел на неразрывный. Скрипт безопасен для разметки, так как не нарушает структуру HTML-тегов.

JS-код для исправления висячих предлогов

Скопируйте следующий фрагмент кода:

HTML

<script>
document.addEventListener("DOMContentLoaded", function() {
    // 1. Выбираем все текстовые теги, включая специфические классы Elementor для заголовков
    var elements = document.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, .elementor-heading-title");
    
    // 2. Регулярное выражение: ищет начало строки, пробел или закрывающий тег перед предлогом
    var shortWordsRegex = /(^|\s|>)(в|во|с|со|к|ко|о|об|обо|на|над|за|по|из|от|до|для|без|у|при|под|про|через|и|а|но|да|или)\s+/gi;
    
    // 3. Запускаем цикл замены
    elements.forEach(function(el) {
        if (el.innerHTML) {
            // $1 — сохраняет предшествующий символ (пробел или тег)
            // $2 — сохраняет сам предлог, после чего добавляется неразрывный пробел
            el.innerHTML = el.innerHTML.replace(shortWordsRegex, '$1$2&nbsp;');
        }
    });
});
</script>

Инструкция по внедрению кода в Elementor

Чтобы скрипт работал безошибочно и форматировал уже отрендеренный текст, его необходимо разместить в самом конце HTML-документа. В экосистеме Elementor это делается встроенными инструментами без редактирования файлов темы:

  1. Авторизуйтесь в панели администратора WordPress.
  2. В боковом меню перейдите в Elementor ➔ Пользовательский код (Custom Code).
  3. Нажмите кнопку «Добавить новый».
  4. В поле расположения (Location) обязательно выберите <body> - Конец (End). Это критически важно для производительности.
  5. Вставьте скопированный код в текстовое поле.
  6. Нажмите «Опубликовать» и в открывшемся окне условий (Conditions) выберите «Весь сайт» (Entire Site).
Добавление кода в Elementor

Важное примечание для разработчиков: Скрипт не отрабатывает внутри самого визуального редактора Elementor. Это сделано намеренно, чтобы не засорять поля ввода спецсимволами при редактировании макетов. Типографика преобразится сразу после сохранения страницы и её просмотра на фронтенде (со стороны пользователя).

ЕСЛИ ВАМ НУЖЕН САЙТ, ТО...

Я могу его сделать для вас. Меня зовут Илья - являюсь автором блога, занимаюсь разработкой сайтов на Wordpress более 10-ти лет. Специализируюсь на форматах: блог, лендинг, сайт-визитка, корпоративный сайт.

В портфолио найдете мои работы, а детали по разработке читайте по ссылке.

Добавляйтесь в мой телеграм. Там больше советов про сайты, заработок, фриланс. И можем лично пообщаться.

Заказать сайт
Поделитесь в соцсетях? Благодарю ✌
Илья Чигарев

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

Добавить комментарий

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности сайта

Содержание

Новый курс по созданию лендинга в Elementor

Уже уходите?

Чтобы не терять связь, подпишитесь на мой Телеграм. Там делюсь секретами, лайфхаками и сервисами для сайта и заработка в интернете.