BelgelerGeliştirici Kılavuzuİçerik Pazarlama ve Blog Yönetim Araçları

📝 İçerik ve Pazarlama Özellikleri

Platform, içerik ve pazarlama ekiplerinin güvenlik ve performanstan ödün vermeden yüksek esneklik deneyimlemesi için entegre araçlar sunar.


👁️ Canlı CMS Önizlemesi (Next.js Draft Mode)

Mağaza, Strapi'deki Preview sistemi ve Next.js Draft Mode mekanizması ile tam entegre çalışır. Bu özellik, editör ekibinin henüz yayınlanmamış (Taslak / Draft) içerikleri doğrudan gerçek ön yüz şablonunda görüntülemesine olanak tanır.

İş Akışı:

  1. Başlangıç: İçerik yöneticisi Strapi panelindeki Preview butonuna tıklar.
  2. Doğrulama: Strapi, kullanıcıyı REVALIDATE_SECRET içeren imzalı bir URL ile birlikte api/preview/route.ts rotasına yönlendirir.
  3. Taslak Modunu Etkinleştirme: Sunucu node:crypto kullanarak HMAC özetini doğrular ve doğruysa Taslak Modunu (Draft Mode) açar (güvenli oturum çerezi gönderir).
  4. Canlı Oluşturma: Kullanıcı hedef sayfaya yönlendirilir ve içeriğin Taslak sürümünü görüntüler.
REVALIDATE_SECRET ile Birleşik Güvenlik Anahtarı
Yapılandırmayı basitleştirmek ve güvenliği birleştirmek amacıyla hem Strapi canlı önizlemesi hem de ISR Webhook'ları kök dizindeki .env dosyasında bulunan tek bir REVALIDATE_SECRET ortam değişkenini paylaşır; ayrı bir önizleme anahtarına gerek yoktur.

📨 Bülten ve İstenmeyen Posta Önleme (Rate Limiting)

Bülten abonelik sistemi (api/newsletter/route.ts rotası), güçlü SendPulse CRM platformuna doğrudan bağlıdır.

İstek Sınırlama (Rate Limiting) ile Güvenlik

Botların kötüye kullanımını, bülten veritabanının spam ile dolmasını ve üçüncü taraf API istek kotalarının tükenmesini önlemek için bu uç nokta, yerel ve IP tabanlı bir İstek Sınırlayıcı (Rate Limiter) kullanır.

  • İzin verilen maksimum istek: 2 istek
  • Zaman aralığı: 1 saat (60 * 60 * 1000 milisaniye)
  • İzleme mekanizması: Kullanıcının IP adresi x-forwarded-for başlığı aracılığıyla ayıklanır ve sunucu bellek önbelleğinde takip edilir.
  • Sınır aşılırsa, sunucu 429 Too Many Requests hatası döndürür.
.env (SendPulse Değişkenleri)
bash
SENDPULSE_API_ID=your_api_id
SENDPULSE_API_SECRET=your_api_secret
SENDPULSE_BOOK_ID=your_target_mailing_list_id