Sobre este problema HTML
O elemento <link> conecta o seu documento HTML a recursos externos como folhas de estilo, ícones, fontes e páginas pré-carregadas. De acordo com a especificação HTML, um elemento <link> deve incluir pelo menos um de rel, itemprop, ou property para que o seu propósito seja claramente definido. Um <link> simples com apenas um href é sem significado—aponta para um recurso mas não explica para que serve esse recurso. O validador gera este erro para garantir que cada <link> tenha significado semântico.
Isto é importante por várias razões. Os navegadores dependem destes atributos para decidir como lidar com o recurso ligado. Um <link> com rel="stylesheet" desencadeia o carregamento de CSS, enquanto rel="icon" diz ao navegador para usar o recurso como favicon. Sem um dos atributos obrigatórios, os navegadores podem ignorar completamente o elemento, resultando na falta de estilos, ícones ou outros recursos. Também afeta ferramentas de acessibilidade e motores de busca que analisam a sua marcação para dados estruturados.
Compreender os três atributos
-
rel— O atributo mais comum. Define a relação entre o seu documento e o recurso ligado. Exemplos incluemstylesheet,icon,preconnect,preload,canonical, ealternate. A maioria dos elementos<link>na prática usarel. -
itemprop— Usado quando o elemento<link>faz parte de uma estrutura HTML Microdata. Especifica um nome de propriedade dentro de umitemscope, ligando a um URL como valor da propriedade. Isto é comumente visto com vocabulários Schema.org. -
property— Usado com metadados RDFa (como tags Open Graph). Define uma propriedade de metadados para o documento, comoog:imageouschema:citation.
Só precisa de um destes três atributos para satisfazer o requisito, embora possa combiná-los quando apropriado.
Exemplos
Inválido: <link> sem atributo de relação
Isto desencadeia o erro de validação porque o elemento não tem atributo rel, itemprop, ou property:
<head>
<title>My Page</title>
<link href="styles.css">
</head>
Corrigido: adicionar rel para uma folha de estilo
<head>
<title>My Page</title>
<link rel="stylesheet" href="styles.css">
</head>
Corrigido: usos comuns de rel
<head>
<title>My Page</title>
<link rel="stylesheet" href="styles.css">
<link rel="icon" href="favicon.ico">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="canonical" href="https://example.com/page">
</head>
Corrigido: usar itemprop com Microdata
Quando um <link> aparece dentro de um elemento com itemscope, use itemprop para definir uma propriedade que aceita um valor URL:
<div itemscope itemtype="https://schema.org/Article">
<h2 itemprop="name">Understanding HTML Validation</h2>
<link itemprop="mainEntityOfPage" href="https://example.com/article">
</div>
Corrigido: usar property com RDFa / Open Graph
Tags meta Open Graph para partilha em redes sociais comumente usam o atributo property. Embora <meta> seja mais típico para Open Graph, <link> com property é válido para valores do tipo URL:
<head>
<title>My Page</title>
<link property="og:image" href="https://example.com/image.jpg">
<link property="schema:citation" href="https://example.com/source.html">
</head>
Inválido: erro de escrita ou atributo mal colocado
Por vezes este erro aparece devido a um nome de atributo mal escrito:
<head>
<title>My Page</title>
<link rел="stylesheet" href="styles.css">
</head>
Verifique duas vezes que rel está escrito corretamente e não foi acidentalmente omitido ao copiar marcação de templates ou trechos de código.
Lista de verificação para correção rápida
-
Ligando a uma folha de estilo, ícone, fonte ou outro recurso? Adicione o valor
relapropriado. -
Definindo propriedades Microdata? Use
itempropdentro de um contextoitemscope. -
Adicionando metadados RDFa ou Open Graph? Use
propertycom o prefixo de vocabulário correto. - Ainda vê o erro? Verifique erros de escrita no nome do atributo ou certifique-se de que o atributo não está acidentalmente vazio.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.