Portada Wordpress Cómo Anular el Cron de WordPress y Crear uno desde cPanel
WordPress es un CMS fantástico y usado por millones de usuarios de todo el mundo.
Es sencillo de usar, seguro, fácil de administrar, muy personalizable y con miles de extras en forma de plugins que son capaces de hacer prácticamente cualquier cosa que un usuario necesite.
Pero como todo en esta vida, no es perfecto, y en ocasiones se necesita de nuestra intervención para ciertas acciones, como mejorar el rendimiento de WordPress.
En un sitio web pequeño y con pocas visitas diarias no hay mayor problema ya, ya que WordPress gestiona bastante bien los recursos que le pide al hosting web que tengamos contratados para funcionar, pero con el aumento de visitas podemos tener un problemas de recursos del servidor, ya que los recursos del hosting no son infinitos.
Una de las causas más habituales que generan la sobrecarga de recursos del alojamiento que tengamos contratado, es el uso de los cron jobs, también llamadas tareas programadas.
Aunque no seamos conscientes de ellos, WordPress puede tener activos varios cron que pueden haberse activado al instalar un plugin o usar un determinado theme.
Copias de seguridad, pingbacks, envío de emails, publicación de artículos programados, etc… Todas estas acciones hacen uso de los cron jobs y el sistema de WordPress hace que muchas de estas tareas se active y revisen por cada visita que llegue a nuestro WordPress.
Podemos imaginar la cantidad de peticiones que los cron jobs de WordPress puede hacer a nuestro hosting si recibimos muchas visitas en un corto espacio de tiempo.
Esto puede causar sobrecargas en el alojamiento, e incluso la caída temporal del sitio web.
Una solución muy práctica para resolver esto es desactivar el cron de WordPress y luego crear un cron job en cPanel para que realice estas tareas cada cierto tiempo y no a cada visita que reciba nuestro blog.
Lo primero que debemos hacer es añadir en el archivo wp-config.php la siguiente linea:
define(‘DISABLE_WP_CRON’, ‘true’);
Para hacer esto podemos acceder a nuestro cPanel. Si no tenemos muy claro cómo hacer esto, podemos revisar la siguiente guía donde explicamos cómo acceder a cPanel.
El archivo wp-config.php podemos localizarlo dentro de nuestra instalación de WordPress y podemos editarlo desde el propio Administrador de Archivos de cPanel.
Una vez abierto en el editor, sólo debemos añadir la linea indicada para desactivar el cron de WordPress.
Podemos añadir un comentario para tener constancia para que sirve dejándolo así:
/** Desactivar cron WordPress */ define('DISABLE_WP_CRON', 'true');
Una vez guardado, el cron de WordPress estará desactivado.
Ahora vamos a crear nuestro propio fichero cron.
Para hacer esto sólo debemos dirigirnos a la parte superior izquierda del Administrador de Archivos y vamos a pulsar + Archivo.
Esto abrirá una ventana en la que nos pedirá el nombre del archivo, al cual vamos a llamar wpcron.php.
Después sólo nos quedará pulsar sobre Create New File para terminar de crear el archivo.
Una vez creado sólo tenemos que localizarlo y editarlo con el Editor de código (botón derecho y pulsar Code Edit)
El archivo estará vació, algo lógico pues lo acabamos de crear, así que vamos a añadirle el siguiente código:
<?php $ch = curl_init('http://dominio.com/wp-cron.php?doing_wp_cron '); curl_exec($ch); curl_close($ch);
Hay que recalcar que donde pone domino.com, debemos poner nuestro dominio.
Después de esto sólo tenemos que guardar los cambios.
cPanel tiene varias opciones que muchos usuarios no suelen usar, pero es importante tenerlas para cuando sea necesario-
Por este motivo Hostinet incluye cPanel en todos sus alojamientos web compartidos, incluso en los más económicos.
Para crear la nueva tarea, debemos buscar el icono de Trabajos Cron, que podemos encontrar en la sección Avanzada.
Una vez dentro tenemos que centrarnos en crear un nuevo cron. Como podemos ver, tenemos configuraciones comunes que podemos elegir, una vez por minuto, una vez cada hora, etc…
Podemos poner que se ejecute cada cada 15 o 20 minutos. Si pones 20 minutos, esta opción no está entre las más comunes, deberemos dejarlo así:
*/20
Los campos de Hora, día, mes y día de la semana los dejaremos rellenaremos con un asterisco (*) que indica que se va a realizar la acción una vez cada hora, día, etc..
Y por último debemos añadir el siguiente comando:
php /home/usuario/public_html/wpcron.php
Tenemos que cambiar usuario por nuestro propio usuario para que funcione. Te explicamos cómo saber cuál es tu usuario un poco más abajo.
Al pulsar sobre Añadir nuevo trabajo de cron veremos que tenemos un trabajo cron programando para ejecutarse cada 20 minutos:
Podemos saber cual es nuestro usuario de varias maneras.
Por ejemplo, desde el Administrador de Archivos, en el árbol de directorios:
Desde el menú principal de nuestro cPanel, podemos ver cual es el usuario actual:
Desde nuestra ficha de cliente de Hostinet, dentro de las opciones del hosting, en la gestión de cPanel, también podemos ver nuestro nombre de usuario:
cPanel es un panel de control más usado en todos los alojamientos web, de hecho es prácticamente un estándar, y en Hostinet decidimos desde hace mucho tiempo ya, incluirlo en todos los hosting web que ofrecemos.
cPanel tiene muchas opciones disponibles, y muchas de ellas es posible que muchos usuarios no las usen, pero llegado el momento, como se comenta en este artículo por ejemplo, es importante tenerlas disponibles.
Por ese motivo Hostinet ofrece cPanel en todos los alojamientos Linux compartidos sin por ello incrementar el precio.