Skip to main content

Du kennst das sicher: Du willst nur schnell ein neues Plugin testen, ein paar Zeilen Code in dein WordPress-Theme einfügen oder ein Update machen – und plötzlich knallt dir WordPress eine kryptische Fehlermeldung um die Ohren. „Cannot modify header information – headers already sent by (output started at …)“ – und das mitten im schönsten Flow! Herzlichen Glückwunsch, du bist in die berüchtigte Header-Falle getappt. Aber keine Sorge: In diesem Artikel nehmen wir dich an die Hand, erklären dir, was es mit diesem Fehler auf sich hat, wie du die Output-Quelle findest und wie du das Problem ein für alle Mal stoppst. Und das alles mit einer Prise Humor, einer ordentlichen Portion Fachwissen und – versprochen – ohne Bullshit-Bingo.

WordPress „Cannot modify header information – output started at …“ – Output-Quelle finden & stoppen

WordPress ist das beliebteste Content-Management-System der Welt. Laut W3Techs läuft über 43% aller Websites im Internet mit WordPress. Das macht es zum Liebling von Blogger:innen, Unternehmen, Shops und Kreativen – aber auch zum Tummelplatz für Fehler, die einen in den Wahnsinn treiben können. Einer der häufigsten und nervigsten Fehler ist der berüchtigte Header-Fehler. Laut WordPress Support Forum gehört er zu den Top 10 der meistdiskutierten Probleme. Zeit, das Biest zu zähmen!

Also, schnapp dir einen Kaffee, lehn dich zurück und lass uns gemeinsam in die Untiefen von PHP, Output Buffering und Header-Management eintauchen. Am Ende weißt du nicht nur, wie du den Fehler findest und behebst – du bist auch ein kleines bisschen schlauer als vorher. Versprochen!

  • Was bedeutet „Cannot modify header information – headers already sent by …“ eigentlich?

    Diese Fehlermeldung ist ein echter Klassiker in der PHP- und WordPress-Welt. Sie bedeutet, dass WordPress (bzw. PHP) versucht, HTTP-Header zu senden – aber das ist zu spät, weil schon eine Ausgabe (Output) an den Browser geschickt wurde. HTTP-Header müssen immer vor jeglicher Ausgabe (HTML, Leerzeichen, Text, etc.) gesendet werden. Sobald etwas an den Browser geschickt wurde, ist der Header-Zug abgefahren. PHP meckert dann mit dieser Meldung:

    Warning: Cannot modify header information - headers already sent by (output started at /pfad/zur/datei.php:123)

    Die Meldung verrät dir sogar, wo der Output gestartet wurde – nämlich in der angegebenen Datei und Zeile. Klingt einfach, ist aber manchmal ganz schön tricky.

  • Warum ist das ein Problem?

    WordPress (und viele Plugins) müssen HTTP-Header setzen, z.B. für Weiterleitungen, Cookies, Login-Status oder Caching. Wenn das nicht mehr geht, funktionieren wichtige Features nicht mehr – von der Anmeldung bis zum Shop-Checkout. Im schlimmsten Fall ist deine Seite komplett zerschossen.

  • Wie entsteht der Fehler?

    Die häufigsten Ursachen sind:

    • Unbeabsichtigte Ausgabe vor dem Header: Ein Leerzeichen, eine Zeile, ein Echo, ein var_dump – und schon ist der Header weg.
    • Fehler in Plugins oder Themes: Besonders bei schlecht programmierten Erweiterungen oder selbst gebasteltem Code.
    • UTF-8 BOM: Unsichtbare Zeichen am Anfang einer Datei, die von manchen Editoren eingefügt werden.
    • Fehlerhafte PHP-Konfiguration: Selten, aber möglich – z.B. wenn Output Buffering deaktiviert ist.
Siehe auch  Wordpress Broken-Link-Audit: Tools & Reparatur-Strategien

Die Output-Quelle finden: Detektivarbeit mit System

Jetzt wird’s spannend: Wie findest du heraus, wo der Output startet? Hier kommt die Schritt-für-Schritt-Anleitung für echte WordPress-Detektive:

  • 1. Fehlermeldung genau lesen

    Die Meldung verrät dir, in welcher Datei und in welcher Zeile der Output gestartet wurde. Beispiel:

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/themes/mein-theme/functions.php:42)

    Hier ist die functions.php deines Themes in Zeile 42 der Übeltäter. Öffne die Datei und schau dir die Zeile (und die Zeilen davor und danach) genau an.

  • 2. Nach unsichtbaren Zeichen suchen

    Oft sind es Leerzeichen oder leere Zeilen vor dem <?php oder nach ?> am Anfang oder Ende der Datei. Auch ein unsichtbares UTF-8 BOM kann schuld sein. Öffne die Datei in einem Editor wie Notepad++ oder VS Code und stelle sicher, dass keine unsichtbaren Zeichen vorhanden sind. Speichere die Datei als „UTF-8 ohne BOM“.

  • 3. Nach Echo, Print, Var_dump & Co. suchen

    Jede direkte Ausgabe in PHP (z.B. echo, print, var_dump, printf) vor dem Senden der Header ist ein Problem. Suche nach solchen Befehlen – manchmal reicht schon ein Debug-Statement, das vergessen wurde.

  • 4. Plugins und Theme-Dateien checken

    Wenn die Fehlermeldung auf ein Plugin verweist, deaktiviere es testweise. Tritt der Fehler dann nicht mehr auf, hast du den Schuldigen gefunden. Bei eigenen Theme-Anpassungen: Prüfe alle Dateien, die in der Meldung genannt werden – besonders functions.php, header.php und footer.php.

  • 5. Output Buffering als Notlösung

    Du kannst mit ob_start(); am Anfang deiner wp-config.php oder functions.php das Output Buffering aktivieren. Das ist aber nur ein Workaround und keine echte Lösung! Besser: Finde und behebe die Ursache.

  • 6. Debugging aktivieren

    Setze in deiner wp-config.php folgende Zeile, um alle Fehler anzuzeigen:

    define('WP_DEBUG', true);

    So bekommst du mehr Infos und kannst gezielter suchen.

Siehe auch  WooCommerce Performance: Caching-Plugins im Vergleich

Typische Fehlerquellen im Überblick

Fehlerquelle Beschreibung Lösung
Leerzeichen vor <?php Ein oder mehrere Leerzeichen/Zeilen vor dem PHP-Tag am Anfang der Datei Entferne alle Leerzeichen/Zeilen vor <?php
Leerzeichen nach ?> Leerzeichen oder Zeilen nach dem schließenden PHP-Tag am Ende der Datei Entferne alles nach ?> oder lasse das schließende Tag ganz weg
UTF-8 BOM Unsichtbare Zeichen, die von manchen Editoren eingefügt werden Speichere die Datei als „UTF-8 ohne BOM“
Echo/Print/Var_dump Direkte Ausgaben im Code vor dem Header Entferne oder verschiebe die Ausgaben
Fehlerhafte Plugins Plugins, die vorzeitig Output erzeugen Deaktiviere das Plugin oder kontaktiere den Entwickler
Fehlerhafte Theme-Dateien Theme-Dateien mit Ausgaben an der falschen Stelle Prüfe und korrigiere die betroffenen Dateien

Best Practices: So verhinderst du den Fehler in Zukunft

  • Verwende einen guten Editor

    Nutze Editoren wie VS Code oder Sublime Text, die keine unsichtbaren Zeichen einfügen und UTF-8 ohne BOM unterstützen.

  • Verzichte auf das schließende PHP-Tag

    In reinen PHP-Dateien (z.B. functions.php) ist das schließende ?> nicht nötig – und kann sogar schaden, wenn danach versehentlich Leerzeichen stehen.

  • Debugging sauber entfernen

    Entferne alle echo, var_dump und andere Ausgaben, bevor du deine Seite live schaltest.

  • Regelmäßig Updates machen

    Halte WordPress, Themes und Plugins aktuell – viele Fehler werden durch Updates behoben.

  • Backup nicht vergessen!

    Vor jeder Änderung: Backup machen! So kannst du im Notfall alles wiederherstellen.

Fazit: Fehler gefunden, Problem gelöst – und jetzt?

Der „Cannot modify header information“-Fehler ist nervig, aber kein Grund zur Panik. Mit etwas Detektivarbeit, den richtigen Tools und ein bisschen Geduld findest du die Output-Quelle und stoppst sie zuverlässig. Und falls du mal nicht weiterkommst, gibt’s ja noch Profis wie uns!

Du willst nie wieder solche Fehler sehen, sondern dich auf das konzentrieren, was du wirklich liebst? Dann lass uns deine Website bauen, pflegen und optimieren – DSGVO-konform, schnell, sicher und mit persönlichem Support. Schau dir unsere Webdesign-Flatrates an und hol dir ein Team, das Technik, Design und Content mit Seele verbindet. Aus Nürnberg für ganz Deutschland – und für alle, die mehr wollen als nur „eine Website“.

