The Blog

Phpbb3 e sitemap

10 Apr 08

Salve gente .. DAto che in giro non esiste un cacchio di niente per phpbb3 tantomeno esiste un plugin per le sitemap ho deciso di scrivermi il mio bel codice php facilmente integrabile ๐Ÿ˜›

Il plugin, di 1 solo file, permette di mappare ( compatibile anche con phpbb seo ) gli url di tutti e solo i topic nella sitemap di google..

Alcuni diranno: Perke solamente i topic ?

Ho effettuato un po di constatazioni . SE un topic si allunga piu di una pagina le pagine successive alla prima contengono materiale di scarso interesse per l’utente che sta cercando e inoltre i forum o le sezioni dei forum non hanno bisogno , a mio parere, di di alcuna sitemap…

Queste sono le scelte che ho fatto io percio:

Il mio plugin ha le seguenti features:

  • Facilmente integrabile in tutte le installazioni di phpbb3 ( necessita di testing e perciรฒ ho bisogno di qualcuno che mi dia una mano )
  • E’ composto da solamente un file php;
  • Genera una sitemap verificata ( vedi immagine in basso );
  • E’ abbastanza veloce;
  • Ha un algoritmo greedy per determinare il campo change_freq (daily, monthly, …)

L’algoritmo greedy utile

Sebbene molti credono che questo campo sia inutile ai fini dell’indicizzazione, e che lo spider se ne sbatta altamente le balle, io sono andato in barba a tutti e ho deciso di fare una cosa completa poichรจ credo che, anche se google stesso scrive della poca importanza di questo campo, un poca di importanza ne abbia..

C’รจ da precisare subito che se il campo changefreq ha hourly questo non significa che il nostro amato googlebot ci verrร  a trovare ogni ora per quella pagina.

Bando alle ciance… Dette le mie motivazioni passiamo al come funziona…

L’algoritmo semplicemente guarda quando รจ stato effettuato l’ultimo post in quel thread e stupidamente controlla se questo valore รจ:

  • < 1h
  • >1h AND < 1g
  • >1g AND < 1m
  • >1m AND <1a

E assegna rispettivamente i valori

  • hourly per il primo
  • daily per il sec
  • ….

E’ una cosa schifosissima ma almeno cosi cerco di dare piu importanza al topic con il post piu recente in modo che google se lo smazzi piu frequentemente … ( sempre se changefreq funzia )

Chi รจ interessato al file php puo lasciarmi un commento qui oppure mandarmi un e-mail a vekexasia#gmail@com .

Se volete verificare che la mia sitemap generata per il forum phpbb3 sia valida cliccate su http://www.validome.org/google/validate?url=http://www.jesoloforum.net/sitemap.phpโŒฉ=en&googleTyp=SITEMAP

Integrare phpbb3 con rss

31 Gen 08

Era da tempo che volevo integrare il mio forum ( jesolo forum.net ) con gli rss per dargli un tocco di web2.0 e sopratutto per dargli una manina a google nell’indicizzazione del mio bel forumino…

Cosรฌ, oggi, comincio la ricerca sul mio amato google e trovo qualche progettino in beta. Prendo il primo ed aveva un macello di file da editare, cosรฌ, da bravo pigrone provo a vedere il secondo e bum solo 1 file da editare.. Tuttavia le sue funzionalitร  erano limitatissime e perciรฒ ho cominciato a lavorare ad un mio plugin che fosse facile da installare e che regalasse comunque qualche funzione in piรน.

Il mio scriptino accetta due parametri in ingresso:

  • fid : ovvero l’id del forum;
  • tid : ovvero l’id del topic;

Detto questo questa tabella riassuntiva dovrebbe farvi capire come funziona in base ai vari input:

 

NO fid
NO tid
SI fid
NO tid
SI fid
SI tid
Quando chiamiamo lo script senza alcun parametro allora vengono mostrati gli ultimi tmax topics aperti Quando chiamiamo lo script con solo il valore del forum vengono mostrati gli ultimi tmax topics aperti all’interno del forum in questioneAttenzione che se il fid corrisponde ad una categoria allora non verrร  prodotto alcun output. Quando chiamiamo lo script con solo il valore del forum vengono mostrati gli ultimi pmax posts inseriti all’interno del topic in questione

Installazione:

  • Aprite il file “overall_header.html” del vostro stile predefinito;
  • Trovate </head>;
  • Inserite prima il seguente codice.

———————————————————————————
<!—- PHP —->
$page=$user->page;
if ( isset($page) ) {

if (isset($page[‘page_name’]) ) {

if ($page[‘page_name’] == “index.php”) {

echo ‘<link rel=”alternate” type=”application/rss+xml” title=”Jesolo Forum” href=”rss.php” />’;

} else if ($page[‘page_name’] == “viewforum.php”) {

preg_match(“/f=([0-9]+)/i”,$page[‘query_string’], $matches);

echo ‘<link rel=”alternate” type=”application/rss+xml” title=”{SITENAME}” href=”rss.php?fid=’.$matches[1].'” />’;

} else if ($page[‘page_name’] == “viewtopic.php”) {

preg_match(“/f=([0-9]+)(.*)t=([0-9]+)/i”,$page[‘query_string’], $matches);

if (isset($matches[1]) && isset($matches[3]) )

echo ‘<link rel=”alternate” type=”application/rss+xml” title=”{SITENAME}” href=”rss.php?fid=’.$matches[1].’&tid=’.$matches[3].'” />’;

}

}

}
<!—- ENDPHP —->

———————————————————————–

Poi ecco qui il file rss.php Fatemi sapere se ci sono bug e le imperfezioni che trovate. Ciau