Automatic meta tags Description and Keywords on phpBB3x forum

Tutorijali i trikovi za phpBB2x forum i phpBB3x forum
Locked
User avatar
IvanC
Administrator
Posts: 768
Joined: Tue Sep 20, 2005 9:54 am
Contact:

Automatic meta tags Description and Keywords on phpBB3x forum

Post by IvanC » Wed Jun 10, 2015 8:40 pm

Automatic meta tags Description and Keywords on phpBB3x forum,
Automatic add meta tag Keywords and Description to Header source phpBB3x forum,
Kako automatski dodati meta tag za ključne riječi i opis web stranice na phpBB3x forumu.

Opće poznato je da phpBB3x forum u osnovnoj instalaciji nema meta tagove za "Keywords" i "Description". U ovakvim slučajevima kada nema ovih meta tagova "Description" i "Keywords", Gogle bot a i ostali botovi prilikom posjete i pretraživanja foruma nemaju informaciju o ovim elementima. Ovaj tutorijal pišem na osnovu vlastitog iskustva na forumu phpBB 3.1.4

Ako po starom receptu u datoteku "overall_header" dodate meta tagove tada će se umetnuti tag pojavtiti na svakoj stranici foruma, što nije dobro pogotovo ako koristite Google Web Master Tools (WMT) zna se dogoditi da vam javlja grešku jer se dupliciraju nazivi tj. naslovi i slično (title).

Da bi riješili ovaj problem, malim preinakama određenih datoteka tj. izmjenom source code možemo uspješno riješiti problem opisa stranica kao i ključnih riječi. Ovdje bih napomeno da vjerojatno i sami znate da Google (a možda i ostale tražilice) više ne uzimaju u obzir "ključne riječi" ili meta tag "keywords" da bi rangirali stranicu. Bez obzira na to ako nije negativno za SEO meni osobno ne smetaju na stranici (dakle vaša odluka hoćete li uključiti prikaz ključnih riječi "keywords"). Primjer automatski dodanih meta tag "keywords" i "description" možete vidjeti na ovoj stranici koju čitate tako što pogledate u vašem browseru View => Source code.

Ispod navedene radnje i dodavanje programskog koda utjecat će na to da kada posjetitelj posjeti određenu web stranicu na forumu (a i tražilice ili bot) u source code web stranice foruma, automatski će se pojaviti tekst koji će programski kod generirati iz početnog teksta na stranici foruma.

U nastavku slijedi opis i linije koda koje treba dodati u određene datoteke. Savjetujem vam da imate instaliran Notepad++ da bi ste mogli editirati potrebne datoteke ispod navedene.

Datoteke koje ćemo editirati i izvršiti mala dodavanja koda u njih:
- overall_header.html
- index.php
- viewforum.php
- viewtopic.php


Odmah na početku moram reći da si izvršite kopiranje ovih datotekla u neki siguran folder za svaki slučaj ako niste nešto napravili kako treba. (dakle obavezno izvršite backup ovih datoteka).

Overall_header.html

Prva datoteka koju ćemo editirati je overall_header.html. Ova datoteka nalazi se na putanji
http://www.domena.com/phpBB3/styles/prosilver/template/
Uočite da folder u kojem je instaliran forum ima naziv phpBB3 a može biti i "forum" ili kako ste već imenovali folder u koji ste instalirali phpBB3x forum.
U ovoj datoteci trebamo postaviti programski kod koji će pozivati ključne elemente iz ostalih navedenih datoteka. Ovaj kod ispod sadrži dvije linije. Jedna linija poziva "keywords" a druga linija poziva "description". Spomenuo sam vam na početku da ako ne želite imati ključne riječi ili "keywords" tada izostavite prvu liniju programskog koda i dodajte samo drugu liniju za description/opis.

Pronađite liniju koda {META} i ispred nje dodajte kod da izgleda kao ispod

Code: Select all

<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="keywords" content="{S_META_KEYWORDS}" />
<meta name="description" content="{S_META_DESCRIPTION}" />
{META}
index.php

Druga datoteka koju ćemo editirati je index.php.
Ova datoteka nalazi se u root folderu gdje je instaliran forum.
U ovoj datoteci trebamo postaviti programski kod koji će automatski kreirati meta tagove za "description" i "keywords" kada pristupimo na ulaznu stranicu foruma. U ovom programskom kodu vi trebate upisati ključne riječi i opis sadržaja vašeg foruma

