Geçmişten Günümüze Kadar Gelen Forum Siteleri başlıklı yazımızda da belirttiğimiz üzere forum siteleri yavaş yavaş tarihin tozlu rafları arasında kayboluyor. Aslında tam olarak da kayboluyor diyemeyiz çünkü yıllar önce yazılmış mesajlar, hala bir çok konuda bize yardımcı olmaya devam ediyor.
Yazı İçeriği
Bu sitelerde bulunan mesajları, daha güncel içeriklere yönlendirmek için tek tek mesaj düzenlemenin yada görseller hazırlamanın oldukça zahmetli bir iş olduğu çok açık.
Aşağıda bulunan kod aracılığı ile SMF forum sitenizin mesajlarının içinde geçen kelimeleri kolay bir şekilde güncel internet sitelerine link olarak ekleyebilirsiniz. Bu durum hem kullanıcıların güncel içeriklere ulaşmasını kolaylaştıracak, hem de Google SEO açısından güncel internet sitenize katkı sağlayacaktır.
Aşağıda verilen kodlar SMF 2.0.19’da denenmiştir.
1. Subs.php Dosyasına Fonksiyon Ekleme
SMF kurulum dizininize gidin ve Sources/Subs.php
dosyasını açın. Dosyanın uygun bir yerine aşağıdaki fonksiyonu ekleyin:
function replace_keywords_with_links($message)
{
// Kelime ve linklerin listesi
$keywords = array(
'example' => 'http://example.com',
'SMF' => 'http://www.simplemachines.org',
// Diğer kelime ve linkler buraya eklenebilir
);
// Her kelime için değiştirme işlemi yap
foreach ($keywords as $keyword => $url) {
$link = '<a href="' . $url . '" rel="dofollow">' . $keyword . '</a>';
$message = str_replace($keyword, $link, $message);
}
return $message;
}
2. Display.php Dosyasını Düzenleme
SMF kurulum dizininize gidin ve Sources/Display.php
dosyasını açın. prepareDisplayContext
fonksiyonunu bulun ve aşağıdaki şekilde düzenleyin:
// Bu satırları bulun:
$message['body'] = censorText($message['body']);
$message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']);
// Ve şu satırı ekleyin:
$message['body'] = replace_keywords_with_links($message['body']);
3. Settings.php Dosyasına Entegrasyon Ekleme (Gerekirse)
Eğer yukarıdaki yöntemle entegrasyon çalışmazsa, Settings.php
dosyasına bu entegrasyonun yüklenmesini sağlamak için bir entegrasyon fonksiyonu ekleyebilirsiniz:
SMF kurulum dizininize gidin ve Settings.php
dosyasını açın. Dosyanın uygun bir yerine aşağıdaki kodu ekleyin:
if (file_exists($sourcedir . '/Subs.php'))
add_integration_function('integrate_pre_include', '$sourcedir/Subs.php', true);