Creare manualmente una sitemap con estensione XML utilizzando uno script PHP
La sitemap è la mappa del sito contenente la lista delle pagine e delle cartelle contenute all’interno del sito.
Essa è importantissima per Google, infatti aiuta certamente l’indicizzazione di buona parte delle pagine segnalate.
In questa guida ti mostrerò come generare una sitemap con estensione .xml utilizzando uno script in PHP, questo script preleverà tutti i files di un intero dominio e le stamperà nel file .xml.
PASSO 1 – Copia lo script
Per prima cosa devi copiare il seguente codice ed inserirlo in una pagina con estensione .php (es: crea-sitemap.php) :
Sitemap
Generatore di Sitemap con estensione .xml
";
echo "Current Dir: ".str_replace("\\", "/" ,getcwd())."
";
echo "Differenza: ".str_replace($_SERVER['DOCUMENT_ROOT'],"",str_replace("\\", "/" ,getcwd()))."
";
$subdir = str_replace($_SERVER['DOCUMENT_ROOT'],"",str_replace("\\", "/" ,getcwd()));
/*
$header = "\n";
*/
$header = "\n\n";
$footer = " \n";
function read_recursiv( $path ) {
$result = array();
$handle = opendir ( $path );
if($handle) {
while(false!==($file=readdir($handle))) {
if ($file!="." && $file!="..") {
$name = $path."/".$file;
if(is_dir($name)) {
$ar = read_recursiv ( $name );
foreach($ar as $value) {
$result[] = $value;
}
} else {
$result[] = $name;
}
}
}
}
closedir($handle);
return $result;
}
$data = read_recursiv ( $dir );
$sitemap = fopen($filexml, "w");
fwrite($sitemap, $header);
foreach($data as $value) {
$value = str_replace($dir, "", $value);
$temp2 = strtolower(substr($value, strlen($value)-2, strlen($value)));
$temp3 = strtolower(substr($value, strlen($value)-3, strlen($value)));
$temp4 = strtolower(substr($value, strlen($value)-4, strlen($value)));
if((in_array($temp2, $type)) || (in_array($temp3, $type)) || (in_array($temp4, $type))) {
fwrite ( $sitemap , "\n".$dominio.$value." \n".date("Y-m-d", filemtime($_SERVER['DOCUMENT_ROOT'].$subdir.$value))." \n".$changefreq." \n".$priority." \n \n" );
echo $dominio.$value."
";
}
}
fwrite ( $sitemap , $footer );
fclose ( $sitemap );
echo "
Google Sitemap creata con successo";
?>