Actualizado el

Cómo proteger una página web con contraseña

Por

Una contraseña solo protege un sitio web si el servidor la comprueba antes de enviar la página. Todas las formas de abajo lo hacen. Se diferencian en lo que cuestan, en si todos comparten una contraseña o cada persona inicia sesión, y en lo que todavía se cuela.

Pega tu página, o suelta una carpeta o un PDF

Dónde se tiene que comprobar la contraseña

Si la comprobación se hace en la página, con unas líneas de JavaScript, la página ya ha llegado, y con ella todo lo que contiene: el código fuente de la página lo muestra. Por qué una contraseña dentro de la página no es una contraseña.

Una comprobación de verdad se hace en el servidor. Sin la contraseña, el servidor envía un formulario en lugar de la página, y un buscador también ve solo el formulario.

Tres preguntas distinguen las formas de abajo: si puedes proteger el sitio web entero o una sola página, si todos comparten una contraseña o cada persona inicia sesión, y si los archivos subidos, como imágenes y PDF, siguen abriéndose en su propia dirección.

En WordPress, Squarespace o Wix

  • WordPress. Una entrada o una página cada vez, gratis: en sus ajustes, cambia la visibilidad a Password protected. Todos comparten la contraseña de esa página, de hasta 20 caracteres, y el navegador la recuerda 10 días. La propia documentación de WordPress no describe ninguna contraseña para el sitio web entero; la añaden los plugins. La ayuda de WordPress.com dice que los archivos añadidos a una entrada protegida se pueden seguir abriendo, e indexando, sin ella.
  • Squarespace. El sitio web entero, en Disponibilidad del sitio → Protegido con contraseña, o páginas sueltas, en los ajustes de la página, en Contraseña. Todos comparten la misma contraseña, y a quien visita se le vuelve a pedir pasadas cuatro horas. Con una contraseña en el sitio web entero, los clientes no pueden completar una compra.
  • Wix. Páginas sueltas, en los ajustes de la página, en Acceso → Solo con contraseña. La ayuda de Wix dice que una contraseña para el sitio web entero todavía no está disponible para todos, y que el código de una página protegida se puede seguir leyendo en el navegador.

En Netlify, Vercel o GitHub Pages

  • Netlify. Una contraseña para el sitio web entero en Pro, por US$20 al mes; no en Free ni en Personal. Pro también puede poner un nombre de usuario y una contraseña en rutas concretas, en el archivo _headers.
  • Vercel. Una contraseña compartida en Pro, por US$20 al mes por cada proyecto protegido, y solo cubre tu dominio en producción con el alcance All Deployments. Vercel Authentication, gratis en todos los planes de Vercel, solo deja entrar a personas con una cuenta de Vercel a las que hayas dado acceso.
  • GitHub Pages. Sin contraseña. Un sitio de Pages es público aunque su repositorio sea privado; solo GitHub Enterprise Cloud puede hacerlo privado, para las personas que pueden leer el repositorio.

Cualquier sitio web: un código por correo con Cloudflare Access

Si tu dominio está en Cloudflare, Access puede ponerse delante de cualquier sitio web. Quien visita escribe su correo, recibe un código que sirve una sola vez y dura 10 minutos, y solo entra si pusiste esa dirección en la lista. Es gratis para hasta 50 personas, y después cuesta US$7 por persona al mes.

No hay ninguna contraseña que ir pasando, y puedes quitar a una persona de la lista. El inconveniente, según la propia guía de Cloudflare: cualquiera que encuentre la dirección del propio servidor puede saltarse Cloudflare, así que pon el servidor detrás de un Cloudflare Tunnel.

Tu propio servidor: una contraseña en Apache o nginx

En un servidor tuyo, el propio servidor web puede pedir un nombre de usuario y una contraseña. Crea un archivo de contraseñas fuera de la carpeta desde la que se sirve el sitio web, con una línea por persona:

htpasswd -c /etc/.htpasswd ana

Después, para Apache, en la configuración del sitio web o en un archivo .htaccess dentro de la carpeta que quieres proteger:

AuthType Basic
AuthName "Private"
AuthUserFile "/etc/.htpasswd"
Require valid-user

Para nginx, en el bloque server, o en un location para una sola parte:

auth_basic "Private";
auth_basic_user_file /etc/.htpasswd;

Cada persona tiene su propio nombre de usuario y su propia contraseña. La contraseña viaja con cada petición, sin cifrar, así que úsala solo con HTTPS, como dice la guía de Apache.

Una página, una carpeta o un PDF que ya tienes: Solta

Si lo que quieres proteger es una página, una carpeta o un PDF, y no un sitio web que ya tienes en marcha, publícalo en Solta y elige Con contraseña en quién puede abrirlo. Está en todos los planes: 1 sitio con contraseña a la vez en Free, 5 en Plus y todos los que quieras en Pro y Team.

La contraseña se comprueba antes de enviar nada: ni una página, ni una imagen, ni un PDF. Solo guardamos un hash scrypt de ella, y la contraseña correcta abre ese sitio, y solo ese, durante 12 horas. Un sitio con contraseña también queda fuera de los buscadores, como todo sitio que no es público. Cómo mantiene Solta los sitios fuera de los buscadores.

Si una sola contraseña compartida no basta, Por invitación, en los planes Pro y Team, deja entrar solo a las direcciones que pongas en la lista, cada una confirmada una vez por correo, sin cuenta.

Cuál usar

  • Una entrada o una página de un sitio WordPress: la contraseña propia de WordPress, y guarda en otra parte los archivos que importan.
  • Un sitio web entero en Squarespace: su contraseña para todo el sitio web, salvo que vendas en él.
  • Un sitio web que alojas tú, para unas pocas personas concretas: Cloudflare Access, o una contraseña en Apache o nginx con HTTPS.
  • Una página, una carpeta o un PDF para enviar a alguien: Solta, con contraseña, o con direcciones invitadas en los planes Pro y Team.

Fuentes

Los datos de cada empresa son lo que decían sus propias páginas, en inglés, cuando las leímos, el 1 de noviembre de 2026:

Preguntas

¿Una contraseña mantiene un sitio web fuera de Google?

En general, sí. Un buscador solo ve lo que le envía el servidor, y detrás de una contraseña que comprueba el servidor eso es el formulario. Squarespace y Wix dicen que las páginas protegidas dejan de aparecer en los resultados, aunque las que ya estaban indexadas pueden tardar en irse. Los archivos son el hueco habitual: WordPress.com dice que los archivos añadidos a una entrada protegida se pueden seguir indexando. En Solta, un sitio con contraseña también lleva una cabecera noindex.

¿Puedo proteger con contraseña una sola página?

Sí, en WordPress, Squarespace y Wix, y en tu propio servidor con un bloque location. Netlify lo hace para rutas concretas en Pro. En Solta, un sitio puede ser una sola página con su propia contraseña.

¿Basta con una contraseña en JavaScript?

No. La página, y normalmente también la contraseña, llegan al navegador antes de que se ejecute el script, así que cualquiera puede leerlas en el código fuente de la página. La comprobación tiene que hacerse en el servidor.

¿Puedo proteger un sitio web con contraseña gratis?

Sí: la contraseña de WordPress en una página, Cloudflare Access para hasta 50 personas, una contraseña en Apache o nginx en un servidor que ya tengas, o un sitio con contraseña en el plan Free de Solta. Las contraseñas de Netlify y de Vercel necesitan un plan de pago.

¿Puedo ver quién lo abrió?

Con una contraseña compartida, no: todos escriben lo mismo. Para eso, cada persona necesita su propia forma de entrar, como un código por correo con Cloudflare Access o un nombre de usuario en Apache o nginx. En los planes Pro y Team de Solta, un sitio puede pedir un correo antes de abrirse, y ves cada dirección y cuándo abrió el sitio.

Publica directamente desde tu chat de IA

Conecta Solta con Claude o ChatGPT y pídelo: el sitio queda en línea con un enlace, sin copiar código.