Pronađite liniju koda oko 165 i dodajte ovaj kod poslije dotične linije

Code: Select all

// Assign index specific vars
$template->assign_vars(array( // <----------LINIJA KODA  165//
ispod dodajte ovaj programski kod

Code: Select all

  /*** 2012-10-01 BEGIN AmigoJack     
           Assign index-specific meta data ***/
  'S_META_DESCRIPTION'=> '…ovdje upišite opis vašeg foruma..… ',
  'S_META_KEYWORDS'=> '….ovdje upišite vaše ključne riječi za cijeli forum…',
  /*** 2012-10-01 END .....................***/
viewforum.php

Treća datoteka koju ćemo editirati je viewforum.php (u krajnjem slučaju i ne morate ako ne želite da se mat tagovi "keywords" i "description" pojavljuju kada posjetitelj/bot posjeti određeni forum)
Ova datoteka nalazi se u root folderu gdje je instaliran forum.
U ovoj datoteci trebamo postaviti programski kod koji će automatski pozivati ključne meta tags kada pristupimo na stranicu određenog foruma (naravno potrebno je prethodno kreirati opis svakog foruma u ACP).

Pronađite liniju koda oko 564 i dodajte ovaj kod poslije dotične linije

Code: Select all

	'ORDER_BY'	=> 't.topic_type ' . ((!$store_reverse) ? 'DESC' : 'ASC') . ', ' . $sql_sort_order,
); //<----- LINIJA KODA 564//
ispod dodajte ovaj programski kod

Code: Select all

/*** 2012-02-02 BEGIN AmigoJack   
        Adding meta descriptions and meta keywords from forum description ***/
$sMetaDescription= preg_replace
( array
    ( '#\\[([^/\\]=]+)[^\\]]*\\]#'  // Strip possible BBCode opening tags
    , '#\\[/[^\\]]*\\]#'  // Closing tags
    , '#<[^>]+>#'  // Strip possible HTML
    , '#[\\n\\r\\t]#s'  // Strip linebreaks and tabs
    , '# +#'  // Strip multiple spaces
    , '#[a-z]+(:|\\&\\#58;)\\S+#i'  // Strip URIs
    )
, array
    ( ''
    , ''
    , ''
    , ' '
    , ' '
    , ' '
    )
, html_entity_decode( $forum_data['forum_desc'] )
);

// Keywords must be latin letters, ciphers and underscores only. Need to be more than 3 characters. //
// If you want non-latin support and have PHP 5.1.0 or higher, use the second line instead //
//$sKeyWord= ucwords( strtolower( preg_replace( '#[^a-zA-Z0-9_ ]+#', ' ', $sMetaDescription ) ) );
$sKeyWord= ucwords( utf8_strtolower( preg_replace( '#[^\\p{L}\\p{N}a-zA-Z0-9_ ]+#u', ' ', $sMetaDescription ) ) ); 

$aDistinctKeyword= array();
$aKeyWord= explode( ' ', $sKeyWord );
foreach( $aKeyWord as $v1 )
if( !isset( $aDistinctKeyword[$v1] )
 && utf8_strlen( $v1 )> 3  // Minimum 4 characters per keyword
 && utf8_strlen( $v1 )<= 1000  // Maximum 1000 characters per keyword
  ) $aDistinctKeyword[$v1]= 0;

$aDistinctKeyword= array_slice( $aDistinctKeyword, 0, 20, TRUE );  // First 20 keywords only
$sKeyWord= implode( ', ', array_keys( $aDistinctKeyword ) );

// Shorten description if it's longer than 150 characters
if( ( utf8_strlen( $sMetaDescription )> 150 )
 && ( $iSpace= utf8_strpos( $sMetaDescription, ' ', 150 ) )!== FALSE
  ) $sMetaDescription= utf8_substr( $sMetaDescription, 0, $iSpace );

$template-> assign_vars
( array 
    ( 'S_META_DESCRIPTION'=> $sMetaDescription
    , 'S_META_KEYWORDS'=> $sKeyWord
    )
);
/*** 2012-02-02 END AmigoJack ***/ 
viewtopic.php

Četvrta datoteka koju ćemo editirati je viewtopic.php
Ova datoteka nalazi se u root folderu gdje je instaliran forum.
U ovoj datoteci trebamo postaviti programski kod koji će automatski kreirati ključne meta tag "keywords" i "description" kada pristupimo na stranicu nekog posta ili topica. U ovoj datoteci dodajemo programski kod na dva mjesta, zato obratite pažnju na smještaj koda.

Pronađite liniju koda oko 1534 i dodajte ovaj kod poslije dotične linije

Code: Select all

	$message = generate_text_for_display($row['post_text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $parse_flags, true);//<----- LINIJA KODA 1534//
ispod dodajte ovaj programski kod

Code: Select all

    /*** 2011-03-03 BEGIN AmigoJack         
               Dynamic meta description and meta keywords for topics, based on the first post ***/
    if( !$sMetaDescription ) {
        $sMetaDescription= preg_replace
                ( array
                        ( '#\\[([^/\\]=]+)[^\\]]*\\]#'  // Strip possible BBCode opening tags
                        , '#\\[/[^\\]]*\\]#'  // Closing tags
                        , '#<[^>]+>#'  // Strip possible HTML
                        , '#[\\n\\r\\t]#s'  // Strip linebreaks and tabs
                        , '# +#'  // Strip multiple spaces
                        )
                , array
                        ( ''
                        , ''
                        , ''
                        , ' '
                        , ' '
                        )
                , $message
                ); 

        // Keywords must be latin letters, ciphers and underscores only. Need to be more than 3 characters.
        // for latin characters linija koda u produzetku// $sKeyWord= ucwords( strtolower( preg_replace( '#[^a-zA-Z0-9_ ]+#', ' ', $sMetaDescription ) ) );
        // Keywords must be letters, ciphers and underscores only (needs PHP 5.1.0 at least). Need to be more than 3 characters.
        //for nonlatin characters 1 linija koda ispod
        $sKeyWord= ucwords( utf8_strtolower( preg_replace( '#[^\\p{L}\\p{N}a-zA-Z0-9_ ]+#u', ' ', $sMetaDescription ) ) ); 
        $aKeyWord= explode( ' ', $sKeyWord );
        $aDistinct= array();
        $aDistinct= array();
        foreach( $aKeyWord as $v1 ) if( !isset( $aDistinct[$v1] )&& utf8_strlen( $v1 )> 3&& utf8_strlen( $v1 )<= 1000 ) $aDistinct[$v1]= 0;  // Minimum 4 chars, maximum 1000
        array_splice( $aDistinct, 20 );  // First 20 entries only
        $sKeyWord= implode( ', ', array_keys( $aDistinct ) ); 

        // Shorten description if it's longer than 150 characters
        if( ( utf8_strlen( $sMetaDescription )> 150 )&& ( $iSpace= utf8_strpos( $sMetaDescription, ' ', 150 ) )!== FALSE ) $sMetaDescription= substr( $sMetaDescription, 0, $iSpace );
    }
    /*** 2011-03-03 END ***/  

U istoj datoteci pronađite liniju koda 2188 nakon implemenitiranja prvog programskog koda

Code: Select all

extract($phpbb_dispatcher->trigger_event('core.viewtopic_modify_page_title', compact($vars)));<-------- LINIJA KODA 2188
ispod dodajte ovaj programski kod

Code: Select all

    /*** 2011-03-03 BEGIN AmigoJack
        Assign possible meta data ***/
    $template-> assign_vars
    ( array
        ( 'S_META_DESCRIPTION'=> $sMetaDescription
        , 'S_META_KEYWORDS'=> $sKeyWord
        ) 
    );
    /*** 2011-03-03 END ***/ 
Kada ste sve preinake napravili snimite sve datoteke i izvršite FTP upload web server. (nadam se da imate kopije datoteka za svaki slučaj ako ste pogriješili). Ulogirajte se u vaš ACP foruma phpBB3x i kliknite na "Purge Cache" button da osvježite forum i promjene u datotekama.
Naravno ovo sve možete ako želite isprobati na localhost web serveru a tutorijal možete vidjeti na linku. I na kraju posjetite neku stranicu vašeg phpBB3x foruma i pogledajte u View => Source code u vašem browseru. Automatski su kreirani meta tagovi "keywords" i "description"
izvor: phpbb.com autor programskih kodova: AmigoJack
Administrator foruma
IvanC

Locked

Who is online

Users browsing this forum: No registered users and 1 guest