Acerca de este problema HTML
Una URL está compuesta por varias partes: esquema, host (dominio), ruta, consulta y fragmento. Aunque algunas de estas partes permiten ciertos caracteres especiales (a menudo codificados por porcentaje), la parte del host tiene reglas estrictas. Los nombres de dominio siguen las convenciones de nomenclatura DNS, que solo permiten letras ASCII (a-z, A-Z), dígitos (0-9), guiones (-) y puntos (.) como separadores de etiquetas. Los espacios están categóricamente prohibidos.
Este error de validación ocurre típicamente en dos escenarios:
-
Un espacio literal aparece en el dominio, p. ej.,
http://my domain.com. Esto a menudo es un error tipográfico o de copiar y pegar. -
Un espacio codificado por porcentaje (
%20) aparece en el dominio, p. ej.,http://my%20domain.com. Aunque%20es válido en rutas de URL y cadenas de consulta, no es válido en la parte del host. La codificación por porcentaje no hace que un espacio sea legal en un nombre de dominio — aún se resuelve a un carácter de espacio, que DNS no puede manejar.
Por qué esto es un problema
- Enlaces rotos: Los navegadores no pueden resolver un dominio con espacios a un servidor real. Los usuarios que hagan clic en el enlace obtendrán un error o no llegarán a ningún lugar.
- Accesibilidad: Los lectores de pantalla y las tecnologías de asistencia pueden anunciar el enlace, pero los usuarios encontrarán un callejón sin salida, creando una experiencia frustrante.
- Cumplimiento de estándares: El WHATWG URL Standard prohíbe explícitamente los espacios en el componente host. El validador W3C marca esto para ayudarte a detectar lo que es casi con certeza un error.
- Impacto SEO: Los rastreadores de motores de búsqueda tratarán la URL como inválida y no la seguirán ni indexarán.
Cómo solucionarlo
- Busca errores tipográficos: La solución más común es corregir el dominio al nombre de dominio válido real que pretendías usar.
-
Reemplaza espacios con guiones: Si el dominio pretendido genuinamente tiene un separador de palabras, la convención estándar es usar guiones (p. ej.,
my-domain.com). -
Elimina los espacios completamente: A veces los espacios se introducen accidentalmente y simplemente necesitan ser eliminados (p. ej.,
mydomain.com). - Verifica la ruta vs. el host: Si el espacio pertenece a una ruta de archivo o parámetro de consulta en lugar del dominio, asegúrate de que esté en la parte correcta de la URL y debidamente codificado por porcentaje allí.
Ejemplos
❌ Espacio literal en el dominio
<a href="http://my domain.com/page">Visitar sitio</a>
❌ Espacio codificado por porcentaje en el dominio
<a href="http://my%20domain.com/page">Visitar sitio</a>
✅ Corregido: usar un guión en el dominio
<a href="http://my-domain.com/page">Visitar sitio</a>
✅ Corregido: eliminar el espacio completamente
<a href="http://mydomain.com/page">Visitar sitio</a>
✅ Los espacios están bien en la ruta (codificados por porcentaje)
Ten en cuenta que %20 es válido en la parte de la ruta de una URL — solo no en el dominio:
<a href="http://mydomain.com/my%20page">Visitar página</a>
Error común: espacio antes o después del dominio
A veces el espacio es difícil de detectar porque está al principio o al final de la URL, o entre el esquema y el dominio:
<!-- ❌ Espacio final en el dominio -->
<a href="http://mydomain.com /page">Visitar sitio</a>
<!-- ✅ Corregido -->
<a href="http://mydomain.com/page">Visitar sitio</a>
Si tus URLs se generan dinámicamente (p. ej., desde un CMS o base de datos), asegúrate de recortar los espacios en blanco de la parte del dominio antes de construir la URL completa. Una forma rápida de detectar estos problemas durante el desarrollo es validar tu HTML regularmente con el W3C Markup Validation Service.
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.