angular.js как сказать гуглу проиндексировать мой сайт?
У меня есть приложение angular.js. Я следовал руководству Google для приложений на основе Ajax. Я сделал это:
- Мета-теги
<base href="/">
<meta name="fragment" content="!">
- конфиг angular.js
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
- мои HTML-ссылки выглядят так (это неправильно?):
<a ng-href="/#!/login">Login</a>
- Я отправил карту сайта в поисковую консоль Google (x месяцев назад)
Я обнаружил, что не должен использовать escaped_fragment, это правильно? Я делаю что-то неправильно? Это все еще не индексируется. Google проиндексировал только домашнюю страницу.
Когда я запускаю fetch как инструмент Google, он корректно отображает все страницы.
2 ответа
Я обнаружил, что не должен использовать escaped_fragment, это правильно?
Это правильно, по состоянию на это официальное объявление.
Также была добавлена дополнительная передовая практика:
Для оптимального рендеринга и индексации в нашем новом руководстве указано, что вы должны разрешить роботу Google доступ к файлам JavaScript, CSS и изображениям, которые используют ваши страницы. Это обеспечивает оптимальную визуализацию и индексацию вашего сайта. Запрещение сканирования файлов Javascript или CSS в файле robots.txt вашего сайта напрямую вредит тому, насколько хорошо наши алгоритмы отображают и индексируют ваш контент, и может привести к неоптимальному ранжированию.
Взято из официального блога Google для веб-мастеров
Итак, вы разрешаете Googlebot доступ ко всем необходимым файлам?
А как выглядят ваши URL? Есть также доступный как статический HTML? Что касается объявлений Google, они все еще рекомендуют концепцию прогрессивного улучшения, поэтому в вашем случае было бы полезно также использовать статические файлы.
Мы довольно долго боролись с этой проблемой, и после решили использовать сервис h ttps://prerender.io/, который создает статический кеш вашего приложения и предоставляет этот контент для Google и других поисковых роботов.