Cómo solucionar errores comunes de permisos en archivos de WordPress en cPanel
¿Por qué aparecen errores de permisos en WordPress?
Cuando trabajas con WordPress alojado en un servidor con cPanel, los errores de permisos en archivos y carpetas son de los problemas más comunes, especialmente después de migrar el sitio, instalar un plugin o restaurar una copia de seguridad. Verás mensajes como "Error al crear el archivo wp-config.php", "No se pudo conectar a la base de datos" o simplemente la pantalla blanca de la muerte. Te explico la causa raíz.
Los permisos en Linux controlan quién puede leer, escribir o ejecutar un archivo. WordPress necesita que los archivos tengan permisos específicos para funcionar bien. Cuando estos valores son incorrectos (por ejemplo, demasiado restrictivos o demasiado permisivos), el servidor web (Apache o LiteSpeed) no puede interactuar correctamente con tu instalación.
La buena noticia es que solucionar permisos en cPanel es un proceso sencillo si sigues los pasos adecuados. En esta guía práctica, aprenderás a diagnosticar y corregir los errores más comunes, usando tanto el administrador de archivos de cPanel como comandos SSH (si tu hosting lo permite). Vamos a ello.
Entendiendo los permisos de archivos en WordPress
Para arreglar algo, primero hay que entenderlo. En un sistema Linux, cada archivo y carpeta tiene tres tipos de permisos: lectura (r), escritura (w) y ejecución (x). Estos se asignan a tres niveles de usuarios: el propietario, el grupo y otros (el resto del mundo).
En WordPress, los valores estándar recomendados son:
- Archivos:
644(lectura y escritura para el propietario, solo lectura para el grupo y otros). - Carpetas:
755(lectura, escritura y ejecución para el propietario, lectura y ejecución para grupo y otros).
Cuando ves valores como 777, eso significa que todos pueden escribir en el archivo o carpeta, lo cual es un riesgo de seguridad enorme. Por otro lado, si ves 600 en un archivo que debería ser 644, WordPress no podrá leerlo correctamente y dará error.
¿Qué hace cada permiso?
- 6 = Lectura y escritura (4+2)
- 7 = Lectura, escritura y ejecución (4+2+1)
- 5 = Lectura y ejecución (4+1)
- 4 = Solo lectura
Para WordPress, el propietario de los archivos debe ser tu usuario de cPanel. El grupo y "otros" solo necesitan permisos de lectura en archivos, y de lectura y ejecución en carpetas para poder navegar por ellas.
Cómo ver los permisos actuales en cPanel
Antes de cambiar nada, es importante que sepas qué permisos tienen tus archivos ahora mismo. En cPanel, el proceso es visual y no requiere conocimientos de terminal.
Paso 1: Accede al Administrador de Archivos
- Entra en tu panel de cPanel (normalmente en
tudominio.com/cpanelotudominio.com:2083). - Busca la sección Archivos y haz clic en Administrador de Archivos.
- Se abrirá una nueva pestaña o ventana. Te pedirá que elijas la carpeta raíz. Selecciona Documento raíz del dominio (por ejemplo,
public_html).
Paso 2: Inspecciona carpetas y archivos
En la interfaz, verás una lista de carpetas y archivos. En la columna Permisos aparecerán valores numéricos como 755 o 644. Haz clic en el icono de Configuración (generalmente una tuerca o un candado) junto a cualquier archivo o carpeta para ver su detalle.
[INFO] La carpeta
wp-contentes la más problemática. Dentro de ella, las subcarpetasuploads,pluginsythemesdeben tener permisos755para las carpetas y644para los archivos. Los archivos.htaccessywp-config.phpsuelen ser los que más errores causan si no tienen los permisos correctos.
Errores comunes y cómo solucionarlos
Error 1: "No se pudo escribir en el directorio de subidas" o "Error al subir archivos multimedia"
Este es uno de los errores más frustrantes. Intentas subir una imagen desde el editor de WordPress y te aparece un mensaje de error. La causa suele ser que la carpeta wp-content/uploads tiene permisos demasiado restrictivos (por ejemplo, 755 cuando el propietario no es el usuario del servidor, o 644).
Solución paso a paso:
- Ve al Administrador de Archivos de cPanel.
- Navega hasta
public_html/wp-content/uploads. - Haz clic derecho sobre la carpeta
uploadsy selecciona Cambiar permisos. - Introduce el valor 755 en el campo de permisos numéricos.
- Marca la casilla Recursivo (si aparece) para que se aplique a todas las subcarpetas y archivos dentro de
uploads. OJO: Esto cambiará los permisos de todos los archivos dentro, lo cual es correcto en este caso. - Haz clic en Cambiar permisos.
Después de esto, vuelve a intentar subir tu archivo. En la mayoría de los casos, el problema se resuelve.
[TIP] Si tu hosting usa LiteSpeed o Apache, a veces el problema no es solo el permiso numérico, sino el propietario. Si después de cambiar a
755sigue fallando, contacta a tu proveedor de hosting para verificar que el usuario del servidor (PHP) coincide con el propietario de los archivos.
Error 2: "Error al establecer una conexión con la base de datos"
Este error es más grave porque impide que tu sitio cargue por completo. Aunque suele estar relacionado con las credenciales de la base de datos en wp-config.php, los permisos incorrectos también pueden ser el culpable.
Solución:
- Localiza el archivo
wp-config.phpen la raíz depublic_html. - Haz clic derecho sobre él y selecciona Cambiar permisos.
- Asegúrate de que el valor sea 644 (lectura y escritura para el propietario, lectura para grupo y otros).
- Si el archivo tiene permisos
600, WordPress no puede leerlo correctamente desde el servidor web. Cámbialo a644.
Además, verifica que el archivo .htaccess (si existe) tenga permisos 644. Un .htaccess con permisos 644 permite que Apache lo lea y aplique las reglas de reescritura necesarias para WordPress.
[WARNING] Nunca pongas
wp-config.phpcon permisos777. Esto expondría tus credenciales de base de datos a cualquier persona que visite tu servidor.644es el valor seguro y correcto.
Error 3: La pantalla blanca de la muerte (WSOD)
La temida pantalla blanca puede deberse a muchas cosas, pero los permisos incorrectos en los plugins o temas son una causa frecuente. Si un archivo de un plugin no tiene los permisos adecuados, PHP no puede ejecutarlo y el sitio se queda en blanco.
Solución:
- Accede a
public_html/wp-content/plugins. - Cambia los permisos de todas las carpetas de plugins a
755. - Cambia los permisos de todos los archivos dentro de cada carpeta de plugin a
644.
Puedes hacerlo manualmente, pero si tienes muchos plugins, te recomiendo usar SSH para un cambio masivo (lo veremos más adelante). Si no tienes experiencia con SSH, la opción manual es viable aunque un poco tediosa.
Repite el mismo proceso para la carpeta wp-content/themes.
[INFO] Si después de cambiar los permisos sigues viendo la pantalla blanca, desactiva todos los plugins cambiando el nombre de la carpeta
pluginsaplugins_backupdesde el Administrador de Archivos. Si el sitio carga, el problema era un plugin específico. Luego ve reactivándolos uno a uno.
Error 4: No puedes instalar o actualizar plugins o temas
WordPress te pide que ingreses las credenciales FTP para instalar un plugin. Esto es un clásico y suele deberse a que los permisos de wp-content no permiten que el servidor escriba directamente.
Solución:
- Ve a
public_html/wp-content. - Cambia los permisos de la carpeta
wp-contenta 755. - Dentro de
wp-content, asegúrate de queplugins,themesyuploadstambién tengan permisos755en las carpetas y644en los archivos.
Con esto, WordPress podrá escribir directamente sin pedir FTP. Si el problema persiste, revisa que el propietario de los archivos sea tu usuario de cPanel (no root).
Cómo solucionar permisos en masa con SSH (método avanzado)
Si tu hosting te permite acceso SSH, puedes corregir todos los permisos de una sola vez con dos comandos. Esto es mucho más rápido y menos propenso a errores que hacerlo manualmente.
Paso 1: Conéctate por SSH
Abre tu terminal (o usa PuTTY en Windows) y conéctate a tu servidor con tu usuario de cPanel. El comando sería:
ssh usuario@tudominio.com
Paso 2: Navega a la carpeta de WordPress
cd ~/public_html
Paso 3: Corrige las carpetas (directorios)
El siguiente comando establece permisos 755 para todas las carpetas dentro de public_html, pero excluye los archivos:
find . -type d -exec chmod 755 {} \;
Paso 4: Corrige los archivos
Este comando establece permisos 644 para todos los archivos dentro de public_html:
find . -type f -exec chmod 644 {} \;
[TIP] Estos comandos cambiarán los permisos de todos los archivos y carpetas, incluyendo los de tus plugins y temas. Es la solución más completa para errores de permisos WordPress en cPanel.
Paso 5: Restaura permisos especiales
Algunos archivos necesitan permisos diferentes. Por ejemplo, wp-config.php debe ser 644 (ya lo está), pero si usas un certificado SSL, los archivos en .well-known pueden necesitar 755. Verifica manualmente las carpetas críticas después del cambio masivo.
Prevenir futuros errores de permisos
Una vez que hayas solucionado el problema, es importante que tomes medidas para que no vuelva a ocurrir. Aquí van algunas recomendaciones:
- No uses permisos
777nunca. Es un riesgo de seguridad crítico. Si necesitas que algo sea escribible, usa755para carpetas y644para archivos. - Mantén los permisos estándar:
755para carpetas y644para archivos. Es el estándar de WordPress y funciona en el 99% de los casos. - Revisa los propietarios de los archivos. Si migraste tu sitio desde otro hosting, es posible que los archivos tengan un propietario diferente. Asegúrate de que el propietario sea tu usuario de cPanel.
- Actualiza WordPress, plugins y temas regularmente. Las actualizaciones pueden cambiar permisos, pero es menos probable que causen errores si el sistema está bien configurado.
Preguntas frecuentes (FAQ)
¿Puedo usar permisos 777 para solucionar el error de subida de archivos?
No. Aunque 777 "funciona" a corto plazo, expone tu sitio a ataques maliciosos. Cualquier persona podría modificar tus archivos. Usa siempre 755 para carpetas y 644 para archivos. Si el error persiste con estos valores, el problema es el propietario de los archivos, no los permisos.
¿Qué hago si no tengo acceso SSH?
No es imprescindible. El Administrador de Archivos de cPanel te permite cambiar permisos de forma visual. Para archivos dentro de carpetas, puedes seleccionarlos todos (Ctrl+clic) y cambiar los permisos en bloque. Es más lento, pero igual de efectivo.
¿Los permisos de wp-config.php deben ser 644 o 640?
644 es el valor estándar y recomendado. 640 también puede funcionar si el grupo del servidor web tiene acceso al archivo, pero 644 es la opción más segura y compatible.
¿Qué significa el error "No se pudo conectar a la base de datos" en relación con los permisos?
Si wp-config.php no tiene permisos 644, el servidor web no puede leerlo y, por lo tanto, no puede obtener las credenciales de la base de datos. Verifica este archivo primero.
¿Puedo cambiar los permisos de todo public_html a 755 y 644 sin romper nada?
Sí, siempre que no tengas scripts que necesiten permisos de escritura específicos (como algunos cachés). Si usas un plugin de caché, revisa su documentación, ya que puede requerir permisos especiales en su carpeta.
Conclusión
Los errores de permisos en WordPress son frustrantes, pero con esta guía deberías poder solucionar permisos en cPanel sin necesidad de ser un experto en Linux. Recuerda siempre usar los valores estándar de archivos 755 644 y evitar el 777.
Si después de seguir todos estos pasos el problema persiste, es posible que el error esté en la configuración del servidor (como el usuario de PHP), así que no dudes en contactar con el soporte de tu hosting. Con paciencia y método, tu sitio volverá a funcionar perfectamente.
