Volver

Cómo resolver los errores más comunes de WordPress

WordPress es el CMS más popular en Internet. Cerca del 24% de todas las páginas de Internet están hechas con WordPress. Al estar tan extendido, dispone de una gran comunidad que desarrolla temas y plugins con nuevas funcionalidades con regularidad.

A medida que vamos trabajando con nuestro WordPress, nos podemos encontrar con errores de diferente índole. Algunos de ellos pueden dejar totalmente inutilizable el blog. Es por eso que, a continuación, explicaremos los errores más comunes y cómo solucionarlos.

1. Tiempo de ejecución
Uno de los errores más habituales es el de la falta de tiempo de ejecución y se suele producir cuando instalamos plugins, actualizamos WordPress, subimos contenido o realizamos algún proceso de importación de datos.

Nos aparece un mensaje similar al siguiente:

Fatal error: Maximum execution time of 10 seconds exceeded in /usr/home/example.com/web/wordpress/wp-includes/classes.php on line 422
La solución en estos casos es aumentar el valor de PHP max_execution_time. En CDmon, podemos aumentar este valor en el Panel de control del alojamiento, en el apartado ‘Configurar PHP’.

2. Headers already sent
Otro error frecuente es cuando WordPress nos muestra un mensaje de error como el siguiente:

Cannot modify header information – headers already sent by (output started at)
Este error lo suelen causar espacios en blanco o caracteres extraños justo antes de las etiquetas <?php o ?>. Habitualmente suele ocurrir en el fichero wp-config.php, aunque puede pasar en otros archivos, el mensaje de error nos lo indicará. Para solucionarlo, tenemos que descargar el archivo por FTP y, una vez descargado, lo abrimos con un editor de texto plano, el Bloc de Notas mismo nos sirve.

Nos aseguramos que delante de las etiquetas de PHP <?php, ?> no haya ningún espacio en blanco ni carácter extraño.

También, si encontramos código PHP que está separado en bloques de manera innecesaria, lo podemos unificar.

Ejemplo de código incorrecto:

<?php
parte de código php;
?>
<?php
más código php;
?>
Corrección:

<?php
part de código php;
más código php;
?>
Una vez editado el archivo lo subimos de nuevo al alojamiento.

3. Error al actualizar WordPress
El siguiente error puede aparecer cuando intentamos actualizar WordPress automáticamente. En versiones actuales de WordPress es extraño que se produzca este error, puede pasar en versiones más antiguas.

El mensaje que nos aparece es el siguiente:

Download failed.: Operation timed out after 30000 milliseconds with 351500 bytes received
El error es debido a que WordPress tiene configurado un timeout demasiado bajo. Para solucionarlo, accedemos por FTP al alojamiento y vamos a la carpeta /wp-admin/includes.

Una vez dentro, descargamos el fichero file.php y lo editamos con el Bloc de Notas.

Buscamos la siguiente línea:

$response = wp_remote_get($url, array(‘timeout’ => 30));
Reemplazamos el 30 por un 150 u otro valor más alto. Guardamos el archivo y lo volvemos a subir al alojamiento. Si intentamos actualizar de nuevo, ya no debería fallar.

4. Página en blanco
Uno de los errores más habituales es cuando WordPress se queda en blanco. En este caso, pueden ser distintas razones que pueden causar este comportamiento.

Plugins instalados
Lo más normal es que se trate de alguna incompatibilidad con algún plugin. Si se tiene acceso a la administración de WordPress, se puede entrar y desactivar los plugins. Si no tenemos acceso, podemos renombrar, a través de FTP, la carpeta plugins, dentro de wp-content, por otro nombre, plugins2, por ejemplo. Esto desactiva todos los plugins.

Debemos de tener en cuenta, también, si tenemos plugins de cache activados. Por ejemplo, el plugin wp-super-cache puede generar la página en blanco, ya que utiliza el módulo APC de PHP. Un módulo que no es del todo estable y suele ser responsable de algunos errores en las aplicaciones.

En este caso concreto, lo podemos solucionar deshabilitando el APC introduciendo el siguiente código en un archivo .htaccess:

php_value apc.cache_by_default Off
Tema actual
Otro motivo que puede causar la página en blanco puede ser la activación de un nuevo tema. Cuando hemos acabado de instalar un tema nuevo, puede generar algún problema de compatibilidad y dejar WordPress en blanco. La solución es acceder a la administración y activar uno de los temas básicos por defecto, o si no podemos acceder a la administración, a través de FTP, acceder a la carpeta wp-content/themes y renombrar la carpeta del tema que hemos activado y ha generado el error.

