it-swarm.com.de

Wie gehen Sie mit HTML-Metadaten in Progressive Web Apps (PWA) um?

Beim Schreiben einer Progressive Web App (PWA) versuche ich, den Umgang mit Metadaten im Abschnitt headmeines htmlzu verstehen. Mit Metadaten meine ich:

App-Shell für eine Seite

Alle oben genannten Metadaten sind für jede Seite in der App unterschiedlich. Bei Verwendung einer einzelnen htmlname__-App-Shell gehen alle oben genannten Punkte verloren. Es kann Anzeichen dafür geben, dass ich falsch liege hier und dass Suchmaschinen jetzt JavaScript ausführen. Wenn ja, wie funktioniert das? Würde ich AJAX verwenden, um den HTML-Kopf bei jeder clientseitigen Navigation abzurufen? Würde das für alle Suchmaschinen funktionieren? Was sind die Nachteile?

Serverseitiges Rendering

Mit dieser Option wird jede Seite auf dem Server mit ihren eigenen benutzerdefinierten headname__-Metadaten gerendert. Sie können die Caching-Strategie "Network First" oder "Fastest First" verwenden. Der Nachteil dieses Ansatzes ist, dass Sie an Leistung verlieren, weil Ihre App-Shell nicht auf der Clientseite zwischengespeichert wird und nicht sofort geladen wird, sodass der Benutzer sofort einen Blick darauf werfen kann.

Frage?

Beide Optionen scheinen sich zu widersprechen. Sie können entweder Leistung oder gute Metadaten haben, um Ihre SEO- und Seitenfreigabeerfahrungen zu verbessern. Was ist der glückliche Mittelweg? Gibt es einen Ansatz für das Beste aus beiden Welten?

Aktualisieren

Ich habe this ein GitHub-Problem aus dem Google-Leuchtturm-Projekt gefunden.

18

Yup Google führt Javascript entsprechend diesem Search Engine Land Blogpfosten durch. Auch nach diesem praktischen Experiment rendert Google AJAX Inhalte, aber im Gegensatz zu von Servern gerenderten Seiten dauert es länger, dynamische Inhalte zu indizieren.

Kommen Sie zu Ihrer Frage: Wenn Sie auf jeder Seite serverseitiges Rendering durchführen, ist SEO gut, aber die App-Shell wird nicht zwischengespeichert. Wenn Sie jedoch eine Einzelseitenanwendung erstellen, können Sie Ihre erste Seite auf der Serverseite rendern und JavaScript die Arbeit für den Rest der Navigation übernehmen lassen. Sie können den Seiten jeder Navigation dynamisch Metadaten hinzufügen. Schauen Sie, wie walmart damit umgeht.

Andernfalls können Sie auf jeder Seite einen AJAX -Aufruf ausführen, um Metadaten zu laden. Es dauert jedoch einige Zeit, bis die Seite indexiert ist. Andernfalls müssen Sie möglicherweise einen erneuten Crawl aus den Google Webmaster-Tools auslösen. Dies bedeutet nicht, dass Ihr Inhalt nicht indiziert wird.

2
Dani Akash

Ich denke, Ihre Antwort bezieht sich darauf, wie Social-Media-Websites und Suchmaschinenspinnen Ihre Inhalte konsumieren. Während Google viele SPA-Websites analysieren kann, haben sie diese Richtlinien in den letzten Monaten aufgegriffen. Sie können einen sehr komplexen Servicemitarbeiter aufbauen, um Ihre „Spa“ -Aktivitäten auszuführen. Sie können sich jedoch besser darauf konzentrieren, dass Ihre Inhalte für die SEO- und Social Media-Websites so weit wie möglich auf dem Server vorgerendert werden. Denken Sie darüber nach, dass das Zwischenspeichern von Servicemitarbeitern das, was wir in den letzten sieben Jahren mit SPAs gemacht haben, ersetzen oder optimieren kann.

1
Chris Love