Bu Blogu Nasıl Kurdum? Docker + WordPress + WP-CLI Hikayesi

“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ı:

  1. Hosting’e SSH talebi açmak (1-2 gün bekleme)
  2. 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:

  1. Yerelden export (.wpress dosyası)
  2. Canlı sitenin wp-admin’inde import
  3. 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.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top