Если вам необходимо настроить 301 редирект со всех ненужных страниц на главную в WordPress, это можно сделать разными способами:
### Использование плагинов:
Один из самых простых способов - использовать плагины для редиректов, такие как "Redirection" или "Simple 301 Redirects". Вот как это делается с плагином "Redirection":
1. Установите и активируйте плагин.
2. Перейдите в настройки плагина (Tools → Redirection).
3. Создайте новое правило редиректа:
a. В поле "Source URL" введите шаблон URL, который хотите редиректить (например, `/old-page/`).
b. В поле "Target URL" введите URL главной страницы (обычно `/`).
c. Убедитесь, что выбран статус 301.
d. Сохраните изменения.
### Редактирование файла .htaccess:
Если вам нужно сделать редирект на уровне сервера, и у вас есть доступ к редактированию файла `.htaccess`, который используется на большинстве серверов с Apache, то добавьте следующие строки:
```apache
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-content
RewriteCond %{REQUEST_URI} !^/wp-includes
RewriteRule ^.*$ / [L,R=301]
```
В этом примере исключаются URL, связанные с панелью управления и контентом WordPress, чтобы избежать проблем с доступностью сайта.
### Использование функций PHP:
Можно также добавить редирект с помощью PHP, добавив код к теме в файл `functions.php`:
```php
function wp_custom_redirects() {
if (!is_front_page() && !is_admin()) {
wp_redirect(home_url(), 301);
exit;
}
}
add_action('template_redirect', 'wp_custom_redirects');
```
Однако такой способ стоит использовать только если другие способы неприменимы, так как изменения в `functions.php` темы могут быть затерты при её обновлении. В случае дочерней темы (child theme), этот способ менее рискованный.
Обратите внимание, что категоричное использование редиректов на главную страницу может быть не лучшей практикой с точки зрения пользовательского опыта и SEO, так как это может считаться спамом поисковиками. Редиректы следует использовать обдуманно и целенаправленно для определенных URL, которые изменили структуру или содержимое.