FERRAMENTA GRÁTIS · GERADOR DE SCHEMA DE VÍDEO
Gerador de schema de vídeo
Descreva um vídeo e receba os dados estruturados de vídeo — o JSON-LD VideoObject com a data de publicação no fuso certo (−03:00 em Brasília), a duração em ISO 8601 de verdade e capítulos que apontam para o segundo certo — mais um bloco de legenda na página dizendo a mesma coisa. Grátis, no navegador.
Também emEnglish繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)
Único por vídeo. Dois vídeos do mesmo site não devem ter o mesmo título.
BMP, GIF, JPEG, PNG, WebP, SVG ou AVIF. Mínimo de 60 x 30 pixels, maior é melhor, e a URL precisa ser estável.
-03:00 é o horário de Brasília; -04:00, -05:00 e -02:00 também estão aqui. Em branco, o Google lê a data no fuso do Googlebot, não no seu.
Escreva como quiser — 16:05, 1:02:30, 965 ou PT16M5S. Sai em ISO 8601.
Usada para montar os links dos capítulos, que precisam apontar para este mesmo caminho com um parâmetro de tempo.
Dê ao Google os seus Momentos importantes e ele usa os seus, em vez de adivinhar os trechos.
Tudo roda nesta página. Nenhum título, URL ou número de visualizações sai do seu navegador.
Fontes: Google Search Central — marcação de esquema de vídeo (VideoObject, Clip) e práticas recomendadas de SEO para vídeo; YouTube — parâmetros do player incorporado; fusos e hora legal — Decreto 2.784/1913 (com a Lei 12.876/2013) e Decreto 9.772/2019; Ministério de Minas e Energia — horário de verão. Conferido em 26 de setembro de 2026.
Como gerar o schema de vídeo
Três propriedades obrigatórias, um formato de data em que quase todo mundo tropeça e dois campos de URL que não são a página em que você está. O gerador escreve a marcação e o bloco de legenda a partir dos mesmos valores.
- Título e miniatura primeiro. Os dois são obrigatórios e precisam ser exclusivos deste vídeo. A miniatura só serve ao Google se a URL continuar a mesma no mês que vem — CDN que troca de URL custa a indexação do vídeo.
- Dê fuso à hora de publicação. A data sozinha é válida; data, hora e fuso não deixam dúvida. No Brasil, o horário de Brasília é -03:00 o ano todo; sem fuso, o Google usa o do Googlebot.
- Digite a duração do jeito que você pensa nela. Dezesseis e cinco, uma hora e dois minutos, uma contagem de segundos ou a forma ISO. A saída é sempre a duração ISO 8601 que a propriedade espera.
- contentUrl no arquivo, embedUrl no player. Nenhum dos dois é a página em que o leitor está. O gerador recusa um contentUrl com cara de página web, porque esse é o erro mais comum em marcação de vídeo.
- Adicione capítulos e cole as duas saídas. Os links dos capítulos saem da URL da página de exibição com um parâmetro de tempo, a forma que o Google exige. O JSON-LD vai na página de exibição; o bloco de legenda, com a tabela de capítulos, vai embaixo do player.
uploadDate e o fuso: −03:00 em Brasília, o ano inteiro
Um gerador de schema de vídeo transforma os dados de um vídeo em JSON-LD VideoObject — os dados estruturados que o Google lê para o título, a miniatura, a duração e os Momentos importantes de um vídeo. Três propriedades são obrigatórias: name, thumbnailUrl e uploadDate. A terceira é onde a marcação erra sem ninguém ver.
A documentação diz que uploadDate é a data e a hora da primeira publicação, em ISO 8601, e completa: recomendamos que você forneça informações de fuso horário; caso contrário, o padrão vai ser o fuso horário usado pelo Googlebot. Para quem publica no Brasil, a resposta está na lei. O território tem quatro fusos (Decreto 2.784/1913, com a redação da Lei 12.876/2013):
| Onde | Fuso | Neste gerador |
|---|---|---|
| Distrito Federal, Sul, Sudeste, Nordeste, Goiás, Tocantins, Pará e Amapá | −03:00 | escolha -03:00 |
| Mato Grosso, Mato Grosso do Sul, Rondônia, Roraima e o leste do Amazonas, com Manaus | −04:00 | escolha -04:00 |
| Acre e o oeste do Amazonas | −05:00 | escolha -05:00 |
| Fernando de Noronha e a ilha da Trindade | −02:00 | escolha -02:00 |
Não há horário de verão desde o Decreto 9.772/2019, que encerrou a hora de verão no território nacional; o Ministério de Minas e Energia a descreve como suspensa e avaliada periodicamente. O detalhe pega quem preenche o catálogo antigo: até 2019, um vídeo publicado no verão — em geral de outubro ou novembro até meados de fevereiro, conforme o ano — no Sul, no Sudeste ou no Centro-Oeste estava no horário de verão; em São Paulo, −02:00. Escolha -02:00 nessas datas em vez de carimbar −03:00 em tudo — os quatro fusos brasileiros estão no menu do gerador.
"uploadDate": "2026-08-14" // válido, sem hora nenhuma
"uploadDate": "2026-08-14T20:00:00" // hora, mas de qual relógio?
"uploadDate": "2026-08-14T20:00:00-03:00" // sem dúvida
A mesma recomendação vale para expires, com uma instrução que costuma ser ignorada: não informe expires se o vídeo não vai sair do ar. Validade vazia ou num futuro distante não é neutra — é uma afirmação.
Duração é duração, contentUrl é arquivo — e o caso do YouTube
duration recebe uma duração ISO 8601, não uma hora do relógio nem um número de segundos: PT00H30M5S são 30 minutos e 5 segundos, no exemplo do próprio Google. Este formulário aceita o que você tiver — 16:05, 1:02:30, 965 ou a forma ISO — e entrega a ISO. Valor que ele não consegue ler vira erro, não passa adiante.
As duas propriedades de URL são onde a marcação de vídeo mais falha em silêncio:
contentUrlé a URL dos bytes do arquivo de vídeo. O texto do Google é explícito: não crie um link para a página em que o vídeo está localizado. A URL deve terminar num dos 21 tipos que o Google processa — mp4, webm, mov, mkv, m3u8 e outros — e não pode ser uma URL de dados.embedUrlé o player, geralmente o que está nosrcdo elemento de incorporação. Também não é a página.- O Google recomenda
contentUrlsempre que possível, porque é a forma mais eficaz de ele buscar o vídeo;embedUrlé a alternativa.
Com o vídeo no YouTube, você não tem o arquivo: fica só o embedUrl, no formato https://www.youtube.com/embed/ seguido do ID do vídeo, que é a URL que a documentação do YouTube manda pôr no src do iframe. Segundo o Google, quando um site incorpora player de terceiros como YouTube, Vimeo ou Facebook, o vídeo pode ser indexado tanto na sua página quanto na página equivalente da plataforma, e ele recomenda os dados estruturados na sua página de exibição mesmo assim. Os Momentos importantes de um vídeo hospedado no YouTube, porém, vêm das marcações de tempo na descrição do próprio YouTube.
Este gerador trata como erro, não como aviso, um contentUrl sem extensão de arquivo ou com cara de HTML. Numa página que valida em tudo o mais, esse campo costuma ser o motivo de o vídeo nunca aparecer.
Miniatura e capítulos, com os números que o Google publica
| Regra da miniatura | Valor |
|---|---|
| Formatos | BMP, GIF, JPEG, PNG, WebP, SVG e AVIF |
| Tamanho | Mínimo de 60 x 30 pixels; maior é preferível |
| Transparência | Pelo menos 80% dos pixels com valor alfa acima de 250 |
| Estabilidade | Uma URL exclusiva e estável por vídeo — URL de CDN que expira atrapalha a indexação |
| Acesso | Liberada para o Googlebot e o Googlebot Images: sem bloqueio no robots.txt e sem login |
Capítulos são o tipo Clip dentro de hasPart, e trazem uma regra que muita ferramenta pula: o URL do clipe precisa apontar para o mesmo caminho do URL que o vídeo com parâmetros de consulta adicionais que especificam o tempo. Informe a URL da página de exibição e cada capítulo sai como essa URL mais ?t= e o início em segundos — nada de fragmento, outro domínio ou link solto. O gerador também recusa um capítulo que começa depois do fim do vídeo, que é como um erro de digitação na minutagem aparece do lado do Google.
A documentação traz mais três limites. Dois clipes do mesmo vídeo, na mesma página, não podem começar no mesmo segundo — esse o gerador pega, como capítulo fora de ordem. Os outros dois ficam com você: o vídeo precisa ter no mínimo 30 segundos para receber Clip e precisa aceitar link direto para um ponto que não seja o início. O Clip funciona em todos os idiomas em que a Pesquisa Google existe; a alternativa automática, SeekToAction, está disponível em português, entre outros idiomas.
Página de exibição, player de terceiros e o bloco de legenda
A marcação descreve um vídeo que está na página; ela não o cria. Para os recursos de vídeo, o Google pede que a página de exibição esteja indexada — e avisa que página indexada não significa vídeo indexado —, que o vídeo esteja incorporado nela e não fique escondido atrás de outros elementos, e que o carregamento não dependa de ação do usuário, como deslizar, clicar ou digitar. Player que só aparece depois de um clique na capa cai exatamente nessa regra.
Vale o mesmo para qualquer plataforma que você incorpore, seja Kwai, TikTok ou Instagram: o Google encontra vídeos referenciados por <video>, <embed>, <iframe> ou <object>, e, se o player é injetado por JavaScript, o vídeo precisa aparecer no HTML renderizado da Ferramenta de inspeção de URL.
Por isso existe a segunda saída. Uma página de exibição cuja única descrição do vídeo está dentro de uma tag script não dá nada ao leitor, não dá a um mecanismo de resposta com IA nada para citar e não deixa você perceber que a marcação envelheceu. Título, descrição, data de publicação, duração e a tabela de capítulos, visíveis e com as mesmas minutagens, se conferem num olhar. A mesma regra — uma fonte, duas saídas — está no gerador de schema FAQ; e, se o vídeo mostra uma receita, a propriedade video da Recipe recebe este mesmo VideoObject, como explica o gerador de schema de receita.
Perguntas frequentes
O que é um gerador de schema de vídeo?
Um gerador de schema de vídeo transforma os dados de um vídeo em JSON-LD VideoObject — os dados estruturados que o Google lê para o título, a miniatura, a duração e os Momentos importantes de um vídeo. Este também escreve um bloco de legenda visível com os mesmos valores e confere as regras a que o Google atribui consequências.
Quais propriedades são obrigatórias no VideoObject?
Três: name, thumbnailUrl e uploadDate. description, duration, contentUrl e embedUrl são recomendadas. Sem as três obrigatórias, o Google pode não conseguir extrair informação nenhuma sobre o vídeo.
Qual fuso horário usar no uploadDate no Brasil?
O do lugar e da época da publicação. O horário de Brasília é -03:00 o ano inteiro, porque o horário de verão foi encerrado em 2019. Mato Grosso, Mato Grosso do Sul, Rondônia, Roraima e Manaus ficam em -04:00, o Acre em -05:00 e Fernando de Noronha em -02:00 — os quatro estão no menu do gerador. Sem fuso, o Google usa o do Googlebot.
Meu vídeo está no YouTube. Ainda vale marcar VideoObject na minha página?
Vale. O Google diz que, com player de terceiros como o do YouTube, o vídeo pode ser indexado na sua página e na do YouTube, e recomenda dados estruturados na sua página de exibição mesmo assim. Use embedUrl com a URL youtube.com/embed/ seguida do ID; os capítulos de um vídeo hospedado no YouTube vêm das marcações de tempo na descrição dele lá.
Qual a diferença entre contentUrl e embedUrl?
contentUrl aponta para os bytes do arquivo de vídeo — o mp4 ou o webm. embedUrl aponta para o player. Nenhum dos dois é a página em que o vídeo está incorporado; a documentação do Google diz para não criar link para essa página. Informe contentUrl quando puder: é a forma mais eficaz de o Google buscar o vídeo.
Como criar capítulos, os Momentos importantes, no schema?
Aninhe objetos Clip em hasPart, cada um com name, startOffset em segundos e uma url que aponte para o mesmo caminho da página de exibição com um parâmetro de tempo. O vídeo precisa ter pelo menos 30 segundos e dois clipes não podem começar no mesmo ponto. Com os seus Clip, o Google usa os seus rótulos em vez de escolher os trechos.
Quais os requisitos da miniatura do vídeo?
BMP, GIF, JPEG, PNG, WebP, SVG ou AVIF, com no mínimo 60 por 30 pixels e maior de preferência, pelo menos 80% dos pixels praticamente opacos, acesso liberado ao Googlebot e ao Googlebot Images e uma URL única e estável por vídeo. URL de CDN que muda é causa comum de vídeo que deixa de ser indexado.
A página de exibição está no índice, ou só o vídeo?
Checar o seu próprio domínio é grátis: cada página com o status HTTP ao vivo e o veredito de indexação do Google, impressões e posição média contra a janela anterior, e o tráfego por origem com os mecanismos de IA listados à parte. Um comando, de dentro do seu agente.
$ npm i -g @clize/clize && clize install $ clize seo check --domain seucanal.com.br[ Agent SEO da Clize → ]