Можно ли поставить 301 редирект с 404 страницы на работающую? Часто встречаю подобный вопрос в своей практике. И ответ тут всегда однозначный! Нет, нельзя! Когда сервер уже отдал 404 код ответа, второй обработки кода чтобы задействовать 301 редирект не произойдет. Технически конечно можно заставить повторно отдать ответ 301 но произойдет ошибка «http headers allready sent»
На самом деле есть один вариант возвращения веса с старых URL 404 на новые. Для этого нужно создать пустые страницы с теми же URL и тогда уже т.к. страница будет существовать физически, можно ставить редирект 301 на нужную вам станицу. Таким способом можно избавиться от битых ссылок как внешних, так и внутренних.
Если подходить к делу еще более основательно, то можно использовать WebArchive и выгрузить из него нужный вам контент для восстановления страниц.
5 комментариев. Оставить новый
Довольно часто встречаюсь с данной проблемой.Спасибо за полноценное,чёткое донесение сути.
Очень доступно объяснили.Теперь я знаю как решить проблему.Огромное спасибо.Послветую друзьям
Хорошая статья! Благодарю Вас за полезную для меня информацию!
У меня такой вопрос:
На сайте раньше был товар с названием site/tovari/12345 в дальнейшем названия карточек были переименованы в полглценное наименование site/tovari/tovar-mashina-megaspeed . Сайт молодой, органики практически нет, но реклама приводит по 20-50 посетителей в день. Было принято решение запретить их в robots и удалить ручками из вебмастера Яндекс. В итоге в robots появилось полно ненужных запретных url на старые страницы, далее убираем запрет обхода через robots со старых страниц и в течении месяца они снова появляются с 404 ошибкой, хотя в sitemap их нет.
После случилась проблема с работой сайта и для того чтобы все было автоматизировано — требовалось чтобы все товары были со слешем на конце (ранее были без слеша). Не спрашивайте почему потребовалось ситуация со слешем, это сейчас уже не важно. В итоге на момент уже был органический трафик и терять его не хотелось, сделали редирект старых url + без слеша url на новый рабочий действующий url адрес. Получается сейчас происходит что 2 старых url ссылаются на действующий url. В итоге позиции просели в индексировании.
Подскажите ответом на несколько вопросов:
1. Можно ли удалить 404 страницу навсегда из вебматеров — чтобы она больше не всплывала нигде?
2. Что делать с 2 url которые теперь ссылаются на действующий url (сейчас более 2000 редиректов). Имеется ли какое-то время 301 редиректа — после которого можно больше не ссылаться 301 редиректом на действующую страницу и просто убрать редирект и пробовать удалить её ручками из вебмастеров?
3. Если все старые url получиши значение – «канонический url действующая и актуальная на данный момент страница». Может стоит просто ждать и всё с позициями наладится?
4. Планирую добавить региональность и предполагаю, что вся эта заварушка с 301 редиректом наделает мне проблем с регионами и начнется многотысячный хаос с 404 и 301 редиректами. Обнулить бы это всё и отправить sitemap с действующими url и нормально заняться региональностью.
1. Да, отправив запрос на удаление.
2. Ничего, оставить
3. Изменить каноникал на новые урл (или карачун)
4. Иногда проще переделать все с нуля.