Vi comunico che i motori di ricerca hanno comunque ufficializzato un
protocollo che va bene per tutti i tipi di Sitemaps da dare agli stessi
motori:
Sitemaps.org
Per quanto riguarda invece l'altra cosa da fare (cioè una Mappa delle
Discussioni del Forum), voglio
darti alcuni consigli:
- linka gli ultimi X thread dalla home del sito
- linka tutte le sezioni del forum dalla home del sito
- crea delle mappe di link tra le ultime discussioni. Ad esempio crea una mappa che colleghi tutte le discussioni
dalla 20a alla 100a, un'altra che colleghi tutte le discussioni dalla 100a alla 180a ecc...
- crea delle mappe che collegano le pagine interne delle varie sezioni del
forum (è molto importante). Supponiamo che in ogni sezione del tuo forum si possano visualizzare gli
ultimi 30 thread (sei tu che hai deciso di vedere 30 thread dal pannello di controllo). Se si hanno 34 thread,
automaticamente si genera una pagina interna che contiene i 4 thread. E' bene collegare queste due pagine
interne, quella con i 30 thread a quella con i 4 thread. Se i thread iniziano a diventare più di 1000, è importante creare
mappe di link che collegano queste pagine interne. Una chicca: con vBulletin puoi decidere
quante di queste pagine interne possono essere visualizzate nella home della sezione :)
Sitemaps per PhpBB
Se usi PhpBB devi sapere .. che la mappa delle discussioni del forum da
mettere nel del sito deve seguire
sempre i consigli di sopra e quindi riuscire a farne una semplicemente con
delle query al vostro Database. Per ogni forum purtroppo se ne dovrebbe fare
una diversa, non posso fornirvi un codice uguale per tutti.
Per quanto riguarda invece la Google Sitemaps ho richiesto a
Sitionweb
(moderatore del mio forum) se ci poteva dare il codice per realizzarla perchè
lui la usa per il suo
forum sul
Molise usando il PhpBB con URL di questa struttura:
www.sito.it/forum/nome-del-topic-vt23.html dove 23 è, ovviamente,
l'id del topic. Quindi, per quelli che si trovano in quelle condizioni (che ho
visto essere molti), abbiamo un bel tutorial.
Vi passo i codici, questo per l'.htaccess
RewriteEngine on
RewriteRule ^sitemap.xml$ sitemap.php [L]
RewriteRule ^forum-([0-9]+).xml$ sitemap.php?fid=$1 [L]
Questi invece per sitemap.php:
<?php
define('FORUM_DOMAIN_ROOT', 'http://www.discovermolise.com/forum/'); // Full
URL with trailing slash!
define('PHPBB_PREFIX', 'phpbb_'); // Your phpBB tables prefix, WITHOUT the _
character.
// --------------------------------------------------
// You don't need to edit anything below this line!!!
// --------------------------------------------------
// Sitemap File <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">
// URL Index File <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">';
if (isset($fid)) {
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
if ($fid == '65535') {
// Let's first send out the header & homepage
echo ' <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">'."\n";
echo ' <url>
<loc>'.FORUM_DOMAIN_ROOT.'</loc>
<changefreq>daily</changefreq>
</url>';
// Let's send out a URL list of forums
$sql = 'SELECT forum_id FROM '.PHPBB_PREFIX.'forums WHERE auth_view = "0" and
auth_read = "0" and forum_id not like "%-%"';
$result = mysql_query($sql);
while ($data = mysql_fetch_assoc($result)) {
echo ' <url>
<loc>'.FORUM_DOMAIN_ROOT.FORUM_URL_PREFIX.$data['forum_id'].FORUM_URL_SUFFIX.'</loc>
<changefreq>daily</changefreq>
</url>';
}
echo ' </urlset>';
} else {
// Let's check it's not a restricted forum
$sql = 'SELECT forum_id FROM '.PHPBB_PREFIX.'forums WHERE auth_view = "0" and
auth_read = "0" and forum_id = "'.$fid.'" and forum_id not like "%-%"';
$result = mysql_query($sql);
$data = mysql_fetch_assoc($result);
if ($data['forum_id'] == $fid) {
echo ' <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">'."\n";
$sql = 'SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as
id2, p.post_username, p2.post_username AS post_username2, p2.post_time FROM '.PHPBB_PREFIX.'topics
t, '.PHPBB_PREFIX.'users u, '.PHPBB_PREFIX.'posts p, '.PHPBB_PREFIX.'posts p2,
'.PHPBB_PREFIX.'users u2 WHERE t.forum_id = '.$fid.' AND t.topic_poster =
u.user_id AND p.post_id = t.topic_first_post_id AND p2.post_id =
t.topic_last_post_id AND u2.user_id = p2.poster_id ORDER BY t.topic_type DESC,
t.topic_last_post_id DESC';
$result = mysql_query($sql);
while ($data = mysql_fetch_assoc($result)) {
echo ' <url>
<loc>'.FORUM_DOMAIN_ROOT.THREAD_URL_PREFIX.$data['topic_id'].THREAD_URL_SUFFIX.'</loc>
<lastmod>'.date('Y-m-d', $data['post_time']),'</lastmod>
</url>';
}
echo ' </urlset>';
}
}
} else {
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo ' <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">'."\n";
// Let's create a link to the main forum index sitemap
echo ' <url>
<loc>'.FORUM_DOMAIN_ROOT.'forum-65535.xml</loc>
<changefreq>monthly</changefreq>
</url>';
// Let's do a loop here and list all the forums!
$sql = 'SELECT forum_id, forum_name FROM '.PHPBB_PREFIX.'forums WHERE
auth_view = "0" and auth_read = "0" and forum_id not like "%-%"';
$result = mysql_query($sql);
while ($data = mysql_fetch_assoc($result)) {
// Let's do a loop here and list all the forums!
$sqltopic = 'SELECT topic_id, topic_title FROM '.PHPBB_PREFIX.'topics';
$resulttopic = mysql_query($sqltopic);
while ($datatopic = mysql_fetch_assoc($resulttopic)) {