Как удалить автоматически создаваемые слэши в WordPress

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

Почему WordPress добавляет слэши в URL и когда это проблема

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

Однако бывают ситуации, когда слэши мешают:

  • Конфликты с серверной конфигурацией (например, Nginx, где правила перезаписи чувствительны к слэшам).
  • Некоторые REST API или AJAX-запросы не ожидают слэш в конце.
  • SEO-оптимизация под конкретные требования, когда слэши нежелательны.

Поэтому важно знать, как убрать эти слэши без нарушения работы сайта.

Удаление слэшей с помощью фильтров WordPress

Самый простой способ контролировать добавление слэшей — использовать фильтр user_trailingslashit. Ниже приведён пример функции wpconfig_remove_trailing_slash, которая отключает добавление слэшей на всех URL:

function wpconfig_remove_trailing_slash($string, $type) {
    return untrailingslashit($string);
}
add_filter('user_trailingslashit', 'wpconfig_remove_trailing_slash', 10, 2);

Эта функция вызывает встроенную функцию WordPress untrailingslashit(), которая удаляет слэш в конце строки. Подключение к фильтру гарантирует, что все URL, генерируемые WordPress, будут без завершающего слэша.

Однако будьте внимательны — этот метод может повлиять на работу некоторых плагинов, поэтому тестируйте сайт после внедрения.

Удаление слэшей только для REST API и AJAX-запросов

Иногда нужно убрать слэши только для определённых типов запросов, например, REST API или AJAX. В этом случае можно сделать проверку внутри функции:

function wpconfig_remove_slash_for_api($string, $type) {
    if (defined('REST_REQUEST') && REST_REQUEST) {
        return untrailingslashit($string);
    }
    if (defined('DOING_AJAX') && DOING_AJAX) {
        return untrailingslashit($string);
    }
    return $string;
}
add_filter('user_trailingslashit', 'wpconfig_remove_slash_for_api', 10, 2);

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

Использование плагинов для управления URL и слэшами

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

  • Clearfy Pro — мощный плагин для оптимизации WordPress, в том числе управления SEO-настройками, включая работу со слэшами.
  • WPRemark — плагин с расширенными возможностями управления URL и редиректами.

Эти плагины позволяют гибко настраивать поведение URL без риска сломать работу сайта.

Удаление слэшей через .htaccess и серверные правила

В дополнение к настройкам WordPress можно настроить сервер для удаления слэшей на уровне веб-сервера. Например, для Apache в файле .htaccess можно добавить правило:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

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

Однако такой подход требует аккуратности и понимания серверных настроек, чтобы не вызвать циклы редиректов или ошибки 404.

Проверка и тестирование после удаления слэшей

После внедрения любого из методов удаления слэшей обязательно проведите комплексное тестирование:

  • Проверьте основные страницы сайта, чтобы убедиться, что они работают без ошибок.
  • Проверьте работу REST API и AJAX-запросов, если меняли фильтры для них.
  • Используйте инструменты типа Google Search Console для анализа состояния индексации и отсутствия дублей.
  • Проверьте работу плагинов, особенно SEO и кеширующих.

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

Резюме и рекомендации

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

Если не хотите заниматься кодом, можно воспользоваться плагинами Clearfy Pro или WPRemark, которые помогут гибко управлять URL и SEO-настройками.

Как удалить записи по массиву ID в WordPress: практическое руководство
12.02.2026
Как отключить Gutenberg только для определённых типов записей в WordPress
06.12.2025
Как избежать проблем с перенаправлениями в WordPress: практические решения и примеры кода
10.12.2025
Как настроить ответ на AJAX-запросы в WordPress: практическое руководство с примерами кода
02.02.2026
Как отключить автообновление плагинов в WordPress с использованием кода
23.01.2026