Faça Sua Pesquisa.

terça-feira, 21 de fevereiro de 2012

SiteMaps de Google em PHP

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.

0 comentários:

Postar um comentário

TecCodigos Copyright © 2011 | Template created by O Pregador | Powered by Blogger