Skip to main content
Validação HTML

Valor inválido “http://“ para o atributo “href” no elemento “a”: Host inválido: host vazio.

Sobre este problema HTML

Quando define href="http://", o navegador e o validador W3C tentam analisar isto como um URL absoluto. Segundo o URL Standard, um URL com o esquema http ou https deve incluir um componente host não vazio. A string http:// tem o esquema mas nada depois do ://, o que torna o host vazio e o URL inválido.

Este problema surge normalmente quando um URL é gerado dinamicamente mas a variável ou valor para o domínio está em falta, ou quando um programador usa http:// como placeholder temporário durante o desenvolvimento e se esquece de o substituir.

Porque é que isto é importante

  • Navegação danificada: Clicar numa ligação com href="http://" leva a comportamento imprevisível. Alguns navegadores podem navegar para uma página de erro, enquanto outros podem interpretá-lo de forma diferente.
  • Acessibilidade: Os leitores de ecrã anunciam ligações aos utilizadores, incluindo os seus destinos. Um URL inválido cria uma experiência confusa para utilizadores de tecnologia assistiva que esperam que a ligação vá para algum lugar significativo.
  • Conformidade com padrões: A especificação HTML exige que os valores href sejam URLs válidos. Um host vazio viola as regras de análise de URL, fazendo com que o validador W3C o sinalize como erro.
  • SEO: Os crawlers de motores de busca podem tratar URLs inválidos como erros, potencialmente afetando a forma como o seu site é indexado.

Exemplos

❌ Inválido: host vazio no URL

<a href="http://">Visite o nosso website</a>

Isto aciona o erro porque http:// não tem componente host.

❌ Inválido: mesmo problema com HTTPS

<a href="https://">Ligação segura</a>

O esquema https também requer um host válido, por isso produz o mesmo erro.

✅ Corrigido: forneça um URL completo

<a href="https://example.com">Visite o nosso website</a>

✅ Corrigido: use um placeholder de fragmento se o URL for desconhecido

Se precisar de uma ligação placeholder durante o desenvolvimento, use # em vez de um URL incompleto:

<a href="#">Visite o nosso website</a>

✅ Corrigido: use um URL relativo quando ligar dentro do mesmo site

<a href="/about">Sobre nós</a>

Lidar com URLs dinâmicos

Se o valor href vier de um template ou CMS, certifique-se de que a variável produz um URL completo. Por exemplo, se um template produzir uma string vazia, pode acabar com:

<!-- Se {{ site_url }} estiver vazio, isto torna-se href="http://" -->

<a href="http://{{ site_url }}">Início</a>

Certifique-se de que a variável sempre resolve para um host válido, ou adicione um fallback para que a ligação seja omitida ou substituída por um padrão seguro quando o valor estiver em falta.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.