Ottimizzare il PhpBB
Per queste due piattaforme di forum (vBulletin e PhpBB) esistono problemi quasi simili da risolvere, perché i concetti dell’ottimizzazione sono uguali 🙂
- Non visualizzare gli ID di sessione agli spider
- Ottimizzare il meta tag Title
- Scrivere pagine statiche senza parametri particolari
Modifiche per PhpBB:
1. L’id di sessione è quel numero che, di solito, sta alla fine dell’URL ed infastisce la spiderizzazione perchè la stessa pagina potrebbe essere ripetuta tante volte quanti ip di sessione diversi trova lo spider.
File da modificare includes/sessions.php
Codice:
@—–[ FIND ]—————————————— ]]
$SID = 'sid=' . $session_id;
@—–[ REPLACE WITH ]——————————————
if ( $userdata['session_user_id'] != ANONYMOUS )
{
$SID = 'sid=' . $session_id;
}
else
{
$sql = "SELECT * FROM " . FORUMS_TABLE .
" ORDER BY forum_id";
$result = $db->sql_query($sql);
$guest_permission = false;
if( $result )
{
while ( $row = $db->sql_fetchrow($result)
&& !$guest_permission )
{
if ( $row['auth_post'] == 0 || $row['auth_reply']
== 0 || $row['auth_pollcreate'] == 0 )
{
$guest_permission = true;
}
}
}
$db->sql_freeresult($result);
$SID = ( $guest_permission == true ) ?
( 'sid=' . $session_id ) : '';
}
2. Il codice contenuto nei tag head che vi trovate di default nel PhpBB non va bene e va sostituito.
File da modificare templates/subSilver/overall_header.tpl
Fate in modo che il description, keywords, robots e title risultino così:
<meta name="description" content="{PAGE_TITLE}">
<meta name="keywords" content="{PAGE_TITLE}">
<meta name="robots" content="index,follow">
<title>{PAGE_TITLE}</title>
Sarebbe molto gradito se riusciste a sostituire il codice css che avete nei tag head con un file esterno; per mettere esternamente il codice css basta fare copia incolla sul blocnotes e salvare il file con estensione .css per poi linkarlo nell’overall_header.tpl in questo modo:
<link rel="stylesheet" href="vostro_file.css" type="text/css">
Ci sono altre modifiche da effettuare assolutamente:
File da modificare: language/language_italian/lang_main.php
Trovate
//
// Viewtopic
//
La variabile $lang[‘View_topic’] deve essere
$lang['View_topic'] = '';
Trovate
//
// Viewforum
//
La variabile $lang[‘View_forum’] deve essere
$lang['View_forum'] = '';
Trovate
//
// Index page
//
$lang[‘Index’] = ‘Chiave del vostro forum’;
Dovete inserire solo la chiave principale per il vostro forum e non una lista di chiavi a tema.
3. Vediamo come inserire un Mod-Rewrite su PhpBB per far rileggere gli url dalla forma
/forum/viewforum.php?f=####
/forum/viewtopic.php?t=####
alla forma
/forum/titolo-del-forum-vf####.html
/forum/titolo-del-topic-vt####.html
Cosi facendo si rende maggiormente Search Engine Friendly il proprio Forum.
Prima di tutto mi raccomando di eseguire il backup del forum e dei seguenti file utilizzati:
includes/page_header.php
includes/page_tail.php
che si trovano nella cartella includes
Bisognerà infatti agire su questi due file e sul File HTAccess.
Procedimento:
APRITE
includes/page_header.php
CERCATE
$template->set_filenames(array(
'overall_header' => ( empty($gen_simple_header) ) ?
'overall_header.tpl' : 'simple_header.tpl')
);
APPENA DOPO, AGGIUNGETE QUESTE RIGHE
ob_start();
function make_url_friendly($url)
{
$url = strtolower($url);
$find = array(' ',
'&',
'\r\n',
'\n',
'/',
'\\',
'+');
$url = str_replace ($find, '-', $url);
$find = array(' ',
'é',
'è',
'ë',
'ê');
$url = str_replace ($find, 'e', $url);
$find = array(' ',
'ó',
'ò',
'ô',
'ö');
$url = str_replace ($find, 'o', $url);
$find = array(' ',
'á',
'à',
'â',
'ä');
$url = str_replace ($find, 'a', $url);
$find = array(' ',
'í',
'ì',
'î',
'ï');
$url = str_replace ($find, 'i', $url);
$find = array(' ',
'ú',
'ù',
'û',
'ü');
$url = str_replace ($find, 'u', $url);
$find = array('/[^a-z0-9\-<>]/',
'/[\-]+/',
'/<[^>]*>/');
$repl = array('',
'-',
'');
$url = preg_replace ($find, $repl, $url);
return $url;
}
function rewrite_urls($content)
{
function if_query($amp)
{
if($amp != '')
{
return '?';
}
}
$url_in = array('/(?<!\/)viewforum.php\?f=([0-9]+)((&)
|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
'/(?<!\/)viewtopic.php\?p=([0-9]+)((&)
|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
'/(?<!\/)viewtopic.php\?t=([0-9]+)((&)
|(&)){0,1}([^>]+>)(.*?)<\/a>/e');
$url_out = array("make_url_friendly('\\6') .
'-vf\\1.html' .
if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
"make_url_friendly('\\6') . '-vp\\1.html'
. if_query('\\2')
. stripslashes('\\5\\6') . '</a>'",
"make_url_friendly('\\6') . '-vt\\1.html'
. if_query('\\2')
. stripslashes('\\5\\6') . '</a>'");
$content = preg_replace($url_in, $url_out, $content);
return $content;
}
APRITE
includes/page_tail.php
CERCATE
if ( $do_gzip_compress )
{
//
// Borrowed from php.net!
//
$gzip_contents = ob_get_contents();
ob_end_clean();
$gzip_size = strlen($gzip_contents);
$gzip_crc = crc32($gzip_contents);
$gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0,
strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack('V', $gzip_crc);
echo pack('V', $gzip_size);
}
SOSTITUITELO CON QUESTO CODICE:
if ( $do_gzip_compress )
{
//
// Borrowed from php.net!
//
$gzip_contents = ob_get_contents();
ob_end_clean();
echo rewrite_urls($contents);
global $dbg_starttime;
$gzip_size = strlen($gzip_contents);
$gzip_crc = crc32($gzip_contents);
$gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0,
strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack('V', $gzip_crc);
echo pack('V', $gzip_size);
}
else
{
$contents = ob_get_contents();
ob_end_clean();
echo rewrite_urls($contents);
global $dbg_starttime;
}
APRITE
.htaccess
INSERITE QUESTE RIGHE
Options +FollowSymlinks
RewriteEngine On
#RewriteBase /
RewriteRule [.]*-vf([0-9]*) viewforum.php?%{QUERY_STRING}&f=$1
RewriteRule [.]*-vp([0-9]*) viewtopic.php?%{QUERY_STRING}&p=$1
RewriteRule [.]*-vt([0-9]*) viewtopic.php?%{QUERY_STRING}&t=$1
In alcuni tipi di server dovete eliminare il richiamo:
Options +FollowSymlinks
- Domande? Se hai domande e vuoi discuterne con altri esperti, allora visita il Forum sul Web Marketing
- Consigli e suggerimenti utili di Web Marketing
- La community di GiorgioTave: Forum per Webmaster
- Partecipa gratis al corso on-line di Web Marketing
> Pubblica GRATIS questo ebook nel tuo sito:clicca qui
> Copyright: questa guida è realizzata da Giorgio Taverniti e promossa da 3 Web Marketing e Madri Internet Marketing