1/3
XenForo Hızlandırma Teknikleri nelerdir?
Sorunun özeti
XenForo’yu hızlandırmak için hem sunucu tarafında hem de XenForo ayarları / eklentiler tarafında yapabileceğin bir sürü optimizasyon var. Aşağıda pratik ve doğrudan uygulanabilir olanları özetliyorum.
1. Sunucu ve PHP / MySQL Optimizasyonu
- PHP versiyonu:
Mümkünse PHP 8.1 veya 8.2 kullan. Eski sürümler hem yavaş, hem de güvenlik ve performans olarak geride.
- OPcache aktif olsun:
PHP’deopcachemutlaka açık olmalı. Paylaşımlı hosting’de çoğu zaman panelden açılabiliyor, VPS / dedicated kullanıyorsanphp.iniüzerinden aktif et.
- MySQL/MariaDB ayarları:
Özellikle büyük forumlarda:innodb_buffer_pool_size(RAM’ine göre artır)query_cachekullanma (yeni sürümlerde zaten yok)- Yeterli
max_connectionsvetmp_table_sizeayarla
- HTTP/2 ve HTTP/3 (QUIC):
NGINX veya LiteSpeed + Cloudflare gibi çözümlerle HTTP/2 ve mümkünse HTTP/3 aktif olduğundan emin ol.
- PHP-FPM / LSAPI kullan:
Apache mod_php yerine PHP-FPM veya LiteSpeed kullanmak ciddi performans farkı yaratır.
2. Cache (Önbellekleme) Kullanımı
- XenForo cache backend:
Eğer VPS / dedicated sunucu kullanıyorsan:- Redis
- Memcached
src/config.phpiçine örnek Redis yapılandırması (fikri olsun diye, kendi ayarlarına göre düzenlenir):
PHP:$config['cache']['enabled'] = true; $config['cache']['backend'] = 'Redis'; $config['cache']['config'] = [ 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', 'database' => 0 ]; - Basit cache (paylaşımlı hosting):
Paylaşımlı hosting’de en azındanFile cachekullan. XenForo admin panelinden “Gelişmiş yapılandırma” bölümündeki cache dokümantasyonuna göre ayarlayabilirsin.
- Opcode cache + Object cache:
OPcache (opcode) + Redis/Memcached (object cache) kombinasyonu, özellikle çevrimiçi kullanıcı sayısı yükseldikçe farkını çok net gösterir.
3. XenForo İç Ayarları
- “Gelişmiş yapılandırma” ayarları (AdminCP → Options):
- “Debug” modu kapalı olsun.
- İstatistik veya loglama seçeneklerini aşırıya kaçmadan kullan.
- Eklenti (add-on) temizliği:
- Kullanmadığın eklentileri devre dışı bırak veya tamamen kaldır.
- Özellikle her açılışta sorgu çalıştıran, istatistik tutan, her sayfaya ekstra sorgu ekleyen eklentiler yavaşlatır.
- Gereksiz istatistik / sayaçlar:
Anasayfada çevrimiçi kullanıcı, istatistik, etiket bulutu vb. çok detay yükleme performansı düşürür. Zorunlu olmayanları kapat.
- Kullanıcı avatar / imza:
İmzaları ve büyük avatarları sınırlamak hem sayfa boyutunu hem de istek sayısını azaltır.
4. CDN, Resim ve Statik Dosya Optimizasyonu
- CDN kullanımı:
Cloudflare veya benzeri bir CDN ile:- JS / CSS / resimleri CDN üzerinden sun
- HTTP/2 push / HTTP/3 avantajlarını kullan
- Resim optimizasyonu:
- JPEG/WEBP kullan
- Maksimum yükleme boyutunu makul seviyede tut
- XenForo 2.2+ sürümlerde image optimizer (ImageMagick / cwebp) varsa aktif olsun
- CSS / JS birleştirme ve minify:
XenForo zaten belli ölçüde optimize ediyor ama:- Tema içine eklediğin özel JS/CSS dosyalarını da minify et
- Aşırı harici font (Google Fonts vs.) kullanmaktan kaçın
5. Tema ve Frontend Tarafı
- Ağır temalardan kaçın:
Gereksiz animasyon, büyük JS kütüphaneleri, 10 farklı font vs. performansa zarar verir.
- Lazy load:
Resimler ve embed içerikler için “lazy load” kullan. XenForo 2’de yerleşik lazy load desteği var, ayrıca ekstra JS ile abartmaya gerek yok.
- Reklam yerleşimi:
Çok sayıda reklam kodu, özellikle de bloklayıcıya yakalanan script’ler siteyi yavaş hissettirir.
Google AdSense kullanıyorsan:- Otomatik reklamları dikkatli kullan
- Çok fazla reklam ünitesi ekleme
6. Veritabanı ve Bakım İşlemleri
- Index ve tablo bakımı:
- Büyük log tablolarını (örn. eski arama logları, eski istatistikler) düzenli temizle
- MySQL’de
OPTIMIZE TABLEkomutunu periyodik çalıştır (bakım esnasında, yoğun trafikte değil)
- Arama sistemi:
XenForo varsayılan MySQL araması yerine:- Elasticsearch
- OpenSearch
7. Ölçüm ve Test
- DevTools (Chrome) ile izle:
Network sekmesinde:- Time to First Byte (TTFB)
- Toplam istek sayısı
- Toplam sayfa boyutu
- Lighthouse / PageSpeed Insights:
Özellikle:- First Contentful Paint (FCP)
- Largest Contentful Paint (LCP)
- Total Blocking Time (TBT)
- Yük testi:
Gerçekçi olmak şartıyla küçük çaplı load test (kısa süreli, abartmadan) ile yüksek çevrimiçi kullanıcı sayısında sunucunun verdiği tepkiyi görebilirsin.
Kısa Özet
- PHP’yi güncel tut, OPcache ve mümkünse Redis/Memcached kullan.
- CDN (Cloudflare vb.) ile statik dosyaları hızlandır.
- Gereksiz eklentileri ve ağır temaları temizle.
- Resim ve reklam yükünü azalt, lazy load kullan.
- Veritabanını ve arama sistemini büyük forumlar için optimize et.
- Yaptığın her değişikliği ölçüm araçlarıyla test ederek ilerle.