In einer WordPress-Multisiteumgebung würde, selbst wenn die Registrierung neuer Sites gesperrt ist, beim Aufruf einer nicht verfügbaren Subdomain automatisch auf die Registrierungsseite weitergeleitet. Dort erfährt ein Besucher dann, dass der Administrator die Registrierung nicht aktiviert hat. Um diese wenig hilfreiche Seitengasse zu vermeiden, kann man in der wp-config.php
festlegen, dass der Aufruf einer nicht als Subsite erreichbaren Subdomain automatisch auf die Hauptsite leitet.
/* do not load wp-signup.php automatically*/
define( 'NOBLOGREDIRECT', 'http://hauptsite.tld' );
In der Folge werden jedoch auch nicht mehr vorhandene Inhalts-Seiten und -Beiträge mit dem Statuscode 302 Temporary Redirect
auf die Hauptseite umgeleitet. Problem: Suchmaschinen erfahren auf diese Weise nicht, dass ein mittlerweile entfernter Inhalt (Statuscode 404 – nicht gefunden oder Statuscode 410 – entfernt) nicht länger im Index vorzuhalten ist.
Die Lösung besteht aus einem kleinen Plugin (es braucht kein Verzeichnis, einfach nur eine Datei).
<?php
/*
Plugin Name: Prevent 302 redirects
Description: Use in MU with NOBLOGREDIRECT defined
Author: Gabriele Laesser
Author URI: https://gby.at
*/
/******************************************
* use in MU with NOBLOGREDIRECT defined
* to prevent unwanted 302 redirects
* upload to wp-content/mu-plugins
******************************************/
remove_action( 'template_redirect', 'maybe_redirect_404' );
Dieses unter dem (üblicherweise) Verzeichnis wp-content
in ein Verzeichnis (das vielleicht da ist, andernfalls angelegt werden muss) mu-plugins
übertragen. Es wird dort automatisch global angewendet.
Schreibe einen Kommentar