С 404 по 301 - Исправление старых ссылок
В настоящее время я обновил сайт и внес в него множество улучшений. Старый сайт работал с 3 разными системами и имел wordpress (и другие системы) в веб-корне. Я переместил wordpress в подкаталог (wordpress), а также обновил свои записи в блоге, чтобы они имели префикс blog/. Страницы и первая страница не имеют префикса blog/.
Проблема, с которой я сталкиваюсь, заключается в том, что я хочу изящно сообщить Google и другим поисковым системам, что эти сообщения теперь имеют префикс с помощью /блога/.
Я использовал следующий код на своей странице 404, прежде чем понял, что wordpress выдает заголовок 404. Очевидно, что это неправильный способ реализации этого исправления.
// Check if old site URL and redirect if so
if (substr($s, 0, 8) != 'reviews/') {
if (substr($s, 0, 5) != 'blog/' && substr($s, 0, 10) != 'wordpress/' ) {
// Force our 301 redirect so we can keep the new URI: /blog/
header("HTTP/1.1 301 Moved Permanently");
header("Location: /blog/{$s}");
exit();
}
}
Что мне нужно сделать, так это выяснить, когда wordpress узнает, что это 404, и посмотреть, соответствует ли он моим проверкам (в настоящее время то, что указано в приведенном выше фрагменте), и если произойдет совпадение, принудительно перенаправьте 301 для обновления искателей.
Я не уверен, доступна ли эта информация на init, так как это мой следующий шаг к тест.
Я пытался играть с template_redirect
и redirect_canonical
, но, похоже, они не являются правильными методами для подключения.
Мы будем признательны за любую помощь в этом вопросе. Я все еще пытаюсь найти решение и отправлю ответ, когда найду его.
Заранее благодарю.
1 answers
Если вы намерены выполнять проверки на основе тегов шаблона , вам следует подключиться к действию wp
. template_redirect
тоже будет достаточно, но wp
- это раньше. Это когда WP обрабатывает 404 сам.
Для выполнения перенаправления 301 используйте status_header( 301 );
, wp_safe_redirect();
сразу же за этим последовал exit;
Вы могли бы использовать плагин , который обработает их для вас. Это немного сложно настроить, если вы не настолько техничны. Удачи.