Sitemaps de vídeo e alternativas

Um sitemap de vídeo é um sitemap com informações adicionais sobre vídeos hospedados nas suas páginas. A criação de um sitemap de vídeo é uma boa forma de ajudar o Google a encontrar e entender o conteúdo de vídeo no seu site, especialmente o conteúdo que foi adicionado recentemente ou que não poderíamos descobrir com nossos mecanismos comuns de rastreamento.

O Google recomenda o uso de sitemaps de vídeo, mas também temos compatibilidade com feeds MRSS.

Práticas recomendadas para sitemaps de vídeo

Os sitemaps de vídeo são baseados em sitemaps genéricos, então as práticas recomendadas gerais de sitemap também se aplicam. É possível criar um feed mRSS ou um sitemap separado somente para vídeo ou adicionar tags de sitemap de vídeo a um sitemap existente, o que for mais conveniente.

Além disso, os seguintes requisitos se aplicam especificamente aos sitemaps de vídeo:

  • Não liste vídeos não relacionados ao conteúdo da página do host. Por exemplo, um vídeo que é um pequeno adendo à página ou não está relacionado ao conteúdo de texto principal.
  • Todos os arquivos referenciados no sitemap de vídeo precisam estar acessíveis ao Googlebot. Isso significa que todos os URLs no sitemap de vídeo:
    • não podem ser bloqueados para rastreamento pelas regras do robots.txt;
    • precisam ser acessíveis sem metarquivos e sem login;
    • não podem ser bloqueados por firewalls ou mecanismos semelhantes;
    • e precisam ser acessíveis por um protocolo compatível: HTTP e FTP. Protocolos de streaming não são compatíveis.

    Se você quiser impedir que criadores de spam acessem seu conteúdo em vídeo nos URLs <player_loc> ou <content_loc>, verifique se todos os bots que acessam seu servidor são realmente o Googlebot.

Para ver mais dicas sobre vídeos na Pesquisa Google, consulte nossas práticas recomendadas de vídeo.

Exemplo de sitemap de vídeo

O exemplo a seguir mostra um sitemap normal com extensão de vídeo. Ele inclui duas entradas de vídeo aninhadas na única tag <url>. A primeira entrada <video> inclui todas as tags que o Google pode usar, enquanto a segunda apenas as tags necessárias.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>
    <video:video>
      <video:thumbnail_loc>https://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
      <video:title>Grilling steaks for summer</video:title>
      <video:description>
        Alkis shows you how to get perfectly done steaks every time
      </video:description>
      <video:content_loc>
        http://streamserver.example.com/video123.mp4
      </video:content_loc>
      <video:player_loc>
        https://www.example.com/videoplayer.php?video=123
      </video:player_loc>
      <video:duration>600</video:duration>
      <video:expiration_date>2021-11-05T19:20:30+08:00</video:expiration_date>
      <video:rating>4.2</video:rating>
      <video:view_count>12345</video:view_count>
      <video:publication_date>2007-11-05T19:20:30+08:00</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:restriction relationship="allow">IE GB US CA</video:restriction>
      <video:price currency="EUR">1.99</video:price>
      <video:requires_subscription>yes</video:requires_subscription>
      <video:uploader
        info="https://www.example.com/users/grillymcgrillerson">GrillyMcGrillerson
      </video:uploader>
      <video:live>no</video:live>
    </video:video>
    <video:video>
      <video:thumbnail_loc>https://www.example.com/thumbs/345.jpg</video:thumbnail_loc>
      <video:title>Grilling steaks for winter</video:title>
      <video:description>
        In the freezing cold, Roman shows you how to get perfectly done steaks every time.
      </video:description>
      <video:content_loc>
        http://streamserver.example.com/video345.mp4
      </video:content_loc>
      <video:player_loc>
        https://www.example.com/videoplayer.php?video=345
      </video:player_loc>
    </video:video>
  </url>
</urlset>

Mais exemplos

Veja no exemplo a seguir como adicionar uma incorporação de vídeo do Vimeo a um sitemap de vídeo:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>
    <video:video>
      <video:thumbnail_loc>https://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
      <video:title>Lizzi is painting the wall</video:title>
      <video:description>
        Gary is watching the paint dry on the wall Lizzi painted.
      </video:description>
      <video:player_loc>
        https://player.vimeo.com/video/987654321
      </video:player_loc>
    </video:video>
  </url>
</urlset>

