У меня уже есть обработчик 404 в SPA, который работает. Проблема здесь в том, что Google, например, ссылается на старые страницы, которые больше не существуют. В то время как пользователь увидит пользовательский компонент 404, Google, я полагаю, получит 200 OK и продолжит думать, что страница действительна.
{
path: '*',
name: 'not-found',
component: NotFound // 404
}
Я провел некоторое исследование о том, как SPA может имитировать или отвечать на запросы поисковых роботов, так что здесь мы — три рабочих решения.
Вспомогательные ссылки:
Мета-тег # 1
Описание:
Код HTTP 404 означает, что ресурса нет или он был удален навсегда. Удаленный ресурс означает, что мы хотим сказать GoogleBot удалить «мертвую» ссылку из поискового индекса. Большой! Теперь у нас есть еще один вопрос, на который можно ответить — <meta name=”robots” content=”noindex”>
Как Гугл документы государство:
Вы можете запретить отображение страницы в поиске Google, включив
метатег noindex в HTML-коде страницы или возвращая noindex
заголовок в запросе HTTP. Когда следующий робот Googlebot сканирует эту страницу и
увидеть тег или заголовок, робот Googlebot полностью опустит эту страницу с
Результаты поиска Google, независимо от того, ссылаются ли на него другие сайты.
Вспомогательные ссылки:
Метатег # 2
Описание:
Если мы не можем (или не хотим) использовать наш сервер для ответа 404 или любым другим кодом, мы можем попытаться выполнить какое-то перенаправление — seo-safe
редирект (если не включен JS).
Этот редирект использует HTML meta
-tag, пример (немедленно перенаправляет на example.com):
<meta http-equiv="refresh" content="0; url=http://example.com/">
Цитата из StackOverflow ответ:
В качестве напоминания, и хотя это не является предпочтительным способом выполнения
перенаправить, Google принимает и отслеживает страницы, имеющие тег Refresh с
его задержка установлена на 0, потому что в некоторых сложных случаях просто нет
Другой способ выполнить перенаправление. Это рекомендуемый метод для
Страницы Blogger (принадлежат Google).
HTTP-код 301 в конечном итоге будет converted
на 404, если вы будете постоянно перенаправлять на файл, который не существует. От Документы Google (подготовьтесь к переадресации 301):
В то время как Googlebot и браузеры могут следовать «цепочке» из нескольких
перенаправления (например, Страница 1> Страница 2> Страница 3), мы рекомендуем перенаправить на
пункт назначения. Если это невозможно, оставьте количество
редиректы в цепочке низкие, в идеале не более 3 и не менее 5.
Цепочка перенаправлений добавляет задержку для пользователей, а не для всех браузеров
поддержка длинных цепочек перенаправления.
Вспомогательные ссылки:
JavaScript Redirect
Описание:
Выполнить onload
-прямой с window.location = '/404.html'
в неверное местоположение (файл, который не существует) + интегрировать Google Not Found Widget.
Вспомогательные ссылки:
Других решений пока нет …