Cómo Anular el Cron de WordPress y Crear uno desde cPanel

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.

Desactivar el Cron de WordPress (wp-cron.php)

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.

editar wp-config administrador archivos en 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');

codigo desactivar cron wordpress en wp-config.php

Una vez guardado, el cron de WordPress estará desactivado.

Crear el Archivo wpcron.php

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.

crear archivo wpcron desde el administrador de archivos de cPanel

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)

Editar el código de un archivodesde cPanel

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.

codigo wpcron editado desde el administrador de archivos


Hosting Genérico


Crear Cron Job desde cPanel

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.

trabajos cron cpanel en Hostinet

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

crear cron nuevo en Hostinet

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:

cron creado desde cpanel de Hostinet

Cómo se cuál es mi Usuario

Podemos saber cual es nuestro usuario de varias maneras.

Por ejemplo, desde el Administrador de Archivos, en el árbol de directorios:

usuario arbol directorio para saber nombre de usuario

Desde el menú principal de nuestro cPanel, podemos ver cual es el usuario actual:

usuario principal cpanel en Hostinet

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:

usuario gestion cpanel en Hostinet

Hostinet, cPanel en Todos los Alojamientos Compartidos

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.

Hosting WordPress