Stell dir vor, du hast gerade stundenlang an deiner neuen WordPress-Website gefeilt. Das Design sitzt, die Inhalte sind on point, die Plugins laufen – und dann, zack: „Warning: Cannot modify header information – headers already sent by…“ mitten auf deiner Seite. Herzlichen Glückwunsch, du bist offiziell im Club der „Headers already sent“-Geschädigten! Aber keine Sorge, du bist nicht allein – und vor allem: Es gibt eine Lösung. Heute nehmen wir uns eines der mysteriösesten und nervigsten WordPress-Probleme vor, das selbst erfahrene Entwickler:innen regelmäßig zur Weißglut treibt. Und wir gehen richtig in die Tiefe, versprochen!


WordPress ist das beliebteste Content-Management-System der Welt. Laut W3Techs läuft über 43% aller Websites im Internet mit WordPress. Das bedeutet: Millionen von Menschen sind potenziell von den kleinen, aber gemeinen Tücken betroffen, die PHP und WordPress so mit sich bringen. Eine davon ist der berüchtigte Fehler „Headers already sent“ – und der hat es in sich.
In diesem Artikel erfährst du:
- Was der Fehler „Headers already sent“ eigentlich bedeutet und warum er auftritt.
- Was ein BOM (Byte Order Mark) ist und warum es in UTF-8-kodierten Dateien für Ärger sorgt.
- Wie du den Fehler findest, analysierst und endgültig behebst – inklusive Profi-Tipps und Tools.
- Wie du deine Dateien ohne BOM speicherst und welche Editoren sich dafür eignen.
- Warum das Thema für die Sicherheit und Performance deiner Website relevant ist.
- Und natürlich: Wie Nakaryu dir helfen kann, solche Probleme gar nicht erst entstehen zu lassen.
Lehn dich zurück, schnapp dir einen Kaffee – und lass uns gemeinsam in die Untiefen von PHP, Encoding und WordPress abtauchen!
1. Was bedeutet „Headers already sent“?
Der Fehler Warning: Cannot modify header information – headers already sent by (output started at ...) ist einer der häufigsten PHP-Fehler in WordPress. Er tritt immer dann auf, wenn PHP versucht, HTTP-Header zu senden (z.B. für Weiterleitungen, Cookies oder Sessions), aber bereits eine Ausgabe an den Browser erfolgt ist. Das Problem: HTTP-Header müssen vor jeglicher Ausgabe (HTML, Leerzeichen, unsichtbare Zeichen) gesendet werden. Ist schon etwas ausgegeben, ist es zu spät – und PHP meckert.
Typische Ursachen:
- Unbeabsichtigte Leerzeilen oder Leerzeichen vor
<?phpoder nach?>in PHP-Dateien. - Direkte Ausgaben (z.B.
echo,print) vor Header-Operationen. - Und – besonders tückisch – unsichtbare Zeichen wie das BOM in UTF-8-Dateien.
2. Was ist das BOM und warum ist es ein Problem?
Das Byte Order Mark (BOM) ist ein unsichtbares Steuerzeichen am Anfang einer Textdatei, das die Byte-Reihenfolge (Endianness) und das Encoding (z.B. UTF-8) kennzeichnet. In UTF-8 ist das BOM technisch nicht notwendig, wird aber von manchen Editoren (vor allem Windows-Editoren wie Notepad) automatisch eingefügt.
Das Problem: PHP interpretiert das BOM als Ausgabe. Das heißt, noch bevor dein eigentlicher PHP-Code startet, hat der Server schon drei unsichtbare Bytes an den Browser geschickt. Und damit ist der Header-Zug abgefahren – alle nachfolgenden Header-Operationen (z.B. setcookie(), header(), session_start()) führen zum „Headers already sent“-Fehler.
| Encoding | BOM vorhanden? | Problematisch für PHP? |
|---|---|---|
| UTF-8 ohne BOM | Nein | Nein |
| UTF-8 mit BOM | Ja | Ja! |
| ISO-8859-1 | Nein | Nein |
3. Wie erkennst du, ob eine Datei ein BOM enthält?
Das Tückische am BOM: Es ist unsichtbar! Du siehst es weder im Browser noch in den meisten Editoren. Aber es gibt ein paar Tricks:
- Hex-Editor: Öffne die Datei in einem Hex-Editor. Ein BOM in UTF-8 sieht so aus:
EF BB BFam Anfang der Datei. - Spezieller Texteditor: Editoren wie Notepad++, Sublime Text oder VS Code zeigen dir das Encoding an und erlauben das Speichern ohne BOM.
- Linux-Kommandozeile: Mit
xxdoderfilekannst du das BOM erkennen:xxd -g 1 -l 3 datei.phpzeigt die ersten drei Bytes.file -bi datei.phpgibt Hinweise auf das Encoding.
4. Wie speicherst du Dateien ohne BOM?
Hier kommt die Rettung: Die meisten modernen Editoren bieten die Option, Dateien explizit als „UTF-8 ohne BOM“ zu speichern. Hier ein paar Beispiele:
- Notepad++: Menü „Kodierung“ → „In UTF-8 ohne BOM konvertieren“. Danach speichern.
- Visual Studio Code: Unten rechts auf das Encoding klicken → „Save with encoding“ → „UTF-8“ (ohne BOM).
- Sublime Text:
File > Save with Encoding > UTF-8(ohne BOM). - Linux: Mit
iconv -f utf-8 -t utf-8 file.php -o file.phpwird das BOM entfernt.
5. Wie findest du die fehlerhafte Datei?
Der Fehlertext gibt dir meist einen Hinweis: output started at /pfad/zu/datei.php:Zeile. Schau genau in diese Datei und prüfe:
- Steht vor
<?phpirgendetwas? (Leerzeichen, Zeilenumbruch, BOM?) - Steht nach
?>noch etwas? (Das schließende PHP-Tag ist in WordPress-Dateien meist überflüssig!) - Wurde die Datei mit einem Editor gespeichert, der ein BOM einfügt?
6. Profi-Tipps zur Fehlervermeidung
- Verwende immer UTF-8 ohne BOM für alle PHP-, HTML-, CSS- und JS-Dateien in WordPress-Projekten.
- Verzichte auf das schließende
?>in reinen PHP-Dateien (z.B.functions.php, Plugins, Themes). Das ist Best Practice und verhindert versehentliche Ausgaben nach dem Code. - Nutze Versionskontrolle (z.B. Git), um Encoding-Änderungen nachzuvollziehen.
- Automatisiere Encoding-Checks mit Tools wie
editorconfigoder Pre-Commit-Hooks.
7. Warum ist das Thema so wichtig?
Ein „Headers already sent“-Fehler ist nicht nur nervig, sondern kann auch Sicherheitslücken verursachen. Wenn z.B. session_start() nicht funktioniert, sind Login- und Authentifizierungsmechanismen gestört. Auch Weiterleitungen, Cookie-Setzungen und Caching können ausfallen. Im schlimmsten Fall ist deine Website nicht mehr nutzbar – und das alles wegen ein paar unsichtbarer Bytes!
8. Zusammenfassung: Die wichtigsten Schritte zur Lösung
- Fehlermeldung genau lesen und betroffene Datei/Zeile identifizieren.
- Datei in einem geeigneten Editor öffnen und Encoding prüfen.
- Falls BOM vorhanden: Datei als „UTF-8 ohne BOM“ speichern.
- Unnötige Leerzeichen/Zeilenumbrüche vor
<?phpund nach?>entfernen. - Website neu laden und prüfen, ob der Fehler verschwunden ist.
9. Nakaryu hilft dir – und zwar richtig!
Du hast keine Lust, dich mit Encoding, BOM, PHP-Fehlern und Editor-Einstellungen herumzuschlagen? Dann bist du bei Nakaryu genau richtig! Wir sind nicht nur WordPress-Profis, sondern echte Problemlöser:innen für alles, was mit Web, Design und Technik zu tun hat. Mit unserer Webdesign-Flatrate bekommst du eine professionelle, sichere und fehlerfreie Website – inklusive laufender Wartung, Updates und persönlichem Support. Keine Kopfschmerzen mehr wegen „Headers already sent“ – wir kümmern uns drum, damit du dich auf dein Business konzentrieren kannst.
Neugierig? Schau dir unsere Webdesign-Pakete an und lass uns gemeinsam deine Website auf das nächste Level bringen!
Quellen:
- PHP Manual: header()
- WordPress Developer Resources: wp_redirect()
- W3Techs: Usage statistics and market share of WordPress
- Stack Overflow: How to fix „Headers already sent“ error in PHP
- Notepad++
- Visual Studio Code
- Sublime Text
- Wikipedia: Byte Order Mark
Fragen zum Thema
Was bedeutet der Fehler „Headers already sent“ in WordPress?
Der Fehler „Headers already sent“ tritt auf, wenn PHP versucht, HTTP-Header zu senden, aber bereits eine Ausgabe (z.B. Leerzeichen, HTML, unsichtbare Zeichen) an den Browser erfolgt ist. HTTP-Header müssen vor jeglicher Ausgabe gesendet werden. Typische Ursachen sind Leerzeilen vor <?php, nach ?>, direkte Ausgaben wie echo oder unsichtbare Zeichen wie das BOM in UTF-8-Dateien.
Was ist das BOM und warum verursacht es Probleme in PHP?
Das Byte Order Mark (BOM) ist ein unsichtbares Steuerzeichen am Anfang einer Textdatei, das die Byte-Reihenfolge und das Encoding kennzeichnet. In UTF-8 ist das BOM technisch nicht notwendig, wird aber von manchen Editoren (z.B. Notepad) eingefügt. PHP interpretiert das BOM als Ausgabe, wodurch Header-Operationen wie setcookie() oder session_start() fehlschlagen und der Fehler „Headers already sent“ entsteht.
Wie erkenne ich, ob eine Datei ein BOM enthält?
Das BOM ist unsichtbar, aber du kannst es mit folgenden Methoden erkennen:
- Hex-Editor: Am Anfang der Datei steht
EF BB BF. - Texteditoren wie Notepad++, Sublime Text oder VS Code zeigen das Encoding an und erlauben das Speichern ohne BOM.
- Linux-Kommandozeile: Mit
xxd -g 1 -l 3 datei.phpoderfile -bi datei.phpkannst du das BOM prüfen.
Wie speichere ich PHP-Dateien ohne BOM?
Die meisten modernen Editoren bieten die Option, Dateien als „UTF-8 ohne BOM“ zu speichern:
- Notepad++: Menü „Kodierung“ → „In UTF-8 ohne BOM konvertieren“.
- Visual Studio Code: Unten rechts auf das Encoding klicken → „Save with encoding“ → „UTF-8“ (ohne BOM).
- Sublime Text:
File > Save with Encoding > UTF-8(ohne BOM). - Linux: Mit
iconv -f utf-8 -t utf-8 file.php -o file.phpwird das BOM entfernt.
Wie finde ich die fehlerhafte Datei bei einem „Headers already sent“-Fehler?
Die Fehlermeldung gibt meist den Pfad und die Zeilennummer an (output started at /pfad/zu/datei.php:Zeile). Prüfe in dieser Datei:
- Ob vor
<?phpoder nach?>Leerzeichen, Zeilenumbrüche oder ein BOM stehen. - Ob die Datei mit einem Editor gespeichert wurde, der ein BOM einfügt.
- Entferne unnötige Leerzeichen und speichere die Datei als UTF-8 ohne BOM.
Wie kann ich „Headers already sent“ in Zukunft vermeiden?
- Verwende immer UTF-8 ohne BOM für alle Dateien in WordPress-Projekten.
- Verzichte auf das schließende
?>in reinen PHP-Dateien. - Nutze Versionskontrolle (z.B. Git) und automatisierte Encoding-Checks (z.B.
editorconfig). - Setze auf professionelle Unterstützung wie die Nakaryu Webdesign-Flatrate, um technische Fehler und Sicherheitslücken zu vermeiden.
Warum ist das Thema Encoding und BOM für die Sicherheit und Performance meiner Website wichtig?
Fehler wie „Headers already sent“ können Sicherheitslücken verursachen, z.B. wenn session_start() nicht funktioniert und Authentifizierungsmechanismen gestört sind. Auch Weiterleitungen, Cookies und Caching können ausfallen. Die Performance leidet, und im schlimmsten Fall ist die Website nicht mehr nutzbar – alles wegen ein paar unsichtbarer Bytes!
Wie kann Nakaryu bei WordPress-Problemen wie „Headers already sent“ helfen?
Nakaryu ist eine erfahrene Digitalagentur aus Nürnberg und bietet professionelle WordPress-Lösungen – von der Fehlerbehebung bis zur laufenden Wartung. Mit der Webdesign-Flatrate bekommst du eine sichere, fehlerfreie Website, regelmäßige Updates und persönlichen Support. So musst du dich nicht mehr mit technischen Problemen wie Encoding oder BOM beschäftigen und kannst dich auf dein Business konzentrieren.
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.
Neues aus unserem Blog
Das könnte dich auch interessieren


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.
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.






