Как безопасно сменить структуру постоянных ссылок WordPress на «Имя записи»
Зачем менять структуру URL
Структура URL влияет на SEO, удобство пользователей и счётчики переходов. Переключение на «Имя записи» делает адреса короче и читабельнее, но при неправильной переадресации вы потеряете трафик и получите 404 ошибки.
Важно: инструкция покрывает WordPress в корне сайта и предполагает, что сервер — Apache. Для WordPress в подкаталоге или на Nginx шаги отличаются.
Шаг 1: Измените настройки постоянных ссылок в панели WordPress
Откройте админку WordPress: Настройки → Постоянные ссылки. Выберите опцию «Имя записи» и сохраните изменения.

Выберите радиокнопку «Имя записи» и нажмите «Сохранить изменения». Проверьте несколько существующих страниц и записей — они должны открываться без ошибок.

Если при этом появляются 404 или циклы редиректов — не сохраняйте изменения ещё раз; верните резервную копию .htaccess и БД и разберитесь в конфликте (см. разделы ниже).
Шаг 2: Добавьте правила перенаправлений в .htaccess
Чтобы старые URL корректно перебрасывались на новые и не терялся SEO, добавьте 301-перенаправления в файл .htaccess в корне сайта. Рекомендуется вставлять новые правила выше стандартных правил WordPress (до блока “# BEGIN WordPress”). Обязательно сделайте резервную копию .htaccess перед изменением.
Важно: если вы используете www в домене, замените в примерах http://example.com на http://www.example.com.
Удалить /год/месяц/день из URL
Старый URL:
http://example.com/2014/08/21/post-nameПравило:
# Remove year and day from permalink structure
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://example.com/$4Объяснение: регулярное выражение захватывает год, месяц, день и остаток пути ($4) и перенаправляет на короткий вариант.
Удалить /год/месяц из URL
Старый URL:
http://example.com/2014/08/post-nameПравило:
# Remove year and month from permalink structure
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)$ http://example.com/$3Удалить префикс /category/ из URL
Старый URL:
http://example.com/category/post-nameПравило (корректное):
# Remove category from permalink structure
RedirectMatch 301 ^/category/(.*)$ http://example.com/$1Пояснение: многие темы и плагины используют префикс /category/. Это правило уберёт префикс и оставит имя записи.
Перенаправить /archive/ на постоянную ссылку по ID
Старый URL:
http://example.com/archive/123Правило:
# Redirect archive to post name structure
RedirectMatch 301 ^/archive/(\d+)$ http://example.com/?p=$1Пояснение: это полезно, если ранее использовались фрагментные ссылки по ID; перенаправление отдаёт запрос на обработку WordPress по параметру p.
Nginx: эквивалентные примеры
Если сайт работает на Nginx (нет .htaccess), используйте директивы в конфигурации сервера (пример в блок server):
# Remove year/month/day
rewrite ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ /$4 permanent;
# Remove year/month
rewrite ^/([0-9]{4})/([0-9]{2})/(.*)$ /$3 permanent;
# Remove category
rewrite ^/category/(.*)$ /$1 permanent;
# Archive by ID
rewrite ^/archive/(\d+)$ /?p=$1 permanent;После правок перезапустите nginx: sudo systemctl reload nginx.
Альтернативные подходы
- Плагин Redirection: удобный UI, лог редиректов и условные правила; полезно при множестве ручных правил.
- Yoast SEO / RankMath: предлагают управление каноническими URL и могут помочь с редиректами (часто в премиум-версии).
- Программный редирект в functions.php: использовать wp_redirect() для более тонкой логики (подходит разработчикам).
- Массовая правка в базе и регенерация ссылок — рискованно, требует резервной копии и навыков SQL.
Выбор подхода зависит от числа постов, навыков и доступа к серверу.
Когда перенаправления могут НЕ сработать
- WordPress в подкаталоге: правила в корневом .htaccess не применятся.
- Nginx: .htaccess игнорируется — используйте блоки конфигурации Nginx.
- Конфликт плагинов кеширования или плагинов редиректов: они могут переопределять ваши правила.
- Пользовательские типы записей и таксономии: структура URL может отличаться и требовать индивидуальных правил.
- CDN или прокси-серверы (Cloudflare): кеширование может показывать старые ответы.
Чек-лист перед и после смены (ролевая разбивка)
Разработчик / админ:
- Резервная копия файлов и БД.
- Скопировать текущий .htaccess в безопасное место.
- Вставить новые RedirectMatch выше WordPress-блока.
- Если Nginx — внести изменения в конфиг и перезапустить.
SEO-специалист:
- Сформировать карту соответствия старых URL → новых (пример: CSV).
- Проверить, что важные страницы возвращают 301, а не 302.
- Обновить sitemap.xml и отправить в Google Search Console.
Контент-менеджер:
- Проверить внутренние ссылки в тексте и меню.
- Обновить ссылки в навигации и в панелях виджетов.
Критерии приёмки
- Любой старый URL из контрольного набора должен возвращать 301 и вести на корректную страницу (curl -I http://example.com/2014/08/21/post-name).
- На целевой странице статус 200 и canonical указывает на новый чистый URL.
- В течение 2–7 дней не растёт число 404 в Google Search Console.
- Логи сервера не содержат циклических редиректов для изменённых адресов.
Тесты и приёмо-сдаточные проверки
- Выполните curl -I для нескольких старых URL, ожидайте строку “HTTP/1.1 301 Moved Permanently” и Location: с новым URL.
- Откройте старые URL в браузере (инкогнито), убедитесь, что происходит перенаправление и контент отображается корректно.
- Проверка Canonical: в HTML целевой страницы meta rel=”canonical” указывает на короткий URL.
- Мониторинг: включите логирование 404 и проверьте через 1 и 7 дней.
Риски и способы их уменьшить
- Риск: потеря трафика из-за неправильных редиректов. Смягчение: тестируйте выборочно, держите бэкапы.
- Риск: циклические редиректы. Смягчение: проверяйте Location заголовки и серверные логи.
- Риск: кеширование старых ответов. Смягчение: очистите кеш на CDN/сервере и у плагинов.
Короткая шпаргалка по регулярным выражениям
- ^ — начало пути.
- $ — конец строки.
- (\d+) — группа цифр (одна или более).
- (.*) — любая последовательность символов.
- RedirectMatch 301 pattern target — директива Apache для 301-редиректов по regex.
Резюме
Смена структуры постоянных ссылок — частая операция в зрелом проекте, но она требует плана: резервные копии, корректные 301-перенаправления и тщательное тестирование. Если вы не уверены — используйте плагин для управления редиректами или обратитесь к разработчику.
Важно: перед массовыми изменениями создайте карту URL и протестируйте на небольшой выборке.
Если возникнут вопросы по конкретным правилам или у вас многосайтовая/подкаталоговая установка — опишите конфигурацию, и я помогу подобрать точные правила.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента