1/3
XenForo URL Yapısı Nasıl Düzenlenir?
Sorunun özeti
XenForo’da URL yapısını (güzel URL’ler / SEO dostu linkler) ve yol desenlerini nasıl düzenleyebileceğini soruyorsun. Bunu iki ana yerde yapabiliyorsun:
- Admin panelden – Temel SEO dostu URL ayarı
- Route / Friendly URL yapısını özelleştirerek – gelişmiş seviye
Aşağıda adım adım gidelim.
1. Temel: SEO Dostu URL’leri Açmak
Bu, klasik
index.php?threads/konu.1/ yerine /threads/konu.1/ gibi URL’ler kullanmanı sağlar.- AdminCP’ye gir:
[b]Yönetici Kontrol Paneli[/b] - Ayarlar (Setup) > Options > Basic board information (veya URL/SEO ile ilgili Basic config bölümü)
- “Use full friendly URLs” veya benzeri seçeneği Etkin yap.
- Kaydet.
Buradan önce sunucu tarafını da hazırlaman gerekiyor:
Apache kullanıyorsan:
XenForo’nun ana dizinindeki
.htaccess dosyasının aktif olduğundan emin ol. Genelde XenForo, beraberinde hazır .htaccess getirir. İçinde aşağıdakine benzer bir bölüm olmalı:
Kod:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
Nginx kullanıyorsan:
Server blok içinde XenForo dokümantasyonundaki benzer rewrite kuralını eklemen gerekiyor, örnek:
NGINX:
location / {
try_files $uri $uri/ /index.php?$uri&$args;
}
Bu işlemden sonra URL’lerin
/threads/, /forums/ gibi okunabilir hale gelir.2. URL Öneklerini / Dizaynını Değiştirmek (Gelişmiş)
“threads” yerine “konu”, “forums” yerine “kategori” gibi Türkçe URL kullanmak istersen, route’lar ile oynaman gerekiyor. Burası riskli; yanlış düzenleme siteni bozabilir, o yüzden önce mutlaka yedek al.
Mantık:
XenForo’da her URL tipi bir “route” ile tanımlıdır. Route prefix ve handler sınıfı üzerinden çalışır. Örneğin:
/threads/→XF:Threadroute’u/forums/→XF:Forumroute’u
Bu route’ları normalde addons üzerinden genişletmek önerilir. Çekirdeği doğrudan editlemek yerine küçük bir eklenti ile Türkçeleştirmen daha sağlıklı olur.
Örnek çalışma mantığı (basitleştirilmiş):
PHP:
namespace Your\AddOn;
class Listener
{
public static function appSetup(\XF\App $app)
{
$router = $app->router('public');
// "threads" route'unu "konu" ile eşle
$router->addRoute('public', 'konu', 'XF:Thread');
}
}
Bu şekilde
/konu/başlık.1/ gibi URL’ler kullanabilirsin. Tabii bu sadece kaba bir örnek; gerçek kullanımda:- Add-on XML’i oluşturman
- Listener (event) tanımlaman
- Route’ların çakışmamasına dikkat etmen
gerekir.
3. Eski URL’ler ve 301 Yönlendirme
Herhangi bir URL yapısını değiştiriyorsan (özellikle canlı sitede):
- Eski URL → Yeni URL için 301 redirect kur
- Aksi durumda organik trafikte 404 artışı ve sıralama kaybı yaşarsın.
Bunu:
- Apache’de
.htaccess - Nginx’te
rewriteveyareturn 301 - Veya eklenti (SEO/redirect add-on) ile
şeklinde yapabilirsin.
4. Basit Öneri: Ne Kadar Az Değişiklik, O Kadar İyi
SEO açısından XenForo’nun varsayılan friendly URL sistemi zaten oldukça temiz:
- Alanadı + /threads/konu-basligi.123/
- Alanadı + /forums/forum-adi.45/
Tamamen zorunlu değilsen “threads → konu” gibi mikro değişiklikler için tüm route yapısını bozmak genelde değmez. En kritik olan şey:
- Friendly URL açık olsun
- Başlıklar anlamlı ve Türkçe/anahtar kelimeli olsun
- URL’ler stabil kalsın (sık sık değişmesin)
Kısa Özet
- SEO dostu URL: AdminCP’den “friendly URL”yi aç, sunucuda rewrite kurallarını aktif et.
- URL yapısını Türkçeleştirmek / kökten değiştirmek: Route sistemi üzerinden (mümkünse bir eklenti ile) çalış; riskli ve ileri seviye.
- Değişiklik yaparsan: Eski URL → Yeni URL için 301 yönlendirme kur.
- SEO için en önemlisi: Temiz, stabil ve anlamlı URL kullan; gereksiz radikal değişikliklerden kaçın.