Skip to main content
Validação HTML

Elemento “link” está a faltar um ou mais dos seguintes atributos: “itemprop”, “property”, “rel”.

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 incluem stylesheet, icon, preconnect, preload, canonical, e alternate. A maioria dos elementos <link> na prática usa rel.

  • itemprop — Usado quando o elemento <link> faz parte de uma estrutura HTML Microdata. Especifica um nome de propriedade dentro de um itemscope, 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, como og:image ou schema: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

  1. Ligando a uma folha de estilo, ícone, fonte ou outro recurso? Adicione o valor rel apropriado.
  2. Definindo propriedades Microdata? Use itemprop dentro de um contexto itemscope.
  3. Adicionando metadados RDFa ou Open Graph? Use property com o prefixo de vocabulário correto.
  4. 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.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

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