Adjet

ads.txt in WordPress einrichten: Anleitung für AdSense & Co.

Du willst ads.txt in WordPress einrichten, weil AdSense in deinem Konto plötzlich vor „Earnings at risk" warnt? Hier ist die vollständige Anleitung: was die Datei überhaupt ist, wie eine Zeile aufgebaut ist, welcher Einrichtungsweg wirklich hält und welche Fehler dich am meisten Geld kosten.

Wer ads.txt in WordPress einrichten will, landet meistens über denselben Weg hier: ein Blick ins AdSense-Konto, und dort prangt die berüchtigte Meldung „Earnings at risk" oder „Einnahmen gefährdet". Keine Panik, das ist kein Ausschluss aus dem Programm, sondern ein Hinweis, dass auf deiner Domain eine gültige ads.txt-Datei fehlt oder fehlerhaft ist. Dieser Beitrag erklärt, was die Datei überhaupt macht, wie eine Zeile aufgebaut ist, welche Einrichtungswege es in WordPress gibt und wie du prüfst, ob am Ende auch wirklich alles stimmt. Zur technischen Einbindung von AdSense insgesamt, von der Kontoverifizierung bis zur Anzeigenplatzierung, findest du die komplette Anleitung im Beitrag Google AdSense in WordPress einbinden. Hier geht es ausschließlich um die ads.txt im Detail.

Was ist eine ads.txt-Datei?

ads.txt steht für „Authorized Digital Sellers" und ist ein offener Standard des IAB Tech Lab, der Interessenvertretung der digitalen Werbebranche. Die Idee dahinter: eine simple Textdatei im Root-Verzeichnis deiner Domain listet auf, welche Werbenetzwerke und Vermarkter berechtigt sind, Werbeflächen auf genau dieser Website zu verkaufen. Werbetreibende und ihre Systeme können vor jedem Gebot automatisiert prüfen, ob der Anbieter, der ihnen gerade ein Werbeplatz auf deiner Seite anbietet, tatsächlich autorisiert ist.

Der Grund für diesen Standard ist Ad-Fraud in Form von sogenanntem Domain-Spoofing: Betrüger geben vor, Werbeflächen auf bekannten, seriösen Domains zu verkaufen, obwohl sie damit gar nichts zu tun haben. Werbebudget fließt dann an Betrüger statt an echte Websitebetreiber, und Werbetreibende bezahlen für Impressionen, die nie auf der vorgegebenen Seite ausgespielt wurden. Eine korrekt gepflegte ads.txt macht diese Masche für deine Domain wirkungslos, weil jeder, der prüft, sofort sieht, welche Verkäufer wirklich autorisiert sind, und alle anderen ignorieren kann.

Warum verlangt AdSense eine ads.txt? Die „Earnings at risk"-Warnung erklärt

Google AdSense war eines der ersten großen Netzwerke, das ads.txt konsequent durchgesetzt hat, und genau daher stammt die Warnung, die die meisten Menschen überhaupt erst zu diesem Thema führt. Steht in deinem AdSense-Konto eine Meldung wie „Einnahmen gefährdet" oder „Earnings at risk", bedeutet das: Google hat auf deiner Domain keine oder keine korrekte ads.txt-Datei gefunden, in der deine Publisher-ID als autorisierter Verkäufer eingetragen ist.

Die Konsequenz ist gestaffelt und nicht sofort dramatisch, aber auch nicht zu ignorieren. Zunächst sinken tendenziell die Gebote, weil zahlreiche Nachfrageplattformen und programmatische Käufer inzwischen so konfiguriert sind, dass sie auf Domains ohne gültige ads.txt gar nicht erst mitbieten oder ihre Gebote reduzieren. Bleibt der Zustand über längere Zeit bestehen, kann Google die Anzeigenauslieferung auf der betroffenen Domain zusätzlich einschränken. Die gute Nachricht: Der Fix ist in aller Regel simpel, du brauchst nur die richtige Zeile an der richtigen Stelle, und die Warnung verschwindet nach der nächsten Prüfung durch Google von selbst.

Aufbau einer ads.txt-Zeile: Domain, Publisher-ID, Beziehungstyp, TAG-ID

Jede Zeile in einer ads.txt-Datei folgt demselben Schema aus vier durch Kommas getrennten Feldern. Eine typische AdSense-Zeile sieht so aus:

google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0

Die vier Felder im Einzelnen:

  • Domain des Werbenetzwerks: Bei AdSense immer google.com. Arbeitest du mit mehreren Netzwerken, hat jedes seine eigene Domain und damit seine eigene Zeile.
  • Publisher-ID: Deine individuelle Kennung im jeweiligen Netzwerk, bei AdSense im Format pub- gefolgt von einer 16-stelligen Ziffernfolge. Du findest sie in deinem AdSense-Konto unter Konto, meist auch direkt in der ads.txt-Empfehlung, die Google dir anzeigt.
  • Beziehungstyp, DIRECT oder RESELLER: DIRECT bedeutet, du als Websitebetreiber verkaufst deine Werbefläche direkt an dieses Netzwerk, so wie es bei AdSense der Normalfall ist. RESELLER bedeutet, ein Zwischenhändler ist autorisiert, deine Fläche im Auftrag weiterzuverkaufen, etwa wenn du über einen Vermarkter oder ein Werbenetzwerk-Partnerprogramm läufst.
  • TAG-ID, optional: Eine Zertifizierungs-ID des jeweiligen Netzwerks, bei AdSense die feste Kennung f08c47fec0942fa0. Sie ist technisch optional, aber empfehlenswert, weil sie zusätzlich bestätigt, dass die Domain tatsächlich zu Google gehört und nicht nur behauptet, mit Google zusammenzuarbeiten.

Nutzt du neben AdSense weitere Werbenetzwerke, etwa über Adjet oder ein anderes Ad-Management-Tool, braucht jedes Netzwerk seine eigene Zeile mit seiner eigenen Publisher-ID. Die Datei wächst dann einfach zeilenweise, eine Zeile pro Netzwerk und Beziehung, mehr ist nicht nötig.

ads.txt in WordPress einrichten: die Wege im ehrlichen Vergleich

Für WordPress gibt es im Kern drei Wege, die Datei ans Ziel zu bringen. Alle drei funktionieren, sie passen nur zu unterschiedlichen Situationen und unterschiedlich viel technischem Zugriff.

Manuell per FTP ins Root-Verzeichnis (sauberster Weg)

Der direkteste und zuverlässigste Weg ist der Upload per FTP oder über den Datei-Manager deines Hosters, weil die Datei danach exakt dort liegt, wo Crawler sie erwarten, unabhängig von WordPress, Themes oder Plugins. So gehst du vor:

  1. Öffne ein FTP-Programm oder den Datei-Manager im Hosting-Kontrollzentrum und verbinde dich mit deinem Webspace.
  2. Navigiere ins Root-Verzeichnis deiner Domain, meistens public_html, www oder ein Ordner mit dem Domainnamen, je nach Hoster. Wichtig: Das ist derselbe Ordner, in dem auch die wp-config.php deiner WordPress-Installation liegt, nicht ein Unterordner wie /wp-content/.
  3. Erstelle lokal eine reine Textdatei namens ads.txt, ganz ohne Formatierung, am besten mit einem einfachen Texteditor statt Word oder ähnlichen Programmen.
  4. Trage die Zeile oder Zeilen deiner Werbenetzwerke ein, eine Zeile pro Netzwerk, jeweils mit Domain, Publisher-ID, Beziehungstyp und optionaler TAG-ID.
  5. Lade die Datei ins Root-Verzeichnis hoch und prüfe im Anschluss direkt im Browser, ob sie erreichbar ist.

Dieser Weg überlebt Theme-Wechsel, Plugin-Updates und WordPress-Updates gleichermaßen, weil die Datei komplett unabhängig vom CMS existiert. Der einzige Nachteil: Du brauchst FTP-Zugriff oder Zugang zum Datei-Manager deines Hosters.

Per Plugin

Hast du keinen FTP-Zugriff oder arbeiten mehrere Personen an der Seite, ohne dass alle Serverzugang haben sollen, liefert ein Plugin die Datei virtuell aus, meist über eine WordPress-Regel, die Anfragen an /ads.txt abfängt und den hinterlegten Inhalt ausgibt. Das ist bequem und schnell im Backend gepflegt, hat aber einen Haken: Funktioniert die Regel aus irgendeinem Grund nicht mehr, etwa nach einem Plugin-Konflikt oder einer fehlerhaften Permalink-Einstellung, verschwindet die Datei ohne offensichtlichen Grund, und du merkst es erst, wenn die AdSense-Warnung wieder auftaucht.

Über den Hoster

Manche Hosting-Kontrollzentren bieten eine eigene Oberfläche, um Dateien im Root-Verzeichnis direkt im Browser zu bearbeiten, ganz ohne separates FTP-Programm. Technisch ist das derselbe Weg wie die manuelle FTP-Variante, nur mit einer bequemeren Oberfläche. Wo verfügbar, ist das eine gute Alternative, wenn du kein FTP-Programm installieren möchtest.

Ehrlich gesagt bleibt der manuelle Weg per FTP oder Datei-Manager der robusteste, weil er komplett unabhängig von WordPress funktioniert. Ein Plugin ist die pragmatische Lösung, wenn FTP-Zugriff fehlt, sollte aber danach nicht vergessen werden, sondern regelmäßig mitgeprüft werden.

Prüfen, ob die ads.txt wirklich erreichbar ist

Nach der Einrichtung lohnt sich immer ein Klartext-Check: Öffne deinedomain.de/ads.txt direkt im Browser. Du solltest den reinen Text der Datei sehen, keine 404-Fehlermeldung, keine Weiterleitung auf die Startseite und keine HTML-Seite drumherum. Prüfe dabei sowohl die Version mit www. als auch ohne, sowie mit https://, denn genau an dieser Stelle passieren die meisten Fehler, die im nächsten Abschnitt näher erklärt werden.

ads.txt Fehler beheben: die häufigsten Stolperfallen

Ein paar Fehler tauchen bei der Einrichtung immer wieder auf, meist unbemerkt, bis die Auswertung in AdSense schwächer ausfällt als erwartet.

  • Datei im falschen Verzeichnis: Die ads.txt liegt in einem Unterordner statt im echten Root-Verzeichnis, etwa versehentlich in /wp-content/ oder einem Backup-Ordner. Erreichbar sein muss sie exakt unter deinedomain.de/ads.txt, keine Ebene tiefer.
  • Subdomain-Problem: Läuft deine Werbung auf einer Subdomain, etwa blog.deinedomain.de, braucht diese Subdomain unter Umständen eine eigene ads.txt, je nachdem, wie das jeweilige Werbenetzwerk die Prüfung durchführt. Verlass dich hier nicht blind darauf, dass die Haupt-Domain automatisch mitgilt.
  • www- oder non-www-Version vergessen: Ist deine Seite nur unter einer der beiden Varianten korrekt eingerichtet, während Crawler die andere abrufen, kann die Datei als nicht vorhanden gelten. Prüfe beide Varianten und richte im Zweifel eine saubere Weiterleitung ein.
  • Caching liefert eine alte Version aus: Ein Cache-Plugin oder ein vorgeschalteter CDN-Dienst kann eine veraltete Fassung der Datei ausliefern, obwohl du längst eine neue Zeile ergänzt hast. Leere nach Änderungen gezielt den Cache für /ads.txt.
  • Weitere Netzwerke vergessen: Wer neben AdSense noch weitere Werbenetzwerke nutzt, etwa über ein Ad-Management-Plugin, muss für jedes einzelne Netzwerk eine eigene Zeile ergänzen. Eine unvollständige Liste bedeutet, dass nur ein Teil deiner Verkäufer als autorisiert erkannt wird.
  • Tippfehler in der Publisher-ID: Ein einziges falsches Zeichen in der langen pub--Nummer reicht, damit die Zeile für AdSense wertlos wird. Kopiere die ID am besten direkt aus deinem AdSense-Konto, statt sie von Hand abzutippen.

Wie lange dauert es, bis AdSense die ads.txt erkennt?

Google crawlt Domains regelmäßig, aber nicht in Echtzeit, auf gültige ads.txt-Dateien. Nach dem Hochladen oder Aktualisieren kann es je nach Domain von wenigen Stunden bis zu einigen Tagen dauern, bis die Meldung „Earnings at risk" in deinem AdSense-Konto verschwindet. Ungeduld hilft hier wenig, ein erneuter Upload derselben korrekten Datei beschleunigt die Erkennung nicht. Sinnvoller ist es, in der Zwischenzeit noch einmal in Ruhe zu prüfen, ob die Datei wirklich unter der richtigen URL erreichbar ist und die Publisher-ID exakt stimmt, bevor du wartest.

app-ads.txt kurz erklärt

Neben ads.txt gibt es das Pendant app-ads.txt, das denselben Zweck für mobile Apps erfüllt statt für Websites. Betreibst du zusätzlich zu deiner WordPress-Seite eine eigene App, mit eigenem Werbeinventar in App-Stores, brauchst du dafür eine separate app-ads.txt auf der Domain, die in den App-Store-Metadaten als Entwickler-Website hinterlegt ist. Für eine reine WordPress-Website ohne begleitende App ist app-ads.txt nicht relevant, du kannst diesen Punkt in dem Fall einfach ignorieren.

Wo Adjet ins Spiel kommt

Adjet verwaltet deine Anzeigen selbst, mit eigenem AdSense-Wizard für Publisher- und Slot-ID, gezielter Platzierung und lokaler Statistik direkt im WordPress-Backend. Die ads.txt gehört unabhängig davon zur Grundeinrichtung von AdSense dazu, sie ist kein Feature, das ein Ad-Plugin für dich übernimmt, sondern ein einmaliger Schritt auf Serverebene, den du unabhängig vom gewählten Werbe-Tool erledigen musst. Wie du AdSense insgesamt technisch sauber in WordPress einbindest, von der Kontoverifizierung bis zur Anzeigenplatzierung, liest du im Beitrag Google AdSense in WordPress einbinden. Und wer zusätzlich wissen will, wie Werbung datenschutzkonform mit Consent-Banner und Cookie-Gating läuft, findet das im Beitrag AdSense in WordPress DSGVO-konform einbauen.

