Modificar la ruta de subida de los archivos multimedia en WordPress
A veces es necesario modificar la ruta donde WordPress sube sus archivos debido a movimientos o migraciones. En caso contrario, los usuarios no pueden subir archivos multimedia a WordPress.
El síntoma más habitual es este error al intentar subir una imagen:
Ha habido un error al subir «IMG-20190918-WA0004.jpg»
Unable to create directory uploads/2019/09. Is its parent directory writable by the server?
Este error significa que la ruta de subida configurada en WordPress no existe en el servidor, no es accesible o contiene una ruta absoluta incorrecta (por ejemplo, una ruta del servidor anterior tras una migración).
Cómo encontrar la ruta correcta en Nicalia
Antes de modificar la ruta, necesitas saber cuál es la ruta absoluta correcta de tu public_html en el servidor de Nicalia. Hay dos formas rápidas:
Desde cPanel — Información del servidor
En cPanel, busca la sección «Información del servidor» (en el panel lateral derecho). Verás el «Directorio raíz» de tu cuenta, que tiene un formato similar a /home/usuario/. La ruta de uploads sería /home/usuario/public_html/wp-content/uploads.
Desde el Administrador de Archivos
Abre el Administrador de Archivos de cPanel, navega a public_html/wp-content/uploads y copia la ruta que aparece en la barra de navegación. Esa es la ruta absoluta correcta.
Desde SSH
Conecta por SSH, navega a public_html/wp-content/uploads y ejecuta pwd. La salida te dará la ruta absoluta completa.
Método 1 — Cambiar la ruta desde Ajustes → Medios en wp-admin
Este es el método más sencillo si tienes acceso al panel de administración de WordPress.
- Accede a wp-admin.
- Ve a Ajustes → Medios.
- En el apartado «Subida de archivos», localiza el campo «Guardar los archivos subidos en esta carpeta».
- Introduce la ruta correcta. Por ejemplo, en los servidores de Nicalia:
/home2/usuario/public_html/wp-content/uploads
Sustituye usuario por el nombre de usuario de tu cuenta de cPanel, y home2 por home según la configuración de tu servidor (puedes comprobarlo con el método de SSH descrito arriba).
- Haz clic en «Guardar cambios».
ℹ️ Este cambio no modificará la ruta de los archivos ya subidos — solo afecta a las nuevas subidas a partir de ese momento. Las imágenes existentes seguirán en su ruta original.
Método 2 — Cambiar la ruta mediante wp-config.php
Si no dispones de acceso a wp-admin, puedes configurar la ruta de subida directamente en el archivo wp-config.php. Consulta la guía cómo editar wp-config.php si necesitas acceder a él.
Para cambiar la carpeta de uploads (por ejemplo, de wp-content/uploads a wp-content/media), añade la siguiente línea en wp-config.php antes de /* That's all, stop editing! */:
define( 'UPLOADS', 'wp-content/'.'media' );
Si el directorio de destino no existe todavía, añade también la siguiente línea para que WordPress lo cree automáticamente:
require_once(ABSPATH.'wp-settings.php');
ℹ️ Al igual que en el Método 1, este cambio no modificará la ruta de los archivos ya subidos — solo afecta a las nuevas subidas.
ℹ️ La constante UPLOADS acepta rutas relativas a la carpeta raíz de WordPress, no rutas absolutas del servidor. Si quieres usar una ruta absoluta, usa la constante UPLOADS combinada con WP_CONTENT_DIR.
Método 3 — Cambiar la ruta con WP-CLI
Si tienes acceso SSH, puedes actualizar la opción directamente desde la terminal con WP-CLI:
wp option update upload_path '/home/usuario/public_html/wp-content/uploads'
Para verificar el valor actual antes y después del cambio:
wp option get upload_path
Este método es equivalente al Método 1 (modifica la misma opción de la base de datos que se configura desde Ajustes → Medios) pero sin necesidad de acceder al panel de administración.
Errores frecuentes al modificar la ruta de uploads
El error persiste después de cambiar la ruta
Verifica que la carpeta wp-content/uploads existe físicamente en el servidor y tiene permisos de escritura. Los permisos correctos son 755 para la carpeta. Desde el Administrador de Archivos de cPanel, haz clic derecho sobre la carpeta uploads → Change Permissions y verifica que el propietario tiene permisos de escritura.
La ruta introducida en Ajustes → Medios no se guarda o vuelve a vacío
Si el campo «Guardar los archivos subidos en esta carpeta» está vacío, WordPress usa la ruta por defecto (wp-content/uploads). Si introduces una ruta y se borra al guardar, puede ser que un plugin esté sobrescribiendo el valor. También puede ocurrir que la constante UPLOADS en wp-config.php esté sobreescribiendo la configuración de Ajustes → Medios — en ese caso el campo de Ajustes queda bloqueado por la constante.
Las imágenes antiguas muestran error 404 después de cambiar la ruta
Las imágenes antiguas siguen apuntando a la ruta anterior en la base de datos. Cambiar la ruta de subida solo afecta a los nuevos archivos. Para actualizar las URLs de las imágenes existentes usa un plugin como Better Search Replace o el comando WP-CLI: wp search-replace '/ruta-antigua/uploads' '/ruta-nueva/uploads'.
«Unable to create directory» sigue apareciendo aunque la ruta sea correcta
El servidor web no tiene permisos para escribir en esa carpeta. Verifica que el usuario del servidor web (normalmente nobody o el usuario de PHP-FPM) tiene permisos de escritura sobre la carpeta uploads. En los servidores de Nicalia con PHP-FPM, los permisos de carpeta 755 con propietario del usuario de cPanel son suficientes.
Preguntas frecuentes
¿Qué significa el error «Unable to create directory uploads» en WordPress?
Significa que WordPress no puede crear la carpeta de destino para las subidas porque la ruta configurada no existe en el servidor, no tiene permisos de escritura, o contiene una ruta absoluta incorrecta (frecuente tras migraciones de hosting). La solución es corregir la ruta desde Ajustes → Medios o en wp-config.php.
¿Cuál es la ruta de uploads correcta en los servidores de Nicalia?
El formato habitual es /home/usuario/public_html/wp-content/uploads (o /home2/usuario/... dependiendo del servidor). Puedes verlo exactamente desde cPanel → Información del servidor → Directorio raíz, o ejecutando pwd desde SSH dentro de la carpeta uploads.
¿Si cambio la ruta de uploads se pierden las imágenes existentes?
No se pierden — los archivos siguen en el servidor. Sin embargo, los registros de la base de datos siguen apuntando a la ruta anterior, por lo que las imágenes mostrarán error 404 en el frontend. Para actualizar las URLs usa Better Search Replace o el comando WP-CLI wp search-replace.
¿Cuál es la diferencia entre cambiar la ruta desde Ajustes → Medios y con la constante UPLOADS?
Ajustes → Medios guarda el valor en la base de datos (opción upload_path). La constante UPLOADS en wp-config.php sobreescribe ese valor a nivel de código y tiene prioridad sobre lo configurado en Ajustes. Si defines UPLOADS en wp-config.php, el campo de Ajustes → Medios queda bloqueado y no se puede modificar desde wp-admin.
¿Se puede dejar el campo de ruta vacío en Ajustes → Medios?
Sí. Si el campo está vacío, WordPress usa la ruta por defecto: wp-content/uploads dentro de la raíz de WordPress. Es la configuración correcta para la mayoría de instalaciones que no han sido migradas ni movidas.
