WordPress Çok Yavaş Olduğu İçin Sıfırdan Script Hazırladım 🚀
20 Ocak 2025 - orhan
Elbette donanım olarak WordPress ile kıyaslanamaz ama kendi ihtiyaçlarım doğrultusunda hazırladığımdan, "benim için" WordPress'ten çok daha iyi.
2012 yılından beri WordPress kullanıyorum ve bence bugüne kadar gelmiş geçmiş ve de gelecekteki en iyi CMS. Bu konu tartışmaya bile kapalı. Fakat WordPress genel olarak tüm sektörlere ve kategorilere hitap etmek üzere oluşturulan bir CMS olduğu için çok fazla kaynak kullanıyor. Yani ihtiyacım olan dış kaynak ve özellikten yaklaşık %80 fazlasını kullanmak zorunda kalıyorum bir WordPress kullandığımda.
Bu %80 fazlalık özellikle trafiği fazla olan web sitelerinde beni optimize konusunda çok fazla zorluyor. Ne yaparsam yapayım ne metrik testlerinden ne de kullanıcı deneyiminden 75 puanın üzerine çıkamıyorum. Bu 75 puanda trafik olmadığı ve en iyi cache düzeyinde iken alınabiliyor.
Yüksek trafikli projelerde WordPress'in performans açısından çok zorlayıcı olduğunu son iki yıldır İspanya ve Almanya için hazırlamış olduğum televizyon programı projelerinde yeniden gözlemleme fırsatı buldum. Saatte binlerce ziyaretçi alan bu site sitelerde en iyi cache sistemini ve Bluehost'un en iyi paketlerini kullanmama rağmen iyi bir sonuç alamadım.
Neden WordPress Yetmedi?
Örneğin basit bir blog oluşturmak istiyorum diyelim. Tıpkı şu an bu yazıyı okuduğunuz blog gibi. Bunu WP ile oluştursaydım "18.866 Dosya, 2.437 Klasör" den oluşacaktı (yedeğime baktığım için tam sayıyı kopyaladım).
Fakat kendi hazırladığım bu script 107 dosya 27 klasörden oluşuyor. Bu sayı geliştirdikçe artacaktır ama öyle binler olmayacak. Çünkü yalnızca ihtiyacım olacak şekilde dizayn ettim.
Bu sayede performans açısından inanılmaz bir iyileşme sağladım. Lighthouse, Google Speed Test ve GTmetrix testlerinde 90’ın üzerinde puan alıyorum artık.
Hatta şu an bu yazıyı okuduğunuz blog da tamamen bu script ile çalışıyor. Minimalist bir tasarım sevdiğim için kişisel tercihlerim doğrultusunda sade bir arayüz tercih ettim. Ancak bu script, standart bir CMS’de bulunan içerik yönetimi gibi temel özellikleri sahip. Yani bir WP sitesindeki herhangi bir arayüzü kullanmak mümkün.
Performans raporları
Lighthouse raporu ise şöyle; Şu an geliştirme modu açık olduğu için önbellek sistemini devre dışı bıraktığım halde çok iyi bir sonuç alıyorum.

Aşağıdaki de aynı şartlardaki (aynı sunucu benzer makale içeriği) WordPress kurulu olan blog sayfamın Lighthouse raporu:

(Linkleri de görünür olarak bıraktım ki, isterseniz sizlerde sorgulayabilesiniz diye.)
Scriptin Temel Özellikleri
Elbette WordPress kadar kapsamlı değil. Zaten bu mümkün de değil... Fakat ihtiyacım olan her şey var ve yeni bir şeye ihtiyacım olursa da rahatlıkla ekleyebileceğim modüler bir yapısı var.
Şunlar temel özellikleri;
- İçerik Yönetimi: Yazı ekleme, düzenleme, etiket ve kategori yönetimi, medya yükleme ve yönetimi.
- Kullanıcı Yönetimi: Yeni kullanıcı oluşturma, mevcut kullanıcıları düzenleme, şifre güncelleme vb.
- Admin Dashboard: Sitenin genel analizleri, son eklenen içerikler, toplam içerik sayısı ve öne çıkan yazılar gibi bilgileri hızlıca görme imkanı.
- Modüler Yapı: İhtiyaç duyulan özelliklerin kolayca eklenebilmesini sağlıyor.
- Mobil Uyumluluk: Mobil cihazlarla uyumunu ana konu olarak işledim. Aslında ilk olarak mobil cihazlar için geliştirdim. Hem panel hem de arayüz.
Yazı ekleme sayfası için daha titiz bir yaklaşımda bulundum;
- Yoast SEO eklentisinin özelliklerini referans alarak dahili bir SEO aracı oluşturdum.
- Yazı editörünü dışarıdan çekmedim, onu da sıfırdan dahili olarak oluşturup entegre ettim. Ve inanılmaz derecede özgürüm bu alanda, isteğim yeni bir özelliği kolayca dahil edebileceğim. Şu an için editör sayfasında; başlık, içerik alanı, etiket, kategori, kısa önizleme yazısı, seo başlığı, seo açıklaması, kapak resmi ekleme, kapak resmi için alt metin ve yazar alanları bulunuyor.
Arayüz ve Tema Desteği
Minimal bir tasarımı tercih etsem de, farklı HTML temalarını kolayca entegre edebilecek bir tema sistemi geliştirdim. WordPress kadar esnek bir tema yönetimi sunmasa da, bir kez yapılandırıldığında çok daha hızlı bir kullanıcı deneyimi sağlıyor.
Ekstra Özellikler
En güzel yanlarından biri şu ana kadar dışarıdan hiçbir kaynak çekmiyor oluşum.
- Sabitlenen Makaleler: "sabitlenen.php" adında özel bir sayfa ile öne çıkarılan tüm yazıları listeleyen bir sistem oluşturdum. Öne çıkan makaleler hem anasayfada hem de kategori sayfalarında üstte görünüyor.
- Anasayfada Göster/Gösterme: Bazı eklediğim içeriklerin ana sayfada görünmesini istemiyorum, doğrudan kendi kategorisinde görünsün. İşte bu yüzden herhangi bir içeriğin ana sayfada görünüp görünmeyeceğini tek tıkla belirleyebiliyorum. Aşağıdaki resimde görüldüğü gibi "Göster" sütunundaki ikonlar ile bu durumu kontrol ediyorum.
- Benzersiz Okunma Sayısı: Her makalenin kaç kişi tarafından okunduğunu panelde ilgi yazıda ki "Okunma" sütununda görebileceğim bir alan oluşturdum. Bir kullanıcı içeriğe her tıkladığında değil, 24 saatte bir sayıyor.
- Yine yukarıdaki yazılar panelinde görünen yıldız ikonlarıyla da bir içeriğin ana sayfada ve ilgili kategorisinde en üste sabitlenip sabitlenmeyeceğini belirliyorum.
- Yeni bir içerik eklerken yanlışlıkla sayfadan ayrılma veya sayfayı yenileme riskine karşı bir otomatik kayıt özelliği oluşturdum.
- Litespeed destekli cache özelliği dahil ettim.
Sürekli yenilemeye ve güçlendirmeye devam ediyorum...