Veja no exemplo a seguir como adicionar uma incorporação de vídeo do YouTube a um sitemap de vídeo:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>
    <video:video>
      <video:thumbnail_loc>https://www.example.com/thumbs/345.jpg</video:thumbnail_loc>
      <video:title>John teaches cheese</video:title>
      <video:description>
        John explains the differences between a banana and cheese.
      </video:description>
      <video:player_loc>
        https://www.youtube.com/embed/1a2b3c4d
      </video:player_loc>
    </video:video>
  </url>
</urlset>

Referência do sitemap de vídeo

As tags video são definidas no namespace de sitemaps de vídeo: http://www.google.com/schemas/sitemap-video/1.1. Cada tag só pode ser adicionada uma vez por vídeo, a menos que especificado de outra forma.

Para garantir que o Google possa usar o sitemap de vídeo, use as seguintes tags obrigatórias:

Tags obrigatórias
<video:video>

É o elemento pai para todas as informações sobre um único vídeo na página especificada pela tag <loc>. É possível incluir várias tags <video:video> aninhadas na tag <loc>, uma para cada vídeo na página do host.

<video:thumbnail_loc>

É um URL que aponta para o arquivo de imagem em miniatura do vídeo. Siga os requisitos para miniaturas de vídeo.

<video:title>

É o título do vídeo. Todas as entidades HTML precisam ter escape ou ser agrupadas em um bloco CDATA. Recomendamos que isso corresponda ao título do vídeo exibido na página da Web em que o vídeo está incorporado.

<video:description>

É uma descrição do vídeo. Máximo de 2.048 caracteres. Todas as entidades HTML precisam ter escape ou ser agrupadas em um bloco CDATA. Ela precisa corresponder à descrição exibida na página da Web em que o vídeo está incorporado, mas não precisa ser uma correspondência palavra por palavra.

<video:content_loc>

É um URL que aponta para o verdadeiro arquivo de mídia do vídeo. O arquivo precisa ter um dos formatos compatíveis.

Diretrizes adicionais

  • Os formatos HTML e Flash não são compatíveis.
  • Não pode ser igual ao URL da tag <loc> mãe.
  • É o equivalente de VideoObject.contentUrl nos dados estruturados.
  • Prática recomendada: se você quiser restringir o acesso ao seu conteúdo, mas ainda assim rastreá-lo, confira se o Googlebot pode acessar o conteúdo com a verificação do Googlebot.
<video:player_loc>

É um URL que aponta para um player de um vídeo específico. Geralmente, essa é a informação no atributo src de uma tag <embed>.

Diretrizes adicionais

  • Não pode ser igual ao URL <loc>.
  • Para o Vimeo, o YouTube e outras plataformas de hospedagem que permitem a incorporação de vídeos usando iframe, esse valor é usado no lugar de video:content_loc. É o equivalente de VideoObject.embedUrl nos dados estruturados.
  • Prática recomendada: se você quiser restringir o acesso ao seu conteúdo, mas ainda assim rastreá-lo, confira se o Googlebot pode acessar o conteúdo com a verificação do Googlebot.

Além disso, as tags opcionais a seguir podem ajudar o Google a entender melhor seus vídeos e as propriedades dele:

Tags opcionais
<video:duration>

É a duração do vídeo em segundos. O valor precisa ser de 1 a 28800 (8 horas).

<video:expiration_date>

É a data final em que o vídeo estará disponível, no formato W3C. Omita essa tag se o vídeo não for expirar. Se ela estiver presente, a Pesquisa Google não vai mostrar seu vídeo após essa data. Para vídeos recorrentes no mesmo URL, atualize a data com a nova data de validade.

Os valores aceitos são data completa (YYYY-MM-DD) ou data completa mais horas, minutos, segundos e fuso horário (YYYY-MM-DDThh:mm:ss+TZD).

Exemplo: 2012-07-16T19:20:30+08:00.

<video:rating>

É a nota do vídeo. Os valores compatíveis são números flutuantes no intervalo de 0,0 (baixo) a 5,0 (alto).

<video:view_count>

É o número de visualizações do vídeo.

<video:publication_date>

É a data em que o vídeo foi publicado pela primeira vez, no formato W3C. Os valores aceitos são data completa (YYYY-MM-DD) ou data completa mais horas, minutos, segundos e fuso horário (YYYY-MM-DDThh:mm:ss+TZD).

Exemplo: 2007-07-16T19:20:30+08:00.

<video:family_friendly>

Indica se o vídeo está disponível com o SafeSearch. Se essa tag for omitida, o vídeo ficará disponível quando o SafeSearch estiver ativado.

Valores aceitos:

  • yes: o vídeo estará disponível quando o SafeSearch estiver ativado.
  • no: o vídeo estará disponível somente quando o SafeSearch estiver desativado.
<video:restriction>

Mostra ou oculta seu vídeo nos resultados da pesquisa de determinados países.

Especifique uma lista de códigos de país delimitada por espaço no formato ISO 3166. Se não há uma tag <video:restriction>, o Google pressupõe que o vídeo pode ser exibido em todos os locais. Essa tag afeta apenas os resultados da pesquisa. Ela não impede os usuários de encontrar ou assistir o vídeo em locais restritos usando outros meios. Saiba mais sobre como aplicar restrições de país.

Atributos:

Se a tag mãe <video:restriction> for usada, os seguintes atributos vão ser obrigatórios:

  • relationship indica se o vídeo é permitido ou negado nos resultados da pesquisa nos países especificados. Os valores compatíveis são:
    • allow: os países listados são permitidos e os não listados são negados.
    • deny: os países listados são negados e os não listados são permitidos.

Exemplo: este exemplo permite que o resultado da pesquisa do vídeo seja exibido somente no Canadá e no México:

<video:restriction relationship="allow">CA MX</video:restriction>

<video:platform>

Mostra ou oculta seu vídeo nos resultados da pesquisa nos tipos de plataforma especificados. Essa é uma lista de tipos de plataformas delimitadas por espaços. Isso afeta somente os resultados da pesquisa nos tipos de dispositivos especificados, mas não impede que um usuário assista seu vídeo em uma plataforma restrita.

Se não há uma tag <video:platform>, o Google pressupõe que o vídeo pode ser exibido em todas as plataformas. Saiba mais sobre a aplicação de restrições de plataforma.

Valores aceitos:

  • web: navegadores para computadores em desktops e laptops
  • mobile: navegadores para dispositivos móveis, como aqueles em smartphones ou tablets
  • tv: navegadores de TV, como aqueles disponíveis em dispositivos Google TV e consoles de jogos

Atributos:

Se a tag mãe <video:platform> for usada, os seguintes atributos vão ser obrigatórios:

  • relationship determina se o vídeo é restrito ou permitido para as plataformas especificadas. Os valores compatíveis são:
    • allow: todas as plataformas omitidas vão ser negadas.
    • deny: qualquer plataforma omitida vai ser permitida.

Exemplo: o exemplo a seguir permite usuários na Web ou na TV, mas não em dispositivos móveis:
<video:platform relationship="allow">web tv</video:platform>

<video:requires_subscription>

Indica se uma assinatura é exigida para assistir ao vídeo. Os valores compatíveis são:

  • yes: a assinatura é obrigatória.
  • no: a assinatura não é obrigatória.
<video:uploader>

É o nome do usuário que fez o envio do vídeo. O valor da string pode ter no máximo 255 caracteres.

Atributos:

  • info [opcional] especifica o URL de uma página da Web com informações adicionais sobre o usuário que fez o envio. O URL precisa estar no mesmo domínio que a tag <loc>.
<video:live>

Indica se o vídeo é uma transmissão ao vivo. Os valores compatíveis são:

  • yes: o vídeo é uma transmissão ao vivo.
  • no: o vídeo não é uma transmissão ao vivo.
<video:tag>

É uma tag de string arbitrária descrevendo o vídeo. As tags geralmente são descrições muito breves dos principais conceitos associados a um vídeo ou conteúdo. Um vídeo pode conter várias tags, mesmo que ele pertença a uma única categoria. Por exemplo, um vídeo sobre grelhar alimentos pode pertencer à categoria "grelhar", mas também ser marcado como "bife", "carne", "verão" e "ao ar livre". Crie um novo elemento <video:tag> para cada tag associada a um vídeo. São permitidas até o máximo de 32 tags por vídeo.

Tags e atributos descontinuados

Removemos estes atributos e tags da nossa documentação: <video:category>, <video:gallery_loc>, autoplay e allow_embed de <video:player_loc>, além de <video:price> e <video:tvshow> com os atributos dessas tags. Para mais informações, consulte o comunicado sobre a descontinuação.

Alternativa de sitemap: mRSS

Embora o Google recomende o uso de sitemaps de vídeo, também temos compatibilidade com feeds mRSS.

O Google é compatível com mRSS, um módulo de RSS que complementa os recursos de elementos do RSS 2.0. Os feeds mRSS são muito semelhantes aos sitemaps de vídeo e podem ser testados, enviados e atualizados exatamente como os sitemaps.

Para saber mais sobre feeds de mídia, consulte a documentação oficial de RSS de mídia.

Exemplo de mRSS