Límite de memoria
A veces, WordPress se puede quedar en blanco si la aplicación necesita más memoria para funcionar. Para verificar si se trata de falta de memoria, podemos activar el modo DEBUG del WordPress. Para activarlo, tenemos que editar el fichero wp-config.php y veremos una línea con el siguiente código:

define( ‘WP_DEBUG’, false );
La modificamos, y ponemos true.

define( ‘WP_DEBUG’, true );
De esta manera, WordPress nos puede mostrar mensajes de error como el de falta de memoria. Para aumentar el parámetro de memory_limit, en CDmon, accedemos al Panel de control del alojamiento, en el apartado Configurar PHP.

5. Internal Server Error
Cuando nos aparece el error de Internal Server Error se debe, en la gran mayoría de casos, por código incorrecto dentro del fichero .htaccess. El fichero .htaccess lo genera automáticamente WordPress y, si se edita de forma incorrecta, puede que deje de funcionar el blog.

Para solucionarlo, podemos renombrar el archivo .htaccess que se encuentra en la raíz de la instalación del WordPress a través de FTP. Una vez hecho, podemos resetear el .htaccess desde la administración de WordPress, generando de nuevo los permalinks.

Otra manera para corregir un .htaccess mal configurado es poner, manualmente, el código por defecto de WordPress:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Por otro lado, puede que el código incorrecto dentro del .htaccess lo genere un plugin. Normalmente, en el código del .htaccess se puede ver el plugin que lo causa. Podemos desactivar el plugin desde la administración para evitar que nos vuelva a ocurrir.

6. No funcionan los enlaces
Cuando no funcionan los enlaces de las diferentes secciones de WordPress, en la mayoría de los casos, es porque falta el archivo .htaccess o que éste, está mal configurado. Podemos corregirlo accediendo a la administración y restableciendo los permalinks.

También lo podemos solucionar poniendo en el .htaccess el código anterior.

7. Error estableciendo la conexión a la base de datos
Este error sucede cuando, en le fichero de configuración de WordPress, no están correctamente especificados los datos de conexión a la base de datos.

Para corregirlo, descargamos por FTP el fichero wp-config.php, que se encuentra en la raíz de la instalación de WordPress y revisamos que los datos de conexión sean los correctos.

Veremos unos parámetros similares a los siguientes:

define(‘DB_NAME’, ‘Nombrebasededatos’);
define(‘DB_USER’, ‘UsuarioMySQL’);
define(‘DB_PASSWORD’, ‘PasswordMySQL’);
define(‘DB_HOST’, ‘localhost’);
define(‘DB_CHARSET’, ‘utf8’);
Tenemos que verificar que el nombre de la base de datos, el usuario y la contraseña sean los correctos. Podemos revisarlo desde el Panel de control del alojamiento, en el apartado MySQL. Si no fueran los correctos, lo podemos corregir y modificar por los datos del Panel.

8. Sitio en mantenimiento
Cuando WordPress se actualiza o realiza un operación de mantenimiento deja el blog inaccesible de manera temporal. A veces, incluso habiendo finalizado la actualización, nos sigue apareciendo la web en mantenimiento. Para corregirlo, sencillamente, conectamos por FTP al hosting, y, en la raíz del sitio, eliminamos el archivo llamado .maintenance.

9. Falta un directorio temporal
Nos podemos encontrar que, cuando subimos imágenes desde la administración de WordPress, nos aparezca el mensaje “Falta un directorio temporal”. Esto sucede cuando en nuestro alojamiento no está creada la carpeta tmp.

La carpeta tmp se crea automáticamente y se encuentra en la raíz del sitio, y es la que permite que se puedan subir archivos a la web, iniciar sesión y almacenarlas, etc. Si no está creada, conectamos por FTP al alojamiento y creamos la carpeta tmp.

10. Directiva upload_max_filesize
Al instalar un tema en nuestro WordPress, nos puede aparecer el siguiente mensaje:

“The uploaded file exceeds the upload_max_filesize directive in php.ini.”
Este error se debe a que el tema que se está subiendo pesa más de lo que permite la configuración de PHP del alojamiento. En CDmon, para solucionarlo, accedemos al Panel de control del alojamiento, en el apartado Configurar PHP. Allí, aumentamos el valor de la directiva upload_max_filesize.