Eine Sammlung von WordPress Befehlen und PHP Scripten zur Verbesserung des Systems.
Inhalt
Code für wp-config.php
Die folgenden Einstellungen müssen in der wp-config.php gesetzt werden.
Debug Modus
Die folgenden Zeilen aktivieren sowohl das WP_DEBUG_LOG als auch die Ausgabe von PHP Fehlern im Frontend.
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
Papierkorb Aufbewahrungsdauer
Wie lange werden gelöschte Posts & Beiträge in der Datenbank aufbewahrt? Mit dem folgenden Code kann die Aufbewahrung z.B. auf 365 Tage gesetzt werden.
define('EMPTY_TRASH_DAYS', 365 );
WP-Cron deaktivieren
Der WordPress Cron führt geplante Hintergrundprozesse aus. Im Standard werden diese über Seitenbesucher ausgelöst und dann während der Seitenaufbereitung durchlaufen. Das kann zur Folge haben, dass die Seitenladezeit in einigen Fällen sehr lange braucht.
define('DISABLE_WP_CRON', true);
Nach Deaktivierung in WordPress ist es essentiell, dass mittels Server-Cron-Jobs ein externer Aufruf des WordPress-Cron aktiviert wird. Hierfür gibt es zwei Ansätze.
1. Cronjob per direkten HTTP-Aufruf
Du kannst den Cronjob in deiner Crontab hinzufügen, um regelmäßig wp-cron.php
auszuführen:
* * * * * curl -s https://deine-domain.de/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Erklärung:
* * * * *
→ führt den Cronjob jede Minute aus.curl -s
→ ruft die URL still auf.> /dev/null 2>&1
→ unterdrückt die Ausgabe.?doing_wp_cron
ist optional, aber empfohlen, damit WordPress korrekt erkennt, dass es sich um einen Cron-Aufruf handelt.
2. Cronjob per PHP-CLI (lokaler Aufruf)
Wenn du direkten Serverzugriff hast, ist es besser, die wp-cron.php
lokal auszuführen:
* * * * * /usr/bin/php /var/www/html/wp-cron.php > /dev/null 2>&1
Erklärung:
/usr/bin/php
→ Pfad zur PHP-Binary (ggf. mitwhich php
prüfen)./var/www/html/wp-cron.php
→ absoluter Pfad zu deiner WordPress-Installation. Je nach Hosting-Provider oder Serverkonfiguration kann dieser abweichend sein.
3. Cronjob per WP-CLI
Falls WP-CLI installiert ist, kannst du Cronjobs eleganter triggern:
* * * * * /usr/local/bin/wp cron event run --due-now --path=/var/www/html > /dev/null 2>&1
Erklärung:
/usr/local/bin/wp
→ Pfad zur WP-CLI (ggf. mitwhich wp
prüfen).cron event run --due-now
→ führt alle überfälligen Cron-Events aus.--path=/var/www/html
→ Pfad zu deiner WordPress-Installation.
WordPress Standard Files
Manchmal braucht man einfach die WordPress Standard Files um Dateien nach einem Malware Infect wiederherzustellen oder nach Servermigrationen zurückzusetzen. Eine kleine Sammlung der Standarddateien.
.htaccess
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
WordPress Action Scheduler Tuning
⚠️ Vorsicht: batch_size * concurrent_batches = Gesamtzahl der PHP Executions (muss vom Server unterstützt werden, sonst kann die Einstellung den Server überlasten.
Der folgende Code kann z.B. in der functions.php hinterlegt werden:
/*
* Action Scheduler Performance Options
*/
function eg_increase_action_scheduler_batch_size( $batch_size ) {
return 5;
}
add_filter( 'action_scheduler_queue_runner_batch_size', 'eg_increase_action_scheduler_batch_size' );
function eg_increase_action_scheduler_concurrent_batches( $concurrent_batches ) {
return 2;
}
add_filter( 'action_scheduler_queue_runner_concurrent_batches', 'eg_increase_action_scheduler_concurrent_batches' );
function eg_increase_time_limit( $time_limit ) {
return 600;
}
add_filter( 'action_scheduler_queue_runner_time_limit', 'eg_increase_time_limit' );
Domainübertragung in Datenbank durchsetzen
Für diesen Task nutzen wir das Plugin „Better Search & Replace“.

