Как изменить длину URL в WordPress через функцию wpcontent_custom_url_length

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

Почему важно контролировать длину URL в WordPress

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

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

Настройка длины URL с помощью функции wpcontent_custom_url_length

Для изменения длины URL можно использовать фильтр wp_unique_post_slug, который позволяет перехватывать создание слага (slug) для поста и модифицировать его. Ниже пример функции, которая сокращает слаг до заданной длины (например, 40 символов):

function wpcontent_custom_url_length( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
    $max_length = 40; // Максимальная длина URL
    if ( strlen( $slug ) > $max_length ) {
        $slug = substr( $slug, 0, $max_length );
        // Удаляем завершающие дефисы
        $slug = rtrim( $slug, '-' );
    }
    return $slug;
}
add_filter( 'wp_unique_post_slug', 'wpcontent_custom_url_length', 10, 6 );

Этот код необходимо добавить в файл functions.php вашей темы или в собственный плагин. Он будет автоматически ограничивать длину URL для новых и обновляемых записей.

Обработка конфликтов с одинаковыми URL

WordPress автоматически добавляет суффиксы (-2, -3 и т.д.) если слаг уже существует. Наша функция сохраняет эту логику, так как мы не изменяем уникальность слага, а лишь обрезаем его длину.

Примеры плагинов для управления URL и слагами

Если вы предпочитаете готовые решения, обратите внимание на такие плагины:

  • Permalink Manager Lite — позволяет редактировать URL для записей и таксономий вручную и массово, поддерживает автоматическое сокращение слагов.
  • Custom Permalinks — даёт полный контроль над URL-адресами, включая изменение длины и структуры.
  • Clearfy Pro от WPSHOP — содержит инструменты оптимизации, включая управление URL, удаление лишних параметров и ускорение загрузки.

Все эти плагины облегчают работу с URL и подходят для сайтов с большими объемами контента.

Как проверить и протестировать изменения длины URL

После внедрения функции или установки плагина обязательно протестируйте работу сайта:

  1. Создайте новую запись с длинным названием — проверьте, что URL сгенерирован с ограничением по длине.
  2. Проверьте, что старые URL корректно работают или настроены редиректы (если изменился слаг).
  3. Проверьте SEO-аспекты: используйте инструменты Google Search Console и SEO-плагины (например, Yoast SEO) для анализа.

Также советуем создавать резервные копии перед внесением подобных изменений.

Дополнительный пример: сокращение URL при импорте контента

Если вы импортируете записи из внешних источников, можно использовать хук wp_insert_post_data, чтобы автоматически обрезать слаг перед сохранением:

function wpcontent_trim_slug_on_import( $data, $postarr ) {
    if ( isset( $data['post_name'] ) ) {
        $max_length = 40;
        if ( strlen( $data['post_name'] ) > $max_length ) {
            $data['post_name'] = substr( $data['post_name'], 0, $max_length );
            $data['post_name'] = rtrim( $data['post_name'], '-' );
        }
    }
    return $data;
}
add_filter( 'wp_insert_post_data', 'wpcontent_trim_slug_on_import', 10, 2 );

Это поможет автоматизировать процесс и избежать длинных URL при массовом импорте.

Выводы и рекомендации по оптимизации URL

Изменение длины URL — простая, но эффективная мера для улучшения удобства и SEO вашего сайта на WordPress. Используйте функцию wpcontent_custom_url_length для программного контроля или выбирайте проверенные плагины из каталога WordPress.

Не забывайте проверять работу сайта после изменений и используйте инструменты аналитики для контроля индексации.

Как удалить наследуемые виджеты в WordPress
26.03.2026
Как автоматически удалить посты из категории в WordPress по расписанию
26.03.2026
Решение проблемы с неработающим фильтром товаров WooCommerce по атрибутам
05.05.2026
Как добавить автоматические оглавления в блоках Gutenberg WordPress
15.01.2026
Как удалить неиспользуемые теги в WordPress без перегрузки базы данных
16.12.2025