Website-Icon Webdesign-Podcast

WordPress Maintenance Mode ohne Plugin (mit .maintenance Datei)

WordPress für Einsteiger und Autoren

WordPress für Einsteiger und Autoren

In manchen Fällen ist es sinnvoll eine WordPress Installation temporär zu sperren. Dies gilt z.B. bei manuellen Updates von Plugins über den FTP-Zugang oder auch bei der Bereinigung von schadhaftem Code. Mit der „.maintenance“ Datei wird WordPress komplett „pausiert“. Das gilt sowohl für die Webseite wie auch den Administrationsbereich von WordPress.

Es entstehen so also keine Fehler, wenn manuell Plugins via FTP aktualisiert werden. Ein Mögliche Szenario wäre hier z.B., dass die Webseite aufgerufen wird während die Plugin-Daten noch nicht alle verfügbar sind. WordPress würde das Plugin nun als defekt deaktivieren oder es entstehen andere Probleme innerhalb der Webseite.

Dieses Problem würde auch bei gängigen Maintenance Mode Plugins auftreten. Der WordPress eigene Wartungsmodus verhindert derartige Probleme und schaltet das System komplett ab.

Die .maintenance Datei

Um den WordPress eigenen Wartungsmodus zu aktivieren muss lediglich eine Datei im Stammverzeichnis der WordPress-Installation angelegt werden. Diese Datei trägt den Namen „.maintenance“. Die Datei hat keine weitere Dateiendung und beginnt mit einem Punkt (vergleichbar der .htaccess Datei).

WordPress .maintenance Datei

Diese Datei bekommt nun folgenden Inhalt (PHP-Code):

<?php $upgrading = time(); ?>

Die Variable „$upgrading“ enthält einen Timestamp. WordPress wird das System ab Zeitpunkt des Timestamps für 10 Minuten sperren / pausieren. Da die Funktion „time()“ jedoch immer den aktuellen Timestamp ausgibt, werden die 10 Minuten nie vorbei sein.

Die WordPress-Installation wird nun so lange gesperrt, bis die „.maintenance“ Datei gelöscht wird.

Natürlich könnte hier auch ein richtiger Timestamp eingetragen werden, dann würde WordPress das System auch automatisch wieder freigeben. Ich würde es bei manuellen Arbeiten jedoch immer vorziehen, dass System auch manuell wieder freizugeben.

Wegen Wartungsarbeiten ist diese Website kurzzeitig nicht verfügbar. Schau in einer Minute nochmal vorbei.

Genau das ist die Meldung, welche WordPress anzeigen wird, so lange die „.maintenance“ Datei im Verzeichnis vorhanden ist.

Off-Topic-Tipp: Für alle, die jetzt über Google hier gelandet sind und deren WordPress Installation die obige Meldung zeigt: Bitte die Datei „.maintenance“ im Installationsverzeichnis löschen, dann geht die Webseite wieder 😉

Die obige Nachricht und auch die gesamte Wartungsmeldung kann individuell gestylt und angepasst werden.

Zu diesem Zweck muss lediglich eine „maintenance.php“ im Ordner „wp-content“ angelegt werden. WordPress wird dann genau diese Datei für die Darstellung des Wartungsmodus laden.

Als Vorlage kann z.B. diese Datei verwendet werden:

<?php
header( 'HTTP/1.1 503 Service Unavailable', true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<!doctype html>
<html lang="de">
<head>
  <meta charset="utf-8">

  <title>Name der Webseite</title>
  <style type="text/css">
    body {
      background: #fff;
      color: #333;
    }
  </style>
</head>

<body>
  <h1>Wartungsarbeiten</h1>
  <p>Wegen Wartungsarbeiten ist diese Website kurzzeitig nicht verfügbar. Schau in einer Minute nochmal vorbei.</p>
</body>
</html>
<?php die(); ?>

Diese .maintenance Datei bzw. diesen Wartungsmodus verwendet WordPress z.B. auch selber, wenn System-Updates eingespielt werden.

Die mobile Version verlassen