“Bir blog kuracağım” demek kolay, ama nasıl kuracağın çok şey değiştiriyor. Ben bu blogu sıfırdan kurarken birkaç önemli karar verdim. İşte sürecin hikayesi.
Karşılaştığım İlk Sorun: Hosting Kısıtlamaları
Shared hosting kullanıyorum (isimkaydet, cPanel). Önce klasik yöntemle başlamak istedim — SSH erişimi alıp WP-CLI ile her şeyi sunucudan kurmak. Sürpriz: shared hosting’de SSH varsayılan olarak kapalı.
İki seçeneğim vardı:
- Hosting’e SSH talebi açmak (1-2 gün bekleme)
- Yerelde geliştirip canlıya taşımak
İkinci yolu seçtim çünkü:
- Çok daha hızlı (bekleme yok)
- Yerel ortamda istediğim kadar deneyebilirim
- Versiyon kontrolü ve yedekleme kolay
- Production ortamına dokunmadan test edebilirim
Yerel Ortam: Docker Compose
XAMPP veya LocalWP kullanabilirdim ama Docker daha temiz:
services:
db:
image: mysql:8.0
environment:
MYSQL_DATABASE: wpblog
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppass
wordpress:
image: wordpress:latest
ports:
- "8080:80"
depends_on:
- db
wpcli:
image: wordpress:cli
profiles: [cli]
volumes:
- wp_data:/var/www/html
Tek docker compose up -d ile her şey ayakta.
Otomasyon: WP-CLI Her Yerde
Manuel kurulumdan nefret ederim. Her şeyi script’ledim:
# WordPress kurulumu
docker compose run --rm wpcli core install
--url="https://wp-blog.kayapater.com"
--title="Kaya Pater | Tech Blog"
--admin_user=admin
--admin_password=admin123
--admin_email=admin@example.com
--locale=tr_TR
# Tema
docker compose run --rm wpcli theme install astra --activate
# Eklentiler (10+ tane tek seferde)
docker compose run --rm wpcli plugin install
wordpress-seo contact-form-7 wp-super-cache
wp-dark-mode syntaxhighlighter table-of-contents-plus
add-to-any wordfence updraftplus wp-smushit
wps-hide-login all-in-one-wp-migration
--activate
Tasarım: Custom CSS
Astra teması harika ama default haliyle generic. Ben dark mode istiyordum — GitHub’ın görünümüne benzer:
- Background:
#0d1117 - Text:
#e6edf3 - Accent:
#58a6ff(mavi) ve#a371f7(mor) - Font: Inter (text) + JetBrains Mono (kod)
500+ satırlık custom CSS ile her detayı kontrol ettim: butonlar, kod blokları, kart hover’ları, gradient başlıklar…
İçerik: Profesyonel Örneklerle Başlamak
Boş bir blog ziyaretçileri kaçırır. Açılışta bile okumaya değer içeriklerin olmalı:
- Clean code prensipleri
- Docker ile WordPress kurulumu
- WP-CLI rehberi
- Modern JavaScript
- CLI araçları
- Bu yazı (devlog!)
Sırada Ne Var: Canlıya Taşıma
Yerel ortamda her şey mükemmel olduğunda All-in-One WP Migration eklentisi ile canlıya tek tuşla taşıyacağım:
- Yerelden export (.wpress dosyası)
- Canlı sitenin wp-admin’inde import
- Bitti!
Hiçbir manuel DB transferi yok, hiçbir search-replace gerekmiyor. Eklenti her şeyi (URL’ler dahil) otomatik halleder.
Sonuç
“Yerelde geliştir, canlıya taşı” yaklaşımı:
- ✅ SSH gerektirmiyor
- ✅ Hosting kısıtlamalarına takılmıyor
- ✅ Hatasız deneme imkanı
- ✅ Versiyon kontrolü kolay
- ✅ Hızlı iterasyon
Kurulum: ~2 saat. Bu süre, hosting’den SSH bekleme süresinden bile kısa! 🚀
Bu yöntemi sen de kullanmak istersen, Docker rehberim ile başlayabilirsin.