Код состояния возврата 410 с Symfony для Google Bot

Поскольку Google Bot посещает один из наших веб-сайтов с неправильными URL-адресами, я постоянно получаю сообщения об ошибках сервера, которые приводят меня к ошибке как администратора (причина в том, что я случайно отправил неверный файл карты сайта 3 месяца назад. Да, я повторно отправил, удалил, повторно отправил несколько раз, но это еще в гостях).

Теперь я узнал на форуме Google, что использование ответа 410 приведет к тому, что бот goggle прекратит посещение.

У кого-нибудь есть идея как отправить ответ 410 от Symfony2? Если это не сработает, я также буду в порядке с простым PHP-решением.

Большое спасибо за любую помощь.

4 ответа

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

   $response = new Response();
   $response->headers->set('Content-Type', 'text/html');
   $response->setStatusCode(410);
   return $response;}

Это в основном то же самое, что и предыдущий ответ, но с использованием шаблона Twig 404 (вы должны создать) и одного вкладыша:

use Symfony\Component\HttpFoundation\Response;

...

return new Response($this->renderView('TwigBundle:Exception:error404.html.twig'), Response::HTTP_GONE);

Вы можете использовать GoneHttpException

      throw new GoneHttpException();

я использую это

      $response = new Response();
$response->setStatusCode(410);
return $this->render('twig_template_uri', ['key'=> $value, ...], $response);

Я использую это в контроллере, когда данные существуют, но, например, «isActive = false»

Другие вопросы по тегам