301 редирект всех несуществующих страниц на главную в WordPress

Опубликовано: 01.11.2017

Вам необходимо перенаправить все несуществующие страницы вашего сайта на WordPress на его главную страницу? Сделать это не сложно, но перед решением дам некоторые пояснения.

Для всех несуществующих страниц сайта корректным поведением сервера должна быть выдача заголовка 404 Not found («Не найдено»). Это дает понять поисковикам, что страница не найдена. В особых случаях вы можете настроить для страниц, которые существовали на сервере, но были удалены, ответ сервера 410 Gone («Удалено»). Этот заголовок предназначен для того, чтоб специально указать поисковикам, что такая страница существовала, но была удалена.


Оптимизация несуществующей страницы с ошибкой 404

Последнее, правда, не обязательно, так как поисковые системы обрабатывают оба эти заголовки одинаково — минимум после 2 заходов и получений ответов 404 (410) они предпринимают меры — удаление из индекса или из выдачи топ-100.

Статья в тему: Сео-хак #1 — анализ обратных ссылок на несуществующие страницы сайта.

Но иногда бывают ситуации, когда необходимо настроить  для всех несуществующих страниц сайта перенаправление на главную страницу вашего сайта. Это может быть из-за покупки домена, под которым в индексе лежит большое количество страниц, которые имеют некоторый ссылочный вес или позитивную историю. А вы структуру старого сайта не воссоздаете, а делаете новый сайт с новыми адресами. В таком случае, чтоб не расходовать позитивный эффект купленного домена и его большого количества страниц впустую, оптимальнее перевести на 2-4 месяца все старые страницы на главную.

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

В популярной CMS WordPress сделать это довольно просто.

При обращении к несуществующей странице движок ищет в вашем шаблоне файл 404.php и отображает его содержимое (если его нет, будет отрабатывать внутренняя движковая функция). Для правильного редиректа вам нужно будет заменить все содержимое файла 404.php на следующий код:

<?php wp_redirect( ‘http://www.vashdomen.ua’, 301 ); exit; ?>

Не забудьте заменить www.vashdomen.ua на ваш действующий домен. Замечу, что данный код предназначен для версий движка равным или выше 3.3.1.

Для более ранних воспользуйтесь кодом:

<?php header(“HTTP/1.1 301 Moved Permanently”); header(“Location: “.get_bloginfo(‘url’)); exit(); ?>

 

Для всех вариантов подойдет .htaccess-редирект. Это можно произвести, вписав в файле .htaccess, находящемся в корневой папке сайта, следующее правило:

RewriteCond %{REQUEST_URI} !^/index.html$ RewriteRule .* /index.html [L,R=302]

L,R=302 можно изменить на L,R=301 для постоянного редиректа.

rss