
Редиректы в WordPress не имеют единого места хранения: они могут задаваться через конфигурацию сервера, плагины или напрямую в базе данных. На практике разработчик или администратор сталкивается с необходимостью понять, где именно прописаны правила, чтобы корректно управлять ими или устранить конфликт.
Чаще всего правила перенаправлений фиксируются в файле .htaccess, если сайт работает на Apache. Здесь сохраняются 301 и 302 редиректы, созданные вручную или с помощью SEO-плагинов. На серверах Nginx такие правила прописываются в конфигурационных файлах виртуального хоста, и их невозможно найти в админке WordPress.
Популярные плагины, например Redirection или SEO-пакеты, записывают данные о редиректах в таблицы базы данных wp_options или создают собственные таблицы. Это позволяет управлять перенаправлениями через интерфейс WordPress, но требует понимания, что при деактивации плагина записи могут остаться в БД.
Кроме того, редиректы могут быть реализованы в самих шаблонах и функциях через файл functions.php, где применяются хуки template_redirect или wp_redirect(). Такой подход часто используется для индивидуальной логики перенаправления и требует внимательной документации, чтобы в будущем не потерять контроль над правилами.
Чтобы системно управлять редиректами, важно учитывать все возможные источники: конфигурационные файлы сервера, таблицы базы данных, плагины и пользовательский код. Только проверка этих мест в комплексе позволяет точно определить, где сохраняются и выполняются правила перенаправления на конкретном сайте.
Редиректы в файле .htaccess и их хранение

Файл .htaccess расположен в корне установки WordPress и обрабатывается веб-сервером Apache до загрузки движка. Все правила перенаправления, добавленные вручную или через плагины, сохраняются непосредственно в этом файле. Изменения вступают в силу мгновенно после сохранения, без кэширования в базе данных.
Редиректы прописываются с помощью директив Redirect, RedirectMatch или правил RewriteRule. Каждая строка соответствует отдельному правилу и хранится в текстовом виде. Для корректной работы необходимо располагать их выше стандартных блоков WordPress # BEGIN WordPress и # END WordPress.
| Директива | Пример | Назначение |
|---|---|---|
Redirect 301 |
Redirect 301 /old-page /new-page |
Постоянное перенаправление одной страницы |
RedirectMatch 302 |
RedirectMatch 302 ^/temp/(.*)$ /archive/$1 |
Временный редирект с использованием регулярных выражений |
RewriteRule |
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L] |
Сложные правила переноса разделов |
Хранение редиректов в .htaccess удобно при небольшом числе правил и прямом доступе к серверу. Для массивных конфигураций рекомендуется использовать отдельные файлы правил или плагины, так как чрезмерное количество строк в .htaccess замедляет обработку запросов.
Использование wp_redirect и запись в коде темы
Функция wp_redirect() в WordPress применяется для перенаправления пользователя на другой URL. Она должна вызываться до отправки любого HTML-контента, иначе возникнет ошибка заголовков. Рекомендуется использовать её вместе с функцией exit; для немедленного завершения выполнения скрипта.
Пример кода для перенаправления в файле functions.php темы:
add_action( 'template_redirect', 'custom_redirect_example' );
function custom_redirect_example() {
if ( is_page( 'old-page' ) ) {
wp_redirect( home_url( '/new-page/' ), 301 );
exit;
}
}
Редирект через functions.php удобен для единичных или временных правил, когда нет необходимости подключать плагины. Важно использовать хук template_redirect, так как он выполняется после загрузки ядра, но до генерации шаблона.
При создании правил редиректа указывайте корректный HTTP-код: 301 для постоянного переноса и 302 для временного. Это влияет на индексацию в поисковых системах и корректное восприятие URL.
Хранение логики редиректов в коде темы оправдано, если структура сайта меняется редко. Для большого количества правил лучше использовать специализированные плагины или серверные конфигурации (например, .htaccess).
Хранение редиректов в базе данных через плагины

