Verificador Open Graph
As etiquetas Open Graph são as meta-etiquetas que decidem como uma página aparece quando a sua ligação é colada no Facebook, X, LinkedIn, Slack ou numa aplicação de chat. Insira um URL e este verificador obtém a página uma única vez, mostra exatamente que etiquetas e substituições cada plataforma vai usar, desenha os quatro cartões de partilha e verifica as dimensões reais da imagem. O guia complementar, verifique os seus cartões antes de publicar, percorre como corrigir o que encontrar; para o exame amplo e de rotina, use antes a verificação de saúde do site.
Última atualização:
Quer vigiar isto continuamente? Vigie grátis com o myeventwatch — alertas de expiração e de indisponibilidade, sem cartão.
Como funciona a verificação
O verificador faz uma única obtenção protegida no servidor do URL que inseriu, segue os redirecionamentos e lê o HTML estático da página final — o mesmo HTML que o rastreador de uma plataforma vê. Analisa as meta-etiquetas og: e twitter:, o <title> da página e a meta-descrição, e depois calcula, plataforma a plataforma, que valor cada cartão de partilha vai realmente mostrar e de onde veio esse valor. Os valores fornecidos por uma substituição são assinalados como substituições, para que um cartão que parece completo não esconda uma etiqueta em falta por baixo dele.
Um limite condiciona tudo o resto: isto é uma obtenção HTTP simples, não um navegador, e os rastreadores das plataformas também não são navegadores — nenhum executa JavaScript. As etiquetas injetadas por um script, renderizadas no cliente ou adicionadas apenas depois do início de sessão são invisíveis aqui e invisíveis no Facebook, X, LinkedIn e Slack exatamente da mesma forma. Se uma etiqueta só existe no seu pacote de JavaScript, ela não existe para a partilha. O que vê no resultado — URL final, estado HTTP, a tabela de etiquetas em bruto e os quatro cartões desenhados — é a verdade estática com a qual os rastreadores têm de trabalhar.
Substituições, a armadilha da imagem relativa e a cache dos rastreadores
Cada plataforma substitui de forma diferente, e é por isso que a mesma página pode parecer certa numa aplicação e partida noutra. O Facebook lê diretamente as etiquetas og:. O X lê primeiro as suas próprias etiquetas twitter: e recorre às etiquetas og: correspondentes quando faltam. O LinkedIn lê apenas as etiquetas og:, por isso uma configuração perfeita de Twitter Card não lhe serve de nada. O Slack lê primeiro as etiquetas og: e depois as twitter:. A lista abaixo marca cada campo em falta, cada campo vazio e cada campo que uma plataforma preencheria com uma substituição, nomeando a fonte a que recorreria.
A falha silenciosa mais comum é um og:image relativo: um valor como /images/share.jpg parece bem no seu modelo e no seu navegador, mas a maioria dos rastreadores não o consegue resolver contra nada, por isso o cartão simplesmente não mostra imagem. A correção é sempre um URL absoluto, com o esquema incluído. A segunda armadilha é a cache: cada plataforma guarda em cache o que o seu rastreador obteve, por isso corrigir as etiquetas não atualiza as publicações que já estão cá fora, e até uma pré-visualização nova pode continuar a servir o cartão antigo até pedir à plataforma que rastreie novamente o URL. Corrija primeiro as etiquetas, verifique-as aqui e só depois force o novo rastreio — por esta ordem, ou vai guardar em cache outra vez a versão partida.
Limites de honestidade: uma pré-visualização aqui é uma simulação do comportamento documentado de cada plataforma, não uma captura de uma publicação real. As plataformas cortam, arredondam e truncam de formas diferentes, mudam os esquemas dos seus cartões sem aviso e podem tratar de forma diferente quem tem sessão iniciada e quem não tem, por isso trate os cartões como um modelo fiel, não como uma garantia. Uma coisa não é simulada: as dimensões da imagem são lidas dos cabeçalhos do ficheiro de imagem real, não dos valores og:image:width e og:image:height que a página declara — os valores declarados são afirmações, e este verificador confronta-os com o próprio ficheiro.
O que é verificado e as regras por trás disso
| Etiquetas verificadas | og:title, og:description, og:image, og:url, og:type e og:site_name, mais twitter:card, twitter:title, twitter:description e twitter:image — e, como fontes de substituição, o <title> da página e a meta-descrição. |
| Tamanho de imagem recomendado — 1200 × 630 px | 1200 × 630 é uma orientação das plataformas, não uma norma formal: é o tamanho que o Facebook recomenda e o tamanho de cartão grande que o X, o LinkedIn e o Slack tratam melhor. Imagens mais pequenas continuam a ser mostradas, mas os cartões podem cortá-las ou recorrer a uma miniatura pequena. |
| Lê diretamente as etiquetas og: — og:title, og:description e og:image — e recorre ao <title> da página e à meta-descrição apenas quando as etiquetas og: faltam. | |
| X (Twitter) | Lê primeiro twitter:title, twitter:description e twitter:image; cada um recorre à etiqueta og: correspondente quando falta. twitter:card escolhe o esquema do cartão, e sem ela o X adivinha a partir do que encontra. |
| LinkedIn e Slack | O LinkedIn lê apenas as etiquetas og: — as etiquetas twitter: não ajudam ali. O Slack lê primeiro as etiquetas og: e depois as twitter:, por isso é o mais tolerante dos quatro. |
| URL de imagem relativos | og:image e twitter:image têm de ser URL absolutos, com o esquema incluído. A maioria dos rastreadores não consegue resolver um caminho relativo, e o resultado é um cartão sem imagem e sem nenhum erro em lado nenhum. |
| Dimensões da imagem | Lidas do ficheiro de imagem real — os seus cabeçalhos PNG, JPEG, GIF ou WebP — juntamente com o seu tamanho em bytes e o seu formato. Os valores declarados og:image:width e og:image:height são mostrados para comparação, mas nunca são confiados por si sós. |
| Dimensões desconhecidas | Significa que o verificador não conseguiu obter nem analisar o ficheiro de imagem — excedeu o tempo, recusou o pedido ou o seu formato tem um cabeçalho que não consegue ler. Então as dimensões declaradas pela página, se existirem, são tudo o que alguém tem, rastreadores incluídos. |
Perguntas frequentes
Porque é que a minha ligação partilhada não mostra imagem?
As causas habituais, por ordem: não existe nenhum og:image; o og:image é um URL relativo que os rastreadores não conseguem resolver; a imagem é demasiado pequena ou está num sítio que o rastreador não consegue obter (atrás de um início de sessão, bloqueada por regras de robots ou a responder com um erro); ou a plataforma continua a mostrar o seu rastreio em cache de antes de a imagem existir. Execute a verificação acima — ela nomeia qual destas se aplica —, corrija a etiqueta e depois peça à plataforma que rastreie novamente.
Etiquetas Open Graph ou Twitter — preciso das duas?
Na prática, sim. O Facebook e o LinkedIn leem apenas as etiquetas og:, enquanto o X prefere as suas próprias etiquetas twitter: e usa as og: como substituição. Um conjunto completo de og: mais uma etiqueta twitter:card cobre a maioria dos casos, mas um twitter:title, uma twitter:description e uma twitter:image explícitos são a única forma de o cartão do X diferir do cartão do Facebook — e o Slack lê ambos os conjuntos, primeiro og:.
Porque é que a publicação real parece diferente desta pré-visualização?
Quase sempre, por causa da cache. O rastreador de cada plataforma guarda em cache o que obteve para um URL, e editar as suas etiquetas não invalida essa cache. Uma publicação feita antes da correção conserva o cartão antigo, e até o próprio depurador da plataforma pode continuar a mostrar a versão em cache até ser forçado um novo rastreio. Com menos frequência, a diferença é o corte: as plataformas cortam e truncam segundo o seu esquema atual, e esta pré-visualização é uma simulação do comportamento documentado, não uma captura.
Este verificador executa JavaScript?
Não — e é deliberado. O verificador obtém o HTML estático uma única vez, exatamente como o rastreador de uma plataforma faz, e os rastreadores também não executam JavaScript. Uma etiqueta adicionada por um script ou por uma framework do lado do cliente falta aqui pela mesma razão pela qual faltaria no Facebook, X, LinkedIn e Slack. Se as suas etiquetas são renderizadas por JavaScript, têm de estar no HTML renderizado no servidor para contarem na partilha.
Que tamanho deve ter og:image?
Use 1200 × 630 px sempre que puder. É uma orientação das plataformas, não uma norma formal: é o que o Facebook recomenda e o tamanho em torno do qual estão construídos os cartões grandes do X, do LinkedIn e do Slack. Mantenha o ficheiro razoavelmente pequeno, use PNG ou JPEG (o suporte a WebP varia conforme o rastreador) e refira-o sempre com um URL absoluto. Este verificador assinala imagens abaixo de 1200 × 630 e diz-lhe as dimensões reais que mediu do ficheiro.