Получить, поскольку Google не отображает приложение Angular.js

У меня есть приложение «Угловое», которое я пытаюсь настроить в производственной среде. Как я уже прочитал, Google теперь может сканировать страницы AJAX. Я проверяю, как работать с Fetch как службой Google. Хотя домашняя страница правильно отображается во всех основных браузерах, Fetch as Google возвращает пустую страницу без компиляции ни одной из директив Angular и ошибок. Я использую режим HTML5 и ui-router. Файлы обслуживаются сервером приложений node.js (я пытался обслуживать файлы из nginx, и результат был таким же), и все файлы разрешены robots.txt. Скрипты объединяются и минимизируются. В консоли нет ошибок.

Код, возвращаемый Fetch как служба Google:! Doctype html>

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <base href="/">
  <title ng-bind="$state2.current.data.pageTitle || 'xxx'"></title>
  <meta name="description" content="{{$state2.current.data.description}}">
  <meta name="keywords" content="{{$state2.current.data.keywords}}">
  <meta name="viewport" content="width=device-width">
  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
  <link rel="stylesheet" href="app/b91daaea.vendor.css">
  <link rel="stylesheet" href="bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css" />
  <link rel="stylesheet" href="app/dbc6e533.app.css">
</head>

<body iact-set-body="{{$state2.current.name}}" ng-cloak ng-controller="IndexCtrl as Index" ng-class="{'register-page' : $state2.current.name === 'register.one'}">
  <iact-progress-bar ng-if="$state2.current.name === 'main.post'" class="progress-bar progress-bar--page"></iact-progress-bar>
  <div class="alert-block" alert-box></div>


  <loader ng-show="showLoader"></loader>
  <div class="ui-view-container">
    <div ng-cloak ui-view></div>
    <div ng-cloak ui-view="layer" class="ui-view-layer"></div>
  </div>


  <!--[if lt IE 7]>
    <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade
        your browser</a> to improve your experience.</p>
  <![endif]-->
  <!--[if lt IE 9]>
    <script src="bower_components/es5-shim/es5-shim.js"></script>
    <script src="bower_components/json3/lib/json3.min.js"></script>
  <![endif]-->
  <script src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
  <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB5s1GO-SwKumRL-es-SHnGYwom55LpJyM&libraries=places"></script>
  <script src="app/9b5d1095.vendor.js"></script>
  <script src="app/b49bc91c.app.js"></script>
</body>

</html>

Есть ли что-то, что было сделано неправильно или я должен просто пойти с prerendering для сканеров?

javascript,angularjs,seo,

6

Ответов: 1


-1

Проведение исследований в последнее время , я обнаружил , что подавляющее мнение в Интернете в том , что если у вас есть AngularJS приложение , и вы хотите, чтобы быть отсканирован и проиндексирован Google, вам нужно что - то вроде PreRender или brombone , генерировать HTML снимки, статические страницы вашего сайта поэтому поисковые системы могут его индексировать.

Если вы серьезно относитесь к оптимизации SEO, я думаю, вы должны быть очень осторожны, чтобы использовать эти инструменты. Во-первых, они сказали, что используют спецификацию Google, которая определяет обход Ajax. Но эта спецификация устарела.

Предварительное рендеринг может вызвать клоакинг. Cloaking происходит, когда веб-сайт отображает для пользователей различный контент, чем поисковые системы. По крайней мере, Google быстро со штрафами, если вы клоакинг. Пожалуйста, протестируйте, протестируйте, протестируйте каждый из ваших веб-сайтов для маскировки, например, при обслуживании двух разных версий!

Google говорит: при оценке вашего сайта, чтобы увидеть, содержит ли он скрытый текст или ссылки, найдите все, что не так легко просматривать посетителями вашего сайта.

Вам не нужно обслуживать разные или предварительно подготовленные материалы в Google. Фактически, до тех пор, пока вы будете следовать обычным соглашениям о SEO в своем приложении, Google может сканировать, отображать и индексировать ваше приложение AngularJS. Также требуется некоторое время для индексации.

Отказ от ответственности: Это теоретическая концепция. Тесты показывают, что Google может сканировать, отображать и индексировать сайт pure-AngularJS просто отлично, когда он настроен правильно. Однако другие поисковые системы и сканеры вряд ли смогут правильно сканировать ваш контент. В чистой среде JS вы не получите индексацию Bing, Yahoo или Yandex; и социальные сети, такие как Facebook, Twitter, Pinterest и многие другие, не имеют никакого представления о ваших страницах. В 2016 году вы не должны реализовывать чистую архитектуру JS на производственном участке, если вы беспокоитесь о трафике из внешних источников.

JavaScript, angularjs, поисковая оптимизация,
Похожие вопросы