
bbPress; basit, hızlı, sade görünümlü, kullanışlı, eklenti çeşitliliği/bolluğu, SEO bakımından gelişmiş ve GPL lisansına sahip hazır forum içerik yönetim sistemidir. WordPress ile daima entegrasyonlu çalışması daha çok wordpress kullanıcıları tarafından kullanılmasına yol açıyor. Tabiki bbPress’i, sadece siteleri wordpress olanlar kullanmıyor. bbPress’i genel olarak sadeliliği, hızlılığı sevenler ve bilgiyi kullanıcıya kısa yoldan ulaştırmaya çalışanlar tercih ediyor. bbPress ücretsiz ve içerik yönetim sistemi olduğu için Google bbPress alt yapısına sahip sitelere değer veriyor. bbPress SEO bakımından tüm gözlerin üzerinde olan bir sistemdir. bbPress SEO’sunda Kalıcı Bağlantı (Permalink) Yapısı çok önemli rol oynuyor. bbPress kurulumuyla beraber hazır gelen üç çeşit kalıcı bağlantı yapısı vardır. Bu kalıcı bağlantı yapıları Yönetim Paneli >> Ayarlar bölümünde yer alıyor. Aşağıdaki resimde, bbPress kurulumuyla gelen üç çeşit kalıcı bağlantı yapılarını görebilirsiniz.

