При работе с 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
После внедрения функции или установки плагина обязательно протестируйте работу сайта:
- Создайте новую запись с длинным названием — проверьте, что URL сгенерирован с ограничением по длине.
- Проверьте, что старые URL корректно работают или настроены редиректы (если изменился слаг).
- Проверьте 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.
Не забывайте проверять работу сайта после изменений и используйте инструменты аналитики для контроля индексации.