Um sitemap como o próprio nome já informa é um manual, onde contém informação de todos os links de um site e é utilizado pelos buscadores para melhor indexar esses endereços normalmente em formato de arquivo no padrão XML.
Um sitemap bem desenvolvido garante entre outras coisas que endereços não sejam ignorados pelos buscadores ou que determinados endereços sejam cadastrados.
Além disso, um sitemap pode fornecer dados valiosos para os buscadores com a finalidade de informar quais páginas devem receber mais atenção, qual a rotatividade de atualização da página e quando foi à última modificação das páginas, ou seja, informações que os buscadores utilizam para indexar as páginas de forma mais inteligente.
Mas, como se cria um XML?
A criação de um XML não é um trabalho simples, vamos conhecer as principais regras e como criar um sitemap de qualidade.
O primeiro passo é criar um arquivo XML utilizando um editor HTML (ou editor de textos básico), como no exemplo abaixo:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.exemplo.com/index.html</loc> </url> </urlset>
Entendendo o exemplo acima:
<?xml version="1.0" encoding="UTF-8"?>
Esse é um cabeçalho padrão para XML, onde é indicado a versão do xml (que nesse caso é 1.0) e a codificação de caracteres é o modo UTF-8 (que é atualmente a codificação que aceita o maior número de caracteres, inclusive acentuações).
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Nessa linha é informado qual a versão e padrões o sitemap foi desenvolvido.
<url> <loc>http://www.exemplo.com/index.html</loc> </url>
Nessas linhas são informados os endereços completo de acesso ao link do site, onde também pode ser informada a última modificação, a frequência com que o endereço é modificado e a sua importância, da seguinte forma:
<url> <loc> http://www.exemplo.com/index.html </loc> <lastmod>2015-01-09</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url>
Mais sobre as tags descritas no exemplo acima:
<lastmod>
- Opcional
- Indica quando ocorreu a última modificação da página.
- Deve ser preenchido utilizando o formato de data W3C Date (http://www.w3.org/TR/NOTE-datetime), onde: AAAA-MM-DD (ano-mês-dia) e a informação de hora é opcional, para adicionar em hora deverá seguir o formato padrão, ou seja, HH-MM-SS (hora-minutos-segundos).
<changefreq>
- Opcional
- Indica qual a frequência com que a página é modificada, podendo ter indicação como “sempre atualizado” ou “nunca atualizado”. Os possíveis valores para esse campo são:
- always (sempre)
- hourly (de hora em hora)
- daily (todos os dias)
- weekly (toda semana)
- monthly (mensalmente)
- anual (anualmente)
- never (nunca)
OBS: A indicação never é utilizada para páginas que são de arquivos, como por exemplo, uma notícia (bastante) antiga.
<priority>
- Opcional
- Indica qual a importância dessa página em relação às demais
- Os valores vão de 0.1 a 1.
- O valor padrão para qualquer página é de 0.5.
Caracteres especiais:
Os caracteres especiais abaixo deverem ser encodados em formato de “entidades de escape”, inclusive a URL da página, pois se existir um único erro no XML, o XML inteiro não irá funcionar e não será utilizado pelos buscadores.
“E” comercial & – utilizar o código: &
Aspas simples ‘’– utilizar o código: '
Aspas duplas “” – utilizar o código: "
Maior > – utilizar o código: >
Menor < – utilizar o código: <
Outras informações sobre o sitemap:
- Pode ser mais de um sitemap cadastrado.
- Um sitemap deve ter no máximo 50 mil endereços.
- Um sitemap não deve ter o tamanho maior que 10Mb.
- Existem formatos específicos para criar sitemap de imagem, vídeo e informar que o endereço é uma versão para smartphones.
Tag utilizada para informar imagem no sitemap:
<image:image> <image:loc>http://exemplo.com/imagens/imagem.jpg</image:loc> </image:image>
OBS: Cada página pode conter até 1000 imagens.
Também é possível adicionar outras informações a imagem, como por exemplo:
<image:caption>
- Opcional
- É uma legenda (descrição) da imagem
<image:geo_location>
- Opcional
- Localização geográfica da imagem, por exemplo, se for uma imagem de uma cidade, é possível adicionar essa informação.
- O formato deve ser: Cidade, País, por exemplo: São Paulo, Brasil.
<image:title>
- Opcional
- Título da imagem
<image:license>
- Opcional
- Endereço da licença da imagem
Tag utilizada para informar vídeo no sitemap:
Já a tag par o vídeo é um pouco mais complexo do que a da imagem, pois é possível adicionar duração do vídeo, se o vídeo é seguro para todas as idades, se é ao vivo, etc… Acompanhe abaixo:
<video:video> <video:thumbnail_loc>http://www.example.com/miniaturas/123.jpg</video:thumbnail_loc> <video:title>Grelhando carne no verão</video:title> <video:description>Alkis mostra como fazer bifes perfeitos sempre</video:description> <video:content_loc>http://www.example.com/video123.flv</video:content_loc> <video:player_loc allow_embed="yes" autoplay="ap=1"> http://www.example.com/videoplayer.swf?video=123</video:player_loc> <video:duration>600</video:duration> <video:expiration_date>2009-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:gallery_loc title="Videos de culinária">http://culinaria.example.com</video:gallery_loc> <video:price currency="EUR">1.99</video:price> <video:requires_subscription>yes</video:requires_subscription> <video:uploader info="http://www.example.com/users/grillymcgrillerson">GrillyMcGrillerson </video:uploader> <video:live>no</video:live> </video:video>
Entendendo as tags:
<video:thumbnail_loc>
- Obrigatório.
- Aponta para um arquivo de imagem, a imagem deve ter no mínimo: 160×90 e no máximo: 1920×1080, preferencialmente nos formatos: jpeg (jpg), png ou gif.
<video:title>
- Obrigatório.
- Título do vídeo com um máximo de 100 caracteres.
<video:description>
- Obrigatório.
- Adiciona a descrição do vídeo com um máximo de 2048 caracteres.
<video:content_loc> e <video:player_loc allow_embed=”yes” autoplay=”ap=1″>
- É necessário adicionar ao menos uma dessas duas.
- content_loc adiciona um caminho real ao arquivo de vídeo e player_loc adiciona a informação a um player de um vídeo.
<video:duration>
- Recomendado.
- Adiciona a informação da duração do vídeo.
- Deve ser adicionado o valor em segundos, por exemplo, um vídeo de uma hora, deve ser adicionado: 3600.
<video:expiration_date>
- Recomendado se existir necessidade.
- Adiciona uma data informando quando o vídeo não estará mais disponível.
- O formato deve seguir o padrão W3C Date (http://www.w3.org/TR/NOTE-datetime).
<video:rating>
- Opcional.
- Classificação do vídeo.
- Os valores vão de 0.0 a 5.0.
<video:view_count>
- Opcional.
- Numero de visualizações que o vídeo teve.
<video:publication_date>
- Opcional.
- Data de publicação do vídeo.
- O formato deve seguir o padrão W3C Date (http://www.w3.org/TR/NOTE-datetime).
<video:family_friendly>
- Opcional.
- Bloqueia o acesso ao vídeo se SafeSearch estiver ativo.
<video:restriction relationship=”allow”>
- Opcional.
- Restringe acesso de outros países ao vídeo.
- O formato deve seguir o padrão ISSO 3166.
<video:gallery_loc>
- Opcional.
- Link para a galeria de vídeos ao qual o vídeo pertence.
<video:price>
- Opcional.
- Adiciona um valor para visualizar esse vídeo.
- Deve especificar o tipo de moeda e o valor.
- O formato deve ser especificado no padrão ISSO 4217.
<video:requires_subscription>
- Opcional.
- Indica se é necessário ser assinante (seja gratuito ou pago) para assistir o vídeo.
<video:uploader>
- Opcional.
- Indica quem fez o vídeo.
- Só é permitido um autor por vídeo.
Tag utilizada para informar se o conteúdo é especifico para mobile:
Dentro da URL, basta adicionar a tag abaixo:
<mobile:mobile/>
Por fim e não menos importante existe sites que geram o seu XML de forma automática e gratuita, o que pode ser uma grande ajuda se você tem um site com muitos endereços.
Alguns deles:
https://xmlsitemapgenerator.org/
Até a próxima =D.