Arkadaşlar bbPress sitelerinize kalıcı bağlantı yapılarını uygulamak için şu adımları takip edin.
Options +MultiViewsBu işlemleri doğru ve düzgün bir biçimde gerçekleştirdiysek seçmiş olduğunuz kalıcı bağlantı yapısı bbPress sitenizde başarıyla çalışacaktır. Yalnız yukarıdaki kalıcı bağlantı yapıları biraz basit. Google isim tabanlı kalıcı bağlantı yapılarını daha çok seviyor. Onun için birçok forum sitesi isim tabanlı kalıcı bağlantı yapısını sitesine tam anlamıyla uygulayabilmek için hertürlü çabayı gösteriyor. Ama biz bunu bbPress’te basitçe yapabileceğiz. Yukarıdaki resimde de görmüş olduğunuz gibi bbPress sitemize isim tabanlı kalıcı bağlantı yapısını uygularsak sitemizin kalıcı bağlantıları şu halde olacaktır.
Forumdaki Arabalar kategorisi için kalıcı bağlantı
site.com/forums/arabalar
Forumdaki Arabalar kategori içersinde yer alan Renault başlıklı yazı için kalıcı bağlantı
site.com/topics/renault
Bizde yukarıda görmüş olduğunuz bbPress isim tabanlı kalıcı bağlantı yapısını düzenleyip, geliştireceğiz. Birçok kişinin uğraşarak yaptığı isim tabanlı kalıcı bağlantı yapısını basitçe yapacağız. Birazdan yapacağımız bbPress isim tabanlı kalıcı bağlantı yapısı aşağıdaki gibidir.
Forumdaki Arabalar kategorisi için kalıcı bağlantı
site.com/arabalar
Forumdaki Arabalar kategori içersinde yer alan Renault başlıklı yazı için kalıcı bağlantı
site.com/arabalar/renault
Şimdi yapacağımız bbPress isim tabanlı kalıcı bağlantı yapısını yukarıda gördük. Hemen sitemize uygulamaya başlayalım.
Arkadaşlar öncelikle bb-include/template-functions.php dosyasında ?> kodunu bulup hemen üstüne aşağıdaki kodları ekliyoruz.
function my_get_forum_link_filter( $link , $forum_id = 0 ) {
$forum = get_forum( get_forum_id( $forum_id ));
$rewrite = bb_get_option( 'mod_rewrite' );
if ( $rewrite ) {
$column = ($rewrite === 'slugs')?('forum_slug'):('forum_id');
$link = str_replace('forum/' . $forum->$column , $forum->$column, $link);
}
return $link;
}
add_filter( 'get_forum_link', 'my_get_forum_link_filter' );
function my_get_topic_link_filter( $link, $topic_id = 0) {
$topic = get_topic( get_topic_id( $topic_id ));
$forum = get_forum( get_forum_id( $topic->forum_id ));
$rewrite = bb_get_option( 'mod_rewrite' );
if ( $rewrite ) {
$column = ($rewrite === 'slugs')?('forum_slug'):('forum_id');
$forum_nice_uri = "forum/" . $forum->$column . "/";
$link = str_replace(bb_get_option('uri'), bb_get_option('uri') . $forum_nice_uri, $link);
$link = str_replace('forum/' . $forum->$column , $forum->$column, $link);
$link = str_replace('topic/' . $topic->$column , $topic->$column, $link);
}
return $link;
}
add_filter( 'get_topic_link', 'my_get_topic_link_filter' );
function my_bb_slug_sanitize_filter( $text_slug, $text_original = '', $length = 0 ) {
return preg_replace('/^(my-.*|bb-.*|rss|tags|view|profiles)$/', 'r-', $text_slug);
}
add_filter( 'bb_slug_sanitize', 'my_bb_slug_sanitize_filter' );
Yapacağımız bu adımıda gerçekleştirdikten sonra isim tabanlı kalıcı bağlantı yapısını bbPress sitemize tamamen uygulamış olacağız. Şimdi hemen .htaccess (Dosya içersinde başka kodlarda varsa aşağıdaki kodları .htaccess dosyasının en sonuna ekleyin.) dosyasına aşağıdaki kodları ekliyoruz.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / Options +FollowSymlinks RewriteRule ^tags/([^/]+)/page/([0-9]+)/?$ tags.php?tag=$1&page=$2 [L,QSA] RewriteRule ^tags/([^/]+)/?$ tags.php?tag=$1 [L,QSA] RewriteRule ^tags/?$ tags.php [L,QSA] RewriteRule ^profile/([^/]+)/page/([0-9]+)/?$ profile.php?id=$1&page=$2 [L,QSA] RewriteRule ^profile/([^/]+)/([^/]+)/?$ profile.php?id=$1&tab=$2 [L,QSA] RewriteRule ^profile/([^/]+)/([^/]+)/page/([0-9]+)/?$ profile.php?id=$1&tab=$2&page=$3 [L,QSA] RewriteRule ^profile/([^/]+)/?$ profile.php?id=$1 [L,QSA] RewriteRule ^view/([^/]+)/page/([0-9]+)/?$ view.php?view=$1&page=$2 [L,QSA] RewriteRule ^view/([^/]+)/?$ view.php?view=$1 [L,QSA] RewriteRule ^rss/?$ rss.php [L,QSA] RewriteRule ^rss/forum/([^/]+)/?$ rss.php?forum=$1 [L,QSA] RewriteRule ^rss/topic/([^/]+)/?$ rss.php?topic=$1 [L,QSA] RewriteRule ^rss/tags/([^/]+)/?$ rss.php?tag=$1 [L,QSA] RewriteRule ^rss/profile/([^/]+)/?$ rss.php?profile=$1 [L,QSA] RewriteRule ^([^.]+)/([^.]+)/page/([0-9]+)/?$ topic.php?id=$2&page=$3 [L,QSA] RewriteRule ^([^/.]+)/([^.]+)/?$ topic.php?id=$2 [L,QSA] RewriteRule ^([^/.]+)/page/([0-9]+)/?$ forum.php?id=$1&page=$2 [L,QSA] RewriteRule ^([^/.]+)/?$ forum.php?id=$1 [L,QSA] </IfModule>
Önemli Not: Arkadaşlar uygulamayı sitenize uygularken birtakım sorunlarla karşılaştıysanız lütfen yorum olarak sorunu ve gerçekleştirdiğiniz adımları yazın. Elimden geldiğince sorunlarınızı çözümlemeye çalışacağım.
Çok iyi bir makale olmuş elinize sağlık.
İbrahim çok güzel yazı yazmışsın emeğine sağlık.
Teşekkürler backdoor :)
ben kalıcı bağlantı ypatım ama öbür sayfalarım 404 hatsaı verdi bende eski ayarıma dönmek zorunda kaldım ne yapmalıyım
Malesef buradan size net bir yanıt veremeyiz çünkü elde sağlam bir hata mesajı yok. Bu konuyu bilen, size zaman ayırabilecek birilerinden veya forumlardan yardım alabilirsiniz
Merhaba
Benim ana dizinimde wordpress, forum subdomainimde ise bbpress var. Ben en üstteki kalıcı bağlantısını kullanmak istiyorum. Bunun için htaccess dosyasına eklemem gereken ufak bir kod vermişsiniz. Acaba bu anadizindeki (WordPress yanında olan) htaccess dosyasınamı ekleyeceğim. Yoksa forum subdomainine bir htaccess dosyası olusturup yazacağım. Çünkü subdomainde öyle bir dosya yok.
Teşekkürler. İyi çalışmalar.
Konu hakkında uzman değilim ancak sanıyorum subdomaine ait olan klasörün htaccess’ine ekleyeceksinixz.
Tesekkurler, Dediklerini aynen yaptim ve istedigim sonucu aldim. Yalniz bbpres admin sayfama giremiyorum. Girmek istedigimde yine forumun ana sayfasi geliyor. Yukarida yazdiklarini forum.siteadi.com seklinde subdomaine uyguladim.
isim tabanlı adresin uygulanabilmesi için hostun linux olması gerektiğini duymuştum, acaba bu yönetemi windows host larada uygulayabilir miyiz?
Serverınızın tabanı ile alakalı bir durum sözkonusu. İnternette kısa bir araştırma yaparsanız detaylı bilgilere ulaşabilirsiniz.
Ellerinize Sağlık…
Anlaşılır ve Yeterli olmuş.Nitekim aradağımız buldum
ellerinize sağlık süper olmus bayaa işimi gördü :) Allah razı olsun.
Güzel yazı teşekkürler.
Arkadaşlar wordpress siteme bbpress entegre etiim ama admin paneline giremiyorum acaba bu bağlantılarla ilgili olabilirmi yardımcı olursanız çok sevinirim :)