Etiqueta meta viewport
Qué hace la etiqueta meta viewport, por qué hace que el diseño responsive funcione en móviles, la configuración correcta, la referencia de atributos y los errores comunes.
Idiomas
La etiqueta meta viewport — <meta name="viewport" content="width=device-width, initial-scale=1"> — indica al navegador que ajuste el tamaño del viewport de diseño al ancho del dispositivo en píxeles CSS en lugar del fallback heredado de ~980px que usan algunos navegadores móviles. Sin ella, los teléfonos pueden renderizar la página con ese ancho mayor y reducirla, produciendo texto diminuto, desplazamiento horizontal y breakpoints responsive que pueden no aplicarse como se espera. No es un factor de ranking en sí mismo, pero su presencia es una de las cosas que Google documenta como indicador de compatibilidad móvil, y su ausencia es un fallo clásico de usabilidad móvil. Nunca fuerces user-scalable=no ni un maximum-scale restrictivo: incumple la regla de conformidad de accesibilidad del W3C para el zoom y puede bloquear a usuarios con baja visión, aunque los navegadores pueden anularlo (iOS 10+ lo ignora por defecto). Pruébalo con Lighthouse o PageSpeed Insights: el informe de Usabilidad Móvil de Search Console y la prueba de Compatibilidad Móvil se retiraron el 1 de diciembre de 2023.
Evidence for this claim The viewport meta tag lets authors control viewport width and scaling so responsive layouts render at device width. Scope: Browser viewport behavior. Confidence: high · Verified: MDN: Viewport meta tag Evidence for this claim Pages should not disable browser zoom because users must be able to enlarge content for accessibility. Scope: WCAG resize-text requirement and viewport guidance. Confidence: high · Verified: W3C WAI: Understanding Resize TextTL;DR — La etiqueta meta viewport es una línea en el
<head>de tu página que les dice a los teléfonos y tabletas que rendericen tu página al ancho real de la pantalla en lugar de fingir que es un monitor de escritorio. Sin ella, tu página se ve diminuta y tienes que hacer zoom con los dedos y desplazarte lateralmente para leerla. La línea que quieres es<meta name="viewport" content="width=device-width, initial-scale=1">.
Qué es la etiqueta meta viewport
Cuando los teléfonos inteligentes obtuvieron por primera vez navegadores web, la mayoría de los sitios web estaban diseñados para pantallas de escritorio. Así que muchos navegadores de teléfonos hacían trampa: sin una etiqueta viewport, recurrían a un diseño fijo de ~980 píxeles de ancho — similar al de escritorio —, colocaban la página a ese ancho y luego reducían todo para que cupiera en el teléfono. El resultado era una página con forma legible pero demasiado pequeña para leerla de verdad, con texto que tenías que ampliar con los dedos y contenido que se desbordaba por los lados.
La etiqueta meta viewport desactiva eso. Es una sola línea que pones en el
<head> de tu página:
<meta name="viewport" content="width=device-width, initial-scale=1">width=device-width le dice al navegador “coloca esta página al ancho de pantalla de este dispositivo,
medido en píxeles CSS” (no necesariamente lo mismo que su recuento bruto de píxeles de hardware
en una pantalla de alta densidad), y initial-scale=1 dice “y no hagas zoom ni hacia adentro ni hacia afuera
cuando la página se cargue por primera vez.” Eso es todo. Copia esa línea, pégala cerca de la parte superior de
tu <head>, listo.
Por qué importa
Dos razones:
- Hace que tu página sea legible en un teléfono. Con la etiqueta, el texto es legible sin hacer zoom y el contenido cabe en la pantalla. Sin ella, obtienes la experiencia de texto diminuto, encogido y con desplazamiento horizontal.
- Es lo que hace que el “diseño responsive” realmente funcione. Si tu sitio usa CSS responsive moderno (diseños que se adaptan al tamaño de pantalla), esas reglas están pensadas para activarse según el ancho real de pantalla del navegador. La etiqueta viewport es lo que le indica ese ancho. Sin ella, tus puntos de interrupción responsive pueden no aplicarse como los diseñaste para móviles.
La mayoría de los temas y creadores de sitios modernos añaden esta etiqueta por ti automáticamente. Pero las plantillas más antiguas, las páginas construidas a mano y algunos creadores de páginas la omiten — por eso “viewport no establecido” sigue apareciendo en las auditorías.
El error que debes evitar
Puede que veas una versión de esta etiqueta con user-scalable=no al final — eso es
alguien intentando evitar que los visitantes hagan zoom para que no puedan “romper” el diseño.
No hagas eso. Impide que las personas con baja visión hagan zoom para leer tu
página, y los iPhones modernos ignoran la configuración de todos modos, así que no hace nada excepto perjudicar la
accesibilidad. Deja el zoom en paz.
Cómo encaja esto con el resto del SEO móvil
La etiqueta viewport es una pequeña pieza del panorama móvil más amplio — se trata de cómo se renderiza tu página en un teléfono, lo cual es diferente de la indexación móvil primero (sobre qué versión de tu página lee Google). Si estás haciendo una revisión móvil completa, el centro de SEO móvil, la lista de verificación de SEO móvil y la indexación móvil primero cubren el resto.
¿Quieres la referencia exacta de atributos, los detalles de accesibilidad y cómo probar la etiqueta ahora que la antigua prueba de compatibilidad con móviles de Google ya no existe? Cambia a la pestaña Avanzado.
Evidence for this claim The viewport meta tag lets authors control viewport width and scaling so responsive layouts render at device width. Scope: Browser viewport behavior. Confidence: high · Verified: MDN: Viewport meta tag Evidence for this claim Pages should not disable browser zoom because users must be able to enlarge content for accessibility. Scope: WCAG resize-text requirement and viewport guidance. Confidence: high · Verified: W3C WAI: Understanding Resize TextTL;DR — La etiqueta meta viewport —
<meta name="viewport" content="width=device-width, initial-scale=1">— sugiere al navegador que ajuste el viewport de diseño al ancho del dispositivo en píxeles CSS en lugar del respaldo heredado de ~980px que usan algunos navegadores móviles, lo que permite que las consultas de medios CSS responsivas se evalúen según el ancho real del dispositivo en móvil. Si falta o está mal configurada, es un fallo clásico de usabilidad móvil (texto diminuto, desplazamiento horizontal). No es un factor de ranking — Google documenta su presencia como una de las cosas que su evaluación de compatibilidad móvil comprueba, y nada más que eso. Nunca fuercesuser-scalable=no/maximum-scalerestrictivo: eso incumple la regla de accesibilidad ACT del W3C para el zoom, aunque existen anulaciones del navegador (iOS 10+ lo ignora por defecto). Google y Bing recomiendan la misma etiqueta. Prueba con Lighthouse / PageSpeed Insights — el informe de Usabilidad Móvil de Search Console y la Prueba de Compatibilidad Móvil se retiraron el 1 de diciembre de 2023.
El problema que resuelve: el viewport virtual de ~980px
Para entender la etiqueta, tienes que entender qué está anulando. Cuando los navegadores móviles eran nuevos, la falta de una etiqueta viewport significaba que algunos de ellos recurrían a un ancho de diseño fijo de aproximadamente 980px y renderizaban a ese tamaño — una acomodación deliberada para que los sitios de tamaño de escritorio, anteriores a los responsivos, no se rompieran por completo en los primeros teléfonos inteligentes. El navegador luego escalaba el resultado hacia abajo para ajustarse a la pantalla física. El propio marco de MDN: “If the site isn’t designed to work well on small viewports and this tag is omitted, some mobile browsers render the site using a fixed initial containing block width, typically 980px.” (traducción) «Si el sitio no está diseñado para funcionar bien en viewports pequeños y esta etiqueta se omite, algunos navegadores móviles renderizan el sitio usando un ancho de bloque contenedor inicial fijo, típicamente 980px.» — es un respaldo específico del navegador, no una constante universal de la especificación.
La consecuencia, en palabras de Google: “Without a viewport meta tag, mobile devices render pages at typical desktop screen widths and then scale the pages down, making them difficult to read.” (traducción) «Sin una etiqueta meta viewport, los dispositivos móviles renderizan las páginas a anchos típicos de pantalla de escritorio y luego las escalan hacia abajo, lo que dificulta su lectura.» Obtienes texto ilegible, zoom forzado con pellizco y desplazamiento horizontal — los síntomas clásicos de una página marcada como “no compatible con móviles”.
Configurar la etiqueta “lets you control the width and scaling of the viewport so that it’s sized correctly on all devices.” (traducción) «te permite controlar el ancho y la escala del viewport para que se ajuste correctamente en todos los dispositivos.»
Viewport de diseño vs. viewport visual (bajo el capó)
Hay dos “viewports” en juego, y vale la pena mantenerlos claros:
- El viewport de diseño es el área donde la página se distribuye y a la que se
adhieren los elementos de posición fija.
width=device-widthlo establece al ancho de pantalla del dispositivo en píxeles CSS. - El viewport visual es lo que el usuario está viendo actualmente — que cambia cuando hacen zoom con pellizco. El zoom cambia el viewport visual sin cambiar el viewport de diseño.
La razón por la que esto importa para SEO y CSS: tus consultas de medios responsivas
(@media (max-width: 600px) y similares) se evalúan contra el viewport
de diseño. Si el viewport de diseño está atascado en un respaldo heredado de ~980px porque
no hay etiqueta viewport, un teléfono puede coincidir con tus puntos de interrupción de escritorio en lugar de
los estrechos. MDN lo dice claramente: “Without it, your responsive design with
breakpoints and media queries may not work as intended on mobile browsers.” (traducción) «Sin ella, tu diseño responsivo con
puntos de interrupción y consultas de medios puede no funcionar como se espera en navegadores móviles.» La
etiqueta es lo que hace que device-width sea el viewport de diseño para que tus puntos de interrupción previstos
se evalúen correctamente.
La etiqueta correcta, y dónde va
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- ...the rest of your head... -->
</head>Colócala en la parte alta del <head>, cerca de charset, antes de las etiquetas dependientes del contenido. Este es
el valor que Google, Bing y Lighthouse recomiendan — textualmente, es la corrección
que el propio Lighthouse sugiere. No pienses demasiado el valor: width=device-width, initial-scale=1 es la respuesta para prácticamente cualquier sitio responsivo.
Referencia de atributos
El atributo content es una lista de directivas separadas por comas. MDN es la
referencia canónica atributo por atributo; esto es lo que hace cada uno:
| Directiva | Qué hace | Notas |
|---|---|---|
width | Controla el ancho (mínimo) en píxeles del viewport | Un número entero del 1 al 10000, o el valor especial device-width (el ancho de pantalla en píxeles CSS). Usa device-width. |
initial-scale | La relación de zoom entre el ancho del dispositivo y el viewport al cargar | Un número 0.0–10.0. Usa 1. |
minimum-scale | El nivel de zoom mínimo permitido | Debe ser ≤ maximum-scale. iOS 10+ lo ignora por defecto. |
maximum-scale | El zoom de acercamiento máximo permitido | Debe ser ≥ minimum-scale. iOS 10+ lo ignora por defecto. No lo restrinjas. |
user-scalable | Si el usuario puede hacer zoom (yes/no, por defecto yes) | iOS 10+ lo ignora por defecto. Establecer no es un antipatrón de accesibilidad: déjalo. |
interactive-widget | Cómo afecta la interfaz interactiva (p. ej., teclados virtuales) al viewport | Valores: resizes-visual (por defecto), resizes-content, overlays-content. Más reciente; la mayoría del contenido SEO lo omite. |
viewport-fit | Cómo maneja el viewport los recortes de pantalla (muescas) | Valores: auto (por defecto), contain (se ajusta dentro del rectángulo más grande que evita el recorte), cover (llena la pantalla: combínalo con las variables CSS env() de área segura para que el contenido no quede debajo del recorte). |
viewport-fit e interactive-widget son ambos casos límite del diseño del navegador —
manejo de recortes de pantalla y teclados virtuales, respectivamente — no directivas SEO;
la mayoría de las guías centradas en SEO los omiten por completo.
Un detalle pequeño pero real de la propia documentación de Lighthouse: establecer initial-scale por debajo de
1 puede activar un comportamiento heredado de doble toque para hacer zoom que añade retraso en la interacción —
otra razón para ceñirse a initial-scale=1 en lugar de complicarse.
Nunca deshabilites el zoom: user-scalable=no es un antipatrón
Todavía encontrarás user-scalable=no (o maximum-scale=1) copiado y pegado en plantillas
antiguas de temas, normalmente de un desarrollador que no quería que el zoom con pellizco “estropeara”
su diseño. Está mal por dos motivos:
- Falla la propia prueba de conformidad de accesibilidad web para el zoom y va
en contra de la intención de WCAG. La regla ACT del W3C “Meta viewport allows for zoom”
(regla b4f0c3) se aplica a cualquier etiqueta de viewport que establezca
user-scalableomaximum-scale, y su expectativa es explícita: la etiqueta no debe estableceruser-scalable=no, ymaximum-scaleno debe establecerse por debajo de2. (La regla incluye supuestos declarados: no se aplica si la página no tiene contenido visible, ofrece otra forma de redimensionar el texto o nunca necesita refluir más allá de un área de 320×256 píxeles CSS, pero una página responsive típica no cumple esas excepciones). Según MDN: “Disabling zooming capabilities by settinguser-scalableto a value ofnoprevents people experiencing low vision conditions from being able to read and understand page content. Additionally, WCAG requires a minimum of 2× scaling; however, the best practice is to enable a 5× zoom.” (traducción) «Deshabilitar las capacidades de zoom estableciendouser-scalableen un valor denoimpide que las personas con problemas de visión puedan leer y comprender el contenido de la página. Además, WCAG exige un escalado mínimo de 2×; sin embargo, la mejor práctica es habilitar un zoom de 5×.» Bloquear el zoom excluye exactamente a los usuarios que más lo necesitan. - También es específico del navegador, no universal. iOS Safari 10 y versiones posteriores ignoran
user-scalable=noy losmaximum-scalerestrictivos por defecto: eso es una anulación de iOS, no un cambio en la regla ACT ni en la intención de WCAG. Así que en una gran parte del tráfico móvil el ajuste no logra nada, mientras que en navegadores que sí todavía lo respetan (WebViews de Android antiguas, algunos navegadores dentro de aplicaciones) falla activamente la prueba de accesibilidad anterior. Cero ventajas, desventajas reales — y no trates “iOS lo ignora” como prueba de que el marcado es accesible en todas partes.
La regla es simple: no toques el zoom. width=device-width, initial-scale=1 y
nada más.
¿Es un factor de ranking?
Sé preciso aquí, porque mucho contenido SEO lo exagera. Esto es exactamente lo que Google documenta, y dónde está la línea con la inferencia de la industria.
Lo que documenta Google: la etiqueta viewport no es un factor de clasificación directo. El propio documento de Google sobre metaetiquetas compatibles dice claramente que “la presencia de esta etiqueta indica a Google que la página es compatible con dispositivos móviles” — esa es toda la afirmación documentada: la presencia indica compatibilidad con dispositivos móviles. Google no documenta la etiqueta como puntuada, como garantía de renderizado, ni como prueba de que el diseño responsive de una página sea realmente bueno.
Evidence for this claim Google documents that viewport-meta presence indicates a page is mobile friendly, but that statement does not establish that the tag itself is a ranking factor, a display guarantee or sufficient evidence of responsive quality. Scope: production HTML and HTTP responses Confidence: high · Verified: Meta tags and attributes that Google supportsDónde los profesionales conectan los puntos (inferencia de la industria, no una cita de Google): una etiqueta viewport faltante o mal configurada es una causa raíz común de los fallos de usabilidad móvil (texto diminuto, desplazamiento horizontal, objetivos táctiles inutilizables) que los especialistas en SEO generalmente entienden que degradan la experiencia de página móvil. Esa conexión es razonable y ampliamente aceptada en la industria, pero es una inferencia de los profesionales sobre por qué importa la etiqueta — no algo que los documentos de Google establezcan como una cadena de clasificación.
Así que el marco honesto: la etiqueta en sí no se puntúa, y arréglala porque una página sin ella se renderiza mal en los teléfonos — no porque Google la documente como una palanca de clasificación, directa o indirecta. Mantén esto separado también de la indexación mobile-first: eso es un concepto distinto de Google Search sobre qué versión de tu página usa Google principalmente para indexar y clasificar; la etiqueta viewport trata sobre cómo se renderiza ese HTML móvil en un navegador, y punto.
Evidence for this claim Mobile-first indexing means Google primarily uses the mobile content for indexing and ranking; it is a separate Google Search concept from the browser's viewport rendering contract. Scope: production HTML and HTTP responses Confidence: high · Verified: Mobile-first indexing best practicesCómo probarlo: las herramientas cambiaron en 2023
Aquí es donde la mayoría de las guías antiguas están desactualizadas. El 1 de diciembre de 2023, Google retiró el informe de Usabilidad Móvil de Search Console, la herramienta Mobile-Friendly Test y la API Mobile-Friendly Test (anunciado en abril de 2023, confirmado como completo ese diciembre). El razonamiento de Google fue que otras herramientas habían madurado — “muchos otros recursos sólidos para evaluar la usabilidad móvil han surgido, incluido Lighthouse de Chrome.” Así que si un tutorial te dice que abras Search Console → Usabilidad Móvil para comprobar tu viewport, ese informe ya no existe.
Combina estas comprobaciones en lugar de depender de una sola herramienta: confirma que la etiqueta existe en el HTML servido en bruto (no solo después de que se ejecute JavaScript), confirma que tus puntos de interrupción responsive realmente se aplican en anchos de teléfono, prueba hacer zoom al 200 % sin que el diseño se rompa (el comportamiento de redimensionamiento en torno al cual se construye la intención de WCAG), y haz comprobaciones puntuales en más de un navegador — una comprobación solo en Safari de iOS puede ocultar un error de restricción de zoom que Android o los navegadores dentro de aplicaciones aún aplican.
Tu kit de herramientas actual:
- Lighthouse (en Chrome DevTools). La auditoría relevante históricamente decía “No
tiene una etiqueta
<meta name="viewport">conwidthoinitial-scale” — falla a menos que el<head>tenga unameta name="viewport"cuyocontentincluyawidth=. A partir de Lighthouse 13 se integra en la información “Optimizar viewport para móvil”. - PageSpeed Insights — ejecuta Lighthouse más datos de campo de Core Web Vitals.
- Barra de dispositivos de Chrome DevTools — emula dimensiones de teléfono y échale un vistazo.
- Herramienta de prueba de compatibilidad móvil de Bing — Bing también comprueba la configuración de viewport y control de zoom, y recomienda la misma etiqueta que Google.
- Ver código fuente / comprobación en dispositivo real — a veces la prueba más rápida es simplemente mirar
el
<head>en tu teléfono.
Errores comunes
- Sin etiqueta en absoluto (“viewport no establecido”) — la página se renderiza con el ancho heredado tipo escritorio y se encoge.
- Un ancho de píxeles fijo como
width=1024en lugar dedevice-width— existe una etiqueta, pero aún así no ajusta la página al dispositivo. Tanto Lighthouse como la compatibilidad móvil real quieren un valorwidth=utilizable, no solo cualquier etiqueta. initial-scalepor debajo de 1 — puede activar el retraso heredado del doble toque para hacer zoom.user-scalable=no/maximum-scalerestrictivo — copiado y pegado de plantillas antiguas; patrón anti-accesibilidad, ignorado en iOS de todos modos.
Para ver dónde encaja esto en el trabajo móvil más amplio (configuración, paridad de contenido, velocidad), consulta el centro de SEO móvil, la lista de verificación de SEO móvil y la indexación mobile-first. Para la etiqueta en sí como parte de la familia más amplia de etiquetas on-page, el clúster de metaetiquetas es el mapa.
Resumen de IA
Una versión condensada de la versión avanzada:
- La metaetiqueta viewport —
<meta name="viewport" content="width=device-width, initial-scale=1">— indica a los navegadores que ajusten el tamaño del viewport de diseño al ancho del dispositivo en píxeles CSS en lugar de un respaldo heredado de ~980px que usan algunos navegadores móviles. Es lo que permite que las consultas de medios CSS responsivas se evalúen según el ancho real del dispositivo en móvil. - Sin ella: algunos navegadores móviles renderizan la página con ese respaldo más ancho y la encogen: texto diminuto, desplazamiento horizontal, puntos de interrupción que pueden no aplicarse como se pretende. Google: “Without a viewport meta tag, mobile devices render pages at typical desktop screen widths and then scale the pages down.” (traducción) «Sin una metaetiqueta viewport, los dispositivos móviles renderizan las páginas a los anchos de pantalla típicos de escritorio y luego las escalan hacia abajo».
- Viewport de diseño vs. viewport visual:
width=device-widthestablece el viewport de diseño (contra el que se evalúan las consultas de medios) y actúa como un ancho mínimo; el zoom con pellizco cambia solo el viewport visual. - Atributos:
width,initial-scale,minimum-scale,maximum-scale,user-scalable, y los más nuevosinteractive-widgetyviewport-fit(ambos casos límite de diseño del navegador, no directivas de SEO). Usawidth=device-width, initial-scale=1y nada más. - Nunca deshabilites el zoom:
user-scalable=no/ unmaximum-scalepor debajo de2falla la regla ACT del W3C para el zoom (b4f0c3) y va en contra de la intención de redimensionamiento de WCAG — e iOS 10+ lo anula por defecto, así que es una desventaja de accesibilidad sin ninguna ventaja en ningún lugar. - Ranking: Google documenta solo que la presencia “indicates to Google that the page is mobile friendly” — no que la etiqueta se puntúe, ni una cadena de ranking declarada a través de señales de usabilidad (ese enlace es inferencia de la industria, no una cita de Google). Distinto de la indexación mobile-first (qué versión se indexa, no cómo se renderiza).
- Cambios en las pruebas: el informe de Usabilidad Móvil de Search Console, la herramienta Mobile-Friendly Test y su API se retiraron el 1 de diciembre de 2023 — usa Lighthouse, PageSpeed Insights, la barra de dispositivos de DevTools o la prueba de compatibilidad móvil de Bing; añade una comprobación de zoom al 200 % y más de un navegador.
- Errores comunes: sin etiqueta,
width=1024codificado,initial-scale< 1,user-scalable=nocopiado y pegado. Google y Bing recomiendan el mismo valor.
Documentación oficial
Documentación de fuentes primarias y referencias de estándares.
- Meta tags and attributes that Google supports — enumera la etiqueta viewport y afirma que su presencia “indicates to Google that the page is mobile friendly.” La fuente actual y en vivo (el documento dedicado más antiguo de Google
configure-viewportse ha retirado). - Does not have a
<meta name="viewport">tag with width or initial-scale (Lighthouse) — la definición de la auditoría, la explicación del respaldo de ancho de escritorio y el código de corrección recomendado. - What the Viewport? — Chrome for Developers / web.dev sobre el valor predeterminado heredado de ~980px y la diferencia entre viewport de diseño y visual.
- The role of page experience in creating helpful content (Apr 2023) — donde Google anunció la retirada el 1 de diciembre de 2023 del informe de Usabilidad Móvil y la herramienta/API Mobile-Friendly Test, señalando a Lighthouse.
Estándares / referencia técnica
<meta name="viewport">(MDN Web Docs) — la referencia principal atributo por atributo:width,initial-scale,minimum-scale,maximum-scale,user-scalable,interactive-widget,viewport-fit, el comportamiento de anulación en iOS 10+ y la advertencia de accesibilidad de WCAG.- MDN: Diseño responsive — la etiqueta meta viewport — la declaración clara de que los puntos de interrupción y las media queries “pueden no funcionar como se espera” sin la etiqueta.
- MDN: Conceptos de viewport en CSS — matiza el valor predeterminado de ~980px como “algunos navegadores móviles”, no un valor universal.
- W3C WAI: Regla ACT “Meta viewport permite hacer zoom” (b4f0c3) — la prueba precisa de conformidad de accesibilidad:
user-scalable=noymaximum-scalepor debajo de2fallan, con la aplicabilidad y los supuestos de la propia regla detallados.
Bing / Microsoft
- La herramienta de prueba de compatibilidad con móviles de Bing (en Bing Webmaster Tools) evalúa la configuración del viewport y del control de zoom, el ancho del contenido, la legibilidad del texto, el espaciado de los objetivos táctiles y los complementos incompatibles, y recomienda el mismo valor
width=device-width, initial-scale=1que Google. (Las URL de los documentos de ayuda de Bing cambian periódicamente; consulta el centro de ayuda actual de Bing Webmaster Tools para ver la página en vivo).
Citas de la fuente
Declaraciones oficiales de la documentación de Google y de MDN. Cada enlace salta al pasaje citado en la página de origen cuando hay un enlace profundo disponible.
Google — qué hace la etiqueta y por qué
- “Without a viewport meta tag, mobile devices render pages at typical desktop screen widths and then scale the pages down, making them difficult to read. Setting the viewport meta tag lets you control the width and scaling of the viewport so that it’s sized correctly on all devices.” (traducción) «Sin una etiqueta meta viewport, los dispositivos móviles renderizan las páginas a los anchos de pantalla típicos de escritorio y luego las escalan hacia abajo, lo que dificulta su lectura. Configurar la etiqueta meta viewport te permite controlar el ancho y la escala del viewport para que se ajuste correctamente en todos los dispositivos.» — Lighthouse / Chrome for Developers (Google). Ir a la cita
- “Presence of this tag indicates to Google that the page is mobile friendly.” (traducción) «La presencia de esta etiqueta indica a Google que la página es compatible con móviles.» — Meta tags and attributes that Google supports, Google Search Central docs. Leer el documento
MDN — la advertencia de accesibilidad
- “Disabling zooming capabilities by setting
user-scalableto a value ofnoprevents people experiencing low vision conditions from being able to read and understand page content.” (traducción) «Deshabilitar las capacidades de zoom estableciendouser-scalableen un valor denoimpide que las personas con condiciones de baja visión puedan leer y comprender el contenido de la página.» — MDN Web Docs. Leer la referencia - Sobre
user-scalable,minimum-scaleymaximum-scale: “Browser settings can ignore this rule, and iOS10+ ignores it by default.” (traducción) «La configuración del navegador puede ignorar esta regla, e iOS10+ la ignora por defecto.» Leer la referencia
W3C — la prueba de conformidad de accesibilidad para el zoom
- Aplicabilidad: “This rule applies to each
contentattribute on ametaelement with anameattribute value ofviewportfor which at least one of the following is true: thecontentattribute value has theuser-scalableproperty; or thecontentattribute value has themaximum-scaleproperty.” Expectativa: el valor del atributo no debe estableceruser-scalableenno, y no debe establecermaximum-scalepor debajo de2. (traducción) «Esta regla se aplica a cada atributocontenten un elementometacon un valor de atributonamedeviewportpara el cual al menos una de las siguientes afirmaciones es verdadera: el valor del atributocontenttiene la propiedaduser-scalable; o el valor del atributocontenttiene la propiedadmaximum-scale.» — W3C WAI, regla ACT “Meta viewport permite hacer zoom” (b4f0c3). Leer la regla
MDN — matizando el valor predeterminado heredado y el comportamiento de los puntos de interrupción
- “If the site isn’t designed to work well on small viewports and this tag is omitted, some mobile browsers render the site using a fixed initial containing block width, typically 980px.” (traducción) «Si el sitio no está diseñado para funcionar bien en viewports pequeños y se omite esta etiqueta, algunos navegadores móviles renderizan el sitio usando un ancho de bloque contenedor inicial fijo, típicamente 980px.» — MDN, conceptos de viewport de CSS. Leer la referencia
- “Without it, your responsive design with breakpoints and media queries may not work as intended on mobile browsers.” (traducción) «Sin ella, tu diseño responsive con breakpoints y media queries puede no funcionar como se espera en navegadores móviles.» — MDN, guía de diseño responsive. Leer la referencia
Google — retirada de las herramientas móviles (dic 2023) (a través de la cobertura textual de Search Engine Land)
- “In the nearly ten years since we initially launched this report, many other robust resources for evaluating mobile usability have emerged, including Lighthouse from Chrome.” (traducción) «En los casi diez años desde que lanzamos inicialmente este informe, han surgido muchos otros recursos robustos para evaluar la usabilidad móvil, incluido Lighthouse de Chrome.» Leer la cobertura
¿Qué configuración de viewport debería usar?
Para casi todos los sitios la respuesta es la misma línea — pero la gente se convence a sí misma de variantes “inteligentes” que causan problemas. Haz clic para llegar al valor correcto (y para descartar los anti-patrones).
Choosing your viewport meta tag value
Lista de verificación de la etiqueta de viewport
Una revisión rápida para confirmar que la etiqueta está presente y es correcta:
- Existe una etiqueta
<meta name="viewport">en el<head>(ver el código fuente o revisa el partial de head de tu plantilla/tema). - Está colocada en la parte alta del
<head>, cerca decharset, antes de las etiquetas dependientes del contenido. - El valor de
contenteswidth=device-width, initial-scale=1. -
widthesdevice-width— no un número de píxeles fijo como1024. -
initial-scalees1— no por debajo de 1 (evita el retraso de zoom de doble toque). - No hay
user-scalable=noy no haymaximum-scalerestrictivo (el zoom permanece habilitado — accesibilidad). - Verificado con Lighthouse o PageSpeed Insights (no el retirado Mobile-Friendly Test / informe de usabilidad móvil).
- Comprobado en un teléfono real o en la barra de dispositivos de Chrome DevTools — el texto es legible, sin desplazamiento horizontal.
- Tus breakpoints de CSS responsive realmente se aplican en anchos de teléfono (puede que no sin una etiqueta de viewport correcta).
- Ampliado al 200% y el diseño sigue funcionando sin que el contenido se recorte.
- Comprobado en más de un navegador/motor, no solo en tu predeterminado — una verificación solo en iOS puede ocultar una restricción de zoom que otros navegadores aún aplican.
Etiqueta meta de viewport — hoja de referencia
La línea que quieres
<meta name="viewport" content="width=device-width, initial-scale=1">Google, Bing y Lighthouse recomiendan exactamente este valor.
Referencia de atributos
| Directiva | Uso | Notas |
|---|---|---|
width | device-width | O 1–10000 px; usa device-width. |
initial-scale | 1 | 0,0–10,0; por debajo de 1 provoca retraso de zoom de doble toque. |
minimum-scale | (omitir) | iOS 10+ lo ignora. |
maximum-scale | (omitir) | iOS 10+ lo ignora; no restrinjas el zoom. |
user-scalable | (omitir; predeterminado yes) | no = falla la regla de accesibilidad de zoom; iOS 10+ lo anula. |
interactive-widget | (opcional) | resizes-visual (predeterminado) / resizes-content / overlays-content. |
Síntomas de una etiqueta faltante/rota
- Texto pequeño e ilegible en móvil.
- Desplazamiento horizontal / necesidad de pellizcar para hacer zoom.
- Los breakpoints responsive no se aplican como se espera en teléfonos.
- “Viewport not set” en una auditoría.
Hacer / No hacer
- ✅
width=device-width, initial-scale=1, en la parte alta del<head>. - ❌
width=1024codificado. - ❌
initial-scalepor debajo de 1. - ❌
user-scalable=no/maximum-scale=1.
Realidad del ranking: no es un factor de ranking directo. Google solo documenta que su presencia indica compatibilidad con dispositivos móviles: la cadena usabilidad→experiencia de página es una inferencia de la industria, no un mecanismo de ranking documentado por Google.
Prueba con: Lighthouse · PageSpeed Insights · barra de dispositivos de Chrome DevTools · Bing Mobile Friendliness Test. No con el Mobile-Friendly Test ni con el informe de usabilidad móvil de Search Console: ambos retirados el 1 de diciembre de 2023.
Antipatrones de viewport
Las cuatro formas en que la gente se equivoca con esta etiqueta y qué hacer en su lugar.
1. Deshabilitar el zoom (user-scalable=no / maximum-scale=1).
La intención suele ser “evitar que el pellizco para hacer zoom rompa mi diseño”. La realidad: falla la regla de conformidad de accesibilidad del W3C para el zoom y bloquea a los usuarios con baja visión para escalar el texto, y iOS 10+ lo anula por defecto, por lo que no hace nada en una gran parte del tráfico mientras sigue fallando esa prueba de accesibilidad en los navegadores que sí lo respetan. Solución: elimínalo por completo; conserva solo width=device-width, initial-scale=1.
2. Codificar un ancho en píxeles (width=1024).
Existe una etiqueta de viewport, por lo que las auditorías a veces pasan a medias, pero la página sigue fijada a un ancho que no coincide con los dispositivos reales. Solución: usa width=device-width.
3. initial-scale por debajo de 1 para “caber más en pantalla”.
Reducir el zoom inicial puede activar el comportamiento heredado de doble toque para hacer zoom que añade retardo de interacción, y hace que el texto sea más pequeño para todos. Solución: initial-scale=1 y deja que tu CSS responsivo maneje el diseño.
4. Confiar en el informe retirado de usabilidad móvil de GSC para detectar problemas. Ese informe, la herramienta Mobile-Friendly Test y su API se retiraron el 1 de diciembre de 2023. Si tu proceso de control de calidad aún dice “comprobar usabilidad móvil”, está haciendo algo en silencio. Solución: audita con Lighthouse / PageSpeed Insights en su lugar.
Extra: tratar la etiqueta como una palanca de ranking. No lo es. Añadirla no mejorará el ranking; solo hace que la página se renderice correctamente para que pueda pasar las comprobaciones de compatibilidad móvil que sí alimentan la experiencia de página. Configúrala una vez, correctamente, y sigue adelante.
Comprueba y audita tu etiqueta de viewport
Formas de verificar la etiqueta en una página o en todo un sitio, desde un fragmento rápido de consola hasta un rastreo.
Consola de DevTools: inspecciona la etiqueta viewport de la página actual
// Paste into the Chrome DevTools console on the page you're checking.
const vp = document.querySelector('meta[name="viewport"]');
if (!vp) {
console.warn('❌ No viewport meta tag — "viewport not set".');
} else {
const c = vp.getAttribute('content') || '';
console.log('viewport content:', c);
console.log(/width\s*=\s*device-width/i.test(c) ? '✅ width=device-width' : '⚠️ width is not device-width');
console.log(/user-scalable\s*=\s*no/i.test(c) || /maximum-scale\s*=\s*[01](\.0)?\b/i.test(c)
? '⚠️ zoom is restricted — accessibility anti-pattern' : '✅ zoom not restricted');
}Marcador: comprobación con un clic
javascript:(function(){var v=document.querySelector('meta[name=viewport]');alert(v?('viewport: '+v.content):'NO VIEWPORT TAG (viewport not set)');})();Shell — fetch a URL and grep the raw HTML head
# Prints the viewport tag from a page's server-rendered HTML (or nothing if absent).
curl -s https://example.com | grep -io '<meta[^>]*name=["'\'']*viewport[^>]*>'Shell — flag pages that restrict zoom across a list of URLs
# urls.txt = one URL per line. Prints any page whose viewport disables/limits zoom.
while read -r u; do
html=$(curl -s "$u")
echo "$html" | grep -iq 'name=["'\'']*viewport' || { echo "MISSING $u"; continue; }
echo "$html" | grep -io '<meta[^>]*viewport[^>]*>' | grep -Eiq 'user-scalable=no|maximum-scale=[01]' \
&& echo "ZOOM-OFF $u"
done < urls.txtRegex: coincide con la etiqueta en el código fuente (para una búsqueda de código / regla de linter)
<meta[^>]+name=["']?viewport["']?[^>]*>Para marcar específicamente el antipatrón, busca:
viewport[^>]*(user-scalable\s*=\s*no|maximum-scale\s*=\s*[01])Para un análisis de todo el sitio, un rastreador (Screaming Frog, Ahrefs Site Audit) es más rápido que escribir scripts; consulta la pestaña Herramientas.
Herramientas para comprobar la etiqueta de viewport
- Lighthouse (Chrome DevTools → Lighthouse, o la CLI) — el reemplazo directo de la prueba Mobile-Friendly retirada; ejecuta la auditoría de viewport (“Optimize viewport for mobile” en Lighthouse 13+) además del resto de usabilidad y rendimiento móvil.
- PageSpeed Insights — Lighthouse en el navegador, con datos de Core Web Vitals de campo junto a la auditoría de laboratorio.
- Barra de dispositivos de Chrome DevTools — activa la emulación de dispositivos y observa la página en dimensiones de teléfono; la forma más rápida de ver un viewport roto.
- Bing Mobile Friendliness Test Tool (Bing Webmaster Tools) — comprueba la configuración de viewport y de control de zoom y recomienda la misma etiqueta.
- Screaming Frog SEO Spider / Ahrefs Site Audit — rastrean todo el sitio y detectan páginas que no tienen la etiqueta de viewport (o que restringen el zoom) a escala, en lugar de comprobar las URLs una a una.
- Ver el código fuente en tu teléfono — la comprobación más básica: ¿está la etiqueta realmente en el
<head>del HTML servido?
Ten en cuenta las retiradas: el informe de Usabilidad móvil de Search Console, la herramienta Mobile-Friendly Test y la API de Mobile-Friendly Test se retiraron todas el 1 de diciembre de 2023 — no las uses.
La etiqueta de viewport está presente pero la página sigue viéndose como en escritorio
Síntoma: el código fuente contiene una etiqueta de viewport, pero los teléfonos muestran texto diminuto o un diseño ancho.
Causa probable: hay etiquetas de viewport duplicadas, la etiqueta se inyecta demasiado tarde, o
el CSS responsive nunca se carga. Solución: mantén una sola etiqueta en el <head> renderizado por el servidor,
elimina las copias conflictivas y verifica que las media queries esperadas se apliquen en
la página renderizada.
El diseño móvil funciona al principio y luego se ensancha
Síntoma: el diseño inicial encaja, pero luego aparece el desplazamiento horizontal después de la carga. Causa probable: JavaScript añade un widget, tabla, banner o iframe de ancho fijo después de que se establece el viewport. Solución: inspecciona el DOM renderizado en el momento en que comienza el desbordamiento y limita el elemento inyectado. Cambiar el valor del viewport no puede reparar un elemento que es intrínsecamente más ancho que la pantalla.
El zoom con pellizco está bloqueado
Síntoma: los usuarios no pueden hacer zoom, aunque la página encaje por lo demás. Causa probable:
user-scalable=no o un maximum-scale restrictivo permanece en el contenido del viewport.
Solución: elimina esas restricciones y vuelve a probar con el zoom del navegador y el escalado de texto del sistema operativo.
No trates una anulación de iOS como prueba de que el marcado es accesible en todas partes.
Un rastreador informa que falta la etiqueta pero el navegador la muestra
Síntoma: un navegador renderizado ve la etiqueta, mientras que un rastreador de HTML sin procesar no.
Causa probable: JavaScript del lado del cliente la inserta. Solución: emite la etiqueta en el
<head> del documento inicial. Una instrucción de renderizado fundamental no debería depender de que un
script se ejecute correctamente.
Validar un cambio en la etiqueta de viewport
| Prueba a ejecutar | Resultado esperado | Interpretación del fallo | Ventana de monitoreo | Disparador de reversión |
|---|---|---|---|---|
Ver la respuesta HTML inicial e inspeccionar <head> | Exactamente una etiqueta viewport contiene width=device-width, initial-scale=1 | La etiqueta falta, está duplicada o depende de JavaScript | Cada lanzamiento de plantilla | Revertir si una plantilla compartida elimina o duplica la etiqueta |
| Cargar la página en varios anchos de teléfono en DevTools | Las consultas de medios CSS se activan en los anchos previstos y el contenido se ajusta | El viewport es correcto pero el CSS responsivo o un elemento hijo de ancho fijo está roto | Antes e inmediatamente después del despliegue | Revertir si el contenido principal o la navegación se vuelven inutilizables |
| Ejecutar Lighthouse con un perfil móvil | La auditoría de viewport pasa | La configuración servida o renderizada aún impide un diseño de tamaño móvil | Antes y después del cambio | Revertir si el cambio introduce otro fallo móvil de alto impacto |
| Probar el zoom con pellizco y el aumento del tamaño de texto en un teléfono físico | Los usuarios pueden hacer zoom y el texto se reajusta sin recortarse | Restricciones de escala o componentes de altura fija permanecen | Día del lanzamiento y después de cambios en el sistema de diseño | Revertir si los controles esenciales no se pueden alcanzar con tamaños de texto ampliados |
| Rastrear una muestra de cada plantilla de página usando HTML sin procesar | Cada muestra expone la misma etiqueta válida en el head | Una plantilla o ruta de renderizado tiene marcado inconsistente | Después del despliegue y en el control de calidad programado de plantillas | Revertir la plantilla afectada si las páginas vuelven al viewport de escritorio heredado |
Recursos que valen tu tiempo
Mi escritura relacionada
- The Beginner’s Guide to Technical SEO — donde el renderizado móvil y la experiencia de página encajan en el panorama técnico más amplio.
- Core Web Vitals: What They Are & How to Improve Yours — el lado del rendimiento de la experiencia móvil que se sitúa junto a la etiqueta viewport.
Mis charlas
- How Search Works (SlideShare) — mi recorrido por el rastreo, el renderizado, la indexación y el ranking, incluido cómo Googlebot rastrea y renderiza como un teléfono inteligente. (Descargo de responsabilidad permanente: “This is my understanding of systems… not going to be 100% complete or accurate.” (traducción) «Esta es mi comprensión de los sistemas… no va a ser 100 % completa o precisa.»)
Del sector
<meta name="viewport">(MDN Web Docs) — la referencia precisa atributo por atributo, el comportamiento de anulación en iOS y la advertencia de accesibilidad WCAG.- No tiene una etiqueta
<meta name="viewport">con width o initial-scale (Lighthouse) (Chrome for Developers) — la definición de la auditoría, la explicación del respaldo de ancho de escritorio y la corrección recomendada. - What the Viewport? (Chrome for Developers) — el valor predeterminado heredado de ~980px y la diferencia entre el viewport de diseño y el visual, explicado por Google.
- Meta tags and attributes that Google supports (Google Search Central) — el documento actual que nombra la etiqueta viewport como una señal de compatibilidad con móviles.
- Google Officially Drops Mobile Usability Report, Mobile-Friendly Test Tool and API (Search Engine Land) — las retiradas de diciembre de 2023 y la recomendación de Lighthouse.
- You can stop using user-scalable=no and maximum-scale=1 in viewport meta tags now (Luke Plant) — antecedentes sobre por qué existían los atributos de zoom restrictivos y por qué están obsoletos y se anulan en iOS.
- A Beginner’s Guide to Viewport Meta Tags (Semrush) — una explicación completa de un competidor que cubre
interactive-widget, la anulación de iOS 10 y la advertencia WCAG.
Ponte a prueba: Etiqueta meta viewport
Cinco preguntas rápidas sobre la etiqueta meta viewport. Elige una respuesta para cada una y luego comprueba.
Registro de cambios
Actualizado el 18 jul 2026.
Resumen editorial y detalles registrados del cambio.Detalles del cambio
-
Los detalles del cambio están disponibles actualmente en inglés.
-
Los detalles del cambio están disponibles actualmente en inglés.
-
Los detalles del cambio están disponibles actualmente en inglés.
-
Los detalles del cambio están disponibles actualmente en inglés.
-
Los detalles del cambio están disponibles actualmente en inglés.
La comparación completa no está disponible: no se archivó una instantánea anterior para esta revisión.