1/3
XenForo’da Canonical Sorunu Nasıl Çözülür?
Sorunun özeti
XenForo’da canonical sorunu genelde şu sebeplerden çıkıyor:
- Yanlış URL yapısı / birden fazla URL’den aynı sayfaya erişim (www / non-www, http / https, index.php, parametreler vs.)
- Yanlış veya eksik canonical eklentisi/kodu
- SEO eklentileri (örn. SEO addon’ları, AMP eklentileri) ile XenForo’nun kendi canonical’ının çakışması
- Yanlış yapılandırılmış
boardUrl
Aşağıda, adım adım en sık görülen canonical problemlerinin nasıl çözüleceğini anlatıyorum.
1. XenForo’nun Kendi Canonical Mantığını Anlamak
XenForo zaten her sayfada kendi canonical etiketini otomatik üretiyor. Yani normal şartlarda ek bir canonical kodu yazmana veya eklentiye gerek yok.
Örnek bir konu sayfasında kaynak kodda şuna benzer bir şey görmelisin:
HTML:
<link rel="canonical" href="https://www.siteadresi.com/konu/ornek-konu.1234/">
Eğer:
- Bu etiket hiç yoksa
- Birden fazla canonical etiketi varsa
- URL içinde gereksiz parametreler taşıyorsa
2.
boardUrl Ayarını Doğru YapXenForo’da canonical’ın temel referansı
boardUrl ayarıdır.- AdminCP → Ayarlar → Temel ayarlar
- “Board URL” / “Forum URL” alanına:
Örneğin sadece bir biçimi girmelisin:
- Doğru:
https://www.siteadresi.com - Yanlış:
http://siteadresi.com,https://siteadresi.com/index.php, slash eksik / fazla, karışık kullanım
Dikkat:
- Kullandığın URL ile sitenin gerçekten açıldığı URL bire bir aynı olmalı (www’li mi, www’siz mi, http mi, https mi).
- Tarayıcıda siteye gir, adres çubuğunda son kalan halini kopyala ve aynısını
boardUrlolarak kullan.
3. www / non-www ve http / https Yönlendirmesini Düzelt
Canonical düzgün çalışsa bile, aynı sayfa 2-4 farklı URL’den açılıyorsa Google’da canonical karmaşası çıkar.
Örneğin:
- Salesforce: Das führende CRM mit KI
- Agentforce 360 Platform (Formerly Salesforce Platform)
- Salesforce: Das führende CRM mit KI
- Agentforce 360 Platform (Formerly Salesforce Platform)
Çözüm: Sunucu tarafında tek bir sürüme zorunlu 301 yönlendirme ayarlamak.
Örnek (Apache,
.htaccess):
Kod:
RewriteEngine On
# Tüm http isteklerini https'e yönlendir
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.siteadresi.com/$1 [L,R=301]
# www'siz geleni www'ye yönlendir
RewriteCond %{HTTP_HOST} !^www\.siteadresi\.com$ [NC]
RewriteRule ^(.*)$ https://www.siteadresi.com/$1 [L,R=301]
Not:
Sunucun Apache değilse (Nginx, LiteSpeed vs.) aynı mantığı konfig’e uygulaman lazım. Mantık hep şu:
Seçtiğin ana domain biçimi dışında gelen her şeyi 301 ile ona yönlendir.
4. SEO / Canonical Eklentilerini Kontrol Et
Bazı XenForo eklentileri kendi canonical etiketini basıyor veya varsayılan canonical’ı değiştiriyor.
Şunlara bak:
- SEO amaçlı kurduğun eklentiler (title/meta düzenleyiciler, AMP, URL temizleyiciler vs.)
- Özel tema içinde header,
PAGE_CONTAINERtemplate’inde eklediğin manual<link rel="canonical"...>kodları
Yapılacaklar:
- Tüm SEO/Canonical ile ilgili eklentileri geçici olarak devre dışı bırak.
- Varsa temada manuel eklediğin canonical kodlarını kaldır.
- Sadece XenForo core ile sayfayı açıp kaynak koda bak: Tek bir canonical etiketi var mı ve doğru URL’yi gösteriyor mu?
Eğer core tek başına düzgün çalışıyorsa, sorun büyük ihtimalle kullandığın eklentidedir. Hangi eklentinin bozduğunu tespit edip ya ayarını düzeltmek ya da tamamen kaldırmak gerekir.
5. URL Parametreleri ve Duplicate Sayfalar
Bazı sayfalara şu tür parametrelerle erişilebiliyor:
?page=2?order=xxx?direction=xxx?utm_source=...
XenForo genelde kendi mantığında canonical ile “temel URL”yi işaret eder ama:
- Sayfalama (
page) canonical’da kalabilir (bu normaldir, her sayfanın kendi canonical’ı olur). - Filtreleme/sıralama parametreleri canonical’a yansıyorsa, aynı içeriğin birden çok canonical varyasyonu oluşur.
Burada yapılacaklar:
- Kendi eklediğin link yapılarında gereksiz parametreleri azalt.
- Analytics / reklam etiketlerinde
utmvb. parametreli linkleri mümkün olduğunca dışarıda kullan; site içi linklerde temiz URL tercih et.
6. Özel Sayfalar ve Add-on’lar İçin Canonical
Kendi addon’unu yazdıysan veya özel route’lar kullanıyorsan, ilgili controller’da canonical’ın düzgün set edildiğinden emin olman gerekiyor.
XenForo 2 örneği:
PHP:
public function actionIndex(ParameterBag $params)
{
$reply = parent::actionIndex($params);
$this->setCanonicalUrl(
$this->buildLink('threads', $thread)
);
return $reply;
}
Özetle:
- Her sayfanın 1 adet canonical’ı olmalı.
- Canonical mutlaka kendi temiz, kalıcı URL’ni göstermeli.
7. Google Search Console Tarafını Temizlemek
Teknik düzeltmeleri yaptıktan sonra:
- Search Console → “Sayfalar” raporundan canonical ile ilgili uyarılara bak.
- “Google tarafından seçilen canonical” ile “Etiketli canonical” alanlarını karşılaştır.
- Artık düzelmiş URL’ler için URL Denetleme → Dizin’e gönder diyerek yeniden tarama isteğinde bulun.
Sonuç
XenForo’da canonical sorununun kökü genelde:
- Yanlış
boardUrl - Eksik/yanlış yönlendirme (www/http/https)
- SEO / canonical eklentilerinin çakışması
- Manuel eklenmiş ikinci bir canonical etiketi
Bu dört noktayı temizlediğinde, XenForo’nun kendi otomatik canonical sistemi çoğu durumda yeterli ve düzgün çalışır.