Error 401 Unauthorized: qué es, por qué ocurre y cómo solucionarlo
El error 401 es uno de los más confusos para los propietarios de webs porque su mensaje — Unauthorized — suena a que alguien ha sido bloqueado por razones de seguridad, cuando en realidad significa algo más preciso: el servidor requiere autenticación para acceder a ese recurso y no la ha recibido correctamente. En este artículo te explico qué lo causa y cómo resolverlo en cada situación.
Qué significa el error 401
El código HTTP 401 indica que la petición no ha sido procesada porque el cliente no se ha autenticado o la autenticación ha fallado. Es importante distinguirlo del error 403:
| Código | Nombre | Significado |
|---|---|---|
| 401 | Unauthorized | Falta autenticación o es incorrecta |
| 403 | Forbidden | Autenticación correcta pero sin permiso |
| 407 | Proxy Auth Required | Se requiere autenticación en el proxy |
La diferencia práctica: un 401 invita al usuario a identificarse (puede que con las credenciales correctas acceda). Un 403 le dice que aunque se identifique, no tiene permiso.
Causas más frecuentes del error 401
1. Protección con contraseña en el .htaccess
La causa más habitual en hosting compartido. El archivo .htaccess puede configurar una autenticación HTTP básica para proteger una carpeta o toda la web. Si las credenciales no se introducen correctamente, el servidor devuelve un 401.
Ejemplo de configuración en .htaccess que provoca esto:
apache
AuthType Basic
AuthName "Área restringida"
AuthUserFile /ruta/.htpasswd
Require valid-user
Cómo solucionarlo: si no recuerdas haber configurado esto, busca en el .htaccess de la carpeta afectada estas líneas y elimínalas si no las necesitas. Si las pusiste tú, verifica que el archivo .htpasswd existe en la ruta especificada y que las credenciales son correctas.
2. Plugin de seguridad bloqueando acceso en WordPress
Plugins como Wordfence, iThemes Security o All In One WP Security pueden configurar autenticación adicional para el área de administración (/wp-admin/) o para páginas concretas. Si el plugin ha bloqueado tu propia IP o ha activado protección por contraseña, verás un 401 al intentar acceder.
Cómo solucionarlo: desactiva temporalmente el plugin de seguridad desde FTP renombrando su carpeta en /wp-content/plugins/. Si el 401 desaparece, revisa la configuración del plugin y añade tu IP a la lista blanca.
3. API que requiere clave de autenticación
Si el 401 ocurre al hacer peticiones a una API (REST API de WordPress, API de terceros, webhooks), significa que la petición no lleva las credenciales correctas o que han caducado.
En la API REST de WordPress, un 401 suele indicar:
- Token JWT caducado o mal formado
- Nonce incorrecto o expirado
- Plugin de autenticación mal configurado
Cómo solucionarlo: verifica que el header Authorization de la petición lleva el token correcto y que no ha expirado. En WordPress, regenera el token de aplicación desde Usuarios → Tu perfil → Contraseñas de aplicación.
4. Caché sirviendo respuestas de sesión caducada
Algunos plugins de caché agresivos pueden almacenar en caché una respuesta 401 y servirla a todos los usuarios aunque ya se hayan autenticado correctamente.
Cómo solucionarlo: vacía completamente la caché del plugin (LiteSpeed Cache, WP Rocket, W3 Total Cache) y la caché del servidor. Si el problema persiste, revisa la configuración de caché para excluir las páginas de login y las URLs con parámetros de sesión.
5. Credenciales de acceso a cPanel o área de cliente incorrectas
Si el 401 aparece al intentar acceder a cPanel, Webmail o el área de cliente del hosting, las credenciales introducidas son incorrectas o la cuenta está bloqueada por demasiados intentos fallidos.
Cómo solucionarlo: usa la opción de recuperar contraseña. Si la cuenta está bloqueada por intentos fallidos, contacta con el soporte del hosting para que desbloqueen la IP.
6. Certificado SSL mal configurado con autenticación de cliente
En configuraciones avanzadas, algunos servidores requieren que el cliente presente un certificado SSL propio para autenticarse. Si el certificado no está instalado en el navegador o ha caducado, el servidor devuelve un 401.
Esta configuración es poco habitual en hosting compartido pero frecuente en entornos corporativos y APIs bancarias.
7. Reglas de ModSecurity demasiado estrictas
El WAF ModSecurity puede interpretar ciertas peticiones legítimas como intentos de acceso no autorizado y devolver un 401. Esto es especialmente frecuente con formularios de login personalizados o peticiones AJAX con headers específicos.
Cómo solucionarlo: revisa el log de ModSecurity en cPanel → Logs de seguridad. Si encuentras una regla que está bloqueando peticiones legítimas, puedes desactivarla específicamente desde WHM o contactar con el soporte del hosting.
Cómo diagnosticar un error 401 paso a paso
Paso 1: Identifica exactamente qué URL da el 401
Un 401 en /wp-admin/ tiene causas diferentes a un 401 en /api/endpoint. Abre las herramientas de desarrollador del navegador (F12 → Red) y localiza la petición que devuelve 401 para ver la URL exacta y los headers de la respuesta.
Paso 2: Comprueba el .htaccess de la carpeta afectada
Accede por FTP o cPanel → Gestor de archivos a la carpeta donde ocurre el error. Muestra los archivos ocultos (el .htaccess empieza por punto) y abre el archivo. Busca las directivas AuthType, AuthName y Require.
Paso 3: Revisa los logs de acceso
En cPanel → Métricas → Últimas visitas o en el archivo access_log, busca las líneas con código 401. El log te mostrará la IP que hizo la petición, la URL y el momento exacto.
Paso 4: Comprueba si hay protección activa en WordPress
Desde el administrador de WordPress (si puedes acceder), revisa la configuración de plugins de seguridad. Busca opciones como «Proteger área de administración», «Autenticación en dos factores» o «Lista blanca de IPs».
Paso 5: Prueba desde otra IP o dispositivo
Si el 401 solo ocurre desde tu IP, puede que tu dirección esté en una lista de bloqueo temporal. Prueba desde otra red (por ejemplo, los datos móviles del teléfono) para confirmar si el problema es de IP o de configuración global.
Error 401 en WordPress: los casos más habituales
401 en /wp-admin/ sin haber cambiado nada: probablemente un plugin de seguridad o una regla nueva en el .htaccess. Sigue el paso 2 y 4 del diagnóstico.
401 tras cambiar el dominio o migrar: las URLs de autenticación pueden haber quedado apuntando al dominio antiguo. Verifica las opciones de WordPress en la base de datos (tabla wp_options, registros siteurl y home).
401 intermitente solo para algunos usuarios: suele indicar un problema de caché sirviendo respuestas de sesión. Vacía la caché y excluye las páginas de login.
401 en la API REST de WordPress: revisa los tokens de autenticación y asegúrate de que el plugin que gestiona la autenticación está activo y actualizado.
Cuándo contactar con el soporte del hosting
Contacta con tu proveedor de hosting si:
- El 401 aparece en páginas que no deberían requerir autenticación y no encuentras la causa en el
.htaccess - ModSecurity está bloqueando peticiones legítimas y no tienes acceso a la configuración del WAF
- La IP de tu empresa o de tus clientes ha sido bloqueada a nivel de servidor
- El error apareció después de una actualización del servidor sin cambios en tu web
En BlumHost el soporte está disponible 24/7 en español. Si traes el log de errores y la URL exacta que da 401, podemos identificar la causa en minutos.
👉 Ver planes de Hosting en España desde 2€/mes
Preguntas frecuentes
¿El error 401 es un problema de seguridad? No necesariamente. El 401 es el comportamiento correcto del servidor cuando detecta que falta autenticación. Es un mecanismo de seguridad, no un fallo. El problema es cuando aparece en páginas que deberían ser públicas.
¿Diferencia entre error 401 y 403? El 401 significa «no sé quién eres, identifícate». El 403 significa «sé quién eres pero no tienes permiso». En la práctica: un 401 puede resolverse con las credenciales correctas; un 403 no, porque el acceso está denegado independientemente de quién seas.
¿El error 401 afecta al SEO? Si Google encuentra un 401 al intentar indexar una página que debería ser pública, no podrá indexarla. Comprueba en Google Search Console si hay páginas con este error en el informe de cobertura.
¿Puedo personalizar la página de error 401? Sí, igual que el 503 y el 500:
apache
ErrorDocument 401 /acceso-restringido.html
¿Cómo protejo mi WordPress con contraseña correctamente? La forma más robusta es combinar la autenticación HTTP básica del .htaccess con el login de WordPress. Así hay dos capas de autenticación antes de que alguien pueda intentar acceder al admin.
