Reaktionsgesteuerte Single-Page-Anwendungen (SPA) gewinnen an Popularität. Sie werden von Technologiegiganten wie Facebook, Twitter und Google eingesetzt und ermöglichen die Entwicklung schneller, reaktionsschneller und animierter Websites und Webanwendungen mit einer reibungslosen Benutzererfahrung.

Produkte, die mit React (oder einem anderen modernen JavaScript-Framework wie Angular, Vue oder Svelte) erstellt wurden, bieten jedoch nur begrenzte Möglichkeiten zur Suchmaschinenoptimierung. Dies stellt ein Problem dar, wenn eine Website hauptsächlich Kunden über Website-Inhalte und Suchmarketing gewinnt. Angesichts der Tatsache, dass 93% Die Online-Erfahrungen von Kunden beginnen mit den Suchmaschinen; React-basierte SPA-Lösungen gefährden die Online-Strategien von Unternehmen.

In diesem Artikel werden wir vorgefertigte Lösungen für die SEO-Optimierung mit React vorstellen, die Ihnen helfen, in Suchmaschinen sichtbar zu werden und dabei alle Vorteile von SPA-Systemen und React-Programmierung zu erhalten.

Was ist eine Single-Page-App und warum React?

Eine Single-Page-Applikation (SPA) ist eine Webanwendung, deren Inhalt in einer einzigen HTML-Seite bereitgestellt wird. Diese Seite wird dynamisch aktualisiert, jedoch wird sie nicht jedes Mal neu geladen, wenn ein Benutzer mit ihr interagiert. Anstatt für jede Interaktion eine neue Anfrage an den Server zu senden und dann eine ganz neue Seite mit neuem Inhalt zu erhalten, fordert die Clientseite einer Single-Page-Webanwendung nur Daten an, die aktualisiert werden müssen und lädt diese dann nur herunter.

Facebook, Twitter, Netflix, Trello, Gmail und Slack sind alle Beispiele für Single-Page-Apps.

Aus der Perspektive des Entwicklers lassen sich die Präsentationsebene (Front-End) und die Datenebene (Back-End) getrennt halten, sodass zwei Teams diese Teile parallel entwickeln können. Außerdem ist bei einem SPA die Skalierung und die Verwendung einer Mikroservicesarchitektur einfacher als bei einer Mehrseiten-App.

 

Was ist eine Single-Page-App?

Was stimmt nicht mit der Optimierung von React-Apps für SEO?

In der Regel laden Single-Page-Apps Seiten von der Clientseite aus: Zuerst ist die Seite ein leerer Container; dann speist JavaScript Inhalte in diesen Container ein. Das einfachste HTML-Dokument für eine React-App könnte folgendermaßen aussehen:

 

<html lang="en">
<Kopf>
  <Titel>React App</Titel>
</Kopf>
  <Körper>
    <noscript>Sie müssen JavaScript aktivieren, damit diese App funktioniert.</noscript>
    <div id="root"></div>
    <Script src="/static/js/bundle.js"></Script>
  </Körper>
</html>

Wie Sie sehen können, gibt es nichts außer dem <div> Ein Tag und ein externes Skript. Einseitige Anwendungen benötigen einen Browser, um ein Skript auszuführen. Erst nachdem das Skript ausgeführt wurde, wird der Inhalt dynamisch auf die Webseite geladen. Wenn also ein Crawler die Website besucht, sieht es eine leere Seite ohne Inhalt. Daher kann die Seite nicht in die Indexierung aufgenommen werden.

Obwohl Googles Bots seit Jahren JavaScript und CSS prüfen können, gibt es auch 2025 noch immer erhebliche Probleme bei der SEO-Optimierung von Webseiten. Diese Herausforderungen haben weiterhin Auswirkungen auf die Indexierung und das Ranking von Websites, die mit Frameworks wie React erstellt wurden.

 

Langsame Verzögerungen

Wenn sich der Inhalt einer Seite häufig ändert, sollten Crawler die Seite regelmäßig erneut durchsuchen. Dies kann Probleme verursachen, da eine erneute Indexierung erst eine Woche später erfolgen kann, nachdem der Inhalt aktualisiert wurde.

