İlk başta tam anlayamamıştım yorumları ama araştırınca fark ettim; frontend’de Next.js, Vue.js, Astro gibi teknolojileri kullanıp, backend’i WordPress üzerinden REST API ya da GraphQL ile headless olarak bağlamak oldukça mantıklı ve modern sistemler için zaten tercih edilmesi gereken bir yöntem.
Eğer sistemde üyelik, sepet, sipariş gibi dinamik işlemler varsa, bu tarz bir mimari (örneğin Next.js + WordPress) ya da benzeri alternatif çözümler daha uygun olur. Bu noktada CI/CD ve Git sistemleri, sql sorgularına da cache, Nextjs statik dosyalarında CFCDN Cache gibi işlemler devreye girer tabii. Modern mimari yapılarını düşündüğünde ucu bucağı yok, ihtiyaca göre birçok farklı kombinasyon mümkün.
Benim bu projedeki amacım ise çok daha yalın: WordPress + WooCommerce katalog modunu kullanarak, hem içerik yönetimini hem de ürün düzenlemeyi WordPress panelinden yapmak ve Elementor ile sayfaları istediğim gibi sürükle-bırak mantığıyla tasarlayabilmek.
Zaten Elementor’un sunduğu görsel düzenleme deneyimi ve WooCommerce’in hazır altyapısı hoşuma gittiği için WordPress’i seçtim; bu, kodla uğraşmadan sade ama şık bir site çıkarmamı sağlıyor. Kod yazmaya girerse iş zaten Herhangi PHP Framework Backend REST API & GraphQL + Frontend Framework (Next.js Vue.js vb.) ile yapamayacağın iş yok zaten.
Ancak şöyle düşündüm: ürün ekleme ve siteyi düzenleme dışında dinamiklik ihtiyacım neredeyse sıfır. O hâlde, neden tüm siteyi statik olarak yayınlamayayım? Bu sayede hem WordPress’in sık karşılaştığı 0day, SQL Injection, XML-RPC gibi güvenlik açıklarından etkilenmem hem de veritabanı ve sunucu yükünü tamamen ortadan kaldırmış olurum.
Cloudflare Load Balancer ve Full Page Cache ile tüm site HTML olarak önbelleğe alınabilir, böylece içerik CF CDN üzerinden saniyeler içinde tüm dünyaya yayılır. PHP ya da veritabanı çağrısı yapılmadığı için performans da üst düzeye çıkar.
İşin güzel tarafı, bu yapı WordPress’i adeta bir "lokal CMS"e çeviriyor. Elementor ile istediğim gibi tasarım yapıyor, ürünleri düzenliyor ve ardından statik HTML çıktısını alarak ana domain üzerinden yayınlıyorum. Gerektiğinde değişiklik yapmam için WordPress hala elimde, ama son kullanıcıya statik bir sayfa sunuyorum.
Yorumlarınız ve bakış açınız için teşekkür ederim.