En resumen: Añade
php_value max_input_vars 3000a.htaccess, establecemax_input_vars = 3000enphp.inio añade@ini_set('max_input_vars', 3000);awp-config.php. Elige el método que coincida con tu entorno de alojamiento — consulta la tabla de abajo.
La directiva max_input_vars se introdujo en PHP como medida de seguridad que limita el número máximo de variables POST que el servidor procesa por solicitud. Cuando una página de WordPress envía más variables de las que permite el límite, el servidor descarta el exceso de forma silenciosa — provocando que los menús pierdan elementos, que los ajustes del tema desaparezcan y que las páginas de configuración de plugins no se guarden.
En los tickets de soporte de WP STAGING, el desencadenante más común es un sitio con WooCommerce o WPML con una página de ajustes grande que descarta campos silenciosamente al guardar.
Subir max_input_vars a 3000 o más resuelve estos síntomas en la mayoría de los casos. El método adecuado depende de tu entorno de alojamiento. Si no estás seguro de cuál aplica, contacta con tu proveedor de alojamiento antes de editar archivos de configuración del servidor — no todos los alojamientos compartidos conceden permiso para todos los métodos de abajo.
Contents
¿Qué método deberías usar?
| Tipo de alojamiento | Método recomendado | Notas |
|---|---|---|
| cPanel compartido (Apache) | Editar .htaccess |
No requiere reiniciar el servidor |
| Alojamiento compartido (nginx) | php.ini o panel del host |
El método varía según el proveedor |
| WordPress gestionado (WP Engine, Kinsta, etc.) | Panel de control del host o soporte | La edición directa de archivos puede estar restringida |
| VPS o servidor dedicado con SSH | Editar el php.ini global |
Reinicia PHP-FPM tras guardar |
| Gestionado en la nube (Cloudways, SpinupWP, etc.) | Panel de control del host | Cada proveedor expone su propia interfaz de ajustes |
Si tu host no admite ninguno de los métodos basados en archivos de abajo, abre un ticket de soporte — subir max_input_vars es una solicitud rutinaria.
Cómo aumentar el límite de PHP Max Input Vars
Los tres métodos más comunes son editar .htaccess, php.ini o wp-config.php. Pruébalos en el orden que coincida con tu entorno de alojamiento; pasa al siguiente solo si el primero no surte efecto.
Método 1: Editar el archivo .htaccess
El archivo .htaccess está en el directorio raíz de tu instalación de WordPress. Ábrelo con tu administrador de archivos o cliente FTP.

Si no puedes localizar el archivo, la mayoría de los administradores de archivos de alojamiento ocultan los dotfiles de forma predeterminada. Busca una opción Mostrar archivos ocultos y actívala.

Abre .htaccess en un editor de texto y añade la siguiente línea:
php_value max_input_vars 3000

Si tu servidor usa la extensión de seguridad Suhosin, usa estas líneas en su lugar:
php_value suhosin.request.max_vars 3000
php_value suhosin.post.max_vars 3000
Un valor de 3000 cubre la mayoría de las instalaciones de WordPress con menús grandes o páginas de ajustes de plugins complejas. Auméntalo más solo si los síntomas persisten tras guardar.
Método 2: Editar el archivo php.ini
El archivo php.ini también está en el directorio raíz de tu instalación de WordPress. Si no existe ninguno ahí, crea uno vacío.

Abre el archivo en un editor de texto y añade o actualiza esta línea:
max_input_vars = 3000

Guarda el archivo. Si tienes acceso por shell, reinicia PHP-FPM o Apache para que el valor surta efecto de inmediato. En alojamientos compartidos, la siguiente solicitud PHP recoge el nuevo ajuste automáticamente.
Método 3: Editar el archivo wp-config.php
Inicia sesión en tu panel de alojamiento o cliente FTP y navega al Administrador de Archivos. Abre wp-config.php en la raíz de tu instalación de WordPress.

Añade la siguiente línea antes de la línea que dice /* That's all, stop editing! */:
@ini_set( 'max_input_vars', 3000 );

Guarda el archivo. Este método establece el límite en tiempo de ejecución de PHP y funciona en entornos de alojamiento compartido donde no puedes modificar .htaccess o php.ini directamente. Puedes reemplazar 3000 por cualquier valor que requiera tu sitio — recomendamos 3000 o más para cubrir las páginas de administración complejas.
Nota sobre sistemas heredados: alojamiento con PHP 5
PHP 5 llegó al final de su vida útil en diciembre de 2018. Si tu host aún ejecuta PHP 5, el enfoque de php.ini anterior aplica, pero también puede que necesites crear archivos php5.ini y user.ini en el mismo directorio con la misma directiva:
max_input_vars = 3000
Contacta de inmediato con tu host para actualizar — los servidores con PHP 5 ya no reciben parches de seguridad. Las directivas de la extensión Suhosin (suhosin.get.max_vars, suhosin.post.max_vars, suhosin.request.max_vars) solo son relevantes en servidores con Suhosin instalado; los servidores modernos con PHP 8.x no las requieren.
Qué hacer si la solución no funciona
Si los métodos anteriores no resolvieron el problema, repasa estas comprobaciones antes de contactar con tu host.
El cambio no persistió tras guardar. El panel de control de tu host puede incluir un php.ini maestro que anula cualquier archivo local que crees. Abre el panel de configuración de PHP de tu host (en cPanel: Software → Seleccionar versión de PHP → Opciones) y establece max_input_vars ahí directamente.
El valor está establecido pero los síntomas permanecen. Otra directiva de PHP puede ser el verdadero cuello de botella. Crea un archivo temporal en la raíz de tu web con <?php phpinfo(); ?>, ábrelo en un navegador y busca max_input_vars para confirmar que el nuevo valor está activo. Comprueba también post_max_size — si es menor que los datos que envía tu página de ajustes, subir solo max_input_vars no resolverá el problema.
phpinfo() no muestra el nuevo valor. PHP puede cargar varios archivos de configuración. La salida de phpinfo() muestra Configuration File (php.ini) Path — confirma que editaste el archivo listado ahí. En servidores cPanel, el php.ini activo suele estar en el directorio home del usuario, no en la raíz web de WordPress.
El enfoque de wp-config.php no surte efecto. Algunas configuraciones de servidor deshabilitan ini_set() mediante la directiva disable_functions. En ese caso, usa el método de .htaccess o php.ini en su lugar.
Para obtener ayuda con un límite de configuración de PHP relacionado, consulta límite de memoria de PHP en WordPress.
La especificación oficial de esta directiva está en el manual de PHP: max_input_vars.
Conclusión
Subir max_input_vars es un cambio de configuración de una sola línea, pero elegir el archivo correcto importa: .htaccess para hosts Apache compartidos, php.ini para entornos VPS, wp-config.php cuando no puedes modificar los archivos de configuración del servidor. Si el cambio no se mantiene, lo más probable es que la configuración maestra de tu host lo esté anulando — los pasos de resolución de problemas de arriba cubren las causas más comunes.
Haz siempre una copia de seguridad de tu sitio antes de editar archivos de configuración del servidor. Si necesitas ayuda adicional, nuestro equipo de soporte puede asistirte.
Artículos relacionados:
- Cómo aumentar el tamaño máximo de subida de archivos en WordPress
- El sitio de staging redirige al sitio en producción
- PHP Fatal Error: tamaño de memoria permitido agotado
- Cómo corregir el error «Lo sentimos, no tienes permiso para acceder a esta página» en WordPress
- Cómo corregir los problemas de recarga y redirección de la página de inicio de sesión de WordPress