Многие плагины для редиректов, такие как Redirection или Yoast SEO Premium, используют таблицы MySQL для фиксации правил перенаправлений. Чаще всего создаётся отдельная таблица, например wp_redirection_items, где хранятся исходные URL, целевые адреса, тип редиректа (301, 302) и дополнительные параметры.
Такое хранение даёт преимущества: можно быстро фильтровать и редактировать записи через SQL-запросы, экспортировать правила в CSV, а также отслеживать статистику переходов. В отличие от редиректов, прописанных в .htaccess, изменения не требуют доступа к файловой системе и применяются через административную панель.
При работе с большими сайтами важно контролировать размер таблицы: тысячи записей без индексации по колонке source_url могут замедлить выборку. Рекомендуется регулярно очищать неиспользуемые правила и включать индексы для часто запрашиваемых столбцов.
Для резервного копирования редиректов следует учитывать, что простое копирование файлов сайта не сохранит их – нужно экспортировать таблицы БД или использовать встроенные механизмы плагина для бэкапа и миграции.
Редиректы в таблице wp_options и их поиск
Некоторые плагины для управления редиректами используют таблицу wp_options вместо собственных таблиц. В таких случаях правила хранятся в виде сериализованных массивов или JSON-структур в строках с определёнными option_name.
Наиболее часто встречающиеся варианты:
redirection_redirects– используется плагином Redirection;301_redirectsилиeps_redirects– плагины простых редиректов;_transient_*– временные данные, где могут встречаться кэшированные правила.
Для поиска редиректов удобно применять SQL-запросы с фильтрацией по ключевым словам:
SELECT option_id, option_name
FROM wp_options
WHERE option_name LIKE '%redirect%';
Если значение хранится сериализованным, его нужно декодировать через php unserialize() или с помощью встроенных функций PHPMyAdmin. Для JSON можно использовать JSON_PRETTY_PRINT или сторонние инструменты форматирования.
Рекомендации при работе:
- Искать сначала по маске
%redirect%, затем проверять содержимое значений; - Не изменять данные напрямую без резервной копии базы;
- Для массового анализа использовать WP-CLI команду
wp option get <option_name>.
Таким образом, даже без собственного интерфейса плагина можно выявить и при необходимости отредактировать правила редиректов, сохранённые в wp_options.
Сохранение правил редиректа в пользовательских таблицах
Создание отдельной таблицы в базе данных позволяет хранить редиректы независимо от системных файлов .htaccess или опций WordPress. Это удобно при большом количестве правил, когда стандартные механизмы начинают замедлять работу сайта.
Таблица обычно включает поля: id (PRIMARY KEY), source_url (исходный адрес), target_url (целевой адрес), status_code (например, 301 или 302), hits (счетчик переходов), date_created. Дополнительно можно добавить индекс по полю source_url для ускорения поиска.
Создание таблицы выполняется через функцию dbDelta() в файле плагина. Пример SQL-запроса: CREATE TABLE wp_redirects (id bigint(20) unsigned NOT NULL auto_increment, source_url varchar(255) NOT NULL, target_url varchar(255) NOT NULL, status_code smallint(3) NOT NULL DEFAULT 301, hits bigint(20) unsigned NOT NULL DEFAULT 0, date_created datetime NOT NULL, PRIMARY KEY (id), KEY source_url (source_url)).
Для выборки правила достаточно использовать $wpdb->get_row(), передавая запрошенный URL. При этом важно обеспечить очистку входных данных через prepare(), чтобы исключить SQL-инъекции.
Такой подход позволяет централизованно управлять редиректами, вести аналитику по переходам и экспортировать правила без риска повредить базовые файлы конфигурации.
Редиректы в плагине Redirection и путь к данным

Плагин Redirection сохраняет все правила перенаправлений в базу данных WordPress. Основная таблица, где хранятся редиректы, – wp_redirection_items. Каждая запись включает поля url (исходный путь), match_url (шаблон соответствия), action_code (HTTP-статус редиректа), target_url (цель редиректа), group_id и last_count для отслеживания использования.
Группы редиректов хранятся в таблице wp_redirection_groups, где задаются названия и настройки фильтрации. Для корректного экспорта или резервного копирования редиректов необходимо учитывать обе таблицы, так как связь между редиректами и группами осуществляется через group_id.
Все изменения редиректов выполняются через интерфейс плагина или программно с помощью функций API Redirection, которые обновляют записи в wp_redirection_items. Прямое редактирование таблицы без синхронизации с кэшем плагина может привести к некорректной работе перенаправлений.
Для поиска конкретного редиректа в базе данных используйте SQL-запрос, например: SELECT * FROM wp_redirection_items WHERE url = '/старый-путь/';. Для массового импорта можно применять CSV-файлы через встроенный инструмент плагина, что гарантирует сохранение всех зависимостей и статистики.
Файловая структура плагина не хранит редиректы в отдельных файлах: все данные централизованы в базе данных. Кэш плагина находится в wp-content/uploads/redirection, но это временные файлы для ускорения обработки, а не основной источник информации.
Где находятся записи редиректов в плагине Yoast SEO

