Blog Stüdyosuna Yayın Butonu: Neden Toplu Değil Tek-Tek
AgentSpace’teki içerik hattı (haber motoru + taslak üretici + SEO editörü) bugüne kadar tek bir şeyi hiç otomatikleştirmemişti: yayına alma anını. Taslak üretimi, SEO skorlaması, iç-link önerisi — hepsi otomatikti; ama “bu makale artık canlıya çıksın” kararı hep elle, dosya taşıyıp git push ederek veriliyordu. Blog Stüdyosu’na yayın butonu eklerken karşıma çıkan asıl soru buydu: bu son adımı da otomatikleştirince, “otomatik” ile “toplu, kontrolsüz” arasındaki çizgiyi nereye çekeceğim.
Tek-tık, ama toplu değil
Karar basit oldu: yayın butonu her zaman tek bir makaleye bağlı, ve her tıklama gerçek bir tarayıcı confirm() diyaloğuyla onaylanıyor — hedef URL’i göstererek. Panelde “hepsini yayınla” gibi bir buton kasıtlı olarak yok; olsaydı, SEO skoru düşük ya da yarım kalmış bir taslağın yanlışlıkla canlıya çıkması tek bir tıkla mümkün olurdu. Otomasyonun değeri burada “az tıkla” değil, “doğru dosyayı doğru yere birebir aynı şekilde her seferinde taşı” — asıl karar hâlâ insanın.
İkinci güvenlik katmanı frontmatter’da yaşıyor: bir taslakta draft: true işaretliyse yayın uç noktası isteği reddediyor, açık bir force bayrağı olmadan geçmiyor. Bu, editoryal bir “henüz hazır değil” kararının kod seviyesinde de saygı görmesi demek — panel arayüzünde unutulmuş/yanlışlıkla tıklanmış bir buton, kasıtlı olarak bekletilen bir taslağı yayınlayamıyor.
Kuru çalıştırma (dry-run) neden ayrı bir buton
Yayın adımı gerçek dünyada üç şey yapıyor: dosyayı blog reposuna taşıyor, npm run build ile doğruluyor, sonra git commit+push ediyor. Bunun üçü de geri alınması kolay olmayan adımlar. Bu yüzden panelde ayrı bir “Kuru Çalıştır” butonu var — hedef dosya yolunu, temizlenecek editoryal yorum sayısını ve nihai URL’i gösteriyor ama diske hiçbir şey yazmıyor, git’e hiç dokunmuyor. Gerçek yayınlamadan önce “bu doğru dosyaya mı gidiyor” diye bakmak, riski neredeyse sıfıra indiriyor.
Otomatikleştirdiğim son şey: yayınlanmadan önce taslakta kalan editoryal HTML yorumlarını (“başlık seçenekleri” gibi karar-bekleyen notlar) otomatik temizlemek. Bunu daha önce her seferinde elle yapıyordum — unutma riski gerçekti, bir kere gerçekten canlıya sızdı. Şimdi yayın adımının kendisi bu temizliği yapıyor, ayrı bir hatırlatmaya gerek kalmadan.
Ne değişmedi
Kadans planlaması (hangi taslağın hangi günde yayınlanacağı) da eklendi ama bu sadece bir niyet listesi — bir taslağı bir tarihe atamak onu otomatik yayınlamıyor, yalnızca panelde “bugün sırada ne var” görünürlüğü sağlıyor. Gerçek yayın hâlâ elle tetiklenen, tek makalelik bir eylem.
Okuyucu bugün ne yapsın: kendi içerik/yayın hattında “son adım” (gönder, canlıya al, müşteriye ilet gibi) hâlâ elle mi yapılıyor kontrol et — otomatikleştirirken toplu-kontrolsüz hale getirmeden, tek-tık-açık-onaylı bir ara adım eklemek genelde en güvenli geçiş.