Hin und wieder schreibt mir jemand, dass er:sie einen Artikel von mir nicht sehen kann, sondern allein einige Codezeilen. Erst nach einigen Reloads funktioniert es.
Ich tue mir schwer so etwas zu beurteilen, das ist eine andere technische Liga. Die Google Suche half mir nur bedingt. Wozu habe ich ChatGPT. Dies teilte mir dann folgendes mit:
Dass ein Besucher hin und wieder statt der gerenderten Seite nur rohen Code zu sehen bekommt, deutet meist darauf hin, dass die PHP‑Engine bei der Auslieferung versagt – sprich, die Datei wird nicht durch PHP geparst, sondern als Text ausgeliefert. Die drei häufigsten Ursachen sind:
- Caching‑Plugin oder CDN
Viele Caching‑Plugins (z. B. WP Super Cache, W3 Total Cache, WP Rocket) legen statische HTML‑Schnappschüsse an. Wenn diese zwischengespeicherten Dateien versehentlich noch PHP‑Tags enthalten oder beim Schreiben unvollständig waren, kann der Server sie gelegentlich “roh” ausliefern. Dasselbe kann bei einem externen CDN (Cloudflare & Co.) passieren, wenn die Dateien aus dem Ursprungs‑Cache kommen, bevor sie frisch regeneriert wurden.
→ Was du tun kannst:- Cache komplett leeren (Plugin + Server/Proxy)
- Caching temporär deaktivieren und beobachten, ob das Problem weg ist
- TTLs (Time‑to‑Live) im CDN reduzieren oder aggressive Caching‑Regeln entschärfen
- Server‑/PHP‑Konfiguration
Wenn beim Aufruf die PHP‑Worker überlastet oder abgestürzt sind, greift der Webserver manchmal auf eine statische Datei zurück oder liefert sie direkt (mitContent‑Type: text/plain
) aus. Das kann bei hohem Traffic, zu kleinem PHP‑FPM‑Pool oder fehlerhafter FastCGI‑Konfiguration passieren.
→ Was du tun kannst:- In den Logs (Apache/nginx + PHP‑FPM) nach Einträgen zu
502/503
oder PHP‑Crashes suchen - PHP‑FPM‑Pool (Anzahl Prozesse) erhöhen
- FastCGI‑Buffering prüfen („fastcgi_buffer_size“, „fastcgi_buffers“ in nginx)
- In den Logs (Apache/nginx + PHP‑FPM) nach Einträgen zu
- Fehler im Theme/Plugin (Output Buffering)
Ein Theme oder Plugin kann Output Buffering öffnen und nie wieder schließen, oder es injiziert Meta‑Blöcke (z. B. JSON‑LD) außerhalb von<script type="application/ld+json">
, sodass der Browser das als reinen Text anzeigt. Wenn dieser Fehler nur sporadisch auftritt (z. B. wegen eines Hook‑Reihenfolge‑Problems), siehst du manchmal Code, manchmal die korrekte Seite.
→ Was du tun kannst:- Alle Plugins deaktivieren und nacheinander wieder aktivieren, um den Übeltäter zu finden
- Auf ein Standard‑Theme (z. B. TwentyTwenty) umschalten und testen
- In der Seitenquelle (
View Source
) nach ungeschlossenen<script>
‑Tags oder fehlenden?>
suchen
Meine „Beurteilung“
Ein Caching Plugin verwende ich nicht. Mein Theme habe ich schon seit mehrere Jahren im Einsatz. Den Fehler kann ich auch nicht reproduzieren bzw. hatte ich selbst noch nicht – und ich schaue doch oft auf mein Blog.
Nachdem ich vor kurzem davon las, dass das ActivityPlugin ein Blog recht belasten kann – wenn viele Fediverse-Server sich Postings abholen. Vielleicht fällt der Fehler genau mit solchen Peaks zusammen. Aber das ist jetzt nur raten auf niedrigem Nivea.
Wer helfen mag
Nun habe ich ChatGPT noch gefragt, wie mir Leser:innen helfen können, wenn der Fehler bei Ihnen auftritt. Ich poste das hier um auch später mal darauf hinweisen zu können.
- Screenshot der Roh‑Seite
Am besten gleich einen Screenshot machen, sobald die:der Leser:in nur den Code sieht. Dann wissen wir, welche Stellen genau „roh“ ausgeliefert werden. - Seiten‑Quelltext kopieren
Sie:er soll im Browser “Rechte Maustaste → Seitenquelltext anzeigen” (Ctrl+U) nutzen, den kompletten Quelltext markieren und speichern (z.B. in einer Textdatei). So können wir prüfen, ob PHP‑Tags oder JSON‑LD‑Schnipsel unvollständig sind. - Browser‑Entwicklertools öffnen
- Netzwerk‑Tab: Auf die Request‑Headers und Response‑Headers achten – vor allem den
Content-Type
. (Solltetext/html
sein, nichttext/plain
.) - Console‑Tab: Nach Fehlermeldungen oder Warnungen schauen.
- Netzwerk‑Tab: Auf die Request‑Headers und Response‑Headers achten – vor allem den
- URL & Zeitpunkt notieren
Genau die URL, auf der es passiert ist, plus Datum/Uhrzeit. Falls ein Parameter im Query (?utm=…
, Cache‑Busting o. Ä.) mitspielt, sehen wir’s. - Cache & Incognito testen
Sie:er soll die Seite einmal im Inkognito‑Modus oder nach einem harten Reload (Strg+F5) aufrufen und berichten, ob’s immer noch auftritt. Das trennt Browser‑Cache‑Probleme von serverseitigem Caching. - Gerät & Browser-Version
Kurze Info, ob Windows/Mac/Linux, sowie Browser und Version (z. B. Chrome 114.0.5735.90). Manche Caching‑ oder Proxy‑Extensions können da ein Wörtchen mitreden.
Am Schluss noch die Frage aller Fragen: Hat ChatGPT mir überhaupt das Richtige erzählt? Ich werde noch weiter nachhaken und schauen, ob und was ich mit der KI weiter in meinem Blog testen kann.
Daher freue ich mich auch über Tipps eurerseits.
Ob das Fehlerbild wie beschrieben genau passt weiß ich nicht. Grundsätzlich kann ein Cache solche seltsamen Probleme verursachen, und ein Problem auf der PHP-Serverseite ist vorstellbar. Dass bei letzterem aber roher Quellcode ausgeliefert würde wie beschrieben kommt mir komisch vor, ich würde eine Fehlerseite des Webservers erwarten.
Schade, dass scheinbar keiner der betroffenen Besucher einen Screenshot gemacht hat? Das würde helfen.
Im Log nach 50x-Fehlern zu suchen wäre ein guter Ansatzpunkt.
Danke. Dem werde ich nachgehen.
Ich konnte das tatsächlich schon öfter bei deinem Blog beobachten. Bin aber kein Experte und kann leider somit keine Lösung beitragen.
Oh. Danke aber für den Hinweis. Ich hoffe, das neue Cache Plugin behebt den Fehler. Sonst muss ich noch woanders weiter suchen.