SiteMaps de Google em PHP

Como criar um arquivo XML para nosso "São Google" usando PHP e não morrer na tentativa.

Por Juan Edgardo Jorquera Uribe


Publicado em: 23/5/06
Valorize este artigo:
Antes de colocarmos mãos à obra, vamos falar um pouco sobre o Google SiteMaps.

Google Sitemaps permite aos webmasters acrescentar em um XML as páginas que querem que estejam no index de Google. A participação no programa é gratuita, a inclusão não está garantida, mas Google pensa que desta forma chegar a indexar um maior número de páginas do que com o simples rastreio tradicional.

O XML também deixará que os webmasters indiquem a cada quanto tempo se atualiza sua página ou a cada quanto querem que seja re-visitada.

Como funciona o novo programa?

Os webmasters criam um arquivo XML com as URLs que querem que sejam rastreadas, assim como uma pequena anotação por URL indicando a última atualização e o ritmo de atualização da página. Google hospedará o Sitemap nos seus servidores lhe indicando exatamente aonde se encontra.

Só é necessário utilizar uma conta de Google e se registrar de maneira gratuita.

Este script pega o diretório raiz de nosso web site, o lê e faz uma lista de todos aqueles arquivos cuja extensão for .php, porém, vocês podem mudá-lo para que faça a lista do que vocês desejarem, de acordo com as suas necessidades, isto é só um exemplo.

Agora chega de palavras e vamos ver o código:

<?php
if ($gestor = opendir('.')) { //Abrimos o diretorio onde estamos parados, aqui podem dar o diretorio que desejarem

echo "<" . "?xml versao=\"1.0\" encoding=\"UTF-8\"" . "?" . ">"; //etiqueta de inicio de um arquivo XML

/* Dados para o sitemaps de Google, confira esta parte em https://www.google.com/webmasters/sitemaps/docs/es/overview.html */
?>

<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">

    <url>
      <loc>http://www.seusite.com/</loc>
      <lastmod>2006-03-23</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>

<?
   // comecamos a gerar a iteracao
   while (false !== ($arquivo = readdir($gestor))) {
      $p = explode(".",$arquivo);

      if(strtolower($p[count($p)-1]) == "php")
      {
      echo "
   <url>
      <loc>http://www.seusite.com/$arquivo</loc>
      <lastmod>2006-03-23</lastmod>
      <changefreq>yearly</changefreq>
   </url>";
      }
   }

    //fechamos
   closedir($gestor);
   echo "
   </urlset>";
}
?>


Bastante fácil, não é? Claro que se quisermos dar dados através do banco de dados, coisas como conteúdo.php?id=1 começa a complicar um pouquinho mais a coisa, mas mesmo assim não tem maiores mistérios. De qualquer forma, você desenvolverá, como já disse, de acordo com as suas necessidades.





Comentários do artigo
Foram enviados 2 comentários ao artigo
2 comentários não revisados
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato