Как получить ответ 404 в Vue Router

У меня уже есть обработчик 404 в SPA, который работает. Проблема здесь в том, что Google, например, ссылается на старые страницы, которые больше не существуют. В то время как пользователь увидит пользовательский компонент 404, Google, я полагаю, получит 200 OK и продолжит думать, что страница действительна.

{
path: '*',
name: 'not-found',
component: NotFound // 404
}

4

Решение

Я провел некоторое исследование о том, как SPA может имитировать или отвечать на запросы поисковых роботов, так что здесь мы — три рабочих решения.

Вспомогательные ссылки:

  1. Обновление заголовка страницы & Метаданные с Vue.js & вя-маршрутизатор

Мета-тег # 1

Описание:

Код HTTP 404 означает, что ресурса нет или он был удален навсегда. Удаленный ресурс означает, что мы хотим сказать GoogleBot удалить «мертвую» ссылку из поискового индекса. Большой! Теперь у нас есть еще один вопрос, на который можно ответить — <meta name=”robots” content=”noindex”>

Как Гугл документы государство:

Вы можете запретить отображение страницы в поиске Google, включив
метатег noindex в HTML-коде страницы или возвращая noindex
заголовок в запросе HTTP. Когда следующий робот Googlebot сканирует эту страницу и
увидеть тег или заголовок, робот Googlebot полностью опустит эту страницу с
Результаты поиска Google, независимо от того, ссылаются ли на него другие сайты.

Вспомогательные ссылки:

  1. https://searchengineland.com/meta-robots-tag-101-blocking-spiders-cached-pages-more-10665
  2. https://support.google.com/webmasters/answer/79812?hl=en
  3. https://support.google.com/webmasters/answer/93710?visit_id=636835318879056986-3786307088&й = 1

Метатег # 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.
Цепочка перенаправлений добавляет задержку для пользователей, а не для всех браузеров
поддержка длинных цепочек перенаправления.

Вспомогательные ссылки:

  1. https://en.wikipedia.org/wiki/Meta_refresh
  2. SEO последствия перенаправления с META REFRESH
  3. http://sebastians-pamphlets.com/google-and-yahoo-treat-undelayed-meta-refresh-as-301-redirect/
  4. https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections#Permanent_redirections

JavaScript Redirect

Описание:

Выполнить onload-прямой с window.location = '/404.html' в неверное местоположение (файл, который не существует) + интегрировать Google Not Found Widget.

Вспомогательные ссылки:

  1. https://googleblog.blogspot.com/2008/10/helping-website-oweners-fix-broken.html
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]