✅Diferencia entre display: none y visibility: hidden en CSS y Cómo Afecta al SEO

A primera vista, display: none y visibility: hidden parecen hacer lo mismo: ocultan un elemento. Pero si estás diseñando una web con WordPress o trabajando en la apariencia de tu contenido, hay una diferencia clave entre ambos. Y lo más importante: esa diferencia también puede afectar al SEO.

Vamos a verlo con ejemplos reales, efectos visuales y comportamiento en buscadores.

Qué hace display: none

Cuando usas:

.elemento {
display: none;
}

El navegador elimina el elemento del flujo del documento. Es como si no existiera. No ocupa espacio y tampoco se renderiza.

Ejemplo práctico:

<p>Esto se ve</p>
<p style="display: none;">Esto no existe visualmente ni ocupa espacio</p>
<p>Esto también se ve</p>

El segundo <p> no ocupa ni un solo píxel. Es como si nunca hubiera estado ahí.

Qué hace visibility: hidden

Cuando usas:

.elemento {
visibility: hidden;
}

El elemento sigue existiendo y ocupa espacio, pero simplemente no se ve. Es invisible, pero no ha desaparecido.

Ejemplo:

<p>Esto se ve</p>
<p style="visibility: hidden;">Esto no se ve, pero ocupa el mismo espacio que si se viera</p>
<p>Esto también se ve</p>

Visualmente habrá un “hueco” donde estaba el segundo <p>, aunque no veas el contenido.

¿Cuál deberías usar?

Depende de lo que quieras conseguir:

Objetivo¿Cuál usar?
Eliminar completamente un elemento (por ejemplo, un aviso o menú desplegable cerrado)display: none
Ocultar algo pero mantener la estructura de la página (útil para accesibilidad, animaciones, etc.)visibility: hidden

¿Y qué pasa con el SEO?

Aquí es donde viene lo interesante.

Google y otros motores de búsqueda sí pueden ver contenido oculto con CSS.

Pero también pueden interpretar su uso como sospechoso, especialmente si ocultas contenido que no está pensado para el usuario final (por ejemplo, palabras clave ocultas solo para posicionar).

Vamos por partes:

🟥 display: none y SEO

  • Google es capaz de leer contenido que esté en el HTML aunque esté con display: none.
  • Pero si detecta que ocultas texto relevante para el posicionamiento que el usuario no puede ver, podría penalizarlo como cloaking (mostrar una cosa al buscador y otra al usuario).
  • Usado con lógica (por ejemplo, para ocultar sliders, menús, bloques de membresía), no hay problema.

🟨 visibility: hidden y SEO

  • Igual que el anterior: Google puede leerlo.
  • Pero como el contenido sigue ocupando espacio, es más evidente que está ahí, solo oculto visualmente.
  • Es útil si haces animaciones de entrada, menús que aparecen con JS, etc.

Conclusión SEO:

Si el contenido oculto no aporta valor al usuario visible, mejor no lo pongas. Si lo ocultas solo por diseño o comportamiento interactivo, no hay penalización.

Bonus: ¿afecta a lectores de pantalla?

Sí.

  • display: none: el contenido no se lee por los lectores de pantalla.
  • visibility: hidden: tampoco se suele leer, aunque esté en el DOM.

Conclusión

  • display: none elimina el elemento completamente del diseño.
  • visibility: hidden lo oculta pero deja su espacio reservado.
  • A nivel de SEO, Google puede ver ambos, pero lo importante es no abusar para ocultar contenido con intenciones manipuladoras.
  • Úsalos con lógica y no tendrás problemas, ni visuales ni de posicionamiento.

Nos vemos en el siguiente tutorial. Un saludo.

5/5 - (2 votos)
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    Y tú ¿Cuál sueles usar más veces? ¿display:none o visibilty:hidden?

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%