IPB için geliştirilmiş bu seo paketinin kurulumunun anlatımıdır.Biraz uzun ama sonunda güzel olacak icon_smile.gif

Öncelikle Eklentiyi indirelim.

http://minervaseo.com/ adresinden sağ tarafta Download seçeneklerini göreceksiniz.Biz 2.3.x versiyonu için olanı indireceğiz.Tıklayın ve indirin.

Eğer bulamadım diyorsanız buradan indirebilirsiniz.



Peki Minerva Seo için gerekli olan nedir ?

Tabiki 1. sırada IPB 2.3.x sürümü.
Sunucunuzda PHP 4 yada 5 versiyonu kurulu olması
Universal Mod installer eklentisinin kurulu olması
ve FTP erişiminizin olması.
Şimdi indirdiğimiz dosyayı çıkaralım.Bunun için winrar yada 7-zip programlarını kullanabilirsiniz.Dosyalar açıldıktan aşağıdaki belgeler olması gerekiyor.

/htaccess

/upload

/readme

readme dosyasında kurulumun anlatıldığı ingilizce sayfanın linki var.Dileyen oradan da takip edebilir.

upload klasörünün içinde bazı dosyaların adının değiştirilmesi gerekiyor.

  • seo_settings.dist.php dosyasının adını seo_settings.php
  • furl_init.dist.php dosyasının adını furl_init.php
  • default404.dist.html dosyasının adını default404.html

şeklinde değiştirin.

Şimdi düzenlemeye geçebiliriz.

Root dizinindeki index.php dosyasını açın

Bul :

CODE
define ( 'IPB_THIS_SCRIPT', 'public' );


Değiştir :

CODE
if (! defined ( 'IPB_THIS_SCRIPT' )) {
    define ( 'IPB_THIS_SCRIPT', 'public' );
}


Bul :

CODE
//--------------------------------
//  Initialize the forums
//--------------------------------

$ipsclass->forums->strip_invisible = 1;
$ipsclass->forums->forums_init ();


Sonrasına Ekle :

CODE
/**---------------------------------
* MinervaSEO lite initiator
*--------------------------------*/

require_once 'modules/MSL/engine.php';
$ipsclass->MSLe = new MSLe ( );
$ipsclass->MSLe->ipsclass = & $ipsclass;
$ipsclass->MSLe->run_after_init_ipsclass ();


Bul :


CODE
//===========================================================================
// REQUIRE AND RUN
//===========================================================================


Sonrasına Ekle :

CODE
$ipsclass->MSLe->what_page_is_this ();



Değişiklikleri yapıp kaydedin.Her değişiklikten sonra kaydederseniz iyi olur.Sonraki dosyaya geçelim.

./lofiversion/index.php dosyasını açın.

Bul :

CODE
$output = str_replace ( "<% CHARSET %>", $ipsclass->vars ['gb_char_set'], $output );



Sonrasına Ekle :

CODE
#mseo
include ROOT_PATH . 'modules/MSL/engine.php';
$msle = new MSLe ( );
$msle->ipsclass = & $ipsclass;

if ($ipsclass->vars ['msl_meta_disable_lofi']) {

    $output = $msle->lofi_meta ( $output );
}


Bul :


CODE
$output = str_replace ( "<#IMG_DIR#>", $ipsclass->skin ['_imagedir'], $output );
$output = str_replace ( "<#EMO_DIR#>", $ipsclass->skin ['_emodir'], $output );


Sonrasına ekle :

CODE
#mseo
define ( 'SEO_from_xml', 1 );
$output = $msle->modify_output ( $output );



./ips_kernel/class_ajax.php dosyasını açın.

Bul :


CODE
// Other stuff
$string = str_replace ( "<#IMG_DIR#>", $this->ipsclass->skin ['_imagedir'], $string );
$string = str_replace ( "<#EMO_DIR#>", $this->ipsclass->skin ['_emodir'], $string );



Sonrasına Ekle :


CODE
/**---------------------------------
* MSL seo check AJAX output
*--------------------------------*/
if (is_object ( $this->ipsclass->MSLe )) {
    define ( 'SEO_from_xml', 1 );
    $string = $this->ipsclass->MSLe->modify_output ( $string ); //tell them we are xml
}



./sources/ipsclass.php dosyasını açın.

Bul :


CODE
$url = str_replace( "&amp;", "&", $url );

if ($this->vars['header_redirect'] == 'refresh')
{
    @header("Refresh: 0;url=".$url);
}
else if ($this->vars['header_redirect'] == 'html')
{
    $url = str_replace( '&', '&', str_replace( '&', '&', $url ) );
    echo("<html><head><meta http-equiv='refresh' content='0; url=$url'></head><body></body></html>");
    exit();
}
else
{
    @header("Location: ".$url);
}



Değiştir :


CODE
$url = str_replace ( "&amp;", "&", $url );