Dies geschieht, weil der Google Web Rendering Service (WRS) in Aktion tritt. Nachdem ein Bot HTML-, CSS- und JavaScript-Dateien heruntergeladen hat, führt der WRS den JavaScript-Code aus, holt Daten aus APIs ein und sendet diese erst dann an die Server von Google.

 

Begrenzte Crawling-Budget

Der Crawling-Budget ist die maximale Anzahl an Seiten auf Ihrer Website, die ein Crawler innerhalb eines bestimmten Zeitraums verarbeiten kann. Wenn diese Zeit abgelaufen ist, verlässt der Bot die Website, egal wie viele Seiten heruntergeladen werden (ob 26, 3 oder 0). Wenn jede Seite aufgrund laufender Skripts zu lange lädt, verlässt der Bot Ihre Website einfach, bevor sie in die Indexierung aufgenommen wird.

Wenn wir uns andere Suchmaschinen ansehen, werden die Crawler von Yahoo und Bing weiterhin eine leere Seite sehen, anstatt dynamisch geladenen Inhalt. Daher ist es schwierig, Ihre React-basierte SPA-Website so zu positionieren, dass sie bei diesen Suchmaschinen an der Spitze auftaucht.

Sie sollten über die Lösung dieses Problems nachdenken, wenn Sie die App-Architektur entwerfen.

So machen Sie React-Websites und -Apps SEO-freundlich

Um eine effektive React-SEO-Implementierung zu erreichen, müssen Sie bewährte Best Practices befolgen, die speziell darauf zugeschnitten sind, die Herausforderungen der Client-Side-Rendering-Technologie zu bewältigen. Die Einhaltung dieser Ansätze trägt dazu bei, eine hervorragende Benutzererfahrung zu gewährleisten und die Auffindbarkeit Ihrer React-App in den Suchergebnissen zu verbessern.

Isomorphic React-Apps

In einfacher Sprache kann eine isomorphe JavaScript-Anwendung (oder in unserem Fall eine isomorphe React-Anwendung) sowohl auf der Client- als auch auf der Serverseite ausgeführt werden.

Dank des isomorphen JavaScripts kann man die React-App ausführen und die generierte HTML-Datei abrufen, die normalerweise vom Browser angezeigt wird. Diese HTML-Datei kann dann an alle Personen weitergegeben werden, die die Website anfordern (einschließlich Googlebot).

Auf der Clientseite kann die App diese HTML-Datei als Grundlage verwenden und sie im Browser weiter verarbeiten, als ob sie vom Browser generiert worden wäre. Bei Bedarf werden zusätzliche Daten mithilfe von JavaScript hinzugefügt, da eine isomorphische App immer noch dynamisch ist.

Eine isomorhe App gibt an, ob der Client Skripts ausführen kann oder nicht. Wenn JavaScript deaktiviert ist, wird der Code auf dem Server dargestellt, sodass ein Browser oder ein Bot alle Meta-Tags und Inhalte in HTML und CSS erhält.

Wenn JavaScript aktiviert ist, wird nur die erste Seite auf dem Server gerendert, sodass der Browser HTML-, CSS- und JavaScript-Dateien erhält. Anschließend wird JavaScript ausgeführt und der Rest des Inhalts dynamisch geladen. Dank dessen wird der erste Bildschirm schneller angezeigt, die App ist mit älteren Browsern kompatibel und die Benutzerinteraktionen sind flüssiger als bei Websites, die auf der Clientseite gerendert werden.

Die Entwicklung einer isomorhen App kann wirklich schwierig sein. aufwändig. Glücklicherweise gibt es Frameworks, die diesen Prozess erleichtern. Die beiden beliebtesten Lösungen für SEO sind Next.js und Gatsby.

  • Next.js is ein Framework, das Ihnen hilft, React-Apps zu erstellen, die schnell und problemlos auf der Serverseite generiert werden. Es ermöglicht außerdem die automatische Codeaufteilung und den Hot-Code-Reloading. Next.js kann eine vollständige Server-seitige Rendering-Funktion bieten, d. h. HTML wird für jede Anfrage direkt beim Aufruf generiert.
  • Gatsby Gatsby ist ein freier Open-Source-Compiler, mit dem Entwickler schnelle und leistungsstarke Websites erstellen können. Gatsby bietet keine vollständige Server-Rendering-Funktionalität. Stattdessen generiert es vorab eine statische Website und speichert die erstellten HTML-Dateien in der Cloud oder auf dem Hosting-Dienst. Lassen Sie uns genauer auf ihre Ansätze eingehen.

