AngularJS и SEO разъяснения

0

Я пытаюсь понять, что лучше всего сделать веб-приложение angularJS для SEO.

Я прочитал это Как поисковые системы работают с приложениями AngularJS?

и он рекомендует использовать: <meta name="fragment" content="!"> поскольку мое веб-приложение использует html5mode.

Сайт работает хорошо, когда доступ к корневому URL / и просмотр обычно в других областях, но как только я перезагрузить/обновить веб - сайт (если я не в корневом URL) возвращает url not found Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Прямо сейчас, я понимаю, что, используя этот трюк, google сможет обходить сайт в обычном режиме? Я также добавил попытку создания карты сайта с использованием этого сайта третьей стороны https://www.xml-sitemaps.com/, но вернулся только с одним URL-адресом (корневым URL-адресом).

У моего сайта нет сервера, такого как узел, он просто угловой.

Каков правильный способ исправить все это?

Благодарю!

  • 0
    Google обновил свои спецификации сканирования для сайтов, управляемых ajax. Предлагаю прочитать самые актуальные. 3-летняя информация больше не является точной
Теги:
sitemap
seo

2 ответа

1

В основном, что вам нужно сделать, это сообщить Google, что содержимое страницы, которую он видит. Например, если у вас есть этот URL #/services, Google просто знает основную страницу, например example.com, потому что AngularJS - это простая страница. Маршруты управляются AngularJS через javascript.

Итак, если вы используете html5mode, у вас будут более приятные URL-адреса, например: /services, но для google это все равно одно и то же.

Решение состоит в том, чтобы перенаправить Google на статический контент. Вы можете сделать это вручную, но это больно.

Я рекомендую вам эту услугу: https://prerender.io/. Я использую его для всех моих веб-сайтов, которые я сделал в AngularJS. Эта услуга отображает каждую страницу, которую вы имеете в AngularJS для вас, и хотя.htaccess вы перенаправляете Google на эту услугу.

  • 0
    Я вижу, это использует экспресс, мой сайт не имеет никакого бэкэнда, это просто angularjs. Как мне это настроить? Они просто говорят npm install prerender-node --save но он просто загружает кучу node_modules, и я не уверен, что делать после :(
0

Нет никакой цели в том, чтобы проиндексировать ваш сайт поисковыми системами, когда посетители получат ошибку 404, когда они приземляются на любой URL-адрес, отличный от базового URL-адреса. Поэтому самое первое, что нужно было бы отправить все HTTP-запросы на этот один файл, который выполняет ваше приложение AngularJS, в большинстве случаев index.php. Вы можете выполнить это, добавив следующее в ваш файл.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/$ $1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule> 

Теперь, по словам самого Google, у вас есть все необходимое для индексации. Несколько месяцев назад я провел несколько тестов, чтобы узнать, может ли приложение AngularJS индексироваться без какого-либо резервного копирования. И это произошло, пока оно появляется как ожидалось и без ошибок в Google Web Mastertools → Crawl as Google, оно будет индексироваться должным образом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню