Von Spam-Signalen und Ranking-Faktoren

Kaum ein Artikel über aktuelle Google-Rankingverfahren oder -Filter kommt inzwischen ohne das Wörtchen „Signal“ aus. Wo noch vor wenigen Jahren von Rankingfaktor oder Rankingkriterium die Rede war, geht’s heute stets um Signale. Google selbst benutzt den Ausdruck ebenfalls regelmäßig:

PageRank (..) is just one of over 200 signals that can affect how your site is crawled, indexed and ranked

Was aber ist mit Signal gemeint? Google wendet sich damit gegen das verbreitete Schwarz-Weiß-Denken: Eine Seite hat viele Footer-Links, also ist sie Spam. Eine Seite hat sehr hohen Trust, also kann sie kein Spam sein. Vielmehr geht es darum, eine Vielzahl von Hinweisen oder Merkmalen – Signale eben – auszuwerten und fürs Ranking zu benutzen. In gewisser Weise sind Signale nichts anderes als „weiche“ Rankingfaktoren: Sie können einen Einfluss haben, müssen aber nicht. Erst wenn mehrere Signale zusammenwirken, hat das Einfluss auf die Position der bewerteten Seite. Insbesondere wenn’s um die Spamerkennung geht, sind Signale für Google wichtig. Ein böser Link alleine führt kaum zu einer Abwertung. Erst wenn Google sieht, dass viele böse Links vorhanden sind, aber wenige gute, kann das Auswirkungen haben.

Dabei ist der Umgang mit Signalen nichts, was Google erfunden hätte. Das grundlegende Vorgehen wird seit Jahren in E-Mail-Spamfiltern angewendet. In einer ansonsten tadellosen E-Mail wird das einmalige Vorkommen von „viagra“ nicht zur Bewertung als Spam führen. Kommen aber zum Signal „viagra“ noch weitere Signale (eine zweifelhafte Absender-IP, weitere böse Wörter usw.) hinzu, wird der Spamfilter die E-Mail irgendwann als Spam deklarieren.

Übertragen wir doch dieses Vorgehen einmal auf die Spamerkennung von Suchmaschinen. Wo E-Mail-Filter mit bösen Wörtern hantieren, muss sich der Google-Algorithmus mit Spamsignalen herumschlagen. Dazu könnten Signale gehören wie „Zu viele böse Backlinks“, „Zu hohe Keyword-Dichte“ oder „Zu viele externe Footer-Links“. Wir nennen diese drei Kriterien k1, k2 und k3. Alle Kriterien gemeinsam bezeichnen wir als K. (In Wirklichkeit gibt es natürlich viel mehr als nur drei solcher Signale, ich möchte das ganze hier aber relativ einfach halten.)

Nun haben die Google-Anti-Spam-Mitarbeiter fleißig hunderttausende von bösen und guten Seiten untersucht, entsprechend eingeteilt und dabei folgende Wahrscheinlichkeiten festgestellt:

Die Tabelle sagt aus, dass lediglich auf 10 Prozent der guten Seiten („Ham“) zu viele böse Backlinks gefunden wurden, aber auf 80 Prozent der bösen Seiten („Spam“). Entsprechendes gilt für die anderen beiden Kriterien. So sehen wir auf einen Blick, dass das Kriterium „Böse Backlinks“ ein gutes Signal für eine Spamseite ist. Würde Google nun aber eine Regel aufstellen, die sagt: „Wer zu viele böse Backlinks hat, ist Spam!“, dann würden zehn Prozent aller guten Seiten fälschlicherweise als Spam deklariert. Eine derart hohe Fehlerrate dürfte Google sicherlich zu hoch sein. Würde Google aber umgekehrt verlangen, dass alle drei Kriterien erfüllt sein müssen, kämen zu viele böse Seiten in den Index.

Falsche Wahrscheinlichkeiten

Unser Problem liegt nun darin, dass wir die „falschen“ Wahrscheinlichkeiten haben. Die obige Tabelle zeigt uns, dass 80% der Spamseiten zu viele böse Backlinks haben. Etwas mathematischer ausgedrückt heißt das:

Das liest sich in etwa so: Die Wahrscheinlichkeit, dass das Kriterium k1 unter der Voraussetzung „Spam“ erfüllt ist, liegt bei 0.8.

Uns interessiert aber genau die „umgekehrte“ Wahrscheinlichkeit! Also die Wahrscheinlichkeit, dass eine Seite unter der Voraussetzung K „Spam“ ist:

Für diese Umkehrung gibt es (unter bestimmten Voraussetzungen) eine bereits seit dem 18. Jahrhundert bekannte Formel, der berühmte Satz von Bayes, der dem Bayes-Filter seinen Namen verlieh.

Was sind nun aber die beiden Wahrscheinlichkeiten P(Spam) und P(K)? P(Spam) gibt an, wie wahrscheinlich es ist, dass eine Seite „Spam“ ist – das entspricht also einfach dem Anteil der Spamseiten an allen Seiten im Google-Index. Wir nehmen an, ähnlich wie im klassischen E-Mail-Spamfilter, dass sich gute und böse Seiten die Waage halten, die Spamwahrscheinlichkeit also bei 50 Prozent liegt:

P(K) hingegen ergibt sich aus der Signal-Tabelle. Da entsprechend unserer Annahme „Ham“- und „Spam“-Seiten gleichverteilt sind, erhalten wir:

Setzen wir nun die Daten ein, ergibt sich diese kleine Rechnung:

Das Ergebnis überrascht uns noch nicht wirklich. Eine Seite, die zu viele böse Backlinks hat, ist mit einer Wahrscheinlichkeit von 89 Prozent eine Spamseite. Da die obige Tabelle sagt, dass zehn Prozent der guten Seiten böse Backlinks haben, sollten wir eine Spamwahrscheinlichkeit von etwa 90 Prozent erwartet haben. Spannender wird die Rechnerei aber, wenn wir diese Formel auf mehrere Kriterien verallgemeinern. Dazu müssen wir annehmen, dass die einzelnen Kriterien voneinander unabhängig sind. Ist dies der Fall, dürfen wir die Einzelwahrscheinlichkeiten einfach multiplizieren:

(Diese „naive“ Annahme, dass die einzelnen Kriterien unabhängig sind, verleiht dem hier vorgestellten Bayes-Filter seinen korrekten Namen „Naiver Bayes-Filter“. Naiv ist die Annahme deshalb, weil ein Spammer, der zu viele böse Backlinks setzt, wohl auch eine zu hohe Keyword-Dichte einsetzt und schon sind beide Kriterien nicht mehr statistisch voneinander unabhängig.)

Nach einiger Rechnerei, die z.B. hier genauer aufgeführt ist, erhalten wir diese Formel, in die wir einfach unsere Daten aus der Signaltabelle einsetzen können:

Als erstes rechnen wir mit dieser Formel nochmals zur Kontrolle unsere Spamwahrscheinlichkeit für eine Seite aus, auf der lediglich das Kriterium k1(„Zu viele böse Backlinks“) erfüllt ist:

Nun betrachten wir die Wahrscheinlichkeit, wenn die ersten beide Kriterien („Backlinks“, „Keyword-Dichte“) erfüllt sind:

Die Spamwahrscheinlichkeit steigt deutlich an; sicher sind wir nun in einem Bereich, in dem Google auf das Spamming reagieren wird.

Was aber passiert, wenn unsere Seite auch noch Kriterium 3 („Footer-Links“) erfüllt?

Hier ändert sich nicht mehr viel. Das hat natürlich damit zu tun, dass das dritte Kriterium zwar auf 90% der Spamseiten zu finden ist, aber auch auf sehr vielen (60%) der guten Seiten – und damit ist dieses Kriterium wenig unterscheidungskräftig.

Deutlicher wird das Ganze, wenn wir uns ansehen, was bei den beiden Kriterien zwei und drei passiert:

Hier erhalten wir eine Spamwahrscheinlichkeit von lediglich 82 Prozent.

Fazit

Aber sollten 82 Prozent nicht gut genug sein, eine Seite abzustrafen? Im Einzelfall mag das womöglich plausibel erscheinen. Aber stellen wir uns mal eine Million Seiten vor, auf denen die beiden Kriterien zwei und drei erfüllt sind. Ein Spamwahrscheinlichkeit von 82 Prozent sagt hier aus, dass 820.000 Seiten tatsächlich Spam sind. Allerdings würden wir 180.000 gute Seiten zu unrecht abwerten – und das hätte negative Auswirkungen auf unseren Index. Denn Nutzer würden nun gute Seiten nicht mehr finden können.

Umgekehrt heißt das aber auch, dass Seiten, die viele gute Signale haben, locker einige Spam-Signale vertragen, ohne gleich abgewertet zu werden. Wer nun unbekümmert auf seinem neuen, kleinen SEO-Projekt alles nachmacht, was eine Topseite so anstellt, sollte sich nicht wundern, wenn er dafür abgestraft wird. Denn die Topseite retten ihre vielen positiven Signale, während das kleine SEO-Projekt lediglich die negativen Spam-Signale vorweisen kann.

Wichtig an diesem kleinen mathematischen Ausflug sind nicht die Details der Rechnung oder die genauen Ergebnisse. Mir ging es vielmehr darum, an einigen konkreten Beispielen die Wirkungsweise von Spam-Signalen aufzuzeigen. Besonders schön sieht man dies am geringen Einfluss des Signals „Zu viele Footer-Links“; dieses Signal kommt zwar auf 90% aller Spamseiten vor, trotzdem hat es kaum Auswirkungen auf die Spameinschätzung unseres Algorithmus.

Hinweis: Die aufgeführten Spam-Kriterien und ihre Wahrscheinlichkeiten sind pure Fantasie! Ebenso funktioniert der Google-Algorithmus sicherlich anders als hier anhand des Bayes-Filters erklärt. Die Rechnungen dienen lediglich dazu, den mathematischen Sachverhalt anhand einiger konkreter Zahlen zu verdeutlichen.