Ai nevoie de mai multi vizitatori?
Inscrie un website in 1000 directoare romanesti si 4500 straine! Publica un anunt in 500 siteuri de anunturi. Si citeste mai departe.

Sitemap in PHP generat dinamic

02 Oct 2009
 scris de Marius Mailat | in: Noutati SEO

Am tot cautat o solutie facuta, insa se pare ca nu e multa lume interesata de subiect. Lucrez acum la un site care are peste 200.000 pagini si care va avea in jur de 40 de sitemaps. Cum fac generararea? Iata codul mai jos:

<?php
//include baza de date
$db=mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbdatabase);

$mainPages = array(
“http://www.domeniu.ro/”,
“http://www.domeniu.ro/topuseri/”,
“http://www.domeniu.ro/toparticole/”);

//declara header si insceput sitemap
header (‘Content-type: text/xml’);
echo ‘<?xml version=”1.0″ encoding=”ISO-8859-1″ ?>’;
echo ‘<urlset xmlns=”http://www.google.com/schemas/sitemap/0.84″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd”>’;

for($i=0; $i<count($mainPages); $i++){
echo ‘<url>
<loc>’. $mainPages[$i] .’</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>’;
}

//genereaza categoriile
$map_result = mysql_query(“SELECT id FROM categorii”);
while ($map_row = mysql_fetch_array($map_result)) {
$category = “http://www.domeniu.ro/categorie/” . $map_row['id'] . “/”;

echo ”
<url>
<loc>”. $category  .”</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>”;
}

//genereaza elementele
$map_result = mysql_query(“SELECT id FROM articole WHERE aprobat = 1″);
while ($map_row = mysql_fetch_array($map_result)) {
echo ‘
<url>
<loc>http://www.domeniu.ro/articol/’. $map_row['id'] .’/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>’;
}

//inchide sitemapul
echo ‘
</urlset>’;

?>

Publicat la: 02 Oct 2009  de catre Marius Mailat, in: Noutati SEO Tags: , , Flux RSS pentru comentariile la acest post.

5 comentarii to “Sitemap in PHP generat dinamic”

  1. Dpdv SEO formula http://www.domeniu.ro/articol/id_articol nu are prea mare valoare.
    Mai util ar fi formarea link-urilor de genul http://www.domeniu.ro/articol/nume_articol
    Inca o observatie. La frecventa articolelor ai pus valoare “weekly”. Daca se face actualizarea zilnica a articolelor ar fi mai utila valoarea “daily”.
    In rest, e in regula scriptul. Ulil.

  2. Nu neaparat trebuie sa fie un link SEF, nu e o regula. E o recomandare care insa nwdays nu stiu daca mai ajuta atat de mult ca inainte.

  3. [...] care depasesti acest numar un sitemap index este solutia ideala. Care este trick-ul? Construiesti sitemapurile dinamice folosind metoda descrisa in postul despre in articolul citat. In pasul urmator construiesti un [...]

  4. Numele fisierului in sitemap il dai asa cum il ai in site, mi se apre simplu de inteles

  5. priority 1.0

    google spune clar ca daca ai mai mute articole de valori ridicate asta nui da o valoare in search

    priority e pentru a arata cit de prioritara e pagina in site
    poti incerac sa vezi aici cu toat ca mai am de lucru dar articolul e bun ca logica

Scrie un comentariu