Sobre este problema HTML
O elemento <meta> fornece metadados sobre o documento HTML — informação que não é exibida na página mas é utilizada por navegadores, motores de busca e outros serviços web. Segundo a especificação HTML, uma tag <meta> sem qualquer dos atributos reconhecidos não tem significado. O validador sinaliza isto porque um elemento <meta> vazio (ou um apenas com atributos não reconhecidos) não fornece metadados úteis e provavelmente indica um erro ou tag incompleta.
Este problema ocorre frequentemente quando uma tag <meta> é deixada vazia por acidente, quando um nome de atributo tem erro ortográfico (p.ex., naem em vez de name), ou quando um atributo obrigatório é apagado acidentalmente durante a edição.
A maioria dos casos de uso de <meta> enquadra-se em alguns padrões, cada um requerendo combinações específicas de atributos:
-
charset— Usado sozinho para declarar a codificação de caracteres do documento. -
name+content— Usados em conjunto para definir metadados nomeados como descrições, configurações de viewport, ou informação do autor. -
http-equiv+content— Usados em conjunto para simular um cabeçalho de resposta HTTP. -
property+content— Usados em conjunto para Open Graph e metadados baseados em RDFa similares. -
itemprop+content— Usados em conjunto para anotações microdata.
Note que content sozinho não é suficiente — deve ser emparelhado com name, http-equiv, property, ou itemprop para ter significado.
Exemplos
Incorreto: tag <meta> vazia sem atributos
Isto desencadeia o erro de validação porque o elemento <meta> não tem atributos reconhecidos:
<meta>
Incorreto: atributo com erro ortográfico
Um erro no nome do atributo significa que o validador não o reconhece:
<meta nane="description" content="An example page.">
Incorreto: content sem um atributo de emparelhamento
O atributo content sozinho não é suficiente — precisa de name, http-equiv, property, ou itemprop:
<meta content="some value">
Correto: codificação de caracteres com charset
<meta charset="UTF-8">
Correto: metadados nomeados com name e content
<meta name="description" content="A brief description of the webpage.">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Jane Doe">
Correto: equivalente HTTP com http-equiv e content
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Correto: metadados Open Graph com property e content
<meta property="og:title" content="My Page Title">
<meta property="og:description" content="A summary of the page content.">
Correto: microdata com itemprop e content
<meta itemprop="name" content="Product Name">
Exemplo de documento completo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A brief description of the webpage.">
<meta property="og:title" content="My Page Title">
<title>Example Page</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
Como corrigir
-
Encontre a tag
<meta>sinalizada no seu código HTML no número de linha que o validador reporta. -
Verifique erros ortográficos nos nomes dos atributos — certifique-se de que
name,charset,http-equiv,property, ouitempropestão escritos corretamente. -
Adicione o atributo em falta. Determine o que a tag
<meta>deve fazer e adicione o(s) atributo(s) apropriado(s). Se não conseguir determinar o seu propósito, pode ser seguro removê-la completamente. -
Assegure o emparelhamento adequado. Se está a usar
content, certifique-se de que está emparelhado comname,http-equiv,property, ouitemprop. O atributocharseté o único que funciona sozinho semcontent.
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: