DGN, WordPress içerik üretim sürecinizi uçtan uca otomatikleştiren akıllı bir asistandır. ChatGPT ile metin taslakları ve makaleler üretir, DALL·E ile kapak görselleri oluşturur, Brave Arama ile güvenilir kaynaklar toparlar. Tek bir “İçerik Üretim Sihirbazı” ekranından başlık girin, tonu seçin, alt başlıkları oluşturun, her bölümün içeriğini yazdırın, görselleri üretin ve tek tıkla yazınızı WordPress yazı taslağına aktarın.
Blog yazarları, editörler, ajanslar ve içerik pazarlamacıları için idealdir. Geliştime için önerilerinizi bekliyorum.

Bazı Özelikleri
  • İçerik Üretim Sihirbazı (Wizard): Başlıktan başlayıp alt başlıklara, paragraf içeriğine, görsellere ve kaynaklara kadar adım adım üretim akışı.
  • ChatGPT Entegrasyonu: Başlık/ton/prompt bilgilerinize göre SEO uyumlu içerik üretir (OpenAI Chat Completions).
  • DALL·E Görsel Üretimi: Yazınıza özel kapak/ara görseller (OpenAI Images/GPT-Image-1).
  • Brave Web Araması: Konuya ilişkin 5’e kadar güvenilir kaynağı çeker (Brave Search API) — şablonda otomatik yerleştirilebilir.
  • Şablonlar, Tonlar ve Prompt Kütüphanesi: Kendi stilinizi tek tıkla tekrar kullanın.
  • Tek Tıkla “Taslak Hazırla”: Üretilen içerik doğrudan WordPress’te taslak yazı olarak hazırlanır.
  • Geliştirme/İyileştirme Adımı: Var olan metni düzenletme ve zenginleştirme çağrıları.
  • Güvenli ve Esnek: Girişlerin temizlenmesi/sanitize edilmesi, hız/ağ hataları için ayrıntılı geri bildirim.
Kurulum ve Gereksinimler
  1. Eklentiyi DGN klasörüyle beraber /wp-content/plugins/ altına yükleyin.
  2. WordPress yönetim panelinden “Eklentiler > Yüklü Eklentiler” bölümünde DGN’yi etkinleştirin.
  3. Sol menüde DGN AI Asistanı belirecek. İlk olarak API Ayarlarıekranından:
    • OpenAI ChatGPT Anahtarı (chatgpt_key)
    • OpenAI DALL·E/Görüntü Anahtarı (dalle_key)
    • Brave Arama Anahtarı (brave_key)
    • (Opsiyonel) OpenAI Organization ID (openai_org, openai_org_enabled)
      değerlerini girin.
Not: API anahtarları Ayarlar > DGN ekranında saklanır (option: dgn_api_settings). Organizasyon başlığını dahil etmek isterseniz openai_org_enabled seçeneğini açık bırakın.
Kullanım Akışı (Sihirbaz)
  1. Başlık & Ton & Prompt: Yazınızın başlığını girin, bir yazım tonu seçin (ör. “resmi”, “arkadaşça”, “teknik”) ve isterseniz “İçerik promptu” ekleyin.
  2. Alt Başlıklar: “Alt başlık üret” ile ChatGPT’den SEO uyumlu alt başlıklar alın veya elle düzenleyin (varsayılan sayım: default_subheading_count).
  3. İçerik Üretimi: Her alt başlık için hedef kelime sayısına göre (ör. default_subheading_word_count) içerik üretin; tek tek veya toplu.
  4. Görseller: DALL·E modelini seçip alt başlıklar için görsel komutları verin ve oluşturun.
  5. Kaynaklar (Brave): Konu başlığınıza göre Brave’den ilk 5 kaynağın başlık+URL’sini alın, şablona otomatik gömün.
  6. Şablon / Taslak: İçeriği kendi şablonunuza (ör. {{title}}, {{subheading_blocks}}, {{brave_sources}}) yerleştirip “Taslak hazırla” ile WordPress’te yazı taslağı oluşturun.
  7. Geliştirme: Toplam metni bir üst kalite seviyesine taşımak için “İçeriği geliştir” adımını çalıştırın.



Ayarlar ve Yapılandırma

API Ayarları (dgn_api_settings)

  • chatgpt_key: OpenAI Chat Completions için anahtar.
  • dalle_key: OpenAI Image Generation için anahtar.
  • brave_key: Brave arama için anahtar.
  • openai_org_enabled: "1"/"" — Organization header kullanılsın mı?
  • openai_org: Organization ID metni.
Teknik: OpenAI isteklerinde Authorization: Bearer <key> ve (aktifse) OpenAI-Organization: <org> başlıkları eklenir.

Genel Ayarlar (dgn_general_settings)

  • default_model: Chat modeli (varsayılan ör. "gpt-4o-mini").
  • default_image_model: Görsel modeli (örn. "gpt-image-1" veya "dall-e-2").
  • default_author: Taslak yazılar için varsayılan yazar ID’si.
  • default_subheading_count: Alt başlık hedef adedi (vars. 5).
  • default_subheading_word_count: Alt başlık başına kelime hedefi (vars. 150).
  • default_article_word_count: Makale toplam hedef kelime sayısı (vars. 1200).
Bu girişler, Sanitizer sınıfıyla güvenli hale getirilir (min/max değerler ve tip kontrolleri).

Prompt/Ton/Şablon Kütüphaneleri

  • İçerik Promptları (dgn_content_prompts)
  • Görsel Promptları (dgn_visual_prompts)
  • Yazım Tonları (dgn_style_tones)
  • Makale Şablonları (dgn_article_templates)
Her öğe başlık ve (varsa) açıklama ile saklanır; şablonlar ayrıca structure alanı barındırır (örn. aşağıdaki şablon).

Örnek Şablon Yapısı
{{title}}

{{subheading_blocks}}

Kaynaklar:
{{brave_sources}}
  • {{title}}: Makale başlığı
  • {{subheading_blocks}}: Her alt başlık + gövde otomatik yerleştirilir
  • {{brave_sources}}: Brave’den dönen kaynak listesi
Varsayılan JS tarafı yapı: defaultTemplate = '{{title}}n{{subheading_blocks}}n{{brave_sources}} '
Teknik Mimarinin Genel Görünümü

Dizin Yapısı (özet)

  • dgn.php: Eklenti bootstrapping; sabitler, yüklemeler, DGNPlugin başlatma.
  • includes/class-dgn.php: Ana eklenti sınıfı (settings register, menüler, script/style enqueue, i18n).
  • includes/admin/class-dgn-admin.php: Yönetim menüsü, sihirbaz ekranı ve AJAX uç noktaları.
  • includes/api/class-dgn-ai-service.php: OpenAI (chat + images) ve Brave entegrasyonları, istek/yanıt işleme.
  • includes/helpers/class-dgn-sanitizer.php: Tüm ayar/kütüphane/şablon/sayı kontrolleri ve temizleme.
  • assets/js/admin.js: Sihirbaz UI’si, adımlar, hata işleme, ajax çağrıları, state yönetimi.
  • assets/css/admin.css: Yönetim ekranı stilleri.




WordPress Entegrasyonları

  • Menüler: Üst seviye menü “DGN AI Asistanı” (manage_options yetkisiyle).
  • Settings API:
    register_setting ile:
    • dgn_api_settings → dgn_api_settings
    • dgn_prompt_settings → dgn_content_prompts, dgn_visual_prompts
    • dgn_style_settings → dgn_style_tones, dgn_article_templates
    • dgn_general_settings → dgn_general_settings
  • İ18n: load_plugin_textdomain('dgn', ...) ile çok dillilik altyapısı.
  • Varlıklar: admin.js ve admin.css enqueuelanır; wp_localize_script('dgn-admin','dgnAdmin', {...}) ile UI metinleri, zaman aşımı, varsayılanlar aktarılır.



AJAX Uç Noktaları (Admin)

  • wp_ajax_dgn_generate_subheadings → alt başlık üretimi.
  • wp_ajax_dgn_generate_content → tüm alt başlıklar için içerik üretimi.
  • wp_ajax_dgn_generate_single_content → tek bir alt başlık için içerik üretimi.
  • wp_ajax_dgn_generate_image → görsel üretimi (model ve prompt ile).
  • wp_ajax_dgn_prepare_post → oluşturulan içeriği taslak WordPress yazısına dönüştürür.
  • wp_ajax_dgn_store_outline → oluşturulan outline’ı kalıcılaştırır/indirilebilir hale getirir.
  • wp_ajax_dgn_enhance_content → mevcut içeriği iyileştirme/yeniden yazma.
Her uç nokta nonce ve yetki kontrolleri eşliğinde çalışır, başarılı/başarısız yanıtları ayrıntılı hata objeleriyle iletir.



Harici API’ler

Değişkenler ve Konfigürasyon (Geliştiriciler için)

PHP Sabitleri

  • DGN_VERSION
  • DGN_PLUGIN_FILE, DGN_PLUGIN_DIR, DGN_PLUGIN_URL

WordPress Options (veritabanı)

  • dgn_api_settings
    • chatgpt_key, dalle_key, brave_key, openai_org_enabled, openai_org
  • dgn_general_settings
    • default_model, default_image_model, default_author,
      default_subheading_count, default_subheading_word_count, default_article_word_count
  • dgn_content_prompts, dgn_visual_prompts, dgn_style_tones, dgn_article_templates

JS Global’leri

  • dgnAdmin: i18n metinleri, ajax zaman aşımı (ajaxTimeout) ve bazı varsayılanlar.
  • dgnWizardData: sihirbaz ekranına beslenen kütüphane verileri (tonlar, şablon yapısı vb.).
  • Template anahtarı (varsayılan):
    defaultTemplate = '{{title}}n{{subheading_blocks}}n{{brave_sources}} '

Model Seçimleri

  • Chat: varsayılan "gpt-4o-mini" (ayarlarla değiştirilebilir).
  • Görsel: get_image_models() ile şu değerler desteklenir:
    • gpt-image-1 (DALL·E 3)
    • dall-e-2
Not: Bu liste dgn_image_models filtresiyle genişletilebilir.
Güvenlik, Dayanıklılık ve Temizleme
  • Sanitizersınıfı:
    • sanitize_api_settings, sanitize_general_settings, sanitize_prompt_library,
      sanitize_simple_library, sanitize_template_library, sanitize_subheadings
  • Uzunluk Kısıtları: Alt başlık ve içerik metinlerinde anlatım bozulmadan güvenli kısaltma.
  • Hata İşleme (admin.js):
    İletişim hatası, zaman aşımı, HTTP durumları, OpenAI hata nesneleri için kullanıcı dostu özetler (ör. “Hata ayrıntıları”, “İletişim mesajı”).
  • Nonce/Yekti: manage_options kontrolü ve AJAX nonce doğrulamaları.
Performans İpuçları
  • Zaman Aşımı: ajaxTimeout (JS) ve PHP tarafında OpenAI/Image isteklerinde timeout değerleri ayarlanır (yüksek gecikmeli durumlara hazırlıklı).
  • Toplu Üretim: Alt başlık içeriğini toplu oluştururken ardışık işle; hata durumunda tek tek üretimle devam edin.
  • Ön Bellek/Dosya: Outline indirilebilir metin olarak saklanabilir; yayınlamadan önce düzenleyin.
Özelleştirme Genişletme Noktaları
  • Filter Hooks:
    • dgn_image_models → Görsel modeli listesine yeni seçenek ekleyin.
    • dgn_default_subheading_word_count / dgn_default_article_word_count (localize edilmiş değerler üzerinden) → varsayılan kelime sayısı davranışını kod tarafında da filtreleyebilirsiniz.
  • Şablon Yapısı: {{title}}, {{subheading_blocks}}, {{brave_sources}} dışında kendi placeholder’larınızı kurgulayabilir ve yazımınızı ona göre biçimlendirebilirsiniz.
  • UI: assets/css/admin.css ve assets/js/admin.js üzerinde marka/stil değişiklikleri.
SSS (Kısa)

S: OpenAI Organization ID zorunlu mu?
C: Hayır. openai_org_enabled kapalıysa header gönderilmez.
S: Brave olmadan kullanabilir miyim?
C: Evet; kaynak bölümünü isterseniz boş bırakabilirsiniz.
S: Taslak hangi yazara atanır?
C: default_author ayarına göre; boşsa işlemi başlatan yöneticiye de atanabilir.
S: Hangi diller destekleniyor?
C: Arayüz Türkçe metinlerle gelir, promptlarınızı istediğiniz dilde yazabilirsiniz; içerik de o dilde üretilir.





İNDİRME LİNKİ :