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
  • > Links Utili

    > Aggiornati: News di Web Marketing e Posizionamento

    > 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