WordPress ist installiert – Die wp-config.php noch ein wenig anpassen

Haben wir WordPress erstmal installiert, so können wir auch schon die eigene Webseite unter unserer Domain (http://ihre-domain.com) aufrufen. Die Seite erscheint gleich mit dem Standardtheme von WordPress, derzeit Twenty Fifteen, und dem Standardbeitrag „Hallo Welt“. Jetzt geht es natürlich darum, die Webseite zu personalisieren und noch ein paar Einstellungen vorzunehmen. Bevor wir uns aber das Dashboard von WordPress ansehen, widmen wir uns der wp-config.php. In den meisten Fällen müssen wir für diesen Zweck mit einem FTP-Programm zB Filezilla die Datei vom Webserver herunterladen, damit wir sie anschließend mit einem Editor bearbeiten können.

Das Wichtigste der wp-config.php im Überblick

Auf der WordPress-Seite https://codex.wordpress.org/Editing_wp-config.php finden wir jede Menge an Einstellungsmöglichkeiten bezüglich der wp-config.php. Die wenigsten werden alles davon brauchen. In diesem Artikel beschreibe ich jene Einstellungen die ich auch selber gerne benutze.

Die originale wp-config-sample.php von WordPress 4.2

<?php
/**
 * In dieser Datei werden die Grundeinstellungen für WordPress vorgenommen.
 *
 * Zu diesen Einstellungen gehören: MySQL-Zugangsdaten, Tabellenpräfix,
 * Secret-Keys, Sprache und ABSPATH. Mehr Informationen zur wp-config.php gibt es
 * auf der {@link https://codex.wordpress.org/Editing_wp-config.php wp-config.php editieren}
 * Seite im Codex. Die Informationen für die MySQL-Datenbank bekommst du von deinem Webhoster.
 *
 * Diese Datei wird von der wp-config.php-Erzeugungsroutine verwendet. Sie wird ausgeführt,
 * wenn noch keine wp-config.php (aber eine wp-config-sample.php) vorhanden ist,
 * und die Installationsroutine (/wp-admin/install.php) aufgerufen wird.
 * Man kann aber auch diese Datei nach "wp-config.php" kopieren, alle fehlenden Werte
 * ergänzen und die Installation anschließend starten.
 *
 * @package WordPress
 */

// ** MySQL Einstellungen - diese Angaben bekommst du von deinem Webhoster. ** //
/** Ersetze database_name_here mit dem Namen der Datenbank, die du verwenden möchtest. */
define('DB_NAME', 'database_name_here');

/** Ersetze username_here mit deinem MySQL-Datenbank-Benutzernamen */
define('DB_USER', 'username_here');

/** Ersetze password_here mit deinem MySQL-Passwort */
define('DB_PASSWORD', 'password_here');

/** Ersetze localhost mit der MySQL-Serveradresse */
define('DB_HOST', 'localhost');

/** Der Datenbankzeichensatz der beim Erstellen der Datenbanktabellen verwendet werden soll */
define('DB_CHARSET', 'utf8');

/** Der collate type sollte nicht geändert werden */
define('DB_COLLATE', '');

/**#@+
 * Sicherheitsschlüssel
 *
 * Ändere jeden KEY in eine beliebige, möglichst einzigartige Phrase.
 * Auf der Seite {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * kannst du dir alle KEYS generieren lassen.
 * Bitte trage für jeden KEY eine eigene Phrase ein. Du kannst die Schlüssel jederzeit wieder ändern,
 * alle angemeldeten Benutzer müssen sich danach erneut anmelden.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

/**#@-*/

/**
 * WordPress Datenbanktabellen-Präfix
 *
 * Wenn du verschiedene Präfixe benutzt, kannst du innerhalb einer Datenbank
 * verschiedene WordPress-Installationen betreiben. Nur Zahlen, Buchstaben und Unterstriche bitte!
 */
$table_prefix  = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

Sieht ein bisschen aufregender aus als es ist. In der wp-config.php sollten sich nach der Installation von WordPress bereits die Datenbankangaben und ein automatisch erstellter Sicherheitsschlüssel befinden, welcher jederzeit aber geändert werden kann. Hierzu einfach die Webseite https://api.wordpress.org/secret-key/1.1/salt/ aufrufen und den neuen Schlüssel in die wp-config.php kopieren. Weiters finden wir den bei der Installation erstellten Datenbank Tabellenpräfix – $table_prefix  = 'wp_';. Sofern er nicht bei der Installation geändert wurde lautet dieser wp_. Der Rest der Datei steht ohnehin Standardmäßig drin.

Nach dem Tabellenpräfix beginnen wir mit unseren eigenen zusätzlichen Einstellungen.

WordPress URL’s definieren

Sofern es sich um eine Standardinstallation handelt, und wir nicht vorhaben, Verzeichnisse wie plugins oder wp-content oder das Themeverzeichnis zu ändern, können wir uns die Einträge zu WP_CONTENT_URL, UPLOADS, WP_PLUGIN_URL … eigentlich sparen. WP_SITEURL und WP_HOME bringen minimale Performance Vorteile. Die Einträge diesbezüglich könnten so aussehen.

/* URL's definieren */
define( 'WP_SITEURL',      'http://ihre-domain.com' );
define( 'WP_HOME',         'http://ihre-domain.com' );
define( 'WP_CONTENT_DIR',  dirname(__FILE__) . '/wp-content' );
define( 'WP_CONTENT_URL',  'http://ihre-domain.com/wp-content' );
define( 'WP_PLUGIN_DIR',   dirname(__FILE__) . '/wp-content/plugins' );
define( 'WP_PLUGIN_URL',   'http://ihre-domain.com/wp-content/plugins' );
define( 'UPLOADS',         'http://ihre-domain.com/wp-content/uploads' );
$theme_root = WP_CONTENT_DIR . '/themes';

Sollte WordPress in einem Unterverzeichnis installiert worden sein, so müssen die URL’s entsprechend angepasst werden.

/* aus */
define( 'WP_CONTENT_URL',  'http://ihre-domain.com/wp-content');

/* wird zB*/
define( 'WP_CONTENT_URL',  'http://ihre-domain.com/unterverzeichnis/wp-content' );

SSL für LOGIN und ADMIN

In meinen Augen ein sehr wichtiger Punkt ist die verschlüsselte Übertragung des Passwortes beim Login. Um dieses zu realisieren, muss der Webserver auch SSL unterstützen bzw. aktiviert sein. Bei All-Inkl funktioniert das zB. ganz einfach im KAS unter DOMAIN – BEARBEITEN – SSL Schutz.

Im SSL Schutz Menü aktivieren wir SSL und erzeugen ein selbst signiertes SSL Zertifikat.

Ist dieser Punkt erfüllt so steht dem Eintrag in der wp-config.php nichts mehr im Wege. Dieser lautet wie folgt:

/* SSL Login */
define( 'FORCE_SSL_LOGIN',  true );
define( 'FORCE_SSL_ADMIN',  true );

if ( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
    $_SERVER['HTTPS'] = 'on';

Nach dem abspeichern und wieder hochladen auf dem Webserver der wp-config.php sollte ihre Loginseite nun auch schon automatisch über https://… erreichbar sein. Verschiedene Serverkonfigurationen mögen aber noch einen Eintrag in die .htaccess Datei notwendig machen. Diese Datei wäre ebenfalls zB per FTP (Filezilla od. ähnl.) herunter zu laden, bearbeiten und wieder hochzuladen. Näher Information diesbezüglich unter https://codex.wordpress.org/Administration_Over_SSL#Rewrite_Rules_For_The_Insecure_Host.

Beitragsversionen limitieren oder ganz abschalten

Für den einen ein Segen, für den anderen ein Fluch. Beitragsversionen haben durchaus ihre Berechtigung. Sollte man auf eine vorhergehende Änderung des Beitrages zurückgreifen wollen, so ist dies mit den Revisionen ganz einfach möglich. Unter Veröffentlichen werden uns die verfügbaren Revisionen angezeigt, welche wir uns „anzeigen“ lassen können.

Mit dem Schiebeschalter wählen wir die gewünschte Revision aus und mit dem Button „Diese Revision wiederherstellen“ haben wir diese auch schon wiederhergestellt.

Die Funktion ist zwar sehr praktisch, doch sie bringt auch gewisse Nachteile mit. Für jede Revision wird in der Datenbank ein eigener Eintrag erstellt. Wenn man Beträge häufig ändert, müllt die Datenbank daher mit der Zeit zu. Daher ist es sinnvoll diese Revisionen zu limitieren oder wenn man man sie gar nicht benötigt, ganz abzuschalten. Folgender Code in der wp-config.php hilft uns dabei.

/* Beitragsrevisionen auf 5 limitieren */
define ( 'WP_POST_REVISIONS',  5 );

/* oder ganz abschalten */
define ( 'WP_POST_REVISIONS',  false );

Weitere Optionsbeispiele

/* Automatisches Speichern der Beiträge ( Standard = 60 Sekunden )
 * auf 600 Sekunden erhöhen */
define( 'AUTOSAVE_INTERVAL',  600 );

/* Papierkorb für die Mediathek hinzufügen ( Standard = deaktiviert ) */
define( 'MEDIA_TRASH',  true );

/* Papierkorb ausleeren ( Standard = 30 Tage )
 * Änderung auf zB 14 Tage */
define( 'EMPTY_TRASH_DAYS',  14 );

/* oder Papierkorb sofort entleeren ohne Nachfrage */
define( 'EMPTY_TRASH_DAYS',  0 );

Es sind noch einige mehr Einstellungen für die wp-config.php verfügbar. Wer sich noch intensiver mit diesem Theme beschäftigen möchte findet auf https://codex.wordpress.org/Editing_wp-config.php die nötigen Informationen. Auf der Seite GenerateWP wird uns übriges ein hervorragender Generator, auch unter anderem für die wp-config.php, zur Verfügung gestellt. Man sollte jedoch für Einstellungen wie die automatischen Updates von WordPress, Multisite Netzwerk, PHP Memory Limit etc. schon über nötigen Vorkenntnisse verfügen.

Bitte beachten Sie, dass dieser Beitrag bereits vor über einem Jahr geschrieben wurde und unter umständen nicht mehr aktuell ist.