2016-05-25 6 views
1

Nachdem ich mich ein wenig umgesehen habe, bin ich zu keinem Schluss gekommen: Google und andere Suchmaschinen crawlen Seiten, die nur über ng-click zugänglich sind Anker-Tag? Oder muss ein Anker-Tag immer vorhanden sein, damit das Crawling erfolgreich funktioniert?SEO und Crawling: UI-Router Ui-Sref VS ng-klick

Ich muss verschiedene Elemente erstellen, die auf andere Seiten auf generische Weise verlinken und ng-click ist die beste Lösung für mich in Bezug auf Flexibilität, aber ich nehme an, Google wird nicht auf diese Elemente klicken, da sie keine haben Anker-Tag.

Neben dem offensichtlichen ui-sref Tag mit mir über andere Lösungen wie:

<a ng-click = 'controller.changeToLink()'>Link name</a> 

Altough Ich bin nicht sicher, ob dies entweder eine gute Praxis ist.

Kann jemand bitte dieses Problem für mich klären? Vielen Dank.

Antwort

3

Einzelseiten-Anwendungen sind im Allgemeinen sehr SEO-unfreundlich, ng-click wird nicht als das geringste Problem betrachtet.

Die Anwendung wird nicht serverseitig gerendert, so dass Suchmaschinen-Crawler es schwer haben, den Inhalt richtig zu indizieren.

Gemäß dieser neuesten recommendation kann der Google-Crawler dynamischsten Inhalt rendern und indizieren.

Die Art, wie es funktioniert, ist, dass es darauf wartet, dass das Javascript tritt und die Anwendung rendert, und nur indexiert, nachdem der Inhalt auf der Seite eingefügt wurde. Dieser Prozess ist nicht 100% ig sicher, und einseitige Anwendungen können erst seit kurzem mit statischen Anwendungen konkurrieren.

Dies ist der Hauptgrund, warum die meisten Websites sie für ihr Menüsystem verwenden, da dies eine viel bessere Benutzererfahrung als das Nachladen von ganzen Seiten ermöglicht. Einzelseiten-Apps sind nicht SEO-freundlich.

Dies ändert sich langsam, da nun Angular Universal, Ember Fast Boot und React die Möglichkeit bieten, die Serverseite als SEO-freundliche Seite darzustellen, aber sie als SPA auf der Clientseite übernehmen.

Ich denke, Ihre beste Wette, um zu versuchen, Ihre SEO zu verbessern, ist eine Site Map-Datei mit ihren Webmaster-Tools zu googeln. Dadurch wird Google über die Seiten informiert, die Sie über ng-click auslösen.

Beachten Sie, dass dies nur funktionieren kann, wenn Sie den HTML5-Modus für den Router verwenden und keine Lesezeichen verwenden (URLs mit #), da Google keine Lesezeichen indexiert.

Im Allgemeinen ist es sehr schwer, gute SEO für eine Angular 1 App zu bekommen, und das ist, warum es meist nicht für öffentliche indexierbare Inhalte verwendet wird. Der Sweetspot von AngularJs dient zum Erstellen des privaten Bereichs "Dashboard" Ihrer App, auf den Benutzer nach dem Anmelden zugreifen können.

-1

Verwenden Sie prerrender.io, um diese eckigen Seiten vorzurendern und Bot-Anfragen herauszufiltern, und bedienen Sie diese vorgerenderten Seiten der Seitencache.