Veja um exemplo de uma entrada mRSS que fornece todas as tags usadas pelo Google.

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/">
  <channel>
    <title>Example MRSS</title>
    <link>https://www.example.com/examples/mrss/</link>
    <description>MRSS Example</description>
    <item xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/">
      <link>https://www.example.com/examples/mrss/example.html</link>
      <media:content url="https://www.example.com/examples/mrss/example.flv" fileSize="405321"
                        type="video/x-flv" height="240" width="320" duration="120" medium="video" isDefault="true">
        <media:player url="https://www.example.com/shows/example/video.swf?flash_params" />
        <media:title>Grilling Steaks for Summer</media:title>
        <media:description>Get perfectly done steaks every time</media:description>
        <media:thumbnail url="https://www.example.com/examples/mrss/example.png" height="120" width="160"/>
        <media:price price="19.99" currency="EUR" />
        <media:price type="subscription" />
      </media:content>
      <media:restriction relationship="allow" type="country">us ca</media:restriction>
      <dcterms:valid xmlns:dcterms="http://purl.org/dc/terms/">end=2020-10-15T00:00+01:00; scheme=W3C-DTF</dcterms:valid>
      <dcterms:type>live-video</dcterms:type>
    </item>
  </channel>
</rss>

Referência do mRSS

A especificação completa do mRSS contém mais tags opcionais, práticas recomendadas e exemplos.

Para que o Google consiga usar o feed mRSS, é preciso usar as seguintes tags obrigatórias:

Tags obrigatórias
<media:content>

Envolve informações sobre o vídeo.

Atributos:

  • medium Tipo de conteúdo. Defina como video.
  • url é o URL direto para o conteúdo de vídeo bruto. Se isso não for especificado, você precisará especificar a tag <media:player>.
  • duration [opcional, mas recomendado] é a duração do vídeo em segundos.

Para todos os outros atributos opcionais e campos filhos da tag <media:content>, consulte a especificação mRSS.

<media:player>

É necessário especificar pelo menos um dos atributos <media:player> ou url em <media:content>.

É um URL que aponta para um player de um vídeo específico. No geral, essa é a informação no atributo src de uma tag <embed> e não deve ser a mesma do conteúdo da tag <loc>. Ele não pode ser o mesmo URL da tag <link>. A tag <link> aponta para o URL da página que hospeda o vídeo, enquanto essa tag aponta para um player.

<media:title>

É o título do vídeo. Máximo de 100 caracteres. Todas as entidades HTML precisam ter escape ou ser agrupadas em um bloco CDATA.

<media:description>

É a descrição do vídeo. Máximo de 2.048 caracteres. Todas as entidades HTML precisam ter escape ou ser agrupadas em um bloco CDATA.

<media:thumbnail> É um URL que aponta para uma miniatura de visualização. Siga os requisitos para miniaturas de vídeo.

Além disso, as tags opcionais a seguir podem ajudar o Google a entender melhor seus vídeos e as propriedades dele:

Tags opcionais
<dcterms:valid>

É a data de publicação e validade do vídeo. Veja a especificação completa da tag dcterms:valid.

Exemplo:

<dcterms:valid>
start=2002-10-13T09:00+01:00;
end=2002-10-17T17:00+01:00;
scheme=W3C-DTF
<dcterms:valid>
<media:restriction>

É uma lista delimitada por espaço de países em que o vídeo pode ou não ser exibido, no formato ISO 3166. Se não há uma tag <media:restriction>, o Google pressupõe que o vídeo pode ser exibido em todos os países.

Atributos:

Se a tag mãe <media:restriction> for usada, os seguintes atributos vão ser obrigatórios:

  • type Defina o atributo type como country. Apenas as restrições de país são compatíveis.
  • relationship Especifica se o vídeo pode ou não ser exibido na lista de países especificada. Valores aceitos:
    • allow: os países listados são permitidos e os não listados são negados.
    • deny: os países listados são negados e os não listados são permitidos.

Saiba mais sobre como usar restrições de país.

Exemplo:

<media:restriction relationship="allow" type="country">us ca</media:restriction>
<media:price>

É o preço do download ou da visualização do vídeo. Não use essa tag para vídeos sem custo financeiro. Mais de um elemento <media:price> pode ser listado, por exemplo, para especificar o valor em várias moedas ou opções de compra.

Atributos:

Se a tag mãe <media:price> for usada, os seguintes atributos vão ser obrigatórios:

  • currency é a moeda no formato ISO 4217.
  • type é a opção de compra. Os valores compatíveis são:
    • rent: o vídeo está disponível para locação.
    • purchase: o vídeo está disponível para compra.
    • package: o vídeo faz parte de uma oferta de pacote.
    • subscription: o vídeo está disponível para assinantes.

Outros recursos

Quer saber mais? Confira os seguintes recursos: