Espace Client

 Espace Client

Accélérer WordPress en exécutant wp-cron via un cronjob linux

wp-cron

Sections

    WordPress utilise wp-cron pour vérifier les mises à jour du thème et des plugins, mais également pour lancer un certain nombre d’autres processus. Cependant cela peut avoir un impact sur les performances de votre site web, car WordPress exécute wp-cron à chaque chargement de page.
    C’est pourquoi, il peut-être intéressant pour des sites ayant un fort trafic de désactiver cette exécution automatique de wp-cron, afin de la remplacer par un cronjob linux.

    Désactiver wp-cron

    Pour désactiver wp-cron, il suffit d’ajouter la ligne suivante dans le fichier wp-config.php :

    define( 'DISABLE_WP_CRON',      'true' );

    Pour éviter les erreurs avec la publication programmée des articles, vous pouvez également ajouter la ligne suivante :

    define( 'ALTERNATE_WP_CRON',    'true' );

    Enfin, on peut définir la durée maximum d’un wp-cron avec la directive suivante :

    define( 'WP_CRON_LOCK_TIMEOUT', 60 );

    Mettre en place un cronjob linux

    Il suffit ensuite d’ajouter un cronjob sur le serveur pour exécuter le fichier wp-cron.php.
    Soit via un requête HTTP sur le site web :

    */10 * * * * curl http://votresite.tld/wp-cron.php?doing_wp_cron > /dev/null 2>&1

    Soit directement via le CLI PHP :

    */10 * * * * cd /var/www/votresite.tld/htdocs; php /var/www/votresite.tld/htdocs/wp-cron.php > /dev/null 2>&1

    Dans cet exemple, wp-cron est exécuté toutes les 10 minutes, mais vous pouvez réduire ce délai à 5 minutes en remplaçant */10 par */5.

    in WordPress

    Feedback