Tudo que é cadastrado no site, principalmente na parte do blog, entra automaticamente no XML do sitemap, no caso esse arquivo sitemap.xml sequer existe no servidor, ele é apenas uma máscara feita com o uso do mod_rewrite do apache, isso usando o .htaccess.
<?php header("Content-Type: application/xml; charset=UTF-8"); echo '<?xml version="1.0" encoding="UTF-8"?>'; $hoje = date('Y-m-d'); ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <url> <loc>http://www.edgarserra.com/</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>1.00</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/index.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/quem-somos.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/servicos.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/blog.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/arquivo-do-blog.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/orcamento.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <url> <loc>http://www.edgarserra.com/contato.jsp</loc> <lastmod><?php echo $hoje;?></lastmod> <priority>0.80</priority> <changefreq>daily</changefreq> </url> <?php /* Conecta ao banco de dados... essa parte você acha fácil na internet. */ $sql_tabela = mysql_query("SELECT id,titulo FROM TABELA ORDER BY id DESC"); while($tabela = mysql_fetch_assoc($sql_tabela)){ echo "<url> <loc>http://www.edgarserra.com/".$tabela['id']."/".$tabela['titulo'].".jsp</loc> <lastmod>".$hoje."</lastmod> <changefreq>daily</changefreq> <priority>0.6</priority> </url>"; } ?> </urlset>
Como disse acima, no servidor de fato não existe nenhum arquivo chamado sitemap.xml, usamos o mod_rewrite para "criar" esse arquivo artificial, para isso basta: RewriteEngine On RewriteRule ^sitemap\.xml$ gera_xml.php [L] Copie isso e cole em um arquivo chamado .htaccess (note que ele não tem nome mesmo, é só extensão, você pode renomear ele assim no FTP do seu site, pois no Windows você não conseguirá criar um arquivo sem nome. Esse arquivo deve ser jogado na raiz do seu site. No caso quando for requisitado o sitemap.xml ele vai redirecionar a requisição para o gera_xml.php, o importante é você colocar o código que gera o xml dentro de um arquivo chamado gera_xml.php, ou alterar esse nome no código passado acima. A idéia desse pequeno artigo foi mostrar como é simples fazer um sitemap dinâmico, é claro que ele terá que ser adapatado para a realidade do seu site, mas agora é com você.
0 Comentários:
Observação: somente um membro deste blog pode postar um comentário.