Fazit: eine kleine Datei mit großer Wirkung

ads.txt in WordPress einzurichten ist technisch keine große Sache, eine einzige Textdatei mit ein paar Zeilen im Root-Verzeichnis reicht meistens aus. Der Aufwand liegt eher darin, die Zeile korrekt aufzubauen, die Datei an der richtigen Stelle abzulegen und danach wirklich zu prüfen, ob sie erreichbar ist, statt sich auf ein Plugin oder eine Vermutung zu verlassen. Wer die typischen Fehler kennt, falsches Verzeichnis, vergessene Subdomain, www/non-www-Chaos, Caching und Tippfehler in der Publisher-ID, spart sich die „Earnings at risk"-Warnung und die Mindereinnahmen, die damit einhergehen. Wenn du gerade über den Wechsel von einem anderen Werbe-Plugin nachdenkst, lohnt sich zusätzlich ein Blick in unseren Beitrag Ad Inserter Alternative. Mehr zu den Preisen unserer Plugins, inklusive Adjet, findest du auf unserer Preisseite.

Werbung mit Adjet zentral verwalten

Adjet bringt einen eigenen AdSense-Wizard mit, steuert Platzierung zentral und zeigt Klicks und Impressionen lokal im WordPress-Backend. Die ads.txt richtest du unabhängig davon einmalig auf Serverebene ein.

Adjet ansehen

Häufige Fragen zur ads.txt in WordPress

Wo muss die ads.txt liegen?

Die ads.txt muss im Root-Verzeichnis deiner Domain liegen und exakt unter deinedomain.de/ads.txt erreichbar sein, nicht in einem Unterordner wie /wp-content/ oder /blog/. Bei WordPress ist das derselbe Ordner, in dem auch die wp-config.php liegt, meistens public_html oder www je nach Hoster. Lädst du die Datei per FTP hoch, achte darauf, direkt in dieses Wurzelverzeichnis zu navigieren und nicht versehentlich eine Ebene tiefer zu landen.

Was bedeutet die Warnung „Earnings at risk"?

„Earnings at risk", auf Deutsch „Einnahmen gefährdet", zeigt Google AdSense an, wenn auf deiner Domain keine oder keine korrekte ads.txt-Datei mit deiner Publisher-ID gefunden wurde. Die Meldung bedeutet keinen sofortigen Ausschluss, aber tendenziell niedrigere Gebote, weil viele Nachfrageplattformen auf Domains ohne gültige ads.txt gar nicht erst mitbieten. Nach dem korrekten Einrichten der Datei verschwindet die Warnung, sobald Google die Domain erneut geprüft hat.

Muss ich für jedes Werbenetzwerk eine eigene Zeile eintragen?

Ja, jedes Werbenetzwerk braucht seine eigene Zeile mit seiner eigenen Publisher-ID, auch wenn mehrere Netzwerke gleichzeitig auf deiner Website Anzeigen ausspielen. Nutzt du zum Beispiel AdSense und ein weiteres Netzwerk parallel, ergänzt du einfach eine zweite Zeile mit der jeweils passenden Domain und ID des zweiten Anbieters. Eine unvollständige Liste bedeutet, dass nur ein Teil deiner Verkäufer als autorisiert erkannt wird, während die übrigen weiterhin als Risiko gelten.

Wie lange dauert es, bis Google die ads.txt erkennt?

Meistens dauert es zwischen wenigen Stunden und einigen Tagen, bis Google deine Domain erneut crawlt und die aktualisierte ads.txt registriert. Ein erneuter Upload derselben korrekten Datei beschleunigt diesen Prozess nicht. Sinnvoller ist es, in der Wartezeit noch einmal zu prüfen, ob die Datei wirklich unter der richtigen URL ohne 404 oder Weiterleitung erreichbar ist und die Publisher-ID exakt stimmt.

Brauche ich auch eine app-ads.txt?

Nur, wenn du zusätzlich zu deiner WordPress-Website eine eigene mobile App mit Werbeinventar betreibst. app-ads.txt ist das Pendant zu ads.txt für App-Stores und muss auf der Domain liegen, die in den App-Store-Metadaten als Entwickler-Website hinterlegt ist. Für eine reine Website ohne begleitende App ist app-ads.txt nicht relevant und kann ignoriert werden.

Zurück zum Blog Ein Beitrag von hafenstudios