Sobre este problema HTML
Quando o Validador do W3C encontra um URL no seu HTML — seja num <link>, <script>, <img>, ou qualquer outro elemento que referencie um recurso externo — pode tentar recuperar esse recurso como parte do processo de validação. Se o servidor remoto retornar um código de status HTTP 503, o validador não consegue obter o recurso e gera este erro. O código de status 503 significa especificamente “Service Unavailable,” indicando uma condição temporária do lado do servidor.
Este erro não é um problema com a sintaxe do seu HTML. É um problema de infraestrutura que pode ser causado por vários fatores:
- Manutenção do servidor: O servidor remoto está temporariamente inativo para atualizações ou manutenção programada.
- Sobrecarga do servidor: O servidor está a processar demasiadas solicitações e não consegue responder a tempo.
- Limitação de taxa: Alguns servidores detetam solicitações automatizadas (como as do validador) e respondem com 503 para controlar o tráfego.
- Problemas de CDN ou alojamento: A rede de distribuição de conteúdo ou fornecedor de alojamento está a experienciar problemas temporários.
- URL incorreto: O URL do recurso pode apontar para um servidor que já não aloja o conteúdo esperado.
Embora isto não seja um problema de conformidade com os padrões propriamente dito, é importante resolver porque recursos inacessíveis podem afetar a renderização, funcionalidade e acessibilidade da sua página. Uma folha de estilos em falta significa conteúdo sem estilo, um script em falta significa interatividade quebrada, e uma imagem em falta significa informação visual ausente.
Como corrigir
- Verificar o URL: Abra o URL referenciado diretamente num navegador para confirmar que é válido e acessível.
- Tentar novamente mais tarde: Como 503 é um status temporário, simplesmente executar o validador novamente após algum tempo frequentemente resolve o problema.
- Alojar recursos localmente: Para recursos críticos como folhas de estilos e scripts, considere alojá-los você mesmo em vez de depender de servidores de terceiros.
- Usar CDNs fiáveis: Se usa um CDN, escolha um com garantias de alta disponibilidade (por exemplo, fornecedores estabelecidos para bibliotecas populares).
- Adicionar fallbacks: Para scripts carregados de CDNs externos, considere incluir um fallback local.
Exemplos
Recurso externo que pode desencadear um 503
<link rel="stylesheet" href="https://example.com/styles/main.css">
<script src="https://example.com/libs/library.js"></script>
Se example.com estiver temporariamente indisponível, o validador reportará o erro 503 para cada um destes recursos.
Correção: Alojar recursos localmente
<link rel="stylesheet" href="/css/main.css">
<script src="/js/library.js"></script>
Ao alojar os ficheiros no seu próprio servidor, elimina a dependência da disponibilidade de um servidor de terceiros e garante que o validador (e os seus utilizadores) podem sempre aceder aos mesmos.
Correção: Usar um CDN fiável com um fallback local
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
<script>
if (typeof jQuery === "undefined") {
var s = document.createElement("script");
s.src = "/js/jquery.min.js";
document.head.appendChild(s);
}
</script>
Esta abordagem carrega jQuery de um CDN bem conhecido mas recorre a uma cópia local se o CDN estiver indisponível. Embora este padrão de fallback não previna o próprio aviso do validador, garante que a sua página funciona para utilizadores reais mesmo quando o CDN está em baixo.
Correção: Validar usando o modo “text input”
Se os erros 503 persistirem e forem causados pelas solicitações do validador serem bloqueadas ou limitadas, pode contornar o problema validando o seu HTML usando a opção “Validate by Direct Input” do validador. Cole o código fonte do seu HTML diretamente no validador em https://validator.w3.org/#validate_by_input. Isto ainda valida a estrutura e sintaxe do seu markup, embora o validador possa não verificar recursos referenciados externamente.
Tenha em mente que um erro 503 durante a validação é quase sempre temporário. Se confirmou que os seus URLs estão corretos e os recursos carregam bem num navegador, a abordagem mais segura é simplesmente aguardar e validar novamente mais tarde.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.
Saiba mais: