¿Intentas subir un archivo a tu sitio WordPress y te aparece «413 Request Entity Too Large»? En pocas palabras, tu servidor te dice que el archivo que intentas enviar es demasiado grande para él.
Es un error con el que me encuentro con regularidad en mis clientes, ya sea al subir una imagen demasiado pesada, al instalar un tema o un plugin voluminoso, al importar productos de WooCommerce o incluso al restaurar una copia de seguridad. La buena noticia es que se corrige en unos minutos.
Te muestro cómo hacerlo, empezando por el método más sencillo.
¿Qué es exactamente el error 413?
El error 413 forma parte de la familia de errores HTTP 4xx (los errores relacionados con la solicitud del cliente). Aparece cuando envías al servidor un archivo o un dato que supera el tamaño máximo permitido.
El mensaje puede mostrarse de distintas formas según tu navegador y tu servidor:
- 413 Request Entity Too Large
- 413 Payload Too Large
- HTTP Error 413
- Request Entity Too Large – The requested resource does not allow request data
Es el mismo problema cada vez: tu archivo es demasiado grande para lo que acepta tu servidor. El límite por defecto varía según el proveedor de alojamiento, pero suele rondar entre 2 MB y 10 MB. Si intentas subir un vídeo de 50 MB o un tema de 30 MB, es lógico que se atasque.
Las situaciones en las que ocurre con más frecuencia
En más de 10 años solucionando problemas de WordPress, estos son los casos en los que me encuentro con más frecuencia este error:
- Subida de imágenes o vídeos: intentas subir una foto HD sin comprimir o un vídeo desde la biblioteca de medios
- Instalación de un tema o plugin: algunos temas premium como Avada pesan más de 20 MB y el servidor bloquea la subida
- Importación de WooCommerce: importas un archivo CSV de productos demasiado voluminoso, o imágenes de productos en masa
- Restauración de una copia de seguridad: restauras un backup con un plugin como UpdraftPlus y el archivo de la copia supera el límite. También puede provocar un error de memoria además
En todos estos casos, la solución es reducir el tamaño del archivo o aumentar el límite de subida del servidor. Te muestro los dos enfoques.
Solución 1: aumentar el límite desde cPanel (la más sencilla)
Es el método que uso en primer lugar con mis clientes. No hace falta tocar el código, todo se hace desde la interfaz de tu proveedor de alojamiento.
Si estás en o2switch (o en otro proveedor con cPanel), tienes acceso a él. En OVH no hay cPanel y el php.ini no se puede modificar en los alojamientos compartidos: si el límite te bloquea, reduce el tamaño del archivo o pregunta al soporte de OVH cuáles son los límites de tu plan. Estos son los pasos:
- Inicia sesión en tu cPanel
- Busca la sección «Software»
- Haz clic en «Seleccionar una versión de PHP» (o «MultiPHP INI Editor» en algunos proveedores)
- Selecciona tu dominio y haz clic en la pestaña «Opciones» (a veces hay que pasar primero por «Extensiones» y luego por «Opciones», según la versión de cPanel)
- Localiza los campos
upload_max_filesizeypost_max_size. Son menús desplegables: selecciona 64M para el primero y 128M para el segundo - Guarda los cambios
Eso es todo. Vuelve a tu sitio y repite la subida. En el 90 % de los casos queda resuelto.
Atención: pon siempre post_max_size más grande que upload_max_filesize. post_max_size es el tamaño total de la solicitud enviada al servidor (que incluye el archivo y los datos del formulario). Si los dos son idénticos, aún puede bloquearse.
Si tu proveedor de alojamiento no ofrece esta opción en cPanel, pasa a los métodos siguientes.
Solución 2: modificar el archivo .htaccess
Si no tienes acceso al ajuste de PHP desde cPanel, puedes usar el archivo .htaccess. Es el método más documentado en internet y funciona en servidores Apache (la mayoría de los alojamientos compartidos).
Conéctate por FTP (con FileZilla, por ejemplo) o desde el administrador de archivos de tu proveedor. El archivo .htaccess se encuentra en la raíz de tu sitio WordPress.
Añade estas líneas al final del archivo, justo antes de #END WordPress:
php_value upload_max_filesize 64M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300
Importante: cada directiva debe ir en su propia línea. Si las pones todas en una sola línea, provocará un error 500 en tu sitio.
Guarda y repite la subida.
max_execution_time y max_input_time sirven para evitar un timeout si el archivo es grande y la subida tarda. 300 segundos (5 minutos) suele ser suficiente.
Solución 3: crear un archivo .user.ini (cuando .htaccess no funciona)
En algunos alojamientos modernos que usan PHP-FPM, las directivas php_value del .htaccess se ignoran. Es frustrante, porque haces el cambio, recargas y no cambia nada.
En ese caso, la verdadera solución es crear un archivo .user.ini en la raíz de tu sitio WordPress (en el mismo lugar que wp-config.php).
Crea el archivo desde el administrador de archivos de tu proveedor o por FTP, y añade estas líneas:
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
Guarda y espera unos minutos. El servidor no lee el archivo .user.ini en tiempo real, hay un retraso de actualización (en general 5 minutos). Pasado ese plazo, repite la subida.
Nota técnica: al contrario de lo que se lee en bastantes blogs, modificar upload_max_filesize y post_max_size mediante @ini_set() en wp-config.php o en functions.php no funciona para los límites de subida. PHP comprueba el tamaño del archivo antes de ejecutar WordPress, así que esas directivas llegan demasiado tarde. PHP lee el .user.ini al arrancar, por eso funciona.
Solución 4: subir el archivo directamente por FTP
Si nada funciona o si no quieres modificar archivos de configuración, queda la solución alternativa: subir el archivo directamente por FTP.
Por ejemplo, si un plugin es demasiado grande para instalarlo desde el escritorio:
- Descomprime el archivo .zip del plugin en tu ordenador
- Conéctate a tu sitio por FTP
- Sube la carpeta del plugin a
wp-content/plugins/ - Vuelve al escritorio de WordPress, ve a Plugins y activa el plugin
El mismo principio vale para un tema: sube la carpeta a wp-content/themes/
Este método esquiva por completo el límite de subida del servidor, ya que la transferencia por FTP no tiene restricción de tamaño.
Caso particular: servidor Nginx
Si tu sitio funciona en un servidor Nginx (y no Apache), el .htaccess no funciona. Hay que modificar el archivo de configuración de Nginx.
Busca el archivo nginx.conf y añade o modifica esta directiva:
client_max_body_size 64M;Puedes colocarla en el bloque http (para todo el servidor), en el bloque server (para un solo sitio) o incluso en un bloque location (para una ruta concreta). Si estás en un VPS, te aconsejo ponerla en el bloque server del sitio afectado en lugar de tocar la configuración global.
Después reinicia Nginx. Esta operación requiere acceso root al servidor, así que si estás en un alojamiento compartido no podrás hacerlo tú mismo. En ese caso, contacta con tu proveedor, lo harán por ti.
Cómo evitar este error en el futuro
En lugar de aumentar los límites cada vez, aquí tienes algunos buenos hábitos:
- Comprime tus imágenes antes de subirlas. Herramientas gratuitas como TinyPNG o Imagify reducen el tamaño de tus imágenes sin pérdida visible de calidad. Una imagen de 5 MB suele poder bajar a 200 KB
- Evita subir vídeos directamente a WordPress. Alójalos en YouTube o Vimeo e intégralos con un embed. Tu servidor te lo agradecerá
- Para las importaciones voluminosas de WooCommerce, divide tu archivo CSV en varios archivos pequeños en lugar de enviar uno solo de 50 MB
- Comprueba tu límite de subida actual yendo a WordPress > Medios > Añadir. El límite aparece en la parte inferior de la página («Tamaño máximo de archivo a subir: XX MB»)
Y si, a pesar de todo, aumentas los límites, hazlo con moderación. No pongas 500 MB «por si acaso». En un alojamiento compartido compartes recursos con otros sitios. 64 MB para la subida y 128 MB para el post son más que suficientes para la mayoría de los usos.
¿Tu sitio muestra otro error? También te explico cómo resolver el error Maximum execution time exceeded y el error 429 Too Many Requests.
Preguntas frecuentes
En resumen
El error 413 es simplemente tu servidor diciéndote «este archivo es demasiado grande para mí». Tienes 4 formas de corregirlo:
- cPanel (la más sencilla, mi favorita)
- .htaccess (la más documentada, para servidores Apache)
- .user.ini (cuando se ignora el .htaccess, sobre todo con PHP-FPM)
- Subida por FTP (la alternativa, siempre disponible)
Y acuérdate de reducir el tamaño de tus imágenes convirtiéndolas a WebP antes de subirlas, así evitarás toparte con este error una y otra vez.
Si te cuesta o si el error persiste a pesar de todo, contacta conmigo. Es el tipo de problema que resuelvo en 5 minutos para mis clientes.
Sobre la autora: Jennifer
Artículos relacionados