Quellen

Siehe auch  WordPress „Trying to access array offset on value of type null“ – PHP 8 Warnings beheben243

Fragen zum Thema

Was bedeutet die Fehlermeldung „Cannot modify header information – headers already sent by …“ in WordPress?

Die Meldung bedeutet, dass WordPress bzw. PHP versucht, HTTP-Header zu senden, aber bereits eine Ausgabe (Output) an den Browser geschickt wurde. HTTP-Header müssen immer vor jeglicher Ausgabe (HTML, Leerzeichen, Text etc.) gesendet werden. Sobald etwas an den Browser geschickt wurde, ist das Senden von Headern nicht mehr möglich – und es erscheint diese Fehlermeldung. Die Meldung zeigt dir sogar, in welcher Datei und Zeile der Output gestartet wurde.

Was sind die häufigsten Ursachen für diesen Fehler?

Die typischen Ursachen sind:

  • Unbeabsichtigte Ausgabe wie Leerzeichen oder Zeilen vor <?php oder nach ?>
  • Direkte Ausgaben durch echo, print, var_dump etc. vor dem Header
  • Fehlerhafte Plugins oder Themes, die vorzeitig Output erzeugen
  • UTF-8 BOM (unsichtbare Zeichen am Dateianfang)
  • Selten: Fehlerhafte PHP-Konfiguration (z.B. Output Buffering deaktiviert)

Wie finde ich die Output-Quelle und behebe den Fehler?

Lies die Fehlermeldung genau – sie zeigt dir Datei und Zeilennummer. Prüfe dort auf Leerzeichen, leere Zeilen oder unsichtbare Zeichen (z.B. UTF-8 BOM). Suche nach direkten Ausgaben wie echo oder var_dump. Deaktiviere testweise Plugins, wenn sie in der Meldung genannt werden. Nutze einen Editor wie VS Code oder Notepad++, um unsichtbare Zeichen zu erkennen und speichere die Datei als „UTF-8 ohne BOM“. Aktiviere WP_DEBUG in der wp-config.php für mehr Hinweise.

Kann ich den Fehler mit Output Buffering umgehen?

Ja, mit ob_start(); am Anfang der wp-config.php oder functions.php kannst du das Output Buffering aktivieren. Das ist aber nur ein Workaround und keine dauerhafte Lösung! Besser ist es, die eigentliche Ursache zu finden und zu beheben, damit deine WordPress-Website stabil und sicher läuft.

Wie kann ich den Header-Fehler in Zukunft vermeiden?

  • Verwende einen guten Editor (z.B. VS Code, Sublime Text), der keine unsichtbaren Zeichen einfügt.
  • Verzichte in reinen PHP-Dateien auf das schließende ?>-Tag.
  • Entferne alle Debug-Ausgaben (echo, var_dump etc.), bevor du live gehst.
  • Halte WordPress, Themes und Plugins aktuell.
  • Erstelle vor Änderungen immer ein Backup.
  • Setze auf professionelle Unterstützung, z.B. durch Nakaryu – für sichere, schnelle und DSGVO-konforme Websites mit persönlichem Support.

Neues aus unserem Blog

Das könnte dich auch interessieren

Max 7

Max Wellner

Max Wellner ist Gründer/ CEO von Nakaryu & Nekodanshi sowie Content Creator und Cosplayer aus Nürnberg. Er verbindet seit 2017 Webdesign, Marketing, Technologie und kreative Popkultur-Einflüsse zu digitalen Markenauftritten mit Wiedererkennungswert. Mit seiner Mischung aus technischer Expertise, kreativem Denken und eigener Erfahrung als Creator entwickelt er moderne Konzepte für Unternehmen, Marken und digitale Projekte, unterstützt durch eigens entwickelte KI Systeme und Workflows.

Jetzt kostenfreies Erstgespräch sichern

Lass dich unverbindlich beraten

→ Schreib an hey@nakaryu.de, chatte bei WhatsApp, oder ruf an +49 152 58119266. Wir beraten dich gerne.

Erstgespräch vereinbaren

15% Rabatt auf alle Pakete

→ Für Vereine, Creator & Künstler. Schreib uns einfach an.

Weiterempfehlen lohnt sich

100 € Gutschrift für jeden geworbenen Neukunden.

Datenschutz Center