Bana en sık gelen sorulardan biri şu: "Sitemi WordPress'te mi yaptıralım, yoksa sıfırdan özel yazılım mı?" Cevabı verirken önce projeyi dinlemem gerekiyor, çünkü ikisi de iyi seçim olabilir ya da ikisi de yanlış olabilir. İşe göre değişiyor.
Ben yıllardır hem WordPress ve WooCommerce tarafında hem de PHP, Laravel ve React ile özel panel tarafında çalışıyorum. Yani birini satmak için diğerini kötülemem. Bu yazıda gerçek proje türleri üzerinden ne zaman hangisini önerdiğimi, karar verirken kendime hangi soruları sorduğumu anlatacağım.
İkisi aynı işi yapmıyor
WordPress bir içerik yönetim sistemi. Temeli sayfa, yazı, ürün gibi içerikleri yönetmek üzerine kurulu. Hazır tema ve eklenti ekosistemi sayesinde birçok işi kod yazmadan ya da az kodla halledebiliyorsun. WooCommerce de bunun üstüne oturan, olgunlaşmış bir e-ticaret katmanı.
Laravel ise bir PHP framework'ü. Yani hazır bir site değil, üstüne istediğin uygulamayı yazdığın bir iskelet. React'i de genelde bu tarafta, özel arayüzler ve dashboard'lar için kullanıyorum. Burada her şeyi sen kuruyorsun; bu hem özgürlük hem de sorumluluk demek.
Bu ayrımı en baştan koymak önemli, çünkü çoğu yanlış karar "WordPress her şeyi yapar" ya da "özel yazılım her zaman daha iyidir" gibi yarım doğrulardan çıkıyor.
İçerik ve standart e-ticaret ağırlıklıysa WordPress
Kurumsal tanıtım siteleri, blog ağırlıklı yayınlar, hizmet siteleri ve alışılmış akışa sahip e-ticaretlerde ben genelde WordPress ya da WooCommerce tarafına yöneliyorum. Sebebi basit: bu işlerin çoğu zaten çözülmüş problemler. Ürün ekleme, sepet, kampanya, blog, iletişim formu... Bunlar için tekerleği yeniden icat etmenin bir anlamı yok.
Bir de hız faktörü var. Müşteri iki hafta içinde yayında olmak istiyorsa ve bütçesi net bir sınırdaysa, WordPress ile aynı işi çok daha çabuk ayağa kaldırabiliyorum. Müşteri de içeriği kendi güncelleyebiliyor, bana her küçük değişiklik için gelmesi gerekmiyor. Bu, uzun vadede onların lehine.
Ama dürüst olayım: WordPress'in bedavaya gelen kolaylığının bir faturası var. Eklenti üstüne eklenti yığınca site yavaşlıyor, güvenlik yüzeyi büyüyor ve düzenli güncelleme bakımı istiyor. Standart olmayan bir iş akışını WordPress'e zorla oturtmaya çalıştığında da iş, temiz bir özel yazılımdan daha çirkin hale gelebiliyor.
- Artıları: hızlı yayına alma, düşük başlangıç maliyeti, müşterinin içeriği kendi yönetebilmesi, olgun eklenti ekosistemi.
- Eksileri: eklenti bağımlılığı, performans ve güvenlik bakımı, standart dışı iş akışlarında zorlanma.
Özel iş akışı ve panel gerekiyorsa Laravel ve React
İş, bir içerik sitesinden çıkıp kendine özgü bir mantık kazanmaya başladığında terazi Laravel tarafına kayıyor. Örneğin çok taraflı bir platform, rol bazlı yetkilendirme gerektiren bir yönetim paneli, kendi hesaplama kurallarına göre çalışan bir dashboard ya da dışarıdaki sistemlerle özel entegrasyonlar.
Doorwin gibi bir platform işini ya da Anlaşmalı Evlilik gibi kendi uygulama mantığı olan bir projeyi düşün. Bunlar "ürün ekle, sepete at" akışına sığmıyor; kullanıcı tipleri, kendi durum makineleri, özel ekranları var. Böyle yerlerde WordPress'i zorlamak yerine Laravel ile veritabanını ve iş kurallarını kendim kurmayı, arayüzü de React ile istediğim gibi tasarlamayı tercih ediyorum.
Bunun bedeli de var tabii. Özel yazılım daha uzun sürüyor, başlangıç maliyeti daha yüksek ve bakımı sana ya da bir ekibe bağlı kalıyor; hazır eklenti kurtarmıyor. Buna karşılık ölçeklenmesi, kontrolü ve uzun vadede üstüne yeni özellik eklemesi çok daha rahat oluyor. Karmaşık bir işi doğru mimariyle kurduğunda, iki yıl sonra bile eklenti çakışmalarıyla değil kendi kodunla uğraşıyorsun.
- Artıları: iş akışına tam uyum, ölçeklenebilirlik, özel entegrasyon ve dashboard esnekliği, teknik kontrolün sende olması.
- Eksileri: daha uzun geliştirme süresi, daha yüksek başlangıç maliyeti, sürekli teknik sahiplik gerektirmesi.
Karar verirken kendime sorduğum sorular
Genelde teknoloji seçimine değil, işin doğasına bakarak başlıyorum. Aşağıdaki sorulara verilen cevaplar terazinin hangi tarafa yatacağını bana çoğu zaman söylüyor. Tek bir soru belirleyici değil; toplama bakıyorum.
- İş standart bir içerik ya da e-ticaret akışına mı benziyor, yoksa kendine özgü kuralları mı var?
- Müşteri içeriği kendi mi yönetmek istiyor, yoksa sürekli değişen özel bir iş mantığı mı söz konusu?
- Ne kadar sürede yayında olması gerekiyor ve bütçenin sınırı nerede?
- İki yıl sonra bu proje büyüyecek mi, üstüne sürekli yeni modül mü gelecek?
- Rol bazlı yetkiler, karmaşık raporlama ya da dış sistem entegrasyonu gerekiyor mu?
- Projeyi kim bakacak; müşteride teknik bir ekip var mı, yoksa her şeyin kolay yönetilebilir olması mı şart?
Bazen ikisi birlikte
Karar her zaman "ya o ya bu" olmak zorunda değil. Bazı projelerde tanıtım ve blog tarafını WordPress'te tutup, asıl uygulamayı Laravel ile ayrı bir yerde kurduğum oluyor. Böylece pazarlama ekibi içeriği rahatça günceller, uygulama tarafı da kendi düzeninde yaşar.
Aynı şekilde bir WooCommerce mağazasının yanına, sipariş sonrası özel bir operasyon paneli gerektiğinde onu Laravel ile yazıp API üzerinden bağladığım da oluyor. Yani soruyu "hangisi daha iyi" diye değil, "bu işin hangi parçası için hangisi doğru" diye sormak çoğu zaman daha isabetli sonuç veriyor.
Son olarak şunu da eklemek isterim: teknoloji seçimi kalıcı bir evlilik değil. Bugün WordPress ile başlayan bir iş, iki yıl sonra büyüdüğünde belli bir modülü Laravel'e taşıyabiliyor. Önemli olan bugünün ihtiyacını gereğinden pahalı ya da gereğinden dar bir çözümle karşılamamak. Ben de bu yüzden karar verirken müşterinin bütçesini, ekibini ve önümüzdeki bir iki yıllık planını birlikte konuşmayı tercih ediyorum.