Все редиректы, созданные через Yoast SEO, сохраняются в базе данных WordPress в таблице wp_redirection_items. Каждая запись содержит исходный URL, целевой URL, тип редиректа (301, 302, 307 и т.д.), дату создания и статус активации. Таблица связана с wp_redirection_groups, где хранятся группы редиректов для удобной организации.
Для управления редиректами используйте административный интерфейс Yoast SEO: в меню SEO → Редиректы отображаются все созданные перенаправления с возможностью фильтрации по типу, статусу и группе. Любое редирект можно включить, отключить или удалить, изменения сразу отражаются в базе данных.
Yoast SEO также поддерживает импорт и экспорт редиректов через CSV-файлы. Для импорта файлы должны содержать колонки: source_url, target_url, type и group. Экспорт можно использовать для резервного копирования или переноса редиректов между сайтами.
Для прямой работы с записями через базу данных рекомендуется использовать инструменты вроде phpMyAdmin. Следует проверять соответствие source_url и target_url, избегать дублирующих правил, чтобы исключить циклы редиректов. Yoast SEO автоматически предотвращает создание конфликтующих редиректов через интерфейс, но при прямой правке базы данных эту проверку нужно выполнять вручную.
При анализе производительности сайта учитывайте, что большое количество активных редиректов может замедлять загрузку страниц. Yoast SEO хранит редиректы оптимизировано, но регулярная очистка неиспользуемых правил повышает эффективность.
Резервное копирование и восстановление сохранённых редиректов
В WordPress редиректы могут храниться в нескольких местах: в базе данных, в файлах конфигурации (.htaccess) и через плагины, такие как Redirection или Yoast SEO. Для надежного резервного копирования необходимо учитывать все возможные источники.
1. База данных
- Редиректы плагина Redirection обычно сохраняются в таблицах
wp_redirection_itemsиwp_redirection_groups. - Yoast SEO хранит перенаправления в метаданных постов и таблице
wp_postmetaс ключом_yoast_wpseo_redirect. - Резервное копирование базы данных выполняется через phpMyAdmin, WP-CLI или плагины типа UpdraftPlus, обеспечивая экспорт нужных таблиц в SQL.
2. Файлы конфигурации
- Редиректы через .htaccess находятся в корне сайта и могут быть экспортированы вручную или через FTP.
- Для Nginx редиректы прописаны в конфигурационных файлах сервера, которые также требуют резервного копирования.
3. Плагины для экспорта и импорта редиректов
- Redirection позволяет экспортировать редиректы в CSV или JSON и затем импортировать на другом сайте.
- Yoast SEO Premium предлагает встроенный экспорт/импорт перенаправлений.
4. Восстановление
- Импорт SQL-файла таблиц редиректов через phpMyAdmin или WP-CLI.
- Восстановление .htaccess или конфигурационных файлов Nginx с сохранённой копии.
- Импорт CSV/JSON через интерфейс плагинов для автоматического восстановления настроек.
- После восстановления проверка работоспособности всех редиректов с помощью инструментов типа Screaming Frog или онлайн-тестеров.
Регулярное резервное копирование редиректов позволяет минимизировать риск потери SEO-трафика и ошибок 404 при переносе сайта или обновлении плагинов.
Вопрос-ответ:
Где в базе данных WordPress хранятся редиректы?
Редиректы в WordPress могут храниться в разных местах в зависимости от способа их создания. Если используется плагин, например, Redirection, то записи о редиректах сохраняются в отдельной таблице базы данных, обычно с названием wp_redirection_items. При ручном добавлении через файл .htaccess редиректы сохраняются прямо в этом файле на сервере. Таким образом, способ хранения зависит от выбранного метода управления перенаправлениями.
Можно ли просмотреть все редиректы через админку WordPress?
Если редиректы добавлены с помощью плагина, большинство таких инструментов предоставляют интерфейс в панели администратора, где можно увидеть список всех перенаправлений, их типы (301, 302), исходные и целевые URL. При этом редиректы, прописанные вручную в файле .htaccess, через админку не отображаются, их нужно открывать и редактировать напрямую на сервере.
Что происходит с редиректами при смене темы или обновлении WordPress?
Редиректы, созданные через плагины, обычно сохраняются в базе данных и не зависят от смены темы, поэтому они продолжают работать после обновления или смены оформления сайта. Редиректы, прописанные вручную в .htaccess, тоже сохраняются, если обновление WordPress не затрагивает этот файл. При использовании некоторых плагинов для кэширования или оптимизации может потребоваться проверка, что перенаправления работают корректно после обновлений.
Можно ли перенести редиректы на другой сайт WordPress?
Да, перенести их можно. Если редиректы созданы с помощью плагина, обычно существует возможность экспорта таблицы с правилами и последующего импорта на новом сайте. Для ручных редиректов из .htaccess достаточно скопировать соответствующие строки на новый сервер. Важно убедиться, что структура URL на новом сайте совпадает, иначе часть правил может перестать работать.
Какие типы редиректов хранятся в WordPress?
В WordPress можно использовать разные типы редиректов, чаще всего 301 (постоянный) и 302 (временный). Эти типы могут храниться в базе данных плагина или в .htaccess на сервере. Плагин обычно позволяет дополнительно создавать условные редиректы, например, для конкретных категорий, страниц с определенными параметрами или по рефереру. Каждый тип редиректа выполняет определённую задачу для SEO и управления трафиком.
