GoogleBot рендерит Angular 2 без Angular Universal?

Google находится в уникальном положении, так как является лидером на рынке поисковых систем. Кроме того, он предоставляет разработчикам инструменты для работы. Собственная JavaScript-инфраструктура Google Angular.js имела большой успех с 2010 года, но первая итерация имела некоторые технические недостатки. Вот почему Google вкладывает значительные средства в основную переписку Angular2.

Для Angular 2 одна из возможностей, которую разработчики жаждут из экосистемы React.js, - это изоморфный рендеринг. Это означает, что первое представление отображается на сервере, чтобы улучшить начальную производительность загрузки и обеспечить лучшую видимость поисковой системы. В Angular 2 фреймворк получает эту функциональность с Угловой универсальный ,

Несмотря на то, что Angular Universal - отличный способ обеспечить видимость SEO, он усложняет развертывание приложений Angular 2 на стороне сервера. Существуют зависимости от серверных технологий, поэтому разработчики не смогут включить Angular Universal.

Есть обсуждение для привлечения Универсальная угловая поддержка PHP и Twig , но подробности неизвестны. Вот почему многие приложения Angular 2 будут продолжать развертываться без рендеринга приложений на стороне сервера.

В эксперименте о том, насколько хорошо Google Search Crawler Google может отображать приложения Angular 2, мы рассмотрим, как GoogleBot может отображать пример приложения из Angular Team. Тур Героев ,

С использованием Инструменты Google для веб-мастеров Вы можете заставить GoogleBot посетить вашу страницу и отобразить ваш сайт. Вы также можете получить визуализированный вид страницы двух форматов:

  • Вот так гуглбот увидел страницу
  • Вот как посетитель вашего сайта увидел бы страницу

В случае с Angular2 очевидно, что возможности JavaScript в GoogleBot достаточно хороши для создания довольно сложной среды интерфейса. Рендеринг демонстрационного приложения показывает, что GoogleBot делает все нормально, даже без универсального рендеринга:

Таким образом, для отдельных страниц ясно, что GoogleBot может выполнять и индексировать необработанные приложения Angular2, однако при использовании параметра «Сканировать этот URL и его прямые ссылки» при индексации записи вы можете видеть, что на других страницах приложения нет записей.

Это означает, что когда вы отделить от CMS например, в Angular 2 отдельные страницы будут доступны, но он не сможет по умолчанию переходить по всем ссылкам на странице. Вам все равно придется позаботиться о SEO при развертывании приложений Angular 2 без Angular Universal.

Кроме того, стоит отметить, что по умолчанию Angular 2 теперь использует стиль «HTML 5 pushState» для маршрутизация , Таким образом, проблема разделения веб-сайтов с помощью REST API и страниц 404 продолжает оставаться актуальной:

Если ваш пользовательский бэкэнд не обрабатывает проверку, существует ли контент, то вы, скорее всего, получите 404 с заголовком, чтобы перейти на сломанную страницу. Это можно исправить, всегда отправляя шаблон с сообщением HTTP 200 (ОК), но это может нарушить работу интернета. Если страница не существует, она должна вернуть 404.
- REST, API-интерфейс Angular HTML5 History и не найдены (404) страницы

Поэтому в будущем все будет выглядеть все яснее и яснее, что если вашему приложению нужны публичные ссылки извне, вам следует использовать Angular Universal. Хотя GoogleBot может загружать и выполнять все CSS и JavaScript из приложений Angular 2, он не может переходить по ссылкам привязки.

При разъединении других приложений CMS с REST, это будет лучше сделать в будущем с отдельным сервером рендеринга с Node.js с включенным Angular Universal. Это усложнит гибридные решения и добавит сложности, но это необходимо для лучшей видимости в поисковых системах.

© Частный пансионат "Фортуна"  2013
Разработка сайта:   WEB-студия “KPORT”
При создании сайта использованы фото проекта peschanoe.net