Ö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' );
}
define ( 'IPB_THIS_SCRIPT', 'public' );
}
Bul :
CODE
//--------------------------------
// Initialize the forums
//--------------------------------
$ipsclass->forums->strip_invisible = 1;
$ipsclass->forums->forums_init ();
// 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 ();
* 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
//===========================================================================
// 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 );
}
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 );
$output = str_replace ( "<#EMO_DIR#>", $ipsclass->skin ['_emodir'], $output );
Sonrasına ekle :
CODE
#mseo
define ( 'SEO_from_xml', 1 );
$output = $msle->modify_output ( $output );
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 );
$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
}
* 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( "&", "&", $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);
}
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 ( "&", "&", $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 );
}
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;
{
$override = 0;
Sonrasına Ekle:
CODE
/**---------------------------------
* MSL
*--------------------------------*/
define('SEO_is_error',1);
* 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']}" );
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 );
}
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']];
// 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 );
$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 );
// Grab all data...
//-----------------------------------------
$member = $this->personal_function_load_member ( $member_id );
Sonrasına Ekle :
CODE
#mseo
$this->ipsclass->MSLe->check_user ( $member );
$this->ipsclass->MSLe->check_user ( $member );
./sources/action_public/topics.php Dosyasını açın
Bul :
CODE
//-----------------------------------------
// Siggie stuff
//-----------------------------------------
// Siggie stuff
//-----------------------------------------
Öncesine Ekle :
CODE
/**---------------------------------
* MinervaSEO lite;
* we are parsing the post to add acronym automatically
*--------------------------------*/
$row = $this->ipsclass->MSLe->parse_rowpost ( $row );
* 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
//-----------------------------------------
// Error out if we can not find the forum
//-----------------------------------------
Sonrasına Ekle :
CODE
/**---------------------------------
* MINERVASEO
*--------------------------------*/
$this->ipsclass->MSLe->check_topic ( $this->topic );
* 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'];
* 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'];
$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 );
}
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
//-----------------------------------------
// 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'] );
// 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'] );
// 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
//-----------------------------------------
// 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();
// CSS
//-----------------------------------------
$css = $this->ipsclass->print->_get_css();
Sonrasına ekle :
CODE
//-----------------------------------------
// CSS
//-----------------------------------------
$css = $this->ipsclass->print->_get_css();
// 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();
{
$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
Umarım faydalı Olur.