Hier ist eine prägnante Vergleiche zwischen GatsbyJS und Next.js, die ihre Rendering-Methoden, die Performance und die besten Einsatzfälle hervorhebt:

Kriterien

GatsbyJS

Next.js

Rendering-Typ

Statische Site-Generierung (SSG) — alle HTML-Seiten werden während der Build-Phase generiert

Serverseitige Rendering (SSR) — Seiten werden für jede Anforderung des Benutzers auf dem Server generiert

SEO

SEO-Probleme werden durch vorgefertigte HTML-Seiten gelöst

Auch SEO-freundlich, da HTML per Anfrage auf dem Server generiert wird

Datenaktualisierungen

Die Daten werden nur während des Builds abgerufen; neues Inhalt erscheint erst nach der Neuaufbauphase.

Die Daten werden dynamisch bei jeder Clientanforderung aktualisiert.

Leistung

Sehr hohe Ladegeschwindigkeit, da die Seiten statisch sind

Hohe Geschwindigkeit, jedoch etwas geringer aufgrund der Laufzeit der Seitengenerierung

Bester Einsatzfall

Ideal für Websites mit seltenen Aktualisierungen – Blogs, Portfolios, Landingpages

Ideal für dynamische Apps – Foren, soziale Netzwerke und Plattformen mit hohem Contentaufbau

Hosting

Kann auf jedem statischen Hosting-System oder in der Cloud gehostet werden

Erfordert einen Node.js-Server, um Laufzeitanforderungen zu verarbeiten

Datenabruf

Während der Bauphase

Bei jeder Anforderung eines Benutzers

Hauptvorteil

Höhere Geschwindigkeit und einfache Bereitstellung

Dynamisches Inhalt und Echtzeit-Updates

Serverseitige Rendering mit Next.js

Der Rendering-Algorithmus von Next.js sieht folgendermaßen aus:

  1. Der Next.js-Server, der auf Node.js läuft, empfängt einen Request und vergleicht ihn mit einer bestimmten Seite (eine React-Komponente) anhand einer URL-Adresse.
  2. Die Seite kann Daten aus einer API oder einer Datenbank abrufen und der Server wartet auf diese Daten.
  3. Die Next.js-App generiert HTML und CSS basierend auf den erhaltenen Daten und den vorhandenen React-Komponenten.
  4. Der Server sendet eine Antwort mit HTML, CSS und JavaScript.
Serverseitige Rendering mit Next.js

Webseiten mit GatsbyJS SEO-freundlich machen

Der Prozess der Optimierung von React-Anwendungen gliedert sich in zwei Phasen: die Erstellung einer statischen Website während des Builds und die Verarbeitung von Anfragen während der Laufzeit.

Der Prozess der Bauzeit sieht wie folgt aus:

  1. Das Paketierungs-Tool von Gatsby erhält Daten von einer API, einem CMS und einem Dateisystem.
  2. Bei der Bereitstellung oder Einrichtung eines CI/CD-Pipelines generiert das Tool statische HTML- und CSS-Dateien auf Basis von Daten und React-Komponenten.
  3. Nach der Zusammenstellung erstellt das Tool einen Ordner namens „about“ mit einer Datei namens index.html. Die Website besteht ausschließlich aus statischen Dateien, die auf jedem Hosting-Dienst oder in der Cloud gehostet werden können.

Die Bearbeitung von Anfragen während der Laufzeit erfolgt folgendermaßen:

  1. Gatsby sendet sofort HTML-, CSS- und JavaScript-Dateien zur angeforderten Seite, da diese bereits während der Kompilierung gerendert wurden.
  2. Nachdem JavaScript im Browser geladen wurde, funktioniert die Website wie eine typische React-App. Sie können dynamisch Daten anfordern, die für SEO nicht wichtig sind, und die Website verarbeiten Sie genauso wie eine normale Single-Page-React-App.
React-SEO-Optimierung mit GatsbyJS

Die Erstellung einer isomorphen App gilt als die zuverlässigste Methode, um React so für SEO-freundlich zu machen, aber sie ist nicht die einzige Option.

Prerenderung