if ($this->vars ['header_redirect'] == 'refresh') {
    if ($this->ipsclass->vars ['msl_ipb_boink_it_301']) {
        @$this->MSLe->r301_header ();
    }
    @header ( "Refresh: 0;url=" . $url );
} else if ($this->vars ['header_redirect'] == 'html') {
    $url = str_replace ( '&', '&', str_replace ( '&', '&', $url ) );
    echo ("<html><head><meta http-equiv='refresh' content='0; url=$url'></head><body></body></html>");
    exit ();
} else {
    if ($this->ipsclass->vars ['msl_ipb_boink_it_301']) {
        @$this->MSLe->r301_header ();
    }
    @header ( "Location: " . $url );
}



Bul :


CODE
function Error($error)
    {
        $override = 0;



Sonrasına Ekle:


CODE
/**---------------------------------
* MSL
*--------------------------------*/
define('SEO_is_error',1);




./sources/action_public/browsebuddy.php Dosyasını açın

Bul :


CODE
$this->output = str_replace( "<!--CLOSE.LINK-->", $this->ipsclass->compiled_templates['skin_buddy']->closelink(), $this->output );

if ( ! $this->ajaxml )
{
    $this->ipsclass->print->pop_up_window($this->ipsclass->lang['page_title'], $this->ipsclass->compiled_templates['skin_buddy']->buddy_js().$this->output);
      }
      else
      {
          @header( "Content-type: text/plain;charset={$this->ipsclass->vars['gb_char_set']}" );



Sonrasına Ekle :


CODE
#mseo
if (is_object ( $this->ipsclass->MSLe )) {

    define ( 'SEO_from_xml', 1 );
    $this->output = $this->ipsclass->MSLe->modify_output ( $this->output );
}



./sources/action_public/forums.php dosyasını açın

Bul :


CODE
//-----------------------------------------
// Get the forum info based on the forum ID,
// and get the category name, ID, etc.
//-----------------------------------------

$this->forum = $this->ipsclass->forums->forum_by_id [$this->ipsclass->input ['f']];



Sonrasına Ekle :



CODE
#mseo
$this->ipsclass->MSLe->check_forum ( $this->forum );



./sources/action_public/profile.php dosyasını açın

Bul :


CODE
//-----------------------------------------
// Grab all data...
//-----------------------------------------

$member = $this->personal_function_load_member ( $member_id );



Sonrasına Ekle :


CODE
#mseo
$this->ipsclass->MSLe->check_user ( $member );



./sources/action_public/topics.php Dosyasını açın

Bul :



CODE
//-----------------------------------------
// Siggie stuff
//-----------------------------------------



Öncesine Ekle :


CODE
/**---------------------------------
* MinervaSEO lite;
* we are parsing the post to add acronym automatically
*--------------------------------*/

$row = $this->ipsclass->MSLe->parse_rowpost ( $row );


Bul :

CODE
//-----------------------------------------
// Error out if we can not find the forum
//-----------------------------------------


Sonrasına Ekle :


CODE
/**---------------------------------
* MINERVASEO
*--------------------------------*/

$this->ipsclass->MSLe->check_topic ( $this->topic );



./sources/classes/class_display.php dosyasını aç

Bul :


CODE
$output_array ['JS'] = (isset ( $output_array ['JS'] ) and ! is_numeric ( $output_array ['JS'] )) ? $output_array ['JS'] : '';



Sonrasına ekle :


CODE
/**
* modify output array to edit Title
*/
list ( $nav, $css,$output_array ) = $this->ipsclass->MSLe->parse_beforeRAW ( $nav, $css,$output_array );

Bul :

$this->ipsclass->skin ['_wrapper'] = preg_replace ( "#htmldocument\.prototype#is", "HTMLDocument_prototype", $this->ipsclass->skin ['_wrapper'] );

        $this->_finish ();

        print $this->ipsclass->skin ['_wrapper'];



Değiştir :


CODE
$this->ipsclass->skin ['_wrapper'] = preg_replace ( "#htmldocument\.prototype#is", "HTMLDocument_prototype", $this->ipsclass->skin ['_wrapper'] );
$this->ipsclass->skin ['_wrapper'] = $this->ipsclass->MSLe->modify_output ( $this->ipsclass->skin ['_wrapper'] );
$this->_finish ();

print $this->ipsclass->skin ['_wrapper'];



Bul :


CODE
$html = preg_replace ( "#htmldocument\.prototype#is", "HTMLDocument_prototype", $html );



Sonrasına Ekle :


CODE
if (is_object ( $this->ipsclass->MSLe )) {

    define ( 'SEO_from_xml', 1 );
    $html = $this->ipsclass->MSLe->modify_output ( $html );
}




./sources/classes/post/class_post_edit.php dosyasını aç

Bul :


CODE
//-----------------------------------------
// Not XML? Redirect them back to the topic
//-----------------------------------------



Sonrasına Ekle :


CODE
$this->ipsclass->MSLe->tb_prase_trackback($this->post,$this->topic);



./sources/classes/post/class_post_new.php Dosyasını aç

Bul :


CODE
//-----------------------------------------
// Are we tracking this forum? If so generate some mailies - yay!
//-----------------------------------------

$this->forum_tracker ( $this->forum ['id'], $this->topic ['tid'], $this->topic ['title'], $this->forum ['name'], $this->post ['post'] );


Sonrasına Ekle :


CODE
$this->ipsclass->MSLe->tb_prase_trackback ( $this->post, $this->topic );



./sources/classes/post/class_post_reply.php dosyasını açın

Bul :


CODE
//-----------------------------------------
// Check for subscribed topics
// XXPass on the previous last post time of the topic
// 12.26.2007 - we want to send email if the new post was
// made after the member's last visit...which should be
// last_activity minus session expiration
// to see if we need to send emails out
//-----------------------------------------

$this->topic_tracker ( $this->topic ['tid'], $this->post ['post'], $poster_name, time () - $this->ipsclass->vars ['session_expiration'] );



Sonrasına Ekle :


CODE
$this->ipsclass->MSLe->tb_prase_trackback ( $this->post, $this->topic );



Eğer blog kullanırsanız Bloğunuz içinde aşağıdaki değişiklikleri yapabilirsiniz.

./sources/components_public/blog/lib/lib_blogfunctions.php dosyasını açın

Bul :



$html = $this->ipsclass->compiled_templates['skin_blog_global']->blog_wrapper( $html, $output_array['TITLE'], $inline_settings );

CODE
//-----------------------------------------
// Parse EXEC commands in wrapper only
//-----------------------------------------



Öncesine ekle :


CODE
$output_array = $this->ipsclass->MSLe->modify_output_array ( $output_array );



Bul :


CODE
//-----------------------------------------
     // CSS
     //-----------------------------------------
$css = $this->ipsclass->print->_get_css();



Sonrasına ekle :


CODE
//-----------------------------------------
     // CSS
     //-----------------------------------------
$css = $this->ipsclass->print->_get_css();



Bul :


CODE
if ($this->ipsclass->vars['disable_gzip'] != 1)
{
    $buffer = ob_get_contents();
    ob_end_clean();
    ob_start('ob_gzhandler');
    print $buffer;
}

$this->ipsclass->print->do_headers();



Sonrasına ekle :


CODE
$html = $this->ipsclass->MSLe->modify_output ( $html );




Dosya içerisinde yapılacak değişiklikler bu kadar.Bütün dosyaları kaydedip ftpye olduğu yere gönderin.Şimdi Diğer aşamalara geçelim.

Şimdi kullandığımız temayı düzenlememiz gerekiyor.
Admin panelinden Look&feel kısmına girin.
Varsayılan temanızın seçeneklerden Edit Template HTML kısmına girin.Panel açıldığında üst tarafta arama kısmı göreceksiniz.Düzenlemek istediğimiz kısmın adını yazarak kısayoldan ulaşabilirsiniz.

skin_forum > PageTop açın

Bul :

CODE
<td class='nopad' style='padding:0px 0px 5px 0px' align="right" nowrap="nowrap">


Sonrasına Ekle :

CODE
<!--MSEO.Bookmarklet-->


Kaydedin.

skin_topic > topic_page_top açın

Bul :


CODE
<!--IBF.TOPIC_REPLY-->



Öncesine Ekle :

CODE
<!--MSEO.Bookmarklet-->


Kaydedin.

skin_topic > TableFooter açın

Bul :

CODE
<!--IBF.QUICK_REPLY_OPEN-->


Sonrasına ekle :

CODE
<!--MSEO.Trackback-->


Kaydedin.

skin_global > global_board_footer açın

Bul :

CODE
<a href="lofiversion/index.php<% LOFIVERSION %>"><b>{$this->ipsclass->lang['global_lofi']}</b></a>



Öncesine ekle :


CODE
| <!--MSEO.COPYRIGHT-->



Kaydedin.

Şimdi geldi kuruluma.Admin paneline girin.Üst taraftaki sekmelerden Admin'e tıklayın.Sonra components > universal Mod installer > Manage mod installer e tıklayın.
Minerva Seo 'yu göreceksiniz.Yan tarafındaki seçeneklerden Install 'a tıklayın.Sonrasında otomatik olarak kurulum işlemi devam edecektir.
Şimdi gelelim ayarlara.Eklentinin ayalarına Tool&Settings kısmından ulaşabilirsiniz.Minerva ile ilgili ayarları kendinize göre şekillendirebilirsiniz.
Düzenlediğinizi dosyaları ftpye gönderin.
Upload klasörünün içeriğini ana dizine gönderin.
Tek bir işlem kaldı. .htaccess dosyasını düzenlemek.
Admincp de Admin sekmesine tıklayın.Sol tarafın alt kısmında minerva bloğunu göreceksiniz.Buradan robots.txt & .htaccess' e girin.
Açılan sayfada sarı kutu içerisinde forumunuz için oluşturulmuş .htaccess içeriği göreceksiniz.Bu kutu içindekileri kopyalayıp, hemen altındaki ana dizinde bulunan .htaccess dosyasının içeriğini gösteren yere yapıştırın.Kaydedin.
Minerva seo hazır icon_smile.gif
Umarım faydalı Olur.