Folgende Fehlermeldung wurde angezeigt:
XML-Verarbeitungsfehler: XML- oder Text-Deklaration nicht am Beginn der Entität Adresse: http://www.domain.de/feed/ Zeile Nr. 3, Spalte 1: ^ |
Auch der Feed Validator hat mir angezeigt, dass am Anfang der RSS-Datei leere Zeilen stehen. Diese leeren Zeilen zu Beginn des Dokumentes sind also der Gründ für den XML-Verarbeitungsfehler.
Wie man den XML-Verarbeitungsfehler beseitigt
Wenn dieser XML-Verarbeitungsfehler auftritt, sollte man sich erstmal den Quellcode der Blog Startseite anschauen. Wahrscheinlich steht dort der Doctype (<!DOCTYPE html PUBLIC [...]
) nicht in der ersten Zeile, wo er hingehört, sondern hat noch einige Leerzeilen davor. Um diese zu beseitigen, sollte man folgende Punkte überprüfen:
- In der wp-config.php dürfen keine Leerzeilen vor dem
<?php
oder nach dem?>
sein, diese bewirken, dass vor dem Doctype der WordPress Seite und eben auch vor dem XML-Feed leere Zeilen erscheinen, die zu der Fehlermeldung führen - In der functions.php des WordPress Themes dürfen ebenfalls keine Leerzeilen vor dem
<?php
oder nach dem?>
sein - Anderen Blogs und Foren zufolgen können auch solche Leerzeilen in Plugins für den Fehler sorgen, dies habe ich bei mir aber noch nicht festgestellt
Leere Zeilen weg – XML-Verarbeitungsfehler beseitigt
Sind sämtliche leere Zeilen in oben genannten Dateien verschwunden, sollte der Doctype der WordPress Seite an erster Stelle stehen und somit auch in die XML-Deklaration, so dass im WordPress RSS-Feed keine Fehlermeldung mehr erscheint.
Ich habe das gleiche Problem. Doch geht mein feed immer noch nicht. Mit einem anderen theme habe ich auch die leerzeile ganz oben im feed. 🙁 Noch eine Idee?
Vielleicht liegt es an einem Plugin? Am besten mal alle Plugins deaktivieren, wenn der Feed dann geht nach und nach wieder die Plugins aktivieren und dann im entspechenden Plugin auf Fehlersuche gehen 🙂
Endlich, habe es bei mir gefunden, die function.php hatte ganz oben ein leere zeile.. das war es
Beim uns war es des functions.php! Danke für den tollen Artikel. Hat uns stundenlanges Suchen erspart!
Genau das was ich gesucht habe, vielen Dank!
War kurz verwirrt, als ich alle Leerzeilen vor dem Doctype weg hatte, es aber trotzdem nicht ging. Habe dann gemerkt, dass ich den Doctype zweimal im Quellcode stehen hatte 😀
Vielen Dank für den Hinweis.
Bei mir war es in der atomlib.php
Der Fehler kann auch durch Plugins auftreten, habe ich gerade bei einem Plugin aus Eigenproduktion festgestellt, siehe dazu: http://www.geeks-online.de/keine-schliesenden-php-tags-verwenden/
Das hat geholfen, zumal definitv keine leere Zeile vorhanden war!
Danke! Hab mich anhand einer anderen Seite erst durch alle Plugins gewühlt, aber hier hatte ich direkt mit dem ersten Punkt erfolg, lag bei mir an der wp-config
Danke für die Hinweise – genau das, was ich gesucht und gebraucht habe. Es lag an der functions.php. Hab allerdings festgestellt, dass alle Leerzeilen und auch alle einzelnen Leerzeichen nach dem letzten ?> gelöscht werden mußten, damit es wieder funktioniert.
Hi Nina,
danke, ich hatte das gleiche Problem. Bei mir lag´s tatsächlich an Leerzeichen nach dem ?> in meiner functions.php.
LG
Sven
Ich habe das gleiche Problem bei http://gymnastik.lindenau1848.de/feed/ und http://tischtennis.lindenau1848.de/feed/ und habe seit 3 Stunden Leerzeilen gesucht und finde nichts bzw. keine Leerzeilen, die sich von den funktionierenden Feeds http://tennis.lindenau1848.de/feed/, http://fussball.lindenau1848.de/feed/ und http://lindenau1848.de/feed/ unterscheiden.
Es wäre schön wenn jemand helfen könnte.
Noch eine spezifische Frage: Ist mit keine Leerzeilen „vor dem sein“ jedes dieser Zeichen in der Datei gemeint?
VG Steffen
Danke.!
Auch bei mir waren es Leereichen nach dem ?> in der functions.php.
Hallo Steffen, hast du auf den verschiedenen Sub-Domains unterschiedliche Plugins im Einsatz? Falls ja, dann deaktiviere doch mal alle und schau, ob der Feed dann geht. Wenn ja, dann nach und nach wieder aktivieren..
„vor dem sein“ –> vor dem <?php oder nach dem ?>
Das bedeutet, dass erste Zeichen in der Datei muss das „<" sein un das letzte das ">„:
——————————————————
Anfang der Datei – hier keine Leerzeichen
< ? php ... Code ... ? >
Ende der Datei – hier auch keine Leerzeichen
——————————————————
Hab das gleiche Problem. Beide functions.php, wp-config, header, alles gecheckt, keine Leerzeichen und -zeilen vor oder hinter dem PHP-Code. Trotzdem erscheinen im Quelltext noch immer zwei Leerzeilen und vermutlich deshalb funzt der Feed nicht 🙁
Woran könnte es denn noch liegen?
Hi Nina,
vielen Dank für den Artikel und die Tipps. Waren ein paar Leerzeilen im functions.php
Hat viel Zeit und Arbeit erspart und nu geht alles.
Nochmal Danke & LG
Ich hatte auch das Problem: alles „checked, rechecked and checked again“ und immer noch der Fehler. Ich hab aber parallel mehrere WP-Sites auf der gleichen Installation. Und bei einer ging es seltsamerweise. Da hab ich ein bisschen hin und her kopiert. Die Datenbank-Einträge ausgetauscht und auf einmal ging es. Fragt mich nicht warum …