Die Idee hinter der Prärenderung besteht darin, alle HTML-Elemente auf der Seite vorab zu laden und alle SPA-Seiten mithilfe von Headless Chrome. Eine beliebte Möglichkeit dazu ist die Verwendung eines Pre-Rendering-Dienstes wie prerender.io. Ein Pre-Rendering-Service erfasst alle Anfragen an Ihre Website und definiert mithilfe eines User-Agents, ob eine Roboterbots oder ein Benutzer die Website betrachten.

Wenn der Betrachter ein Bot ist, erhält er die gecachede HTML-Version der Seite. Wenn es sich um einen Benutzer handelt, lädt die Single-Page-App normal.

Wie die Prärenderung funktioniert

Prerendering erfordert eine geringere Serverlast im Vergleich zum Server-seitigen Rendering. Andererseits sind die meisten Prerendering-Services kostenpflichtig und funktionieren schlecht bei dynamisch wechselnden Inhalten.

Mit Gatsby arbeiten: ein Demo-Projekt

Um zu zeigen, wie isomorphe React-Apps funktionieren, haben wir eine einfache App für den Yalantis-Blog mit Hilfe von Gatsby erstellt. Wir haben den Quellcode der App hochgeladen und Dieses Repository auf GitHub.

Gatsby stellt nur die Startseite dar. Dann funktioniert die Website als Single-Page-App. Um zu sehen, wie diese isomorphe App funktioniert, deaktivieren Sie einfach JavaScript in den Entwicklungsfunktionen Ihres Browsers. Wenn Sie Chrome verwenden, finden Sie hier Anweisungen dazu. Wenn Sie die Seite neu laden, sollte die Website genauso funktionieren wie mit aktiviertem JavaScript.

Die Web-App sieht ähnlich aus und ohne JS

Nun prüfen wir das Audit-Ergebnis mithilfe von Leuchtturm. Die Performance liegt bei fast 100, während die SEO-Leistung für Gatsby.js-Anwendungen bei bis zu 90 liegt.

Lighthouse-Metriken für SEO-optimierte React-App

Wenn diese Website auf dem Produktionsserver wäre, wären alle Indikatoren etwa 100.

Unsere Erfahrung bei der Entwicklung von React-SEO-optimierten Apps

Bei Yalantis konzentrierte sich eines unserer Projekte auf die Entwicklung einer Web-App für einen spanischen Anbieter von Immobiliendienstleistungen. Da der Markt sehr wettbewerbsintensiv ist, haben wir viel Arbeit in die SEO investiert. Wir haben ein spezialisiertes Unternehmen konsultiert, um SEO-freundliche Lösungen wie:

  • Eine URL-Erstellungsmethode, die darauf basiert, Abfragenparameter in URLs zu vermeiden, indem Suchfilter verwendet werden und beim Implementieren der erforderlichen URLs auf den URL-Parsing-Mechanismus geachtet wird;
  • Verwendung von Metadaten;
  • Einführung einer dynamischen XML-Sitemap und mehr.

Schauen Sie sich die Ergebnisse unserer Zusammenarbeit an Truhoo um ein vollständiges Bild davon zu bekommen, was wir gemeinsam erreicht haben.

Die wichtigsten Punkte 

Single-Page-React-Anwendungen bieten außergewöhnliche Performance, nahtlose Interaktionen, die an native Anwendungen erinnern, eine geringere Serverlast und eine einfache Webentwicklung.

Probleme mit SEO sollten keinen Grund dafür sein, die React-Bibliothek zu meiden. Stattdessen können Sie die oben genannten Lösungen nutzen, um dieses Problem zu bewältigen. Zudem werden Suchmaschinen-Crawler jedes Jahr intelligenter, sodass die SEO-Optimierung in Zukunft möglicherweise nicht mehr ein Hindernis für die Verwendung von React sein wird.

Sie benötigen einen zuverlässigen Partner für die Entwicklung maßgeschneiderter Software?

Wir können Ihnen helfen

Sehen Sie, was wir gemeinsam erreichen können

Über den Autor

Foto von Bohdan Ivanchenko

React.js-Entwickler

Bohdan kombiniert agile und TDD-Praktiken mit einem Schwerpunkt auf stark typisierten Programmiersprachen wie TypeScript und neuen Interessensgebieten wie Rust.