Постоянные ссылки в WordPress: пошаговая настройка
Как за 15 минут перевести сайт с адресов вида ?p=123 на читаемые ЧПУ, не потеряв старые ссылки и не поймав ошибку 404 на всём сайте.

По умолчанию свежая установка WordPress отдаёт адреса вроде site.ru/?p=123. Читать их неудобно, а для поиска они бесполезны. После настройки постоянных ссылок адрес записи превратится в site.ru/kak-nastroit-ssylki/. На это уйдёт минут 15, и почти всё делается в админке. Инструкция актуальна для WordPress 6.x.
Что нужно проверить до начала
Прежде чем менять настройки, убедитесь, что у вас есть всё необходимое. Иначе рискуете узнать о проблеме, когда сайт уже отдаёт 404 на каждой странице.
- Доступ администратора к панели
/wp-admin/. - Тип веб-сервера. Если сайт на Apache — нужна поддержка модуля
mod_rewriteи права на запись в файл.htaccessв корне сайта. Если на Nginx —.htaccessне используется, правила придётся добавить в конфиг сервера (об этом ниже). - Резервная копия. Перед сменой структуры ссылок на живом сайте сделайте бэкап базы данных и файлов. Смена настроек безопасна, но откатываться проще с копией.
Как понять, какой у вас сервер: если в корне сайта есть файл .htaccess — почти наверняка Apache или связка Nginx + Apache. Если файла нет и хостинг называет себя «на Nginx» — правила придётся прописывать вручную.
Шаг 1. Откройте настройки постоянных ссылок
В админке зайдите в Настройки → Постоянные ссылки (в англоязычной версии — Settings → Permalinks). Откроется страница с несколькими вариантами структуры URL.
Проверка: вверху страницы вы увидите заголовок «Настройки постоянных ссылок» и список переключателей — «Простые», «День и название», «Месяц и название», «Цифры», «Название записи», «Произвольно».
Шаг 2. Выберите структуру
Для большинства сайтов подходит вариант «Название записи» — он даёт адрес site.ru/nazvanie-zapisi/. Это самый короткий читаемый вариант.
Если у вас новостной сайт с большим потоком материалов и одинаковыми заголовками — выберите структуру с датой, чтобы адреса не конфликтовали. Сравнение вариантов:
| Структура | Пример адреса | Когда подходит |
|---|---|---|
| Простые | site.ru/?p=123 | Никогда для публичного сайта — оставляют по умолчанию до настройки |
| Название записи | site.ru/nazvanie/ | Блог, корпоративный сайт, лендинги — базовый выбор |
| День и название | site.ru/2024/05/12/nazvanie/ | Новостные сайты, где важна дата в URL |
| Месяц и название | site.ru/2024/05/nazvanie/ | Блоги с архивом по месяцам |
| Произвольно | задаёте сами тегами | Нужна категория в адресе или своя схема |
Проверка: выбранный переключатель отмечен, а в поле «Произвольно» (если вы выбрали его) стоит корректная строка с тегами.
Что за теги в произвольной структуре
Если хотите категорию в адресе — site.ru/tech/nazvanie/ — выберите «Произвольно» и впишите:
/%category%/%postname%/
Доступные теги: %postname% — ярлык записи, %category% — категория, %year%, %monthnum%, %day% — дата, %post_id% — числовой ID. Полный список тегов приведён в документации WordPress; не используйте %postname% без даты или ID, если у вас бывают записи с одинаковыми заголовками.
Не ставьте %category% первым сегментом, если планируете часто менять категории записей: смена категории поменяет URL, и старые ссылки перестанут работать. Для стабильности выбирайте структуру, которая не зависит от редактируемых полей.
Шаг 3. Сохраните изменения
Нажмите кнопку «Сохранить изменения» внизу страницы. WordPress сразу применит новую структуру ко всем записям и попробует обновить файл .htaccess.
Проверка: страница перезагрузится, вверху появится сообщение «Настройки сохранены». Откройте любую запись в новой вкладке — адрес в строке браузера должен быть в новом формате, а страница открыться без ошибки.
Шаг 4. Если сервер на Apache и правила не записались
Иногда WordPress не может сам записать .htaccess — не хватает прав на файл. Тогда внизу страницы настроек появится блок с текстом правил и просьбой добавить их вручную. Стандартный набор для WordPress выглядит так:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Скопируйте этот блок в файл .htaccess в корне сайта (там, где лежит wp-config.php), сохраните и обновите любую страницу записи.
Шаг 5. Если сервер на Nginx
Nginx не читает .htaccess — правила задаются в конфигурации сайта, к которой доступ обычно есть только через панель хостинга или SSH. Базовое правило для обработки ЧПУ выглядит так:
location / {
try_files $uri $uri/ /index.php?$args;
}
После правки конфига перезагрузите Nginx (обычно nginx -s reload или через панель хостинга). Точный синтаксис и место вставки блока зависят от конфигурации вашего хостинга — если доступа к конфигу нет, откройте тикет в поддержку и попросите включить поддержку человекопонятных URL для WordPress.
Если не получилось
Самые частые проблемы после смены структуры ссылок:
- Главная открывается, а записи отдают «404 Not Found». Значит, правила перезаписи не применились. На Apache — проверьте, что
mod_rewriteвключён и.htaccessсодержит блок из шага 4. На Nginx — что в конфиге естьtry_files. Часто помогает просто зайти в Настройки → Постоянные ссылки и снова нажать «Сохранить изменения» — это заставляет WordPress перезаписать правила. - «Возможно, вы захотите отредактировать файл .htaccess вручную». Прав на запись файла нет. Выставьте временно права
644на.htaccess, сохраните настройки заново, затем верните права обратно. - Старые ссылки из индекса поисковика ведут в 404. Структура сменилась, а поисковик ещё помнит старые адреса. Настройте 301-редиректы со старых URL на новые — через плагин редиректов или правила на уровне сервера. Массовая смена ЧПУ на работающем сайте почти всегда требует карты редиректов, иначе потеряете позиции.
- Внутренние ссылки в тексте статей ведут на старые адреса. WordPress хранит ссылки в контенте как есть. Пройдитесь по базе поиском и заменой (аккуратно, с бэкапом) или через плагин массовой замены ссылок.
- Кириллица в адресе. Если ярлык записи на русском, URL превратится в длинную строку с процентами (
%D0%BA...). Для читаемых адресов задавайте ярлык латиницей в поле «Ярлык» при редактировании записи.
Что делать дальше
После настройки проверьте не отдельную запись, а страницы разных типов: запись, страницу, категорию, тег, архив по дате и результаты поиска. Каждая должна открываться без 404. Если планируете менять структуру на сайте с трафиком — сначала соберите список текущих URL (например, из карты сайта или логов), составьте карту 301-редиректов и только потом меняйте настройку. Инвалидация кеша и работа с редиректами — отдельная большая тема; здесь мы разобрали только базовую настройку ЧПУ.
Дефектный акт по фото: Осмотр по фотографиям: классификация дефектов, ссылки на нормы, требования к устранению. Готовый акт в Word.
Спросить за 80 ₽Источники: WordPress Documentation — Using Permalinks, WordPress Developer Resources — Nginx
Частые вопросы
У меня WordPress более старой версии, инструкция подойдёт?
Я сменил структуру ссылок, и весь сайт отдаёт 404. Что делать?
Можно ли менять постоянные ссылки на сайте, который уже в поиске?
Почему в адресе появляются символы вроде %D0%BA?
Нужно ли ставить плагин для настройки ЧПУ?
Что выбрать: «Название записи» или структуру с датой?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.