Mam aplikację kątową, którą próbuję skonfigurować w środowisku produkcyjnym. Jak czytałem, Google może teraz indeksować strony AJAX. Sprawdzam, jak działałbym w usłudze Fetch jako Google. Mimo że strona główna jest poprawnie renderowana we wszystkich głównych przeglądarkach, funkcja Pobierz jako Google zwraca pustą stronę bez kompilacji żadnej z dyrektyw Angula i bez błędów. Używam trybu HTML5 i ui-router
. Pliki są obsługiwane przez serwer aplikacji node.js (próbowałem wysyłać pliki z nginx, a wynik był taki sam), a wszystkie pliki są dozwolone przez robots.txt
. Skrypty są połączone i zminimalizowane. W konsoli nie ma błędów.Pobierz jako Google nie wyświetla aplikacji Angular.js
kod zwrócony przez Pobierz jako usługi 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>
Czy istnieje coś, co zostało zrobione źle czy mam po prostu iść z wstępnym renderowaniu do roboty?
Mam ten sam problem, dziwne jest to, że po pobraniu i renderowaniu google wyświetlają mi się strony "jak google widzi", co jest mylące, ponieważ kiedy po prostu się pobiera (i przechowuje w pamięci podręcznej btw .. .) bez ładowania szablonu. – FireBrand
Prawdopodobny duplikat narzędzi [Pobierz jako Google Webmaster] (http://stackoverflow.com/questions/29662999/fetch-as-google-webmaster-tools) –