disign.it | Sitemap dinamico | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.412 visualizzazioni

Sitemap dinamico

21/05/2013

Uno degli elementi importanti da fornire ai motori di ricerca per l'indicizzazione di un sito è il sitemap, file che elenca gerarchicamente tutte le pagine del sito web.
Introdotta da Google con il servizio Google Sitemaps, e poi utilizzata anche da Yahoo! e MSN, ci permette di inserire all’interno di un file XML  tutti gli URL delle pagine del nostro sito da sottoporre al motore di ricerca.

Per costruire un sitemap che si aggiorni automaticamente ad ogni inserimento di contenuto dobbiamo ricorrere ad un piccolo artifizio, usufruendo delle potenzialità di configurazione del server web attraverso il file .htaccess (server web Apache).
Inserendo nel nostro hatccess la riga
RewriteRule ^sitemap.xml ./sitemap.php [L,QSA]
semplicemente indichiamo al server web che la chiamata del file xml va redirezionata sul corrispondente file php, permettendoci quindi di costruire un sitemap che ad ogni chiamata interroga il database per rilasciare un elenco aggiornato dei contenuti del sito.
Il file php, a sua volta, dovrà produrre un risultato corrispondente al fomato xml con protocollo regolamentato dalla Attribution-ShareAlike Creative Commons License.

Un breve esempio di un ipotetico file php è questo (nell'esempio si suppone che il link all'articolo sia semplicemente composto dal titolo dello stesso):

header('Content-Type: text/xml');
echo '
';
include('connessione.php'); // inclusione del file di connessione al db
$data_oggi = (date('Y-m-d'));
$base_url = 'http://www.miodominio.it/';


// costruiamo il record corrispondente alla root

echo '

    ' . $base_url . '
    ' . $data_oggi . '

';


// costruiamo i record corrispondenti ai contenuti dinamici

$risultato = mysql_query("SELECT * FROM nometabella order by nomecampodata DESC"); // query di estrazione contenuti
 if (!$risultato) { exit ('

Errore recupero i dati' . mysql_error() . '

'); }
    while ($riga = mysql_fetch_array($risultato))  
                     {
    $tit = $riga[1]; // valore di array da impostare secondo struttra db
    $dat = $riga[3];

// valore di array da impostare secondo struttra db   

 

    $data = date("Y-m-d",$dat);
    $titolo = strip_tags($tit); // è opportuno effettuare anche un controllo della stringa in modo da ripulirla e renderla uguale al link reale
    echo "";
        echo "$base_url$titolo.php";
        echo "$data";
        echo "";
                                         }
                                         
// terminato il ciclo di estrazione dinamica impostiamo i link alle pagine statiche
echo '

    ' . $base_url . 'contatti.php
    ' . $data_oggi. '

';

  echo ''

← PHP: esportare in formato CSV una tabella di MySql Feed RSS: generare un feed in PHP →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.