Wenn ich eine WordPress Website aufsetze oder übernehme, gehört die Wahl des SEO Plugins zu den Entscheidungen, die schnell getroffen sind und einen danach oft jahrelang begleiten. Es gibt einige gute Optionen, und in den letzten Jahren habe ich vor allem mit zwei davon umfangreich gearbeitet, mit SEOPress und mit RankMath. Beide kenne ich gut genug, um ihre Stärken zu schätzen. Und trotzdem habe ich inzwischen eine klare Präferenz, die weniger mit Funktionen zu tun hat als mit dem, was ein Plugin im Hintergrund tut.
Die Grundlagen können beide
Um das vorweg zu sagen: An den SEO Grundlagen scheitert keins der beiden Plugins. Titel und Meta Beschreibungen, XML Sitemaps, strukturierte Daten, Weiterleitungen, Breadcrumbs und Open Graph lassen sich mit SEOPress genauso sauber umsetzen wie mit RankMath. Wer nur darauf schaut, findet kaum einen Grund, sich für das eine oder andere zu entscheiden. Am ehesten noch darin, wie sich die Datenpflege im Backend anfühlt 🤓
Der Unterschied zeigt sich erst, wenn man einen Blick unter die Oberfläche wirft. Genauer gesagt in die Datenbank.
Was die Analytics Funktion von RankMath in der Datenbank anrichtet
RankMath bietet ein Analytics Modul an, das Daten aus der Google Search Console und, in der Pro Version, aus Google Analytics direkt ins WordPress Dashboard holt. Das ist bequem. Man sieht Klicks, Impressionen, Positionen und Keywords, ohne WordPress verlassen zu müssen.
Damit das funktioniert, ruft RankMath diese Daten regelmäßig ab und speichert sie in eigenen Datenbanktabellen, etwa rank_math_analytics_gsc, rank_math_analytics_objects und rank_math_analytics_inspections, dazu eine eigene Tabelle für Google Analytics, sobald diese Verbindung aktiv ist. Gespeichert wird dabei nicht nur eine Zusammenfassung, sondern Daten bis auf die Ebene einzelner Suchbegriffe, inklusive Positionsverlauf. Jede weitere Seite, jedes weitere Keyword und jeder weitere Tag bringt also neue Datensätze mit sich.
Wie lange diese Daten aufbewahrt werden, lässt sich in den Einstellungen zur Analytics Datenbank festlegen. Wie viel Arbeit dahintersteckt, zeigt ein Detail aus der RankMath Dokumentation selbst. Dort heißt es, dass der Import von 90 Tagen Daten rund 17 Minuten dauert und mehr Daten entsprechend länger. Und im WordPress Supportforum findet sich der Fall einer Person, deren Datenbank das Limit ihres Hosters erreicht hatte und die deshalb die Search Console Integration abschalten musste.
Für eine kleine Website mag das kaum ins Gewicht fallen. Bei Projekten mit vielen Inhalten, vielen Keywords und längerer Laufzeit sieht das anders aus. Die Datenbank wird größer, Backups werden schwerer, Migrationen und Staging Umgebungen dauern länger, und auf Shared Hosting stößt man schneller an Grenzen. Dazu kommen die regelmäßigen Hintergrundprozesse, die die Daten abholen und verarbeiten.
Was mich dabei am meisten stört, ist die Grundidee. Diese Daten liegen ohnehin bei Google. Die Search Console ist der Ort, an dem sie gepflegt, aufbereitet und über 16 Monate vorgehalten werden. Sie in dieser Tiefe zusätzlich in jeder einzelnen WordPress Installation zu duplizieren, widerspricht dem, was ich unter einer schlanken und datensparsamen Website verstehe.
Wie SEOPress das löst
SEOPress PRO bietet ebenfalls eine Anbindung an die Google Search Console, setzt aber andere Schwerpunkte. Klicks, Impressionen, CTR und durchschnittliche Position erscheinen als Spalten in den Übersichten von Beiträgen, Seiten und anderen Inhaltstypen, sortierbar und genau dort, wo ich redaktionell arbeite. Ich sehe auf einen Blick, welche Inhalte gut laufen und wo sich eine Überarbeitung lohnen könnte, und das reicht mir für den Alltag völlig.
Kurz vor der Veröffentlichung dieses Beitrags ist SEOPress 10.3 erschienen, und dieses Update baut die Search Console Anbindung deutlich aus. Im Dashboard gibt es jetzt ein Diagramm mit dem Verlauf der letzten zwölf Monate, in der SEO Metabox stehen die Kennzahlen des jeweiligen Beitrags, und eine neue Spalte in den Übersichten zeigt den Indexierungsstatus bei Google. Die Zahlen stammen dabei aus der letzten Synchronisierung, damit nicht jeder Aufruf im Backend eine neue Anfrage an Google auslöst.
Damit legt nun auch SEOPress mehr Daten in WordPress ab als zuvor, und das gehört fairerweise erwähnt. Der Unterschied zu RankMath liegt in der Tiefe. SEOPress arbeitet mit Kennzahlen pro Inhalt und dem Gesamtverlauf der Website, nicht mit einer Historie für jeden einzelnen Suchbegriff. Das hält die Datenmenge überschaubar. Wie sich das in kommenden Versionen weiterentwickelt, wird spannend zu beobachten sein.
Ehrlicherweise ist die Einrichtung bei SEOPress etwas aufwendiger. Man legt dafür in der Google Cloud Console ein eigenes Dienstkonto an und gibt ihm Zugriff auf die Search Console, statt die Website über ein Konto beim Plugin Anbieter zu verbinden. Genau das empfinde ich aber als Vorteil. Die Verbindung läuft direkt zwischen meiner Website und Google, ohne zusätzlichen Dienst dazwischen.
Das gilt übrigens nicht nur für die Search Console. Um RankMath PRO überhaupt zu aktivieren, muss die Website mit dem RankMath Konto verbunden werden, einen klassischen Lizenzschlüssel gibt es dort nicht. Bei SEOPress PRO trage ich einen Lizenzschlüssel ein, damit Updates und Support funktionieren, ein Nutzerkonto muss ich mit der Website aber nicht verbinden, um die Funktionen zu nutzen. Das ist kein riesiger Unterschied, fühlt sich für mich aber noch etwas mehr nach Datenschutz und Unabhängigkeit an.
Auch sonst merkt man SEOPress an, dass eine saubere Datenbank ernst genommen wird. Seit Version 6.2 bringt SEOPress eine Deinstallationsroutine mit, die die Datenbank aufräumt, und leere Metadaten werden gar nicht erst gespeichert.
Und wie sieht es mit Keyword Tracking aus?
Wer Keywords gezielt verfolgen möchte, kann SEOPress um SEOPress Insights ergänzen. Das ist eine eigene Erweiterung, mit der sich die Rankings ausgewählter Keywords in Google beobachten, Wettbewerber vergleichen und Backlinks überwachen lassen. Für manche Projekte ist das eine sinnvolle Ergänzung.
Für mich persönlich fühlt es sich aber nicht wie das Gleiche an. Ein Rank Tracker beobachtet die Keywords, die vorher ausgewählt worden sind. Die Search Console zeigt dagegen, wofür meine Inhalte tatsächlich gefunden werden, auch bei Suchbegriffen, an die ich selbst nie gedacht hätte. Genau dort entstehen für mich die spannendsten Erkenntnisse.
Für die Auswertung nutze ich deshalb direkt die Google Search Console oder, noch lieber, SEO Gets. SEO Gets baut auf den Daten der Search Console auf und macht sie deutlich schneller und übersichtlicher auswertbar, ohne dass dafür etwas in meiner WordPress Datenbank landen muss. So bleibt die Aufgabenteilung für mich klar. WordPress kümmert sich um Inhalte und ihre technische Grundlage, die Auswertung passiert dort, wo die Daten ohnehin liegen.
SEOPress und RankMath im direkten Vergleich
| Merkmal | RankMath | SEOPress |
|---|---|---|
| Datenabruf Search Console | automatisch in festen Abständen | Synchronisierung, angezeigt wird der letzte Stand |
| Speicherung | eigene Datenbanktabellen | gespeicherter Stand der letzten Synchronisierung |
| Detailtiefe | bis auf Suchbegriffe mit Positionsverlauf | Inhalte und Gesamtverlauf der Website |
| Verbindung zu Google | über das RankMath Konto | über ein eigenes Dienstkonto in der Google Cloud |
| Aktivierung der Pro Version | Verbindung mit dem RankMath Konto | Lizenzschlüssel, ohne Kontoverbindung |
| Wachstum der Datenbank | wächst mit Laufzeit, Inhalten und Keywords | bleibt überschaubar |
| Branding in der Sitemap | Hinweis auf RankMath | kein Branding |
| Einrichtung | schnell | etwas aufwendiger |
Wer wissen möchte, wie viel Platz RankMath auf der eigenen Website bereits belegt, kann das mit einer einfachen Abfrage prüfen, zum Beispiel über phpMyAdmin oder Adminer.
SELECT table_name,
ROUND((data_length + index_length) / 1024 / 1024, 1) AS size_mb
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name LIKE '%rank_math%'
ORDER BY size_mb DESC;
Wenn RankMath die Website wieder verlassen soll
Ein Punkt, der mir bei RankMath immer wieder begegnet, betrifft den Abschied. Wer das Plugin deaktiviert und löscht, entfernt damit nicht automatisch seine Daten. Tabellen, Einstellungen und Metadaten bleiben in der Datenbank zurück. RankMath begründet das damit, dass das Plugin manchmal nur vorübergehend entfernt wird, etwa bei der Fehlersuche, und dann nichts verloren gehen soll. Das ist nachvollziehbar, führt in der Praxis aber dazu, dass auf vielen Websites Reste liegen bleiben, die niemand mehr braucht.
Wer RankMath vollständig entfernen möchte, muss vorher einen kleinen Filter setzen. RankMath empfiehlt dafür die functions.php des Themes. Ich lege solche Schnipsel lieber in ein kleines Must Use Plugin oder ein Snippet Plugin, damit sie nicht an das Theme gebunden sind.
add_filter( 'rank_math_clear_data_on_uninstall', '__return_true' );
Sobald der Filter aktiv ist, zeigt RankMath in der Pluginübersicht einen Hinweis, dass das Löschen nun nicht mehr rückgängig zu machen ist. Danach wird das Plugin wie gewohnt deaktiviert und gelöscht. Anschließend lohnt sich trotzdem ein Blick in die Datenbank, denn RankMath empfiehlt selbst, verbliebene Tabellen mit dem Präfix rank_math von Hand zu entfernen. Die Abfrage von oben hilft dabei. Und wie immer gilt vorher, ein aktuelles Backup anzulegen.
Und die anderen SEO Plugins?
SEOPress und RankMath sind natürlich nicht die einzigen Optionen. Slim SEO verfolgt einen bewusst minimalistischen Ansatz und nimmt einem vieles automatisch ab, ohne mit Einstellungen zu überfrachten. The SEO Framework ist seit Jahren für seine schlanke und saubere Umsetzung bekannt. Und Yoast ist der Klassiker, der mit seinen Indexables ebenfalls eigene Tabellen anlegt, wenn auch mit einem anderen Ziel. Alle haben ihre Berechtigung und natürlich auch Fans, und je nach Projekt kann jedes davon die richtige Wahl sein. Mit SEOPress und RankMath habe ich aber am meisten Erfahrung, deshalb bleibe ich in diesem Beitrag bei diesen beiden.
Was das für meine Arbeit bedeutet
Fairerweise muss man sagen, dass sich das Analytics Modul in RankMath abschalten lässt. Wer es nicht nutzt, hat das beschriebene Problem nicht. Trotzdem sagt die Richtung eines Produkts viel darüber aus, wofür es gedacht ist. RankMath möchte möglichst viel in WordPress bündeln. SEOPress versteht sich eher als Werkzeug, das seine Aufgabe erledigt und sonst nicht weiter auffällt.
Ganz frei von Eigenwerbung ist allerdings auch SEOPress nicht mehr. Seit Kurzem tauchen im Backend Hinweise auf weitere eigene Produkte auf, obwohl SEOPress auf seiner Pluginseite bei WordPress.org weiterhin damit wirbt, im Admin Bereich auf Upsells zu verzichten. Das gehört zu einem ehrlichen Vergleich dazu. An den entscheidenden Stellen bleibt SEOPress trotzdem zurückhaltend. Die XML Sitemap kommt ohne Branding aus, während RankMath dort einen Hinweis auf sich selbst einfügt. Und mit der White Label Funktion, die schon in der kostenlosen Version enthalten ist, lässt sich das SEOPress Branding im Backend größtenteils entfernen, was gerade bei Kundenprojekten angenehm sein kann.
Für mich ist das am Ende eine Frage der Haltung. Suchdaten gehören in die Search Console, Inhalte gehören in WordPress. Eine Website sollte so schlank bleiben, dass sie sich leicht sichern, umziehen und warten lässt, auch in fünf Jahren noch. SEOPress passt zu diesem Anspruch besser, und deshalb ist es in den meisten meiner Projekte meine erste Wahl.
Mich würde interessieren, wie du das siehst. Welches SEO Plugin setzt du ein, und hast du schon einmal nachgeschaut, wie groß deine Datenbank dadurch geworden ist?