Sobre este problema HTML
Um URL é composto por várias partes: esquema, host (domínio), caminho, consulta e fragmento. Embora algumas destas partes permitam certos carateres especiais (frequentemente codificados em percentagem), a parte do host tem regras rigorosas. Os nomes de domínio seguem as convenções de nomenclatura DNS, que apenas permitem letras ASCII (a-z, A-Z), dígitos (0-9), hífenes (-) e pontos (.) como separadores de etiquetas. Os espaços são categoricamente proibidos.
Este erro de validação ocorre normalmente em dois cenários:
-
Um espaço literal aparece no domínio, por exemplo,
http://meu dominio.com. Isto é frequentemente um erro tipográfico ou um erro de colar. -
Um espaço codificado em percentagem (
%20) aparece no domínio, por exemplo,http://meu%20dominio.com. Embora%20seja válido nos caminhos de URL e strings de consulta, não é válido na parte do host. A codificação em percentagem não torna um espaço legal num nome de domínio — ainda se resolve para um caráter de espaço, que o DNS não pode processar.
Por que isto é um problema
- Links quebrados: Os browsers não conseguem resolver um domínio com espaços para um servidor real. Os utilizadores que clicam no link obterão um erro ou não serão direcionados para lado nenhum.
- Acessibilidade: Os leitores de ecrã e tecnologias assistivas podem anunciar o link, mas os utilizadores encontrarão um beco sem saída, criando uma experiência frustrante.
- Conformidade com normas: O WHATWG URL Standard proíbe explicitamente espaços no componente host. O validador do W3C sinaliza isto para o ajudar a detetar o que é quase certamente um erro.
- Impacto SEO: Os crawlers de motores de busca tratarão o URL como inválido e não o seguirão nem o indexarão.
Como corrigir
- Verificar erros tipográficos: A correção mais comum é corrigir o domínio para o nome de domínio real e válido que pretendia.
-
Substituir espaços por hífenes: Se o domínio pretendido genuinamente tem um separador de palavras, a convenção padrão é usar hífenes (por exemplo,
meu-dominio.com). -
Remover espaços inteiramente: Às vezes os espaços são introduzidos acidentalmente e simplesmente precisam de ser removidos (por exemplo,
meudominio.com). - Verificar o caminho vs. host: Se o espaço pertence a um caminho de ficheiro ou parâmetro de consulta em vez do domínio, certifique-se de que está na parte correta do URL e devidamente codificado em percentagem lá.
Exemplos
❌ Espaço literal no domínio
<a href="http://meu dominio.com/pagina">Visitar site</a>
❌ Espaço codificado em percentagem no domínio
<a href="http://meu%20dominio.com/pagina">Visitar site</a>
✅ Corrigido: usar um hífen no domínio
<a href="http://meu-dominio.com/pagina">Visitar site</a>
✅ Corrigido: remover o espaço inteiramente
<a href="http://meudominio.com/pagina">Visitar site</a>
✅ Os espaços estão bem no caminho (codificados em percentagem)
Note que %20 é válido na parte do caminho de um URL — apenas não no domínio:
<a href="http://meudominio.com/minha%20pagina">Visitar página</a>
Erro comum: espaço antes ou depois do domínio
Às vezes o espaço é difícil de detetar porque está no início ou fim do URL, ou entre o esquema e o domínio:
<!-- ❌ Espaço no final do domínio -->
<a href="http://meudominio.com /pagina">Visitar site</a>
<!-- ✅ Corrigido -->
<a href="http://meudominio.com/pagina">Visitar site</a>
Se os seus URLs são gerados dinamicamente (por exemplo, de um CMS ou base de dados), certifique-se de remover espaços em branco da parte do domínio antes de construir o URL completo. Uma forma rápida de detetar estes problemas durante o desenvolvimento é validar regularmente o seu HTML com o W3C Markup Validation Service.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.