wp-config.php – so funktioniert die wichtigste WordPress-Datei

Kategorie: Maschinenraum

WordPress speichert alle Texte und den überwiegenden Teil der Einstellungen in einer Datenbank. Davon ausgenommen sind einige wenige grundlegende Vorgaben, wie z.B. die Zugangsdaten der Datenbank. Diese sind in einer Datei namens wp-config.php hinterlegt, die damit zu einem zentralen Element einer jeden WordPress-Installation wird. Was es über diese Datei zu wissen gibt und worauf bei Änderungen zu achten ist, wollen wir im Folgenden kurz erklären.

wp-config.php editieren

Der Zugriff auf die Datei ist nur per FTP möglich. Beim Editieren der Datei ist stets sehr achtsam vorzugehen, da auch nur kleine Fehler dazu führen können, dass WordPress nicht mehr funktioniert. Es ist daher ratsam vor Änderungen stets eine Sicherheitskopie anzulegen (siehe unser Artikel: WordPress Dateien bearbeiten).

Wo findest Du die wp-config-php?

Normalerweise wird die wp-config.php bei der Installation von WordPress automatisch erstellt und in das Hauptverzeichnis der WordPress Installation geschrieben.

Wichtig zu wissen: Die Datei wp-config.php kann aus Sicherheitsgründen auch in einen Ordner oberhalb des Installationsverzeichnis verschoben werden!

WordPress Grundeinstellungen in der wp-config.php

Es existieren einige Informationen, die in jeder wp-config.php vorhanden sein müssen, ansonsten ist WordPress nicht funktionsfähig. Diese werden bereits während der Installation abgefragt und in die Konfigurationsdatei geschrieben.

Die wichtigsten Informationen sind im ersten Teil der Datei hinterlegt:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */
define( 'DB_USER', 'username_here' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Dabei entspricht:

  • DB_NAME: dem Namen der verwendeten Datenbank
  • DB_USER: dem Namen des Datenbanknutzers
  • DB_PASSWORD: dem Datenbankpasswort
  • DB_HOST: dem Host der Datenbank (lautet meist localhost)

Bei einem Umzug der Website müssen hier unbedingt die veränderten Zugangsdaten eingetragen werden, sonst erhält WordPress keinen Zugang zur Datenbank.

Wichtig zu wissen: Die jeweiligen Werte müssen stets zwischen zwei Apostrophe 'Wert' stehen. Es dürfen keine Backticks sein ´Wert´.

Die zwei folgenden Einstellungen werden automatisch gesetzt und sollten in der Regel nicht geändert werden:

  • DB_CHARSET: Zeichensatz der Datenbank
  • DB_COLLATE : Datenbank collation (meist leer)

Authentifizierungsschlüssel und Salts

WordPress verschlüsselt sicherheitsrelevanten Daten z.B. für Login, Cookies etc. mit Hilfe von Authentifizierungsschlüssel und Salts. Dabei handelt es sich um bei der Installation erstellte zufällige Zeichenketten. Diese Funktion ist allerdings erst seit WordPress Version 2.6 enthalten und kann bei einer älteren WordPress Website fehlen. Dann sollten die Schlüssel in der wp-config.php nachgetragen werden. Bitte keinesfalls das folgende Beispiel verwenden, sondern bei Bedarf mit Hilfe des Online Salt-Key Generator eine eigene Zeichenkombinationen erstellen lassen.

/**#@+
* Authentication Unique Keys and Salts.
*
* @since 2.6.0
*/
define('AUTH_KEY',         'z/[,f+CV:fFnVxZ$cOa o{5U-E,_4n8P`ty}au(Su,7{*E!^v2GR?J&b2fVT|[=o');
define('SECURE_AUTH_KEY',  'sh(NE4Ben9tHNwyg!j+9tM92(rtC^-|g :o>PQ4SYia*J8M?CzpK*Tcn.>Z^`)');
define('LOGGED_IN_KEY',    'm^Vi|{uUb(%4?a/8X g6}ow.JzA?.9G7?aa*  ^ywjN)t+mgO)Tf.u)p?Z]o6~x@');
define('NONCE_KEY',        ')eGVYVk#Aa~Qk,d8 61JCF<EgA],;*llphR#KZ9kDV9oA:AJa(or%v529 s&6C?b');
define('AUTH_SALT',        'vm53HfTze~o{71(PQWQYG?I>Hv/c`u[ Y*kAdTnef=YhQ NPwu-@YireaE2YE~');
define('SECURE_AUTH_SALT', 'f#o:nCA^~s>^hCkE*8:WSs:R{%8t[Fa$V}dK*rQb#DQ..bk$)NPE!fl::IJGl2Y&');
define('LOGGED_IN_SALT',   '$2@;Gk,Q*udgV_U$W^-`lcdZ&c+f;65_xqhf0bG>}LfW{|_kn@#4#1..K=VK-Q,');
define('NONCE_SALT',       'z}iNW<Qig?Dfc^hS5=@rEh>pdbAl;?<&AT6Xn;1D>|{L&]qy8pj@G*{dkKxP5F7Q');

/**#@-*/

Datenbankpräfix

Die gleiche Datenbank kann von mehreren WordPress Installationen genutzt werden. Dann müssen allerdings die Tabellen in der Datenbank unterschiedliche Namen haben. Dafür gibt es ein sogenanntes Tabellenpräfix dessen Standard wp_ lautet und während der Installation verändert werden kann.

$table_prefix = 'wp_';
Achtung: Für eine späteren Wechsel des Präfixes reicht es NICHT aus diesen in der wp-config.phpanzupassen, sondern es müssen auch die Tabellennamen in der Datenbank geändert werden, sowie sämtliche Verweise innerhalb der Datenbank.

Debug Mode

Im folgenden Code lässt sich WordPress mittels define('WP_DEBUG', true); in den Debug Mode schalten. Diese Funktion ist in der Regel eher für Entwickler interessant. Alle anderen sollten es an dieser Stelle bei define('WP_DEBUG', false); belassen.

define('WP_DEBUG', false);

Ende der Bearbeitung

Es folgt eine Passage, die deutlich macht, dass unterhalb dieser Stelle nichts mehr editiert werden soll:

\* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. \*
\* That's all, stop editing! Happy blogging. \*

Oberhalb dieser Stelle lassen sich weitere Einstellungen setzen, die wir gleich erläutern.

Nicht anfassen: Pfad zu WordPress und weitere Einstellungen

Der folgende Code sollte nie verändert werden. Dort ist der Pfad zur WordPress Installation hinterlegt (ABSPATH ) und es wird die wp-settings.php eingebunden.

Zusätzliche Einträge in wp-config.php

Wie bereits erwähnt lassen sich einige weitere wichtige Einstellungen in der wp-config.php vornehmen. Diese müssen stets oberhalb der "Schluss mit dem Bearbeiten" bzw. "stop editing" Zeile eingefügt werden.

Seitenadressen

Im WordPress Administrationsbereich unter "Einstellungen" > "Allgemein" wird eigentlich die "WordPress-Adresse (URL)" und die "Website-Adresse (URL)" konfiguriert. Diese beiden Werte lassen sich auch in die wp-config.php eintragen und überschreiben dann die Einstellungen im Administrationsbereich. Dort erscheinen die Werte dann ausgegraut und lassen sich nicht mehr bearbeiten.

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Diese Möglichkeit sollte nur in Notfällen genutzt werden. Z.B. bei einem Website Umzug, bei dem bis zur Veränderung der Seitenadressen kein Zugang zum Administrationsbereich möglich ist.

Upload Verzeichnis verändern

Das Verzeichnis in das WordPress Bilder und Dateien hochlädt liegt normalerweise in wp-content/media . Mit folgendem Eintrag lässt sich ein anderer Ordner für die Uploads definieren:

define( 'UPLOADS', 'wp-content/anderer-media-ordner' );

Keine Automatischen Updates

Diese Einstellung ist normalerweise nicht zu empfehlen, da eine möglichst aktuelle WordPress Installation für mehr Sicherheit sorgt. Falls automatische Updates Probleme verursachen könnten, kann die Funktion mit folgender Einstellung abgeschaltet werden:

define( 'WP_AUTO_UPDATE_CORE', false );

Limit für Post Revisions

WordPress sichert regelmäßig die Inhalte von Beiträgen und Seiten zwischen, damit sich auch ein älterer Artikelstand wieder herstellen lässt. Falls die Anzahl der gespeicherten Zwischenstände (Revisionen) z.B. auf 3 begrenzt werden soll, ist dies mit folgendem Code möglich:

define( 'WP_POST_REVISIONS', 3 );

Die Speicherung der Zwischenstände lässt sich auch ganz ausschalten:

define( 'WP_POST_REVISIONS', false );

WP internen Cron deaktivieren

WordPress nutzt ein internes Cron-System für regelmäßige Wartungsaufgaben und die zeitgesteuerte Veröffentlichung von Artikel. Genauere Informationen finden sich in unserem WP-Cron Artikel. Soll auf einen externen Cronaufruf umgestellt werden, wird das interne System folgendermaßen ausgestellt:

define('DISABLE_WP_CRON', true);

Dies ist einer der wenigen Fälle bei denen die genaue Position innerhalb der wp-config.php wichtig ist. Um Probleme zu vermeiden, sollte der Eintrag direkt unter der folgenden Zeile erfolgen:

define('DB_COLLATE','');

Multisite einschalten

WordPress lässt sich als Multisitesystem betreiben. Dazu ist folgender Code notwendig:

define( 'WP_ALLOW_MULTISITE', true );

Editieren von Dateien im Administrationsbereich verhindern

Normalerweise bietet WordPress im Administrationsbereich die Möglichkeit Systemdateien zu editieren. Zur Erhöhung der Sicherheit lässt sich diese Funktion abschalten:

define('DISALLOW_FILE_EDIT', true);

Fazit wp-config.php

Die wp-config.php stellt ein zentrales Element in jeder WordPress Installation dar und einige wichtige Einstellungen lassen sich nur innerhalb dieser Datei vornehmen. Aber Vorsicht: Nie Änderungen ohne Sicherheitskopie vornehmen, denn Fehler in dieser Datei haben meist fatale Auswirkungen.


Dir hat der Artikel geholfen und du möchtest mit unseren WordPress Tipps, Tricks und Anleitungen auf dem Laufenden bleiben? Dann trag dich einfach in unseren kostenlosen Newsletter ein ...


Über den Autor

Nils Schulte am Hülse

Ich arbeite seit über 15 Jahren aktiv mit WordPress und gleichzeitig als Trainer für Präsentation und Kommunikation. Daher liegt mir das Thema verständliche Informationsvermittlung sehr am Herzen. Genau dieses Know How ist auch in den gemeinsam mit Frank erstellten WP ohne Stress Online Kurs eingeflossen.


Diese Beiträge könnten dir auch gefallen

Welchen WordPress Webhoster wählen?

Welchen WordPress Webhoster wählen?

WordPress: Vorteile und Nachteile

WordPress: Vorteile und Nachteile
  • Wo finde ich hier Benutzername und Passwort in wp-config.php ? Ich kann mich nicht mehr auf meine WP Seite einloggen oder neues PW anfordern. Benutzername oder email werden nicht mehr erkannt

  • Hallo WP-Help-Team!
    Könntet ihr mir bitte folgende Frage beantworten,
    oder mir einen Tipp geben, in welchem Tutorial ich dazu Anleitungen finde:
    Wenn ich für einen Kunden auf meinem Apache-Server (Xampp) eine Website gestaltet habe,
    ihm nun aber noch eine Alternative vorschlagen möchte, gibt es doch die einfache Möglichkeit,
    den Ordner (z.B. “Website1”) der ersten Website-Version zu kopieren und mit geändertem Namen (z.B. “Website2”) nochmal in htdocs einzufügen. Und dann kann ich meine alternativen Änderungen dort vornehmen.
    Nun hab ich das gestern probiert, habe im Browser “localhost/website2/wp-admin” eingegeben,
    komme aber nicht in die neue Site um sie zu bearbeiten.
    Zum einen will er das gewohnte Passwort nicht akzeptieren, zum anderen erscheint sofort oben der falsche Link “localhost/website1/wp-admin”.
    Nun suche ich verzweifelt eine Lösung, was man noch machen muss, wenn man das Verzeichnis kopiert, komme aber nicht drauf. Ich hab's vergessen!
    Könnt ihr mir bitte, bitte helfen!!!
    Vielen Dank schon mal!
    Herzliche Grüße,
    Gabi

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
    >