Wie unterdrückt man einen 404-Statuscode in einer WordPress-Seite?


13

Ich habe eine WordPress-Site, die Seiten aus einer anderen Datenbank enthält. Das Problem ist, dass diese anderen Seiten einen 404-Statuscode zurückgeben. (Die WordPress-Beiträge / Seiten sind in Ordnung.)

Die 404'ed-Seiten werden einwandfrei angezeigt, und ich habe den Text "Seite nicht gefunden" aus dem Titel-Tag in WordPress entfernt. Aber Googlebot und W3C sehen den 404-Header.

Also: Wow, sagt man Apache, er soll einen 404-Status unterdrücken? Und überschreibt Apache den 404-Header von WordPress?

Ist das sinnvoll? Welche anderen Infos und Dinge sollte ich mir ansehen?

Kann ich den Statuscode in .htaccess unterdrücken, damit ich die WP-Kerndateien nicht ändere?

Antworten:


11

Sie können Ihren Seiten benutzerdefinierte Umschreibungen hinzufügen. Oder über den Vorlagendateien, die Ihre anderen gerade ausgegebenen Seiten umschließen header('HTTP/1.1 200 OK');.


2
Großartiger Fix, anstatt .htaccess zu verwenden und nur die Nicht-WP-PHP-Seitenvorlagen zu reparieren. Vielen Dank!
markratledge

Dafür gibt es eine eingebaute Funktion: status_header (200);
Guidod

5

WordPress bietet die Funktion status_header(), den richtigen Statuscode zurückzugeben.

Sie können diese Funktion in Ihrer WordPress-Vorlage / -Funktion aufrufen:

// Will return http status header "200 OK"
status_header(200);

2

Wordpress ist PHP, achten Sie also darauf, wohin es sendet:

header("HTTP/1.0 404 Not Found");

Sie wurden versehentlich herabgestimmt, haben es aber geändert. Ich möchte lieber keine WP-Core-Dateien ändern.
markratledge

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.