2016-07-22 8 views
1

Es gibt von Angular/REST betriebene Webseiten, aber ohne Navigationsmodul (keine Hash-basierte (#!) Navigation). Trotz der Vernachlässigung von Googles Ajax-Crawling webmasters-ajax-crawling, scheint es Crawler sieht nur, dass JS generierten Inhalt, der nicht auf AJAX (REST) ​​Anrufe Antworten verlässt, und nicht sehen Seiteninhalt, der AJAX Anrufe abhängig ist.Wie man den Crawler benachrichtigt, dass die ajax-Seite vollständig geladen und bereit ist, einen Snapshot zu erstellen

Es wie Google fühlt sich nicht genug Zeit für eine Seite zu machen, nicht geben, da es keine Möglichkeit hat zu identifizieren, wenn alle erwarteten Logik in JS completelly beendet hat ..

Q: Gibt es eine Möglichkeit, Google zu sagen (Und zu einem abstrakten Browser im Allgemeinen) diese Seite komplett gerendert und keine ausstehenden AJAX-Anrufe sind da? Kann jemand vorschlagen, wie man das Rendern der Seite durch eckige zu vermeiden - bis alle AJAX-Aufrufe abgeschlossen sind (vielleicht etwas wie benutzerdefinierte NG-Mantel)?

Antwort

0

meine eigene Frage zu beantworten ..

  • Es wurde gefragt, weil: es schien, dass Google indiziert Text von Seiten scheiterte, die durch Winkel gerendert wird, nachdem AJAX Anrufe durchgeführt wurden.

  • Jetzt: Ich sehe, dass Google-Crawler tatsächlich alles Indizes, so - keine Notwendigkeit Crawler benachrichtigen, dass Seite gerendert wurde - es diese von selbst erkennen kann.

  • Aber: Ich denke, Google indexiert Seiten in zwei Phasen: 1. Schnelles Indizieren von HTML einer Seite ohne JS-Rendering beteiligt (kurz nachdem Hauptdokument abgerufen wurde); 2. Führt eine schwere Operation der Wiedergabeseite mit JS durch und indexiert alle wiedergegebenen Inhalte. Der zweite Schritt kann einige Tage nach dem ersten auftreten, deshalb sehen Sie möglicherweise für eine Weile keinen indexierten Inhalt.

Verwandte Themen