Paylaşımlı Hostingde JekCMS: Gerçekçi Performans Rehberi

Paylaşımlı hosting, doğru yapılandırıldığında günde 5.000'in altında ziyaret alan JekCMS siteleri için gayet yeterlidir. Varsayılan ayarlar VPS ortamları gözetilerek tasarlanmıştır ve çoğu paylaşımlı planda zaman aşımlarına yol açar. Bu rehber, yavaş bir site ile hızlı bir site arasındaki farkı yaratan php.ini değerlerini, .htaccess kurallarını ve veritabanı ayarlarını ayrıntılarıyla ele alıyor.

Paylaşımlı Hostingde JekCMS: Gerçekçi Performans Rehberi

Paylaşımlı hosting, doğru yapılandırıldığında günde 5.000'in altında ziyaret alan JekCMS siteleri için gayet yeterlidir. Varsayılan ayarlar VPS ortamları gözetilerek tasarlanmıştır ve çoğu paylaşımlı planda zaman aşımlarına yol açar. Bu rehber, yavaş bir site ile hızlı bir site arasındaki farkı yaratan php.ini değerlerini, .htaccess kurallarını ve veritabanı ayarlarını ayrıntılarıyla ele alıyor.

En etkili php.ini değişikliği max_execution_time. JekCMS'in görsel işleme hattı büyük dosyalar için yükleme başına 3–8 saniye sürebiliyor; pek çok paylaşımlı plandaki varsayılan değer 30 saniye, bu tek bir görsel için yeterli ancak toplu yüklemeler için yetmiyor. Bu değeri 90 saniyeye çıkarın. İkinci kritik değer memory_limit: 256 MB pratik minimum, aktif medya işlemleri olan siteler için 512 MB daha güvenli.

OPcache: Sessiz Performans Düşmanı

opcache.memory_consumption en az 128 MB olmalı. Pek çok paylaşımlı hosting kontrol paneli bunu 64 MB olarak yapılandırıyor; bu da sık önbellek geçersizleştirmesine ve çoğunlukla yeniden üretilmesi güç aralıklı yavaş sayfa yüklemelerine yol açıyor. Mevcut kullanımı kontrol etmek için var_dump(opcache_get_status()) çağrısı yapan geçici bir PHP dosyası oluşturun.

Sayfa Önbelleği: Paylaşımlı Hostingdeki En Güçlü Kolunuz

JekCMS ayrı bir uygulama düzeyi sorgu önbelleği çalıştırmaz — tek bir önbellek katmanı vardır ve config/config.php içindeki üç ayarla kontrol edilir: CACHE_ENABLED, PAGE_CACHE_ENABLED ve PAGE_CACHE_LIFETIME (varsayılan 300 saniye). Sayfa önbelleği açıkken, bir ziyaretçinin bir URL'ye ilk isteği tam HTML'i üretir ve diske yazar; TTL süresi dolana kadar sonraki her istek PHP'ye ya da veritabanına hiç dokunmadan doğrudan bu dosyadan sunulur. Her PHP çalıştırmasının ve her MySQL bağlantısının aynı kısıtlı kaynaklar için yarıştığı paylaşımlı hostingde bu, elinizdeki en büyük tek kaldıraçtır — 8-15 sorguluk bir sayfayı sıfır sorguluk bir sayfaya dönüştürür.

Hostunuz hâlâ kendi yerleşik sorgu önbelleği açık eski bir MySQL 5.7 veya MariaDB sürümü çalıştırıyorsa, bununla uğraşmanıza gerek yok. JekCMS'in çakışabileceği ayrı bir sorgu-sonucu önbelleği yok — MySQL'in kendi sorgu önbelleği (MySQL 8.0'da tamamen kaldırıldı) hostun varsayılanında kalabilir.

GZIP ve Tarayıcı Önbelleğini Doğrulama

GZIP sıkıştırma ve tarayıcı önbelleğinin etkin olduğunu şu komutla doğrulayın: curl -H "Accept-Encoding: gzip" -I https://siteniz.com/. Yanıtta Content-Encoding: gzip bulunmalı. Yoksa hostunuz kontrol panelinden mod_deflate etkinleştirilmesini gerektirebilir. GZIP olmadan HTML yanıtları genellikle olması gerekenden 3-5 kat daha büyük oluyor.

Temel php.ini Ayarları Referansı

Çoğu paylaşımlı host, site kökünde yerel bir .user.ini dosyası aracılığıyla php.ini değerlerini geçersiz kılmaya izin verir. Önerilen yapılandırma:

; .user.ini (site kokune yerlestirin)
max_execution_time = 90
memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 48M
max_input_vars = 5000
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60

Bu Değerlerin Nedeni

  • upload_max_filesize = 32M — AVIF dönüşümünden önce yüksek çözünürlüklü fotoğrafları destekler; dönüştürülmüş çıktı genellikle %80-90 daha küçüktür
  • post_max_size = 48M — dosyanın yanındaki form yükü için pay bırakmak üzere upload_max_filesize'dan büyük olmalı
  • max_input_vars = 5000 — yönetim panelinin toplu düzenleyicisi ve meta/kategori/SEO formları gönderi başına onlarca alan gönderebilir; düşük bir varsayılan burada gönderimi sessizce keser
  • opcache.revalidate_freq = 60 — her istekte değil dakikada bir dosya değişikliklerini kontrol eder; birden fazla dosyaya güncelleme dağıttığınızda bu fark yaratır

.htaccess Performans Kuralları

.htaccess dosyası, paylaşımlı hostingde performans kazanımlarının büyük bölümünün geldiği yerdir. JekCMS GZIP ve önbellek başlıklarını içeren varsayılan bir dosya ile gelir, ancak birçok host bunları dağıtım sırasında siler.

<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType image/avif "access plus 1 year"
 ExpiresByType image/webp "access plus 1 year"
 ExpiresByType text/css "access plus 1 year"
 ExpiresByType application/javascript "access plus 1 year"
 ExpiresByType font/woff2 "access plus 1 year"
</IfModule>

Veritabanı Bağlantısı ve Sorgu İzleme

JekCMS istek başına tek bir PDO bağlantısı açar ve tüm sorgular için yeniden kullanır. Tipik bir sayfa yüklemesinde bu, ayrı el sıkışmalar yerine tek bağlantı üzerinden 8-15 sorgu demektir. Hostunuz bir MySQL yavaş sorgu günlüğü sunuyorsa, bir dağıtımdan sonra geçici olarak açın ve 50 ms'yi aşan her şeyi kontrol edin — bu neredeyse her zaman eksik bir indekse işaret eder. En yaygın sorun post_meta aramalarıdır: varsayılan şema post_id ve meta_key'i tek bir bileşik indeks yerine ayrı ayrı indeksler; bunları birleştirmek — ALTER TABLE post_meta ADD INDEX (post_id, meta_key) — zorlanan bir paylaşımlı hosting kurulumunda genellikle en ucuz kazançtır.

Paylaşımlı Hostingde Zamanlanmış Gönderiler ve Cron

Çoğu paylaşımlı host ya hiç cron erişimi sunmaz ya da kontrol panelinde birkaç menü derinliğine gömülür. Onu bulmanıza gerek yok. JekCMS'in zamanlayıcısı — ayrıntısıyla burada — gerçek bir cron'un çalıştığını tespit edemediğinde otomatik olarak ziyaretçi tetiklemeli bir kontrole geçer: bu kontrol 60 saniyede bir ile sınırlıdır ve yalnızca yanıt ziyaretçiye zaten gönderildikten sonra çalışır, bu yüzden hiçbir isteğe fark edilir bir gecikme eklemez. Planınız cron içeriyorsa, onu dakikada bir cron.php'a yönlendirmek en sıkı zamanlama doğruluğunu verir ve ziyaretçi tetiklemeli yedeği otomatik olarak kapatır.

Dosya Yükleme Limitleri ve Medya İşleme

Üç php.ini yönergesi dosya yüklemelerini kontrol eder: upload_max_filesize, post_max_size ve max_file_uploads. Rahat görsel yüklemesi için upload_max_filesize değerini en az 20M olarak ayarlayın. post_max_size değeri upload_max_filesize'dan büyük olmalıdır — 25M öneriyoruz. Gözden kaçırılan max_file_uploads çoğu hostta varsayılan 20'dir ve toplu medya aktarımlarını sınırlar. Toplu içe aktarma veya webhook tabanlı yayın yapan siteler için bunu 50'ye çıkarın.

Paylaşımlı Hostingde Hata Kaydı

Çoğu paylaşımlı host production'da display_errors ayarını devre dışı bırakır, bu doğrudur. Ancak yine de hata kaydına ihtiyacınız var. .user.ini dosyanıza şunları ekleyin:

log_errors = On
error_log = /home/kullanici/logs/php_error.log
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

Bu kayıt dosyasını her dağıtımdan sonra kontrol edin. Paylaşımlı hostingde yaygın sorunlar arasında eksik .env dosyalarından kaynaklanan tanımsız sabit uyarıları ve cache/ dizinindeki izin hataları yer alır. Kayıt dosyası çoğu hostta sınırsız büyür; aylık döndürmek için bir cron görevi ekleyin veya 30 günlük girişlerden eskilerini temizleyin.

SSL ve HTTPS Zorunluluğu

Artık her paylaşımlı hosting planı Let's Encrypt veya AutoSSL ile ücretsiz SSL içeriyor. JekCMS production'da HTTPS zorunlu kılar.

Yönlendirme zincirlerini önlemek için yönlendirme kuralını .htaccess'te erkenden — herhangi bir rewrite kuralından önce — ekleyin. Yaygın bir hata SSL yönlendirmesini sondaki eğik çizgi kuralından sonra yerleştirmektir; bu bir yerine iki ardışık yönlendirmeye neden olur. Doğru sıra: önce SSL yönlendirmesi, sonra www/www'suz normalizasyonu, sonra sondaki eğik çizgi kuralları, sonra uygulama yönlendirmesi.

Hemen Sipariş Verin

Tek seferlik ödeme, ömür boyu erişim. Kurulum 30 dakika.

Fiyatlara Bak
  • 30 dakikada kurulum ve yayın
  • 14+ profesyonel tema
  • n8n otomasyon entegrasyonu
  • Otomatik SEO — Sitemap, Schema.org
  • iyzico ödeme entegrasyonu

Yeniliklerden ilk sen haberdar ol

Yeni özellikler, sürüm notları ve CMS rehberleri — ayda birkaç e-posta, spam yok.