Sürüm Geçmişi
Sürüm Notları
v1.0.0'dan itibaren her özellik, her iyileştirme, her düzeltme.
Yayın Politikası: Tek Kapı, Sizin Tercihiniz, Dürüst Kayıt
Yeni
- Tek bir yayın politikası artık bir yazıyı yayına alabilen her yolu yönetiyor — AI taslak ekranı, içerik kuyruğu, zamanlanmış yayın, REST API ve n8n webhook'ları. Otomatik yayın tamamen sizin tercihiniz olarak kalıyor: açarsanız içerik incelenmeden yayına girer, tam istediğiniz gibi. Değişen şu: kalite kapısı açıkken hiçbir yol onu sessizce atlayamıyor ve her yayın dürüstçe kaydediliyor.
- Yayın denetim izi: her yazı artık okura nasıl ulaştığını kaydediyor — kaynağı (elle, AI, JSON, n8n, API, kuyruk) ve yayın biçimi (taslak, zamanlanmış, otomatik, incelenmiş). Bir editör yazıyı onayladığında jekcms kimin onayladığını, ne zaman onayladığını ve onayladığı içeriğin parmak izini saklıyor. Otomatik yayın ASLA sahte bir insan onayı üretmiyor — açıkça "otomatik" olarak kaydediliyor.
- Onay geçersizleştirme: onaylanmış bir yazı sonradan düzenlenirse saklanan parmak izi tutmaz ve eski onay geçersiz sayılır.
- Yönetim panelinde risk notları: AI Taslak, JSON İçe Aktarma ve içerik otomasyonu ekranlarında kalıcı, engellemeyen bir not — üretilen veya içe aktarılan içeriğin hatalı ya da düşük değerli olabileceğini, incelemeden yayınlamanın arama görünürlüğünü etkileyebileceğini ve taslak/zamanlama/doğrudan yayın seçiminin size ait olduğunu açıkça söylüyor. Otomatik yayını açtığınızda veya kalite kapısını kapattığınızda ayarın yanında görünür bir uyarı çıkıyor — modal yok, zorunlu onay kutusu yok.
Düzeltildi
- AI taslak ekranı yazıları doğrudan veritabanına yazıyor ve kalite kapısı AÇIK olsa bile ona hiç danışmıyordu. Artık diğer tüm yollarla aynı yayın politikasından geçiyor; kapı yazıyı tutarsa içerik taslak olarak kaydediliyor ve nedenleri gösteriliyor.
Dürüst Güncellik Sinyalleri, Otomasyon İçin İçerik Kalite Kapısı ve Tam Belge Revizyon Geri Yükleme
Yeni
- Editoryal tarih modeli: yazılar artık "son anlamlı içerik değişikliği"ni dahili sistem dokunuşlarından ayrı izliyor. Schema.org dateModified, article:modified_time ve site haritası lastmod yeni sinyalden üretiliyor — toplu SEO geçişleri, sayaçlar ve cache tazelemeleri artık arama motorlarına yüzlerce yazıyı "bugün güncellendi" gibi gösteremiyor. Yayımlanmış yazıyı düzenlerken otomatik algılamayı elle de yönetebilirsiniz: kaydı içerik güncellemesi ya da teknik düzeltme olarak işaretleyin.
- İçerik Kalite Kapısı: tüm otomatik yayın yolları — içerik kuyruğu onayı ve yayını (tekil ve toplu), zamanlanmış yayın, REST API ve n8n webhook'ları — yayına çıkmadan önce aynı deterministik kalite kontrollerinden geçiyor: asgari içerik uzunluğu, birebir/yüksek-benzerlikli başlıklar ve bozuk yerel görsel referansları yayını görünür gerekçelerle engelliyor; kapak görseli, iç bağlantı veya alt başlık eksiği uyarı üretiyor. Kapı yayın ANINDA yeniden çalışıyor (onaydan sonra yapılan düzenlemeler tekrar denetleniyor) ve hata durumunda kapalı kalıyor: kontrol kendisi hata verirse hiçbir şey yayımlanmıyor. Eşikler Ayarlar'dan yapılandırılabilir.
- Tam belge revizyonları: her revizyon artık eksiksiz bir anlık görüntü saklıyor — SEO meta, kategoriler, etiketler, kapak görseli, yazar, durum ve tarihler — ve geri yükleme içeriği, SEO'yu, taksonomiyi, kapak görselini ve yazarı geri getiriyor. Yayın durumu ve tarihler bilinçli olarak geri yüklenmiyor: geri yükleme canlı bir yazıyı asla yayından düşürmüyor, tarih geçmişini yeniden yazmıyor. Geri yükleme öncesi durum ayrı bir revizyon olarak kaydediliyor; revizyon limiti yapılandırılabilir (varsayılan 10'dan 50'ye çıktı).
- Yazar Person şeması, önceki sürümde eklenen unvan, biyografi ve fotoğrafın yanına yazarın sosyal profillerinden ve web sitesinden üretilen doğrulanabilir sameAs bağlantılarını da ekliyor.
İyileştirildi
- REST API artık yazı uçlarında açık ISO 8601 editoryal tarihler (content_modified_at, reviewed_at) dönüyor ve yazma işlemlerinde content_modified_at kabul ediyor — göçler ve yeniden yazımlar orijinal tarihleri koruyabiliyor.
Düzeltildi
- Zamanlanmış yazılarda şema dateModified ve site haritası lastmod, yayın tarihinden ESKİ bir tarih bildirebiliyordu; ikisi de artık sabitlendi — değişiklik tarihi hiçbir koşulda yayından önce olamaz.
- Elle veritabanı importuyla gelen örnek yönetici hesabı bilinen bir örnek parolayla geliyordu; seed artık kullanılamaz bir parola hash'iyle geliyor, kurulum sihirbazı gerçek bilgileri eskisi gibi ayarlıyor.
Yasal Sayfalar Onarıldı ve Genişletildi, Yazar Arşivleri Düzeltildi, Etiket İndeksleme Tutarlı Hale Geldi
İyileştirildi
- Varsayılan Çerez Politikası iki dilde de gerçekten kapsamlı olacak şekilde yeniden yazıldı: amaç, hukuki dayanak ve sürelerle çerez kategorileri tablosu; birinci/üçüncü taraf ve oturum/kalıcı ayrımları; vazgeçme bağlantılarıyla üçüncü taraflar; onay yönetimi ve geri çekme; tarayıcı talimatları; Do Not Track / Global Privacy Control; ve hukuki dayanak bölümü (Türkçe sitelerde KVKK, İngilizce sitelerde GDPR/ePrivacy).
Düzeltildi
- Yerleşik yasal sayfa şablonları 13 temanın tamamında bozuk metinle geliyordu — kendi yasal sayfasını kaydetmemiş taze kurulumlarda Türkçe karakterler ve ok işaretleri ("→", "Çerez") çöp karakter olarak görünüyordu. Şablonlar yeniden kodlandı; her karakter iki dilde de doğru görünüyor.
- Personal temada yazar arşivi açmak sunucu hatası veriyordu: bir yönlendirme değişkeni şablona sızıp gerçek yazar kaydını gölgeliyordu. Yazar sayfaları artık her temada açılıyor; olmayan yazar da doğru şekilde 404 dönüyor.
- Etiket arşivleri, SEO ayarlarında kapalıyken bile arama motorlarınca indekslenebiliyordu — site haritası ayara uyuyor ama sayfa düzeyindeki robots etiketi uymuyordu. Etiket arşivleri kapalıyken (varsayılan) artık her etiket sayfası noindex.
- Finance temasında yazı sonundaki yazar kutusu yazar adını düz metin gösteriyordu; artık yazarın arşiv sayfasına bağlanıyor. Pets temasının arşiv sayfaları da yalnız site adı yerine gerçek sayfa başlığı ve meta açıklaması basıyor.
Personal Tema: Otomatik Açık/Koyu Geçişli Geniş Marka Logosu
Yeni
- Personal tema artık başlıkta geniş marka logosu destekliyor: logonuzu (ve isteğe bağlı koyu varyantını) Ayarlar → Marka'dan yükleyin — ikon + site adı çiftinin yerine geçer ve ziyaretçinin açık/koyu tercihiyle otomatik değişir. Site adı görsel-gizli başlık olarak işaretlemede kalır; Google site-adı sinyali korunur. Logo yüklemeyen sitelerde hiçbir şey değişmez.
Hikayeler Instagram Modelinde: Son İçeriklerinizi Oynatan Tek "Son İçerikler" Balonu
İyileştirildi
- Otomatik yazı hikayeleri Instagram'ın gerçek çalışma şekline göre yeniden tasarlandı: her yazıya ayrı balonla şeridi kalabalıklaştırmak yerine artık TEK bir "Son İçerikler" balonu var — dokununca seçtiğiniz penceredeki (3, 7, 15, 30 gün… 90'a kadar) yazılar en yeniden eskiye slayt slayt oynuyor; her slaytta öne çıkan görsel, başlık ve "Yazıyı Oku" düğmesi. Balon tamamen sanal: hikaye veritabanına hiçbir şey yazılmıyor, yeni yazı yayınlandığı anda balonda beliriyor, pencereden çıkan düşüyor ve her yeni yazıda halka yeniden renkleniyor.
- Balonun adı site dilini izliyor ("Son İçerikler" / "Latest Posts") ve ayarlardan özelleştirilebiliyor. Elle oluşturduğunuz balonlara dokunulmuyor, yanındaki yerlerini koruyorlar; önceki sürümün ürettiği yazı-başına balonlar otomatik temizleniyor.
Düzeltildi
- Hikayeler yönetim sayfasını doğrudan URL ile (modül parametresi olmadan) açmak sunucu hatası veriyordu — katı modda bir dizi erişimi sayfa çizilmeden çöküyordu. Sayfa artık her yerden doğru açılıyor.
Hikaye Şeridi Gerçek Bir "Son İçerikler" Vitrinine Dönüştü
İyileştirildi
- Otomatik hikayeler açıkken şerit artık hikaye yayın süresi penceresindeki (varsayılan 7 gün) TÜM yazıları taşıyor — yalnızca özellik açıldıktan sonra yayınlananları değil. Eski yazılar saatte bir otomatik tamamlanıyor, her hikaye kendi yazısının yayın tarihine göre emekliye ayrılıyor ve en yeni yazı Instagram düzeninde her zaman şeridin en başında duruyor.
- Şerit artık kendini tanıtıyor: otomatik hikayeler açıkken özel başlık girilmemişse dairelerin üstünde site dilinde bir başlık görünüyor — Türkçe sitede "Son İçerikler", İngilizce sitede "Latest Posts". Kendi başlığınızı yazarak ezebilir, "-" girerek tamamen gizleyebilirsiniz.
Görsel Açıklamaları Doğru Haliyle: Görünür Açıklamalar Artık Editörün Birinci Sınıf Özelliği
Yeni
- Görsel detayları penceresine yeni "Görsel açıklaması (caption)" alanı: herhangi bir görselin altına görünür açıklama ekleyin — kendine-yeten stille her temada birebir aynı görünür. Pencere iki kavramı artık net ayırıyor: alt metin görünmezdir, arama motorları ve ekran okuyucular içindir; açıklama ise okurun gerçekten gördüğü metindir. Açıklamalar editörde canlı görünür ve tek tıkla düzenlenir.
Düzeltildi
- İçinde figure ile sarılmış görsel olan bir yazıyı düzenlemek, eski açıklama işaretlemesini görselin altında görünür düz paragraf olarak sızdırabiliyordu — editör figure/figcaption yapısını tanımadığından kayıtta yapıyı söküyor, açıklama metnini gövde metnine çeviriyordu. Editör artık figure yapısını doğal olarak anlıyor: gerçek açıklamalar düzenleme turlarından bozulmadan çıkıyor; yalnızca alt metnini kopyalayan eski açıklamalar ise görünür olmak yerine otomatik ayıklanıyor.
- Görsel detayları penceresi açılınca arkadaki sayfa kayabiliyor, hangi görseli düzenlediğinizi gözden kaçırabiliyordunuz. Arka plan artık pencere açıkken de kaydettikten sonra da olduğu yerde kalıyor.
Tıkla, Boyutlandır, Hizala: Editörde Tam Görsel Düzenleme
Yeni
- Yazı editöründeki görseller artık yerinde ve tam donanımlı düzenleniyor — WordPress kullanıcılarının alışkın olduğu gibi. Görsele tıklayın, üzerinde yüzen bir araç çubuğu beliriyor: boyut ön-ayarları (Küçük 300px / Orta 600px / Tam genişlik), sol-orta-sağ hizalama, detay düğmesi ve kaldırma — ayrıca dört köşe tutamacından sürükleyerek serbest boyutlandırma, sürüklerken canlı piksel göstergesiyle. En-boy oranı her zaman korunuyor.
- Yeni görsel detayları penceresi (araç çubuğundaki kalem ya da görsele çift tık): alternatif metin (alt), başlık ipucu (title), piksel cinsinden genişlik ve görsel URL'i tek yerden görüp düzenleyin — canlı önizlemeyle. Alt metin, eklendikten sonra nihayet gerçek bir düzenleme yuvasına kavuştu; erişilebilirlik ve görsel SEO için önemli.
- Boyut ve hizalama içeriğe kendine-yeten inline stiller olarak yazılıyor: her temada birebir aynı görünüyor — tema CSS desteği gerekmiyor ve görseller mobilde asla taşmıyor (max-width yerleşik).
Düzeltildi
- Görsel ekleme penceresindeki alt metin etiketi Türkçe sabitlenmişti; İngilizce yönetim panellerinde çevrilmeden görünüyordu.
Yazılar Listesi: Tek Tıkla SEO Skor Yenileme, Editör ve Liste Artık Aynı Sayıyı Söylüyor
Yeni
- Yazılar listesine yeni "SEO Skorlarını Yeniden Hesapla" düğmesi: tüm yazıların kayıtlı SEO skorunu güncel skorlama motoruyla tazeler — 100'erlik partiler ve canlı ilerleme ile; 1.000 yazılık site zaman aşımına takılmak yerine saniyeler içinde biter. Eski sürümlerin kaydettiği skorlar eski kurallarla hesaplandığından, güncelleme sonrası özellikle işe yarar.
Düzeltildi
- Editördeki skor ile yazılar listesindeki skor farklı olabiliyordu: editörün canlı analizörü sayfanın gerçek yapısını inceler (başlıklar, tablolar, snippet blokları), kayıt anındaki motor bunu yapamaz; kayıtta yeniden hesaplanınca farklı sayı çıkıyordu. Editör artık kaydederken kendi skorunu iletiyor — liste, editör göstergesinde gördüğünüz sayının aynısını gösteriyor.
- "Tümünü Analiz Et" yapay zeka düğmesi, yapay zeka sağlayıcısı yapılandırılmamış kurulumlarda da görünüyor ve tıklanınca yalnızca kurulum uyarısı gösterebiliyordu. Düğme artık yalnızca yapay zeka gerçekten yapılandırıldığında görünüyor.
Güvenilir SEO Skoru: Sabit Bütçeler — Alan Boş Bırakmak Artık Ödüllendirilmiyor
İyileştirildi
- SEO bileşenindeki her kontrol grubu artık puan katkısını gösteriyor (örn. Anahtar Kelime yanında "20/25p") — skorun tam olarak nereden geldiğini ve önce hangi bölümü düzeltmenin kazandıracağını görüyorsunuz.
Düzeltildi
- Odak anahtar kelimesi OLMAYAN bir yazı 80-90 puan alabiliyor, kelimeyi girdiğiniz anda puan DÜŞÜYORDU — eski oran modeli alan boşken anahtar kelime kontrollerini paydadan çıkarıyordu; yani bilgi vermemek matematiksel olarak ödüllendiriliyordu. Skor artık sabit kategori bütçeleriyle hesaplanıyor (anahtar kelime 25, içerik 20, yapı 15, temel 15, okunabilirlik 10, görsel 10, şema 5): boş bırakılan anahtar kelime alanı 25 puanlık bütçesini yakar; bilgi girmek puanı yalnızca yükseltebilir, asla düşüremez. Aynı kusur her yazı kaydında saklanan skorda da vardı (üstelik daha ağırı: anahtar kelimesiz yazı 50 üzerinden puanlanıp 100'e ulaşabiliyordu) — kayıt skoru artık SEO Optimizer sayfasıyla aynı sabit-bütçe motorunu kullanıyor; tüm skorlar nihayet aynı dili konuşuyor.
- İ/I içeren Türkçe anahtar kelimeler (örn. "İçerik Pazarlaması") tüm eşleşmelerde sessizce başarısız oluyordu — Unicode harf dönüşümü tuhaflığı yüzünden başlık, içerik ve yoğunluk kontrolleri "kelime bulunamadı" diyordu. Anahtar kelime eşleştirme artık editör bileşeninde, kayıt skorunda ve SEO Optimizer'da Türkçe-doğru. Yoğunluk yalnızca tam kelimeleri sayıyor (kısa bir kelimenin uzun kelimeler içinde geçmesi yüzdeyi şişirmiyor) ve kelime sayımı UTF-8 doğru.
- Başlık uzunluğu kontrolü 70 karaktere kadar "iyi" derken SERP önizlemesinin piksel ölçer aynı başlığın ~580px'te kırpıldığını gösteriyordu — ikisi artık aynı fikirde (60 karakter bütçesi); anahtar kelimenin başlıkta olmaması da artık iki kez cezalandırılmıyor.
SEO Asistanı: İçerik Yapısı Kontrolleri, Piksel Hassasiyetli SERP Önizleme, Genişletilmiş AI Analizi
Yeni
- Editördeki SEO asistanına yeni "İçerik Yapısı" kontrol grubu — bir editörün taslağa gerçekte baktığı yedi kontrol: gövdede mükerrer H1 (başlığınız zaten sayfanın H1'i), atlanan başlık seviyeleri (H2→H4), ilk başlıktan önce fazla kısa kalan giriş, uzun yazılarda eksik sonuç/özet bölümü, tablo ve liste kullanımı, ve soru başlığının hemen altında 40–60 kelimelik öz yanıt arayan featured-snippet hazırlık kontrolü.
- SERP önizlemesi başlık ve açıklamayı artık Google'ın gerçekte kırptığı gibi piksel cinsinden ölçüyor (masaüstünde başlık için ~580px, açıklama için ~990px). Karakter sayıları duruyor; yanlarına piksel genişliği geldi ve limit aşılınca kırmızıya dönüyor — karakter kontrolünden geçip sonuçlarda yine de kırpılan başlıklar tarihe karıştı.
- AI derin analizi dört yeni boyutu kapsıyor: genel içerik kalitesi (bilgilendiricilik, özgünlük, güncellik), Google Helpful Content uyumu, AI arama hazırlığı (bu sayfayı bir AI Overview kaynak gösterir miydi?) ve AdSense politika uygunluğu — yayınlamadan önce ince-içerik ve başlık-içerik uyumsuzluğu uyarıları dahil.
Düzeltildi
- SERP önizlemesi favicon yerine kırık bir ikon gösteriyordu: yalnızca jekcms.com'da bulunan bir dosya yoluna işaret ediyordu, müşteri kurulumlarında değil. Önizleme artık sitenin gerçek favicon'unu ön yüzün kullandığı öncelik zinciriyle çözüyor (yüklenen favicon, kök dizin favicon dosyaları, üretilmiş ikon); hiçbir durumda boş kalmasın diye harf-rozetli bir yedek de var.
Google Console: PageSpeed Sekmesi, Taze Arama Verisi, Kararlılık Düzeltmeleri
Yeni
- Yeni PageSpeed sekmesi: sitenizin herhangi bir sayfasını Google PageSpeed Insights (Lighthouse) ile doğrudan panelden ölçün — mobil ve masaüstü için Performans, Erişilebilirlik, En İyi Uygulamalar ve SEO skorları, laboratuvar metrikleri (FCP, LCP, TBT, CLS, Speed Index) ve Google'ın sitenize dair saha verisi varsa gerçek-kullanıcı Core Web Vitals (CrUX) değerleri. Google bağlantısı gerektirmez; sonuçlar 24 saat saklanır. Opsiyonel API anahtarı ayarı ölçüm kotasını artırır.
Düzeltildi
- Search Console raporları GSC arayüzünden tutarlı biçimde eksik kalıyordu: API varsayılan olarak son ~2 günü atlar ("final" veri), bu yüzden yeni sorgular ve tıklamalar hiç görünmüyordu — tam olarak "arama kelimelerim görünmüyor" şikayeti. Tüm Search Console raporları artık taze veriyi istiyor ve GSC arayüzünün gösterdiğiyle eşleşiyor.
- En Çok Arama Sorgusu ve En Çok Görüntülenen Sayfa kartları API hatalarını yutup yanıltıcı bir "Veri yok" gösteriyordu — kota veya yetki sorunu artık kartın üzerinde gerçek, yol gösteren mesajıyla görünüyor (Analytics tabloları için de aynısı).
- Google'a erişilemediğinde her sayfa yüklemesi her biri 20 saniyelik zaman aşımına sahip tüm canlı API çağrılarını ateşleyip paneli donduruyordu; başarısız cevaplar artık kısa süre önbelleğe alınıyor, sayfa akıcı kalıyor ve Yenile düğmesi anında yeniden dener. Cevap önbelleği tablosu, daha önce sonsuza dek biriken süresi geçmiş satırlarını da artık temizliyor.
ZeroTrack Analytics: Canlı Sitelerde Veri Toplama Onarıldı
Düzeltildi
- ZeroTrack canlı kurulumlarda ziyaretleri sessizce kaydetmeyi bırakıyordu: bağımsız beacon ucu veritabanı kimliklerini yalnızca .env'den okuyordu; oysa canlı kurulumlarda gerçek kimlikler .env-production'da durur (kurulum sihirbazı oraya yazar). Uç veritabanına hiç bağlanamıyor, her beacon'a kibarca 204 dönüyor ve sitede trafik varken pano sıfır gösteriyordu. Uç artık CMS'in geri kalanıyla aynı ortam-dosyası önceliğini kullanıyor (önce .env-production); başarısız veritabanı bağlantısı da iz bırakmadan kaybolmak yerine hata günlüğüne yazılıyor.
- Sayfa görüntülemeleri iki kez sayılabiliyordu: tracker betiğini hem eklenti kancası hem çekirdek footer basıyor, eklenti tarafı sayfa-başına-bir-kez korumasını görmezden geliyordu. Koruma artık iki yolda da geçerli — tek tracker, tek beacon, görüntüleme başına tek sayım.
SEO Analizörü: Türkçe-Doğru Eşleşme, Anahtar Kelime Kanibalizasyon Uyarısı, Yeni Kontroller
Yeni
- Anahtar kelime kanibalizasyon uyarısı: odak kelimeyi yazarken analizör aynı kelimeyi hedefleyen başka bir yazı var mı diye bakıyor ve o yazıyı adıyla söylüyor — premium eklentilerin klasik özelliği, yerleşik geldi.
- Üç yeni kontrol: meta açıklama başlığın kopyasıysa uyarı, hiçbir görsel alt metninde odak kelime yoksa hatırlatma, Türkçe/özel karakterli slug için ikaz.
Düzeltildi
- Türkçe odak kelimeler sessizce başarısız oluyordu: JavaScript, noktalı İ'yi birleştirme karakterine indirger; "İçerik Rehberi" başlığı "içerik" odak kelimesiyle hiç eşleşmiyor, analizör kelimeyi başlıkta/açıklamada/alt başlıklarda/ilk paragrafta yok sanıyordu. Artık her karşılaştırma Türkçe-farkındalıklı katlamadan geçiyor; slug kontrolü de kelimeyi ascii'ye katlıyor ("beslenme önerileri", "beslenme-onerileri" ile doğru eşleşiyor).
- Anahtar kelime yoğunluğu alt-dizgi sayıyordu ("spor", "sporcu"yu da sayıyordu); artık tam kelime sayıyor. İç/dış bağlantı tespiti URL'nin herhangi bir yerinde site adı aramak yerine gerçek alan adını çözümlüyor. Analizör 2.5 saniyede bir yeniden çizilip kapattığınız kategorileri zorla açmayı da bıraktı.
- AI ayar tablosu olmayan kurulumlarda editör, AI sekmesini çizerken sayfa ortasında "Server Error" ile ölüyordu; kontrol artık hataya dayanıklı, editör her koşulda açılıyor.
- Sosyal önizleme kartı uploads-göreli kapak yollarında kırık görsel gösteriyordu; açıklama uzunluk sınırları her yerde 160'a hizalandı.
Health Teması Vitrinde Sitenizin Dilini Konuşuyor
Düzeltildi
- Türkçe sitelerde Health teması onlarca sabit İngilizce metin basmaya devam ediyordu — bölüm başlıkları (Most Popular, Trending Topics, Latest Articles, Recommended), footer navigasyonunun tamamı (About, Categories, For You, Editorial, Connect ve içlerindeki her bağlantı), yazar kartı (About Author, View All Articles), yorum formu (Leave a comment, Name, Email, Post comment), arama, 404, etiketler ve yedek üst menü (Home, About). Hepsi artık site dili ayarını izliyor: Türkçe siteler baştan sona Türkçe okunuyor, İngilizce siteler değişmedi.
Health ve Travel Başlıkları Artık Bozuk Markup Sızdırmıyor
Düzeltildi
- Health ve Travel ana sayfalarında marka bağlantısının H1'i aria-label özniteliğinin içine basılıyor, özniteliği kırıp logonun yanına « — home"> » metnini sızdırıyordu (logosuz taze kurulumlarda en görünür haliyle). H1 artık ait olduğu yerde, bağlantının gövdesinde; erişilebilirlik etiketi de SEO site-adı sinyali de amaçlandığı gibi çalışıyor.
Sihirbaz Cilası: Günler Sonra Dön, Hiçbir Şey Kaybolmasın
İyileştirildi
- Promptu al, tarayıcıyı kapat, bir hafta sonra yapay zekanın JSON'uyla dön: sihirbaz artık her seçimini hatırlıyor, seni "İçe aktarmaya atla" kısayoluyla karşılıyor ve adım çipleri tıklanabilir — istediğin adıma doğrudan geç, baştan başlamak yok.
- İçerik Stüdyosu menüsü artık net sıralı tek düz liste (Genel Bakış, İçerik Sihirbazı, AI İçerik, Otomasyon, İçerik Kuyruğu) — kafa karıştıran "Gelişmiş" alt grubu kalktı — ve İçerik Kuyruğu ile Otomasyon sayfalarının içinde de görünür kalıyor; alt sayfalar artık stüdyodan çıkmış hissi vermiyor.
- Pinterest ve dış link seçenek kartları hizalandı (onay kutusu başlığın üstünde süzülmek yerine yanında) ve seçilince belirginleşiyor.
Düzeltildi
- Örnek JSON artık scheduled_at içinde sabit bir örnek tarih taşımıyor — bazı yapay zekalar o bayat tarihi her makaleye kopyalıyordu. Zamanlama, sihirbazın kendi son adımının işi.
- İçe aktarım sekmesindeki eski JSON üretici formu kaldırıldı (yerini sihirbaz aldı); sekme artık ham içe aktarım araçlarını (JSON dosyası, Google Sheets, CSV) sihirbaza işaret eden temiz bir yapıda tutuyor.
İçerik Sihirbazı: Tek Yönlendirilmiş Akışta Planla, Üret, Zamanla
Yeni
- Yeni İçerik Sihirbazı (İçerik Stüdyosu → İçerik Sihirbazı), eski JSON sihirbazı + toplu planlayıcı + içe aktarım sekmesi labirentini tek adım-adım deneyimle değiştiriyor: kaç içerik → konu ve anahtar kelimeler → zenginlik (kelime sayısı, görseller, Pinterest, otoriter linkler) → kim üretecek → zamanlama. Tema profili otomatik algılanır; tarif, seyahat ve finans temaları özel alanlarını kendiliğinden ister.
- Aynı kalite sözleşmesiyle iki üretim yolu: kendi ChatGPT/Claude/Gemini hesabını ücretsiz kullan (tek promptu kopyala, dönen JSON'u kutuya bırak — sihirbaz içe aktarıp doğrular) ya da API anahtarınla jekcms'in makale makale, canlı ilerleme çubuğuyla üretmesine izin ver. İkisi de aynı inceleme kuyruğuna düşer.
- Son adım tüm partiyi ritimle takvime yayar (her gün, 2-3 günde bir, haftalık; rastgele saat penceresi) ve görsel akışını açıkça anlatır: her makale hazır bir görsel planıyla gelir (görsel başına üretim promptu); kapakları AI Images eklentisiyle otomatik üret ya da dilediğin araçta üretip slug adıyla kaydet, uploads/temp'e yükle ve Görselleri Eşle'ye bas.
İyileştirildi
- İçerik Stüdyosu iç menüsü sadeleşti (Yazılar ve Yeni Yazı ait oldukları ana menüye döndü) ve artık her stüdyo alt sayfasında görünür kalıyor — yön duygusu kaybolmuyor. n8n otomasyon planlayıcısı ve ham kuyruk, açıkça etiketlenmiş "Gelişmiş" bölümünde.
- Tek taslak AI aracı artık sihirbazla aynı AI istemcisini paylaşıyor (Gemini, Groq ve OpenAI — OpenAI gpt-4o-mini'ye yükseltildi).
Finance Footer'ı Düz Metin Yerine Logonuzu Gösteriyor
Düzeltildi
- Finance teması footer'ı site adını her zaman düz metin olarak basıyor, yüklediğiniz logoyu hiç kullanmıyordu. Artık logoyu gösteriyor; footer zemini her iki temada da koyu olduğu için koyu tema varyantını tercih ediyor. Logosu olmayan siteler eskisi gibi metin başlığı görmeye devam ediyor.
Yeni Yüklenen Logo Artık Anında Görünüyor
Düzeltildi
- Ayarlar → Marka bölümünden logonuzu değiştirdiğinizde ziyaretçiler uzun süre eskisini görmeye devam edebiliyordu. Yüklemeler bir yıllık "immutable" önbellek başlığıyla sunulduğundan, tarayıcı veya CDN dosyayı o adresten bir kez aldıysa bir daha sormuyordu — sunucudaki dosya değişse bile CDN eski kopyayı sunmayı sürdürebiliyordu. Logo adresleri artık dosyanın değişiklik zamanını taşıyor; yeni yükleme yeni bir adres demek ve her ziyaretçi bir sonraki sayfa açılışında yenisini görüyor.
Yazar Sayfalarına Fotoğraf ve Arşiv Yerleşimi Düzeltmesi
İyileştirildi
- Yazar arşiv sayfaları artık Finance'te de Pets'te de yazarın fotoğrafını adının yanında gösteriyor — başlık artık anonim bir metin bloğu gibi durmuyor.
Düzeltildi
- Finance arşiv sayfaları (kategori, etiket, yazar) yerleşim kabında grid kuralı olmadığı için kenar çubuğunu kartların altına tam genişlik yığıyordu; kenar çubuğu sağ sütununa döndü. Arşiv breadcrumb'ı da tekil yazılarla eşleşecek şekilde kopuk beyaz bandından kurtuldu.
- Yazar arşiv sayfaları unvan girilmemiş her yazarı "Financial Analyst" ilan ediyordu; uydurma fallback kaldırıldı, yalnız gerçek unvanlar basılıyor.
- Pets ana sayfasında yayındaki tek yazı en yeni yazı olduğunda öne çıkan kartın altındaki grid kocaman boş bir alan olarak kalıyordu; artık orada kısa bir "yeni yazılar yolda" notu var.
Finance Teması: Sans Başlıklar, Breadcrumb Düzeltmesi, Koyu Mod Okunabilirliği
İyileştirildi
- Varsayılan başlık fontu serif Fraunces'ten Inter'e geçti: temadaki tüm başlıklar artık tek modern sans ailesini paylaşıyor. Customizer'da özel başlık fontu seçen siteler kendi seçimini koruyor.
Düzeltildi
- Tekil yazılarda breadcrumb ayrı bir bantta kalıyor ve renkli yazı başlığının arkasında okunmaz oluyordu; artık başlığın içinde açık renkli, okunur metin olarak duruyor.
- Koyu modda yazı içi ve içindekiler bağlantıları açık modun koyu teal rengini kullanıp koyu zeminde kayboluyordu; koyu mod artık butonlara ve hero alanına dokunmadan bunları parlak, okunur bir tona çeviriyor.
Finance Teması: Yapışkan İçindekiler, Yazar Biyografisi, Derli Toplu Kartlar
İyileştirildi
- "In This Article" içindekiler kutusu artık makaleyi içeriğin tepesinden aşağı itmiyor: sağ kenar çubuğuna taşındı ve uzun yazılarda okur kaydırdıkça görünür (yapışkan) kalıyor.
- Yazı kartları toparlandı: tarih ve okuma süresi içerikten çizgiyle ayrılan tek soluk satırda, yazar ise başıboş harf yer tutucusu yerine yuvarlak fotoğraflı hizalı bir çip olarak görünüyor. Ana sayfa kartları artık yazar fotoğraflarını da yüklüyor.
- Ana sayfa hero alanı ile "Latest Articles" bölümü arasına nefes payı eklendi.
Düzeltildi
- Yazı altındaki yazar kutusu biyografisiz basılıyordu çünkü yönlendirici bu alanı geçirmiyor; şablon artık biyografiyi kendisi yüklüyor ve tam yazar kartı (fotoğraf, isim, biyografi) görünüyor.
Finance Teması: Tasarım Tutarlılık Turu ve Yazar Künyesi Düzeltmesi
Düzeltildi
- Her Finance yazısı künyede "Staff Writer" gösteriyor ve yazar kutusunu tamamen atlıyordu — yazının gerçek yazarı olsa bile. Şablon yazar verisini iç içe dizi olarak beklerken yönlendirici düz alanlar geçiriyor; şablon artık ikisini de okuyor, her yazıda doğru isim, avatar ve yazar kutusu basılıyor.
- Finance teması tasarım tutarlılık turundan geçti: serif vitrin yazı tipi artık yalnız makale başlıklarına ayrıldı, tüm arayüz etiketleri sans ailesini kullanıyor; renk paleti temanın lacivert ve altınında birleştirildi (marka dışı mor buton ve mavi alt çizgiler gitti), bülten kutusu artık hero ile kaynaşmıyor, başlıkla hero arasındaki işlevsiz gri bant kaldırıldı, trend numaraları ve footer küçük yazısı okunur, yazar avatarı ismiyle hizalı ve arşiv sayfaları "1.00 Articles" yerine "1 Article" diyor.
- Bültende ve footer'da "piyasa analizi ve yatırım ipuçları" vadeden sabit metinler, temayla kurulan her finans sitesine uyan nötr ifadelerle değiştirildi.
Logo Varyantları: Koyu Tema ve Retina Logoları, Panelden Yüklenir
Yeni
- Ayarlar → Marka artık ana logonuzun yanında üç isteğe bağlı varyant kabul ediyor: koyu tema logosu ve her ikisinin 2x (retina) sürümleri. Ziyaretçi koyu temaya geçtiğinde logo anında değişiyor — sayfa yenilenmeden — ve yüksek çözünürlüklü ekranlara otomatik olarak keskin dosya gidiyor. Koyu logo yüklemezseniz hiçbir şey değişmiyor: açık logo aynen eskisi gibi her yerde kullanılıyor.
- Kalıcı koyu alanları olan temalar (Pets footer'ı gibi) koyu logo yüklendiğinde o alanlarda otomatik olarak onu tercih ediyor — koyu yazılı bir logo artık koyu zeminde kaybolmuyor.
Düzeltildi
- Finance ana sayfası hiçbir kurulumda yazı listelemiyordu: ana rota şablonu veri geçirmeden yüklüyordu, "Latest Articles" bölümü siteyi hep boş sanıyordu. Şablon artık yayınlanmış yazıları sayfalamayla kendisi sorguluyor.
- Taze kurulumlarda raporlanan pürüzler toplu giderildi: Finance başlığında logo yanındaki slogan tekrarı kalktı, Finance ve Pets'te kategori etiketlerindeki ham emoji ikonları kaldırıldı, Finance kenar çubuğundaki "NULL" etiketi ve "0.00 views" satırı artık basılmıyor, boş etiket kutuları kendini gizliyor, Pets'te öne çıkan yazının kategori rozeti başlığın üstüne binmiyor ve yasal sayfalar tüm temalarda okunur başlığına kavuştu.
Tema Dürüstlüğü: Yer Tutucu İstatistikler Kaldırıldı, Taze Kurulum Dili Düzeltildi
Düzeltildi
- Finance temasının ana sayfası gömülü yer tutucu iddialarla geliyordu — uydurma okuyucu sayıları, memnuniyet yüzdeleri ve sahte bir "uzman analist" rakamı. Hepsi kaldırıldı: hero artık sitenizin adı ve sloganıyla konuşuyor, istatistik şeridi yalnız kendi veritabanınızdan gerçek rakamlar geldiğinde görünüyor.
- Taze kurulumlar site dilini artık kurulum sihirbazından tohumluyor. Önceden dil satırı hiç yazılmıyordu; her yeni site, geri kalan her şey İngilizce olsa bile footer ve yasal sayfalarda sessizce Türkçeye düşüyordu.
- Finance ve Pets başlıkları logo ile site adını yan yana basıp markayı ikiliyordu. Logo ayarlıyken metin artık yalnız ekran okuyucular için tutuluyor; logosuz kurulumda metin marka görünmeye devam ediyor.
- Pets ana sayfası boş olanlar ve tohum "Uncategorized" dahil bütün kategorileri "0" rozetiyle listeliyordu. Kategori listeleri artık yalnız yayınlanmış yazısı olan kategorileri, sayı rozeti olmadan gösteriyor.
Sıfır-Kurulum Zamanlama: Sunucu Cron'u Olmadan Dakikasında Yayın
Yeni
- Zamanlanmış yazılar ve içerik kuyruğu artık sunucu cron'una bağımlı değil. Yerleşik zamanlayıcı "sıradaki işin zamanı" damgasını tutuyor ve o an geldiğinde yayın motorunu, sayfa yanıtı ziyaretçiye teslim edildikten hemen sonra çalıştırıyor — 14:37'ye kurulan yazı, 14:37 ve sonrasındaki ilk ziyarette yayına giriyor, ziyaretçi de bunu hiç beklemiyor. Yanıtı erken kapatamayan sunucularda iş, hafif bir arka plan isteğine devrediliyor.
- Gerçek cron hâlâ birinci sınıf: kuruluysa görevi tamamen devralıyor ve ziyaretçi-tetiklemeli zamanlayıcı kendini kapatıyor — sıfır ek yük. İstenirse JEK_DISABLE_PSEUDO_CRON sabitiyle açıkça da devre dışı bırakılabiliyor.
İyileştirildi
- Eski yedek mekanizma her istekte zar atıyordu (%1 olasılık); sakin sitelerde geciken yazılar, yoğun sitelerde boşa veritabanı işi demekti. Yeni zamanlayıcı deterministik: normal bir istekte yalnızca bir-iki küçük dosya okuyor, başka hiçbir şey yapmıyor — veritabanı sorgusu yok, şansa bırakılan iş yok.
İlk-Yayın Yolculuğu: Yeniden Tasarlanan Karşılama Rehberi
İyileştirildi
- Paneldeki karşılama rehberi tek satırlık ince bir yolculuk rayı olarak yeniden yapıldı: dairesel ilerleme halkası, birbirine bağlı beş adım noktası ve sıradaki iş için tek bir eylem düğmesi. Eski kontrol listesinin çok daha azı kadar yer kaplıyor ve bir bakışta okunuyor.
- Beş adım artık bir siteyi kurmanın gerçek sırasını izliyor: site kimliği (ad ve slogan), logo, ilk kategori, ilk yayınlanan yazı ve yönetici şifresini güvene alma. Her adım, işi panelin neresinde bitirirseniz bitirin kendini canlı güncelliyor ve doğrudan ilgili ekrana götürüyor.
- "Tema seç" ve "AI sağlayıcısı bağla" artık kurulum adımı değil — kurulumda seçtiğiniz temada kalmak gayet doğru bir tercih, AI ise isteğe bağlı.
Tema Şablonlarında Öne Çıkan Görsel Yolu Düzeltmesi
Düzeltildi
- Birkaç tema şablonu (Recipes kartları ve sayfaları, Starter yazıları, Pets hata sayfası) öne çıkan görsel yolunu veritabanında saklandığı haliyle basıyordu. Göreli yollar site köküne göre çözülüp 404 dönüyor, o görseller hiç görünmüyordu. Bunların tamamı artık merkezi görsel yardımcısından geçiyor; doğru uploads adresi kuruluyor ve mevcut en iyi format sunuluyor.
Logo En-Boy Oranı ve Erişilebilirlik Düzeltmeleri
Düzeltildi
- Health ve Travel temalarındaki site logoları artık sabit yer tutucu değerler yerine gerçek piksel boyutlarını bildiriyor; her orandaki yüklenmiş logo bozulma veya yerleşim kayması uyarısı olmadan doğru en-boy oranında görünüyor.
Kurulum Sihirbazı 2.0: Ölçekli WordPress Göçü ve Akıllı Kurtarma
Yeni
- Kaldığı yerden süren WordPress göçü: ilerleme her partiden sonra sunucuya kaydedilir — göç sırasında tarayıcı kapansa ya da bağlantı kopsa bile sihirbaz yeniden açıldığında tam kaldığı yerden devam etmeyi önerir.
- Aynı-sunucu hızlı yolu: WordPress aynı hosting hesabındaysa görseller HTTP ile indirilmek yerine doğrudan diskten kopyalanır — büyük medya arşivleri kat kat kısa sürede taşınır.
- Daha akıllı sunucu ön-kontrolü: disk alanı, bellek limiti, yükleme boyutu ve yeni nesil görsel desteği baştan doğrulanır; dikkat gerektiren her madde için sade yönerge gösterilir — zorunlular engeller, isteğe bağlılar yalnız uyarır.
- Tam WordPress sadakati: bekleyen, özel ve zamanlanmış yazılar durumunu korur, yorum yanıt zincirleri saklanır, yorumcu bağlantıları taşınır ve site logonuz otomatik yerelleştirilir.
İyileştirildi
- Sihirbaz işlemleri oturuma özel bir belirteçle korunuyor; kurulu bir sitede kurulumu yeniden çalıştırmaya izin veren eski parametre kaldırıldı.
Düzeltildi
- Yerinde göçler (aynı alan adı) artık görselleri doğru taşıyor: önceden aynı-domain görsel adresleri "zaten yerel" sanılıp atlanıyor, ardından eski WordPress dosyaları silinince içerikteki tüm görseller kırılıyordu.
- Büyük siteler artık sunucu zaman aşımı riski taşımıyor: aktarım zaman-bütçeli partiler ve keyset sayfalamayla çalışıyor, yorumlar da partili aktarılıyor — on binlerce yazı ve yorumu olan siteler paylaşımlı hosting'de güvenle taşınıyor.
- Virgül içeren etiket ve kategori adları artık ayrı terimlere bölünmüyor; uzun etiket listeleri kırpılmıyor.
- Mevcut .htaccess dosyanız kurulum değiştirmeden önce yedekleniyor, öne çıkan görseller güvenilmez eski adresler yerine WordPress meta verisinden çözülüyor ve eski siteye işaret eden duyarlı görsel öznitelikleri temizleniyor.
- Kurulum sihirbazı artık baştan sona sizin dilinizde — sunucu taraflı her mesaj İngilizce ve Türkçe mevcut; kurtarılamayan sunucu hataları boş yanıt yerine okunur bir açıklama döndürüyor.
Yönetilen Kurulum Göstergesi Sertleştirme
Düzeltildi
- Lisans zorlama yığını olmayan merkezî-yönetilen kurulumlar artık çıkmaz sokak "Güncelleme Var" banner'ı ve menü rozeti göstermiyor — yönetilen-kurulum işareti güncelleme arayüzünün çizildiği her yerde tanınıyor.
Ticari Çekirdek: Güncellemeler, Lisans Taşıma, Paket Yükseltme ve Destek
Yeni
- Müşteri panelinden lisans taşıma: lisansınıza bağlı her siteyi görün, birini kaldırıp koltuğu boşaltın, yeni alan adını ekleyin ve orada aktive edin — lisansı siteler arasında taşımak bir dakika sürer, destek talebi gerektirmez.
- Tema ve eklenti güncellemeleri artık çekirdekle aynı imzalı kanaldan akıyor: RSA imzalı manifest her paketi kapsıyor, yönetim panelinde tek tık tema/eklenti güncellemesi çalışıyor, yayınlama hattı paketleri (paketle → doğrulanmış yükleme → katalog) taşıyor.
- Müşteri panelinden paket yükseltme: yalnızca farkı ödersiniz, lisans anahtarınız aynı kalır ve ödeme tamamlandığı anda site limitiniz yükselir — sitelerinizde yeniden aktivasyon gerekmez.
- Destek sertleştirme: müşteriye talep onay e-postası, yanıtlarda personele bildirim, müşteri dosya ekleri, plana bağlı öncelikli destek (Pro+ acil talep açabilir) ve iletişim formu mesajları artık salt-yazılır bir tabloya değil destek kuyruğuna düşüyor.
İyileştirildi
- Yönetim panelindeki çekirdek güncelleme notları artık jenerik paket etiketi yerine gerçek sürüm değişikliklerini gösteriyor.
- Güncelleme erişim seviyesi artık lisans kaydından okunuyor; paket yükseltmeleri güncelleme kanalında anında geçerli oluyor.
Düzeltildi
- Lisans koltuk işlemleri artık çalışma bağlamına bağlı değil — müşteri paneli, admin ve API aynı veritabanı dikişini kullanıyor (önceden panel yolu ölümcül hata verebiliyordu).
- Destek tabloları artık kendi kendini onaran şemayla garanti (eski kurulumlar dahil); müşteri portalı eksik-tablo hatasına düşemez.
Site Genelinde SEO Sertleştirme
Yeni
- Arşiv sayfaları (kategori, etiket, yazar, arama) artık kendi tekil başlıklarını, meta açıklamalarını ve Open Graph etiketlerini üretiyor — arşivlerde kopya-başlık kümeleri bitti; tüm temalarda, tema değişikliği gerekmeden.
- İsteğe bağlı etiket arşivleri: yeni SEO ayarı /tag/ sayfalarını gerçek, sitemap'te listelenen arşivlere çevirir (az yazılı etiketler otomatik noindex kalır). Modern tarama-bütçesi önerisine uygun olarak varsayılan kapalı.
- Feed'ler artık WebSub hub'ı ilan ediyor; feed okuyucular ve keşif servisleri güncellemeleri gerçek zamanlı alıyor. Yüklenen görseller alt metin verilmediyse otomatik, insanlaştırılmış alt metin alıyor.
İyileştirildi
- Her sayfadaki ilk büyük içerik görseli artık yüksek öncelikli ve beklemeden yükleniyor — görsel ağırlıklı sayfalarda doğrudan LCP (Core Web Vitals) kazancı.
- Meta açıklamalar artık kelimeleri ortadan bölmüyor: otomatik açıklamalar kelime sınırında, temiz noktalamayla bitiyor.
- Emekli Google/Bing sitemap-ping çağrıları yayın akışından kaldırıldı (yalnızca saniyelerce ölü bekleme ekliyordu); IndexNow bildirimi yayın başına tek pinge indirildi.
- Sitemap doğruluğu: index'te gerçek son-değişiklik tarihleri, 50 bin URL üstünde sayfalı yazı sitemap'leri ilan ediliyor, video içerik varsa video sitemap index'e katılıyor.
Düzeltildi
- Yapılandırılmış veri, script kapatma dizisi içeren içeriğe karşı sertleştirildi (tüm üreticilerde JSON_HEX_TAG) — şemalar artık yazı içeriğiyle kırılamıyor veya istismar edilemiyor.
- Arşiv sayfalarında Open Graph URL'i ana sayfayı gösteriyordu; artık kanonik URL ile birebir. og:locale artık her zaman html lang ile uyumlu.
- Alt-dizin kurulumlarında og:image kontrolü sessizce başarısız oluyor ve sosyal kartlar görselsiz çıkıyordu; taban yol artık doğru çözülüyor.
- Var olmayan kategori ve yazar adresleri HTTP 200 ile boş sayfa döndürüyordu (soft-404); artık gerçek 404. Sayfa genelinde çift Recipe/FAQ şema emisyonu engellendi.
Stories: Tutarlı Emoji Çizimleri, Tepki Değiştirme ve Canlı Tepki Akışı
İyileştirildi
- Tepkiler artık OS emojileri yerine gömülü SVG emoji çizimleri (Twemoji) kullanıyor — her cihaz ve tarayıcıda aynı net, modern görünüm; harici istek yok.
- Tepkiniz artık değiştirilebilir: farklı bir emojiye dokununca önceki tepki değişir, sayaçlar arka planda doğru şekilde güncellenir.
- Önceki tepkiler artık her izleyiciye ince bir ortam akışı olarak görünüyor — hikaye oynarken minik emojiler, slaytın topladığı tepkiyle orantılı biçimde yukarı süzülüyor.
- İstatistik sayfası yeniden tasarlandı: üstte KPI kartları, slayt başına görüntülenme barları, CTR kolonu, emoji-emoji tepki dağılımı, satır içi anket sonuç barları ve hikaye başına görsel tamamlama göstergesi.
Instagram Tarzı Hikaye Tepkileri
İyileştirildi
- Hikaye tepkileri Instagram'ın hızlı-tepki diliyle yeniden tasarlandı: altı çıplak emoji (❤️ 😂 😮 😢 🔥 👏), dokununca yaylanan pop ve hikaye boyunca yukarı süzülen emoji yağmuru — buton çerçevesi ve gri baloncuk yok.
Stories v1.1 — Otomatik Hikaye, Anket, Tepki ve İstatistik
Yeni
- Otomatik hikaye: yazı yayınlandığında öne çıkan görsel, başlık ve linkten otomatik hikaye üretilir — ayarlanabilir süre sonunda kendiliğinden yayından düşer. Hikaye şeridiniz sıfır elle işle taze kalır.
- Anket slaytları: 2-4 seçenekli soru sorun; ziyaretçi dokunarak oy verir ve anında canlı yüzdelik barları görür. Ziyaretçi başına tek oy, giriş gerektirmez.
- Her slaytta emoji tepkileri (🔥 ❤️ 👏) — tek dokunuş, çerezsiz, slayt başına tek tepki, hoş bir patlama animasyonuyla.
- İstatistik sekmesi: slayt bazlı görüntülenme (7 günlük kolonla), CTR'lı link tıklamaları, tepkiler, anket sonuç dağılımları ve son slayta ulaşan izleyici oranını gösteren tamamlama yüzdesi.
Stories Önbellek Düzeltmesi ve Sade Admin
İyileştirildi
- Stories admini sadeleştirildi: slayt düzenleme artık Düzenle açılırında gizli, slayt ekleme araçları düzenli akordeonlarda, ayarlar hizalı satırlar ve satır içi girişlerle.
Düzeltildi
- Stories görüntüleyici betiği artık sunucu önbelleğini atlayarak sunuluyor; güncelleme sonrası düzeltmeler bayat kopyaya takılmadan ziyaretçiye anında ulaşıyor.
- Görüntüleyiciyi kapatma stil düzeyinde de sağlamlaştırıldı — kapatma düğmesi, Escape ve aşağı kaydırma tema stiliyle çakışsa bile çalışıyor.
Stories Görüntüleyici Düzeltmeleri ve Satır İçi Linkler
Düzeltildi
- Hikaye görüntüleyicide kapatma düğmesi (ve Escape / aşağı kaydırma) artık pencereyi güvenilir şekilde kapatıyor.
- Slayt linkleri artık ayrı bir buton değil, tıklanabilir metin: altyazı veya kart metninin kendisi linke gidiyor; [görünen metin](adres) yazımıyla istenen kelimeye satır içi link verilebiliyor.
- Görüntüleyici başlığındaki hikaye yaşı göstergesi artık açık birim gösteriyor (örn. "3 sa") — slayt süresiyle karıştırılmıyor.
Hikayeler — Siteniz İçin Instagram Tarzı Story
Yeni
- Yeni Hikayeler eklentisi: tıklanabilir hikaye şeridi + tam ekran görüntüleyici — görsel, video (MP4/WebM) ve metin kartı slaytları; otomatik ilerleyen progress barlar, kaydırma/klavye gezinmesi ve basılı-tut duraklatma. Mobil öncelikli, bağımlılıksız; yayında hikaye yokken sayfaya sıfır yük.
- Her slayta altyazı, özel süre ve kendi etiketli CTA linki eklenebilir — duyuruları trafiğe dönüştürün.
- Zamanlama ve otomatik süre sonu: hikayeler kendi kendine yayına girer ve kalkar; kalıcı "Öne çıkan" hikayeler şeridin sonuna sabitlenir. Görüntülenme sayısı hikaye başına, çerezsiz izlenir.
- Yerleşim sizde: şeridin konumunu (header altı, içerik başı, sayfa üstü, footer üstü veya özel CSS seçicisi) ve hedef sayfaları ayarlardan seçin — tema başına kaydedilir, tema dosyasına dokunmadan tüm temalarda çalışır.
- Canlı önizlemeli görünüm kontrolleri: daire veya dikey kart biçimi, üç boyut, klasik degrade / tek renk / halkasız, hizalama, opsiyonel şerit başlığı ve izlenmiş hikayelerde otomatik gri halka.
Lisans Zorlaması Boşluk Kapatma
İyileştirildi
- Yönetimli-kurulum işareti artık kriptografik olarak imzalı ve domaine bağlı; lisans zorlamasını atlatmak için taklit edilemiyor. Meşru yönetimli kurulumlar etkilenmez.
- Operatörler artık şüpheli yeniden dağıtım, lisans klonu ve doğrulamayı kesen kurulumlar için otomatik uyarı (e-posta özeti) alıyor — tespit artık panoyu elle açmaya bağlı değil.
Lisans Zorlaması ve EULA Sertleştirmesi
İyileştirildi
- Lisans doğrulaması artık kopyanın dağıtım-kaynağını bildiriyor; lisanslı bir kopyanın izinsiz yeniden dağıtımı otomatik tespit edilip operatörün kurulumlar panosunda gösteriliyor. Meşru kurulumlar etkilenmez.
- Son Kullanıcı Lisans Sözleşmesi (EULA); gömülü kopya-izleme, delil değeri, cezai şart ve ters mühendislik/rebranding yasakları maddeleriyle güçlendirildi; ödeme adımı artık EULA kabulünü kaydediyor.
Kurulum Bütünlüğü Sertleştirmesi
İyileştirildi
- Kurulum bütünlüğü altyapısı güçlendirildi; lisanslı bir kopyanın izinsiz değiştirilmesi veya yeniden dağıtılması daha güvenilir biçimde tespit edilip izlenebiliyor. Meşru kurulumlar etkilenmez.
Trafik ve Dağıtım: Web Push Onarımı, Tek IndexNow Anahtarı ve Başvuru Temposu
İyileştirildi
- Backlink çalışma alanındaki haftalık fırsat limiti artık gerçekten uygulanıyor: haftanın kotası dolunca yeni ekleme net bir mesajla duraklatılıyor — ekranın vadettiği gibi başvuru temposu korunuyor.
- Trafik Durumu ekranına Web Push satırı eklendi: service worker erişilebilirliği, abone sayısı ve son gönderim tek bakışta.
Düzeltildi
- Web Push artık uçtan uca çalışıyor. Tarayıcının ihtiyaç duyduğu genel uçlar (service worker, anahtar, abonelik) yönlendiriciye hiç bağlanmamıştı; push açılsa bile tek bir bildirim gidemiyordu. Uçlar artık gerçek rotalar, abonelikler kaydedilmeden doğrulanıyor ve gönderim zaman bütçesine uyuyor — büyük abone listesi yayını asla kilitleyemez.
- Site başına tek IndexNow anahtarı. Eklenti ve çekirdek arama ping'leyicisi ayrı ayrı anahtar üretiyor, site kökünde iki anahtar dosyası ve mükerrer gönderim oluşuyordu. İki katman artık tek anahtarı paylaşıyor; anahtarı değiştirmek/yenilemek her şeyi günceller ve eski dosyayı temizler.
- Test veya hata sonrası kayıt artık genel bir "Kaydedildi." göstermiyor — gerçek sonuç (test çıktısı, hata ayrıntısı) görüntüleniyor.
- Aktivasyon sırasında VAPID anahtarları üretilemezse Web Push kalıcı olarak bozuk kalıyor ve kurtarma yolu yoktu; ayarlar ekranı artık anahtarları otomatik yeniden üretiyor ve hatayı açıkça bildiriyor.
Sosyal Otomatik Paylaşım: Instagram Hikâye, Discord, Evergreen Yeniden Paylaşım ve Güvenilirlik
Yeni
- Instagram Hikâye. Her yeni içerik, feed gönderisinden birkaç dakika sonra 9:16 hikâye olarak da paylaşılabiliyor — görsel öne çıkan görselden otomatik hazırlanıyor. Varsayılan açık, ayarlarda tek anahtar.
- Discord kanal yayını. Sıfır sürtünme: kanal webhook URL'ini yapıştırın, her yeni içerik topluluğunuza zengin embed olarak düşsün (başlık, açıklama, görsel, link). Uygulama kaydı ve OAuth yok.
- Evergreen yeniden paylaşım. İsteğe bağlı: eski değerli içerikler metin kanallarına periyodik olarak yeniden paylaşılır — yaş eşiği ve günlük tavan ayarlanabilir, görsel kanallar hariç tutulur, aynı içerik pencere içinde tekrarlanmaz.
- Başarısız öğe kurtarma. Kuyruk ekranı artık başarısız öğeleri (tek tek veya toplu) yeniden deneme ve silme imkânı veriyor; 7 günlük platform başarı-oranı tablosu eklendi.
İyileştirildi
- Yeni token-tabanlı platform eklemek artık admin ekranını düzenlemeyi gerektirmiyor: bağlantı formları platform kayıt defterinden üretiliyor.
- Facebook Sayfa bağlantıları artık uzun ömürlü token alıyor ve kendini yeniliyor — önceden token saatler içinde sessizce ölüyor, hesap ilk yayında bozuluyordu.
- Kuyruk artık öğe başına atomik sahipleniliyor: çakışan zamanlayıcılar aynı içeriği iki kez yayınlayamaz; takılı öğeler 30 dakikada kendini kurtarır, web-cron koşuları zaman bütçesine uyar.
Düzeltildi
- Pinterest "Tanıla" sonuçları loga hiç yazılmıyordu (tablonun kabul etmediği bir durum değeri sessizce düşüyordu).
- Süresi dolan bağlantılar artık genel hata yerine "süresi doldu" olarak, net yeniden-bağlan sinyaliyle işaretleniyor.
- X/Twitter yetkilendirmesi, adaptörün hiç kullanmadığı medya iznini artık istemiyor.
Admin Çıplak-Anahtar Onarımı: 249 Eksik Çeviri Tamamlandı
Düzeltildi
- Bazı admin sayfaları metin yerine çıplak çeviri anahtarı gösteriyordu ("admin_blog_posts.th_title" gibi) — iki dilde de. Blog yazıları, lisanslar, e-posta şablonları, sipariş detayı, faturalar, yedekler ve giriş ekranlarında 249 eksik sözlük girdisi Türkçe ve İngilizce yazıldı; yeni bir denetleyici kuralı tanımsız anahtar kullanımını bundan sonra engelliyor.
- Tema kataloğu sayfası ve kenar çubuğundaki İlk Kurulum Paketi etiketi Türkçe sabitlenmişti; artık admin dilini izliyor.
- Faturalar ekranı açılışta çöküyordu: vadesi-geçmiş sayacı hiç var olmamış bir kolona başvuruyordu (due_at → due_date).
Müşteri Portalı Tamamen İki Dilli + Dil-Kaçağı Kalkanı
İyileştirildi
- Yeni bir iç dil-kaçağı denetleyicisi bundan sonraki her değişikliği koruyor: TR/EN çifti olarak doğmayan her yeni kullanıcı metni yayın öncesi yakalanıyor; bu hata sınıfı sessizce geri dönemiyor.
Düzeltildi
- İngilizce müşteri portalına artık Türkçe metin sızmıyor (tersi de). Tek dilli kalmış her sayfa gerçek iki dilli yapıldı: güvenlik ayarları, e-posta doğrulama, şifremi unuttum/sıfırla, ödeme ve başarı/iptal sayfaları, destek talepleri, indirmeler ve sipariş detayı.
- Kurulum sihirbazı artık İngilizce de konuşuyor. Yeni müşterinin gördüğü ilk ekran neredeyse tamamen Türkçeydi; artık TR/EN anahtarıyla tam iki dilli, varsayılanı tarayıcı dilini izliyor ve tüm hata mesajları da çevrildi.
Site Adı Sinyali 14 Temanın Tamamında Tamamlandı
Düzeltildi
- Artık her temanın ana sayfası site adını H1 başlığı olarak işaretliyor — Google'ın arama sonuçlarında gösterilecek site adını seçerken baktığı dört dokümante sinyalin tamamı böylece tamamlandı; Google'ın çıplak alan adına düşmesi engellendi. Başlık sıfır görsel değişiklikle basılıyor; iç sayfalarda H1 içerik başlığında kalıyor. (Personal önceki sürümde çıkmıştı; kalan 13 tema şimdi kapsandı.)
- Minimalist temanın üstbilgi markası belirli bir site adına sabitlenmişti; artık diğer temalar gibi Site Adı ayarını izliyor.
- Finance teması logo yüklenmediğinde hiç marka göstermiyordu ve ana sayfa tespiti arama/sayfalama sayfalarını yanlış etiketleyebiliyordu; ikisi de düzeltildi.
- Recipes teması markayı her sayfada H1 basıyordu, makalelerde iki H1 oluşuyordu; marka artık yalnız ana sayfada H1.
Personal Tema: Google için Site Adı Sinyali Tamamlandı (Ana Sayfa H1)
Düzeltildi
- Google, arama sonuçlarında site adınız yerine alan adınızı gösterebiliyordu. Personal temanın ana sayfasında H1 başlığı yoktu — Google'ın site adı seçimi için dokümante ettiği dört sinyalden biri (WebSite yapılandırılmış verisi, og:site_name, title ve belirgin başlık). Üstbilgideki marka artık yalnız ana sayfada H1 olarak basılıyor, görünüm birebir aynı; iç sayfalarda H1 içerik başlığında kalıyor.
Satın Alma Canlıda: Fiyat Sayfası Checkout'u ve İndirim Kampanya Yöneticisi
Yeni
- Fiyat sayfası artık satıyor. Her planın butonu güvenli checkout'u o plan seçili olarak açar; girişli müşterinin e-postası ve adı ön-dolu gelir, checkout dili site dilini izler.
- İndirim kampanya yöneticisi. Kampanyayı admin'de tanımlayın — yüzde veya sabit tutar, tarih penceresi, kullanım sınırı, plana özel kısıt ve özel gün kalıpları (Yılbaşı, Black Friday ve dahası). Kampanyalar ödeme sağlayıcısına otomatik senkronlanır; fiyat sayfası kampanya bandı gösterir ve kodu müşteri hiçbir şey yazmadan checkout'ta uygulayabilir.
Düzeltildi
- Kodda tanımlı plan fiyatları halka açık fiyat sayfasından sapmıştı; yeniden hizalandı.
Polar ile Uluslararası Ödeme, Anında Lisans Teslimi ve Hesap Güvenliği Yenilemesi
Yeni
- Polar (Merchant of Record) ile uluslararası kart ödemesi. Ödenen her Polar siparişi müşteri hesabını otomatik oluşturur, lisans anahtarını üretir, faturayı keser ve anahtarı e-postalar — elle adım yok. Teslimler idempotent, webhook imzaları doğrulanıyor ve teşekkür sayfası lisans anahtarını hazır olduğu anda gösteriyor.
- Müşteri hesapları için e-posta doğrulama. Yeni kayıtlara doğrulama bağlantısı gider (giriş asla engellenmez); e-posta değişikliği yeni adresin yeniden doğrulanmasını gerektirir ve eski adres bilgilendirilir. Daha önce hiçbir yere gitmeyen linklerin yerine yeni bir yeniden-gönderim sayfası geldi.
- Hesap silme (KVKK/GDPR). Müşteriler Güvenlik sayfasından şifre onayıyla hesaplarını kalıcı olarak anonimleştirebilir; sipariş ve fatura kayıtları yasal gereklilikle saklanır.
- Gerçek giriş geçmişi. Güvenlik sayfası artık gerçek giriş denemelerini (tarih, IP, sonuç) gösteriyor — eski liste hiçbir kodun yazmadığı bir tabloya bağlıydı.
İyileştirildi
- Kaba kuvvet koruması artık veritabanı destekli. Eski sınırlayıcı denemeleri ziyaretçinin kendi oturumunda sayıyordu; çerez temizlemek sayacı sıfırlıyordu. Limitler artık oturumdan bağımsız, e-posta ve IP başına uygulanıyor ve her deneme denetim kaydına giriyor.
- Şifre değişikliği artık e-postayla teyit ediliyor ve oturumu tazeliyor; işlevsiz "Beni hatırla" kutusu kaldırıldı (oturumlar zaten 30 gün sürüyor).
Düzeltildi
- E-posta doğrulama sayfası üretimde hiç var olmamış kolonları sorguluyordu; doğrulama bağlantıları çalışamıyordu. Artık gerçek şemayı kullanıyor.
- Siparişe bağlı bir destek talebini görüntülemek, var olmayan bir tabloya yapılan sorgu yüzünden hata verebiliyordu.
- Ödeme sağlayıcılarının site doğrulama botları aşırı geniş bir user-agent filtresine takılıyordu; sağlayıcı kaydı "could not reach this URL" hatasıyla başarısız oluyordu.
Giriş Akışı Sadeleştirildi: Oturum-Duyarlı Başlık ve Yalnız Google ile Sosyal Giriş
İyileştirildi
- Site başlığı artık giriş yapmış müşteriyi tanıyor. Giriş veya kayıt sonrası "Giriş Yap / Hemen Başla" butonlarının yerini "Panelim" ve "Çıkış Yap" alıyor — masaüstünde ve mobil menüde.
- Giriş yapmak sizi sayfadan koparmıyor. Siteden giriş veya kayıt olduğunuzda müşteri paneline zorla yönlendirilmek yerine bulunduğunuz sayfada kalıyorsunuz; Google ile girişte başlattığınız sayfaya geri dönüyorsunuz.
- Dil seçiminiz müşteri portalına taşınıyor. Siteyi İngilizce gezen müşteri girişten sonra paneli İngilizce, Türkçe gezen Türkçe görüyor.
- Sosyal giriş artık yalnız Google. Az kullanılan GitHub, Facebook ve Microsoft giriş seçenekleri giriş penceresinden, portal sayfalarından ve yönetici ayarlarından kaldırıldı.
- Çıkış yapınca artık giriş ekranı yerine anasayfaya dönülüyor.
Düzeltildi
- Google giriş hataları artık gösteriliyor. Giriş sayfası yanlış URL parametresini dinlediği için OAuth hataları (iptal edilen giriş, yapılandırma eksikliği, pasif hesap) sessizce yutuluyordu; tüm hata kodları artık iki dilli mesajlarla görünüyor.
- Kayıt penceresi, Kullanım Koşulları kutusu işaretlenmeden gönderimi kabul ediyordu; onay artık zorunlu.
- Giriş ve kayıt API çağrıları alt-klasör kurulumlarında yanlış yola gidiyordu; artık site kök önekine uyuyor.
- Şifre sıfırlama, tablosu eksik kurulumlarda da çalışıyor. password_resets tablosu yalnız bir geliştirme migration'ında vardı; yoksa şifremi-unuttum formu çöküyordu. Tablo ilk kullanımda kendi kendine oluşuyor; e-posta gönderim hatası da akışı artık bozmuyor.
- Giriş hata mesajları seçilen portal dilinden bağımsız olarak İngilizce-Türkçe karışıktı; artık dili izliyor.
Personal Temada İçerik Tabloları Artık Düzgün Stillenir
Düzeltildi
- Yazı içindeki tablolar artık düzgün kenarlık, başlık satırı ve boşluğa sahip. Personal temada tablo stili yoktu; tablolar kenarlıksız, okunması zor sütunlar olarak görünüyordu. Artık hücre kenarlıkları, gölgeli başlık satırı, rahat iç boşluk, satır renklendirmesi ve küçük ekranlarda yatay kaydırma var.
Oylama, AI SEO Analizi ve IP Engelleme İçin Şema Boşlukları Kapatıldı
Düzeltildi
- Makale oylama artık çalışıyor. Yukarı/aşağı oy özelliği (crypto teması kullanıyor) şemanın hiç oluşturmadığı bir post_votes tablosuna ve posts.votes kolonuna yazıyordu — eski bir migration tabloyu uyumsuz kolon adlarıyla tanımlıyordu bile. Tablo ve kolon artık şemanın parçası, mevcut sitelerde kendi kendine onarılıyor ve bayat migration düzeltildi.
- AI SEO analizi artık kaydediliyor. Editörün AI analizi, var olmayan seo_meta kolonlarına (ai_score, ai_analysis, ai_analyzed_at) yazıyordu; sonuçlar hiç saklanmıyordu. Kolonlar şemaya eklendi ve mevcut sitelerde kendi kendine onarılıyor.
- IP engelleme listesi için düzgün bir şema tablosu var. Önceden yalnızca yönetici Güvenlik Merkezi'ni açtığında oluşuyordu; artık çekirdek şemanın parçası ve kendi kendine onarılıyor.
Şema Tutarlılığı: Sessiz Veritabanı Hataları Giderildi + Drift Denetimi
İyileştirildi
- Sürüm hattına şema drift denetimi eklendi. Yeni bir araç, kodun yazdığı her tablo/kolonu şema ve eklenti tanımlarıyla karşılaştırıyor; yeni ortaya çıkan her uyumsuzluk sürümü durduruyor ve bu tür taze-kurulum hatalarının tekrarını önlüyor.
Düzeltildi
- Yorum yanıtları ve API ile yorum oluşturma artık güvenilir şekilde kaydediliyor. İkisi de comments tablosunda olmayan bir kolon adına (ip_address) yazıyordu (doğru kolon author_ip); bu yüzden her kurulumda başarısız oluyordu. Artık doğru kolonu kullanıyorlar.
- Otomatik IP engelleme artık gerçekten engelliyor. Güvenlik modülü var olmayan bir blocked_at kolonuna yazıyordu, engellemeler sessizce düşüyordu; artık doğru kolonu kullanıyor.
- Tema değiştirme ve ayar kaydı taze kurulumlarda güvenli. settings tablosuna created_at/updated_at kolonları eklendi (şemaya eklendi, mevcut sitelerde kendi kendine onarılıyor) — kod bu zaman damgalarını yazıyordu ama taze kurulum şemasında yoktular.
- ZeroTrack etkinleştirmede doğru kaydediliyor. Eklenti kaydı yanlış kolon adları kullanıyordu (is_active/is_core yerine active/core).
Log ve Veri Hijyeni: Kendi Kendini Sınırlayan CMS
İyileştirildi
- Otomatik bakım artık biriken her deposu kapsıyor. Ham görüntüleme kayıtları (180 gün), otomatik bağlantı logları, SEO ping logları ve süresi dolmuş Google Console cache satırları mevcut bakım takviminde budanıyor; büyüyen log dosyaları (php-errors.log dahil) merkezî olarak döndürülüyor ve eski rotasyonlar 30 günde temizleniyor.
Düzeltildi
- Veritabanı hata logu artık sınırsız büyüyemez. Uygulama loguyla aynı şekilde 5 MB'ta dönüyor ve tek yedek tutuluyor. Tekrarlayan bir cron hatası bu dosyayı süresiz büyütebiliyordu.
- İki kronik hata kaynağı kökünden susturuldu. Webhook kuyruğu eski kurulumlardaki eksik api_tokens kolonlarını kendisi onarıyor (webhook özelliği de çalışır hâle geliyor); AI toplu işleyici tablosu kurulu değilse sessizce atlıyor — ikisi de her dakika hata kaydı yazıyordu.
ZeroTrack: Etkileşimli Trend Grafiği ve Tam Yerelleştirme
İyileştirildi
- Trend grafiği sıfırdan tasarlandı. Çıplak çizgi grafik artık etkileşimli bir sütun grafik: üzerine gelinen sütun ve komşuları vurgulanır, görüntüleme + tekil ziyaretçi bilgisini gösteren bir ipucu açılır ve başlıktaki canlı değer güncellenir. Verisi olmayan günler atlanmak yerine sıfır olarak çizilir; "Bugün" aralığı artık saatlik kırılım gösterir.
- KPI kartları önceki dönemle kıyaslıyor. Sayfa görüntüleme, tekil ziyaretçi ve oturum kartlarında artış/düşüş yüzdesi görünür.
- Eklentinin tamamı admin tasarım sistemine ve diline uyuyor. Panel ve ayarlar sayfalarındaki her etiket tam yerelleştirildi (Türkçe admin her yerde Türkçe gösterir); sabit açık-tema renkleri tasarım token'larıyla değiştirildi, karanlık mod doğru görünür. En çok görüntülenen sayfalara oransal kullanım çubukları eklendi.
Google Console: Tutarlı Raporlar ve Kalıcı Bağlantı Rehberi
İyileştirildi
- Search Console ile Analytics artık aynı tarih penceresini raporluyor. GA4 istekleri "bugün"de biterken Search Console dünde bitiyordu; genel bakış kartları farklı dönemleri karşılaştırıyordu. İkisi de artık birebir aynı aralığı kullanıyor.
- Anahtar kelime ve sayfa tabloları 50 satıra kadar gösteriyor (önceden 20); dizine ekleme taraması Google URL Inspection günlük kotasına uygun olarak 2.000 URL'e kadar çıkıyor (önceden 500).
- Yeniden bağlan uyarısı en sık nedeni açıklıyor. Google bağlantıyı invalid_grant ile düşürdüğünde — tipik neden OAuth uygulamasının 7 günde bağlantı düşüren "Testing" modunda bırakılması — panel bunu söylüyor ve kalıcı bağlantı için uygulamayı production'a alma adımlarını gösteriyor. Kurulum rehberine de eklendi.
- Search Console site adresi kayıtta normalleştiriliyor. Çıplak alan adı doğru domain property biçimine (sc-domain:) çevriliyor, URL-prefix property'lere zorunlu bitiş eğik çizgisi ekleniyor — bozuk değerler sessizce boş rapor üretiyordu.
Bülten Sonuç Sayfaları Her Temada ve İki Dilde Çalışıyor
Düzeltildi
- Bülten kayıt/onay/çıkış sayfaları Personal dışındaki temalarda artık çökmüyor. Bu sayfalar Personal temasına özel bir fonksiyonu doğrudan çağırıyordu; başka bir tema aktifken sunucu hatası oluşuyordu. Artık tema-güvenli bir yardımcı kullanıyorlar ve metinlerini sabit Türkçe yerine site dilinde (Türkçe veya İngilizce) gösteriyorlar.
Görünür Spam Koruması, Güvenilir Bülten Kaydı, Tutarlı Eklenti Adları
İyileştirildi
- Yerleşik spam filtresi artık görünür ve açıklanabilir. Yorumlar ekranı Spam Koruması ayarlarına doğrudan bağlanıyor, işaretlenen yorumlar spam skorunu tetikleyen nedenlerle birlikte gösteriyor ve spam sekmesinde tek tıkla "Spam Değil" var. Filtrenin kendisi (bağlantı limiti, kelime/IP/e-posta kara listeleri, gönderim hızı ve tekrar eden saldırgan kontrolleri) her yorumu zaten perde arkasında puanlıyordu.
- Eklenti adları ve sıralaması her yerde tutarlı. Kenar çubuğu artık Eklentiler ekranıyla aynı yerelleştirilmiş adları kullanıyor; iki liste de görünen ada göre alfabetik.
- Tema özelleştirici tamamen yerelleştirildi. Sekme ve tema açıklamaları Türkçe admin'de Türkçe görünüyor; sayfa başlığı admin diline uyuyor.
Düzeltildi
- Bülten kaydı artık her temadan çalışıyor. Bazı temaların abonelik formları var olmayan uçlara (/newsletter, /api/v1/newsletter/subscribe) gönderiyordu; kayıtlar sessizce kayboluyordu. İki uç da artık bülten eklentisine ulaşıyor; API alt-dizin kurulumlarında da çalışıyor.
- Taze kurulumlar yorum veya abonede artık kırılmıyor. Kurulum şemasında yorumların spam-skoru kolonları ile abonelerin subscribed_at kolonu eksikti; ikisi de şemaya eklendi ve mevcut sitelerde kendi kendini onarıyor.
- Yeni-yazı bildirim e-postaları doğru render ediliyor. Bildirim kampanyası yazı verisini ham JSON olarak saklıyordu ve e-postaya olduğu gibi basılacaktı; gönderici artık bunu şablon değişkenlerine çözüyor.
- Crypto tema footer'ı artık özelleştiriciye uyuyor. "Marka tanıtımı" alanı gerçekten render ediliyor, sosyal ikon anahtarı çalışıyor, site adı sabit yazılmıyor ve footer abonelik formu doğru uca gönderiyor.
Admin Varlıkları Anında Güncellenir, Açılır Liste Kırpılma Düzeltmesi
Düzeltildi
- Admin CSS/JS güncellemeleri artık tarayıcıya anında iner. Stil ve betik adresleri CMS sürüm numarası yerine dosya değişiklik zamanıyla sürümleniyor; düzeltmelerin görünmesi için zorla yenileme ya da sürüm artışı gerekmiyor.
- Özel açılır liste panelleri artık kart sınırında kırpılmıyor. Bir seçim paneli (yazı düzenleyicideki Yazar seçici gibi) açıkken kapsayıcı kart geçici olarak taşmaya izin veriyor ve seçenek listesinin tamamı görünüyor.
Yazı Düzenleyicide Yazar Seçimi, Cümle-Duyarlı Özetler
Yeni
- Yazılar artık düzenleyiciden başka bir yazara atanabiliyor. Yayınla kutusundaki yeni Yazar açılır listesi sitenin yazarlarını gösterir; seçim yazıyla birlikte kaydedilir. Otokayıt ve hızlı-düzenleme akışları etkilenmez.
Düzeltildi
- Otomatik özetler artık cümle ortasında kesilmiyor. Üretici pencere içindeki son tam cümleyi tercih ediyor, sürüm noktalarını ("GPT-3.5" gibi) cümle sonu saymıyor, Türkçe karakterlerde UTF-8 güvenli ve bitişik blok etiketlerine boşluk koyuyor. Tüm sitelerdeki mevcut kesik özetler içerikten yeniden üretildi.
Pro Tema Özelleştirici: Font Önizleme, İçe/Dışa Aktarma, Türkçe Arayüz, Derin Seçenekler
Yeni
- Tema ayarları artık JSON olarak dışa ve içe aktarılabiliyor — bitmiş bir tasarımı tek tıkla başka kuruluma taşıyın; içe aktarma şemadan doğrulanır, farklı-tema onayı istenir ve tek tıklık "Varsayılanlara Dön" footer-kurucu verisini korur.
- Font seçiciler gerçek font seçici oldu. Her font alanının arkasında 38 aileli merkezi kütüphane var (boş dropdown bitti), mevcut font seçili olarak en üstte, her seçenek kendi yazı tipinde görünüyor ve canlı önizleme satırı gezindikçe güncelleniyor.
- Tema başına daha derin seçenekler, hepsi gerçek çıktıya bağlı: Personal temasına anasayfa kontrolleri (hero slayt sayısı, popüler bölüm ve adedi, kategoriler anahtarı, son yazılar ızgarasında sayfa başına adet) ve Yazı Sayfası sekmesi (kenar çubuğu, yazar kartı, ilgili yazılar ve adedi, yorumlar) eklendi — her anahtarın sayfayı gerçekten değiştirdiği doğrulandı.
İyileştirildi
- Özelleştirici artık Türkçe konuşuyor. Tüm tema şemalarında kalan yüzü aşkın İngilizce alan ve sekme etiketi, Türkçe admin oturumları için çevrildi.
Taze-Kurulum Denetimi: Tema Geçişi, Özelleştirici ve Kurulum Uçtan Uca Sertleştirildi
Düzeltildi
- Tam müşteri yolculuğu denetimi (kurulum → tema geçişi → özelleştirici → içe aktarma) dokuz taze-kurulum hatasını kapattı. Alt-dizin kurulumlarında Hakkımda/yasal sayfalardaki sonsuz yönlendirme bitti; tek yazı sayfalarına yazar verisi artık geliyor (News teması çökmüyor); Tech temasının eksik yardımcı fonksiyonu, Finance temasının hiç paketlenmemiş yorum bileşeni ve Health temasının görselsiz yazıdaki çökmesi çözüldü.
- Arama artık her sunucuda çalışıyor. Aynı SQL yer tutucusunun iki kez kullanılması, PDO emülasyonu kapalı sunucularda aramayı SQL hatasıyla kırıyordu — çekirdek sorgu kurucusunda, Health temasında ve quiz eklentisinde düzeltildi.
- Tema Özelleştirici kaydı artık diğer ayarları silmiyor. Eskiden temanın tüm özelleştirme kaydını değiştirip footer-kurucu verisini sessizce siliyordu; artık yalnız kendi alanlarını güncelliyor. Footer kurucusu da yalnız onu gerçekten basan temalarda etkin — diğer temaların footer ayarlarını bozamıyor.
- Kurulum rötuşları: uygulama loglaması log klasörünü ilk kullanımda kendisi oluşturuyor (taze kurulumda sessizce ölüydü), bozuk mutlak-yollu ErrorDocument kuralları kaldırıldı, ilk isteklerdeki session ini uyarıları bitti.
Medya Kütüphanesi: Tıkla-Düzenle Onarıldı, Daha Akıllı Alt Metin Düzenleme
İyileştirildi
- Alt metin alanına canlı karakter sayacı ve rehber eklendi (ideal ≤125 karakter) — görsel SEO alanları yalnız doldurulmasın, doğru doldurulsun.
Düzeltildi
- Medya kütüphanesinde görsele tıklamak yeniden detay/düzenleme ekranını açıyor. Lightbox, görsel kartlarındaki her tıklamayı yakalıyordu; alt metin, başlık ve açıklamanın düzenlendiği ekrana ulaşmak imkânsız hâle gelmişti. Büyütme artık karttaki büyüteç butonunda (ve detay sayfasında önizlemeye tıklayınca).
Reklam Yerleşimleri Tüm Temalarda Standart, Dürüst Slot Paneli
İyileştirildi
- Artık her tema standart reklam yerleşim setini basıyor. Denetimde personal ve trends temalarının hiçbir reklam alanını basmadığı, health ve recipes'in yalnız bir-iki alan bastığı görüldü — admin'e yapıştırılan reklam kodu sitede hiç görünmüyordu. Tüm temalar artık şunları destekliyor: menü altı, yazı üstü/içi/altı, arşiv kartları arası ve footer üstü.
- Reklam yöneticisi artık alan bazında doğruyu söylüyor. Her alan kartında aktif temanın onu gerçekten basıp basmadığı görünüyor ("Temada aktif" / "Tema basmıyor" rozeti); hiçbir güncel temanın kullanmadığı dört eski alan, kayıtlı kodu yoksa gizleniyor.
Hotfix: Footer Özelleştirici Kaydı Artık Reddedilmiyor
Düzeltildi
- Footer özelleştiricideki "CSRF token mismatch" hatasının gerçek kök nedeni alan adı uyuşmazlığıydı; çekirdekte düzeltildi. Form token'ı
_tokenadıyla gönderirken kayıt koducsrf_tokenokuyup boş metin iletiyor, bu da yedek aramayı engelliyordu — taze oturumda bile her kayıt reddediliyordu. Doğrulayıcı artık boş token'ı "verilmedi" sayıp kabul edilen tüm alan adlarına bakıyor; geçersiz token yine reddediliyor.
Footer Özelleştirici Yenilendi, Bülten Görünümü Ayarlanabilir, Oturum-Ömürlü CSRF
İyileştirildi
- Footer özelleştirici görsel olarak yenilendi. Şablonlar artık metin listesi yerine yerleşimi gösteren resimli kartlardan seçiliyor, bölümler tutarlı kart tasarımına kavuştu ve sabit kaydet çubuğu her an elinizin altında.
- Footer bülten bloğu artık tamamen ayarlanabilir. Başlık ve tanıtım metninin yanında alan yazısını (placeholder), buton metnini ve görünüm stilini — sade, kutulu kart veya vurgu renkli kart — seçebilirsiniz; koyu footer ve mobil için uyumlu stiller dahil.
Düzeltildi
- Kaydederken çıkan "CSRF token mismatch" hatası bitti. Güvenlik token'ları bir saat sonra zorla eskiyordu; daha uzun açık kalan her admin formu — footer özelleştirici, uzun bir yazı düzenleme — kaydetme anında ölüyordu. Token'lar artık standart oturum-başına desenle tüm oturum boyunca geçerli.
Her Yasal Sayfada Tek Tıkla Düzenle
İyileştirildi
- Yasal sayfa durum tablosunda artık her satırda Düzenle butonu var. Hâlâ tema şablonundan servis edilen sayfalarda Düzenle'ye basınca sayfa, site ayarlarınız kullanılarak hazır metinden oluşturuluyor ve düzenleyici hemen açılıyor — oluşturucu formuna gitmeye gerek yok. Ekrandaki açıklama metni de sade bir dille yeniden yazıldı.
İç Navigasyonlu Sayfalar Merkezi, Yasal Sayfalar Tek Bakışta Düzenlenebilir
İyileştirildi
- Sayfalar ekranı artık iç kenar çubuklu gerçek bir merkez — Ayarlar ile aynı desen. Modüller başlıklar altında gruplu: Sayfalar (tüm sayfalar, yeni sayfa) ve Yasal Sayfalar (durum ve düzenleme, oluşturucu). Oluşturucu, durum tablosu ve eski kayıt listesini tek karmaşık sayfada toplayan eski ekran kaldırıldı.
- Her yasal sayfanın artık net bir düzenleme yolu var. CMS kaydı olan sayfalar Düzenle butonu gösteriyor; tema şablonundan servis edilen sayfalar "Tema varsayılanı" olarak işaretleniyor ve tek tıkla o sayfa önseçili şekilde oluşturucuya götüren Oluştur aksiyonu sunuyor.
Düzeltildi
- İçerik listelerindeki hover işlem menüsü (Düzenle | Görüntüle | Çöp) yeniden başlığın altında sola yaslı. Ortak işlem-hücresi stili menüyü yazı, kategori, etiket ve quiz listelerinde başlık sütununun sağ kenarına itiyordu.
- Eski yasal kayıt bloğu CMS admin'inden kaldırıldı. CMS sitesinin herkese açık sayfalarını hiç etkilemeyen bir pazarlama-sitesi tablosunu düzenliyordu; ekranı gerçekten yanıltıcı yapan buydu.
Kategori Slug Değişimlerine Otomatik 301, 404 Günlüğü Kendini Onarıyor
Yeni
- Kategori slug'ı değişince artık otomatik 301 oluşuyor — hem admin panelde hem REST API'de. v2.18.8'in yazı-slug yönlendirmeleriyle birlikte, jekcms'te hiçbir yeniden adlandırma dizinlenmiş bir URL'yi sessizce öksüz bırakamıyor.
Düzeltildi
- 404 günlüğü artık her kurulumda çalışıyor. Kayıt tablosu yalnız admin Yönlendirmeler sayfası ilk açıldığında oluşuyordu; o sayfanın hiç açılmadığı sitelerde her 404 sessizce çöpe gidiyor, "yönlendirme öner" listesi hep boş kalıyordu. Günlükçü artık tablosunu ilk kullanımda kendisi oluşturuyor.
Slug Değişiminde Otomatik 301, Eski URL Koruması, Daha Temiz Tarama Bütçesi
Yeni
- Yayındaki bir yazının slug'ı değişince artık otomatik 301 oluşuyor. Önceden her slug değişikliği eski URL'yi sessizce 404 bırakıyordu; filo çapındaki Search Console denetimi bu deseni sahada aynen buldu. Yönlendirme kayıt anında oluşturuluyor, eski slug'a işaret eden zincirler yeni hedefe çevriliyor, mükerrer kaynak asla eklenmiyor.
- Eski WordPress URL aileleri için yerleşik koruma. Emekli Türkçe tag arşivleri (/etiket/…) soft-404 yönlendirme yerine 410 dönüyor; taksonomi AMP kalıntıları (/author/…/amp, çıplak /amp, /amp/page/N) tek adımda yönleniyor — taşınan siteler Search Console hatası biriktirmeyi bırakıyor.
İyileştirildi
- Tarayıcılar salt-yazma uç noktalarında bütçe harcamıyor. robots.txt artık analitik işaretçisini (/zt-track) ve webhook yollarını engelliyor — bunlar Search Console'da "diğer 4xx" gürültüsü olarak görünüyordu.
Search Console Temizliği: Emekli Tag URL'leri Artık Taranabilir (410)
Düzeltildi
- Emekli /tag/ URL'leri artık Google dizininden düşebiliyor. robots.txt /tag/ yolunu engelliyordu; sayfalar doğru şekilde 410 Gone döndürdüğü halde engellenen tarayıcı 410'u hiç göremiyordu — yüzlerce ölü tag URL'si Search Console hata raporlarında süresiz donmuş kalıyordu. Engel kaldırıldı; Google artık 410 yanıtlarını görüp URL'leri kalıcı olarak düşürebiliyor.
Kapsamlı Yasal Sayfalar, Tek Tip Footer İmzası, Yazar Kartı Düzeltmesi
İyileştirildi
- Yasal sayfalar kutudan çıktığı haliyle kapsamlı ve profesyonel. Varsayılan Gizlilik Politikası, Kullanım Şartları, Çerez Politikası ve Sorumluluk Reddi metinleri iki dilde editoryal olarak yeniden yazıldı: veri kategorileri, hukuki dayanaklar, saklama süreleri, Google AdSense/analitik açıklamaları ve vazgeçme bağlantıları, çerez kategori tablosu, izinli kullanım ve sorumluluk bölümleri. Kendi yasal sayfasını yayınlayan siteler etkilenmez — varsayılanlar yalnız özel sayfa yokken devreye girer.
- Her yerde tek footer imzası. Footer alt barı artık her dilde "Powered by jekcms" yazar — imzanın Türkçe çevirisi kaldırıldı, tek marka-standardı ifade kullanılıyor.
Düzeltildi
- Yasal sayfalar koyu gövdeli temalarda okunuyor. Universal yasal şablonun kendi zemini yoktu; gövdesi koyu temalarda başlıklar koyu zemin üzerinde görünmez basılıyordu. Şablon artık sabit renkli açık bir panel kullanıyor; liste ve tablo stilleri de eklendi.
- Yazar kartı tam genişliğini kullanıyor. Crypto temasında yazar biyografisi 480px ile sınırlıydı ve cümleler avatar yanında dar bir sütuna sıkışıyordu; sınır kaldırıldı.
Crypto Teması: Eski TOC Temizleyici Artık Makale Gövdesini Yutmuyor
Düzeltildi
- Yazılar artık kesik render edilmiyor. Tekil şablondaki eski WordPress-import temizleyicisi, satır-içi içindekiler tablolarını aşırı geniş desenlerle siliyordu: başlığında yalnızca "içerik" kelimesi geçen herhangi bir H2 — ör. "AI içerik üretimi" — sonraki listeye kadar her şeyin silinmesini tetikliyor, makalenin %90'ına varan kısmı render anında sessizce kayboluyordu (veritabanındaki içerik sağlamdı). Temizleyici artık yalnız ilk 3000 karakteri tarar, tam TOC ifadeleriyle eşleşir ve silme penceresi sınırlıdır.
Crypto Teması: Tam Genişlik Yerleşim ve İçerik Tabloları
İyileştirildi
- Ana sayfa yazı ızgarası ve tekli yazılar artık header genişliğiyle hizalı. "Tüm Yazılar" bölümü ile makale yerleşimi daha dar bir kapsayıcı kullanıyor, makale gövdesi ayrıca 736px'e kilitleniyordu — ikisi de sitenin 1400px çizgisini takip ediyor; geniş ekranlar gerçekten kullanılıyor.
Düzeltildi
- Yazı içindeki tablolar düzgün görünüyor. Tablo stilleri yalnız statik sayfalara tanımlıydı; yazı gövdesindeki tablolar çıplak basılıyordu (çizgisiz, başlıksız). Makale gövdesi artık aynı profesyonel tablo görünümünü alıyor — zebra satırlar ve mobilde yatay kaydırma dahil.
Kazanan İçerikler: Panelde Trafik Trendi
Yeni
- Panele Kazanan İçerikler kartı. Son 30 günün en çok okunan 5 yazısı, yükseliş/düşüş göstergeleriyle — yerleşik, gizlilik-öncelikli ZeroTrack verisinden; harici servis ve çerez yok. Trafik verisi oluştuğunda otomatik görünür.
- ZeroTrack'e İçerik Trendi raporu. Yazı bazında yükselen/düşen karşılaştırması (son 30 gün vs önceki 30 gün); düşüşteki yazılar yenileme adayı olarak işaretlenir — hangi makalenin ilgi istediğini sıralama daha da düşmeden görürsünüz.
Tüm SEO Listelerinde Tek Tip Satır İşlem Butonları
İyileştirildi
- Liste işlem butonları tek temiz standarda geçti. Başlık Düzeltme, İçerik SEO, İçerik Optimizasyon ve Yetim İçerik listelerinde satır işlemleri (Önizle / Düzelt / Kaydet / Düzenle) artık alt alta kırılmıyor ve karışık stiller kullanmıyor — tek kompakt sırada, tutarlı görünümde; ikincil doğrulayıcı kısayolları (Rich Results, Schema) ağır buton yerine sade link oldu.
- İçerik SEO listesinde daha az gürültü. Her slug'ın önündeki gereksiz içerik-türü etiketi kaldırıldı; sayfalar yalnız gerektiğinde küçük bir rozetle işaretlenir.
Gelişmiş SEO Panel v2: Tek Navigasyon, Yetimlere Otomatik Link, Marka-Güvenli Başlıklar
Yeni
- Yetim içerik kendini onarıyor. Yetim İçerik modülüne Otomatik Bağla eklendi: hiç iç link almayan her yazı için ilgili yazılar (önce aynı kategori) taranır ve yetime işaret eden doğal bir iç link otomatik enjekte edilir — elle düzenleme yok, işaretleme güvenlik ağı tam devrede, kaynak yazı başına en fazla bir yeni link.
- SEO Sağlık Kontrolü sekmeli oldu. Kimlik, AdSense, içerik, dosya ve HTTP kontrolleri sorun-sayısı rozetleriyle kendi sekmesinde — uzun kart kolonlarında kaydırma bitti.
İyileştirildi
- Tek navigasyon, sıfır duplikasyon. Gelişmiş SEO panel menüsü artık gruplu (Genel Bakış, İçerik, Görseller, Bağlantılar, Site) ve optimizer'ın her sekmesi kendi modülü; panel içindeki eski mükerrer üst sekme çubuğu kalktı, karışan isimler ayrıştırıldı (Görsel SEO ile Öne Çıkan Görseller).
- Yönlendirme ve 404 temiz açılıyor. Modül daha önce panelin içine tüm Ayarlar sayfasını — kendi ayarlar menüsüyle birlikte — çiziyordu; artık bağımsız araç olarak açılır.
- Yıl Güncelleyici ve İçerik Optimizasyon tasarım çizgisine geçti. Kartlar, tablolar ve butonlar yönetim panelinin geri kalanıyla aynı; işlem butonları daire biçimli yumaklara kırılmıyor, Düzenle butonunun eksik stili tanımlandı.
Düzeltildi
- Teknik terimler artık bozuk büyük harfe "düzeltilmiyor". Başlık kontrolleri "cPanel Rehberi" ya da "iptables ve ufw" gibi başlıkları küçük-harf hatası sayıyor, başlık düzeltme de onları bozuyordu (cPanel → Cpanel). Marka-benzeri kelimeler — karışık harfli adlar, rakam/nokta içeren terimler ve geniş bir küçük-harfli araç adı listesi — tespit ve onarımda artık dokunulmadan bırakılır; Türkçe bağlaçlar (ve, ile, için…) da her iki dilde küçük kalır.
Gelişmiş SEO Baştan Aşağı: İç Linkleme Onarıldı, Türkçe Eşleşme, Yeni Modüller
Yeni
- Türkçe-farkındalıklı iç linkleme. Türkçe sitelerde linkleyici artık çekimli halleri tanıyor ("e-posta pazarlamasında", "E-posta Pazarlama" ile eşleşir) ve yazıların çok kelimeli etiketleri anchor adayı oluyor — belirgin biçimde daha doğal iç linkler; şüpheli her dönüşümü geri alan işaretleme güvenlik ağı aynen yerinde.
- Yetim İçerik modülü. Hiç iç link almayan yayınlanmış yazıları ve kategorisiz yazıları, aynı kategoriden link-aday önerileriyle listeler.
- Toplu meta editörü. Yazı listesinde meta başlık/açıklamayı canlı karakter sayaçlarıyla satır içinde düzenleyin; kayıtta skor yeniden hesaplanır. CSV dışa aktarım tek tık.
- Panel artık SEO Sağlık Kontrolü, Yönlendirme ve 404 günlüğü ile SERP Kimlik testini de gösteriyor — önceden Ayarlar içinde gizliydi.
Düzeltildi
- Link eşleşmeyen yazılar artık sonraki taramalardan dışlanmıyor. "İşlendi, link yok" işareti bu yazıları artımlı taramadan kalıcı olarak gizliyor ve panel istatistiklerini yanlış sayıyordu; artık kitaplık büyüdükçe yeniden denenirler, istatistikler de işlenen/link üreten/bekleyen ayrımını gösterir.
- İç linkleyicinin sessizliği bitti. Yayın anındaki her atlama, hata ve başarı artık ayrı bir günlüğe yazılıyor; "bu yazı neden linksiz çıktı?" sorusu yanıtlanabilir — salt-okunur tanı sayfası ayar gerçeğini, günlük dağılımını ve canlı deneme çalıştırmasını gösterir.
- SEO paneli çerçevesinin içinde bozulmuyor. Form kaydetmek panel içinde ikinci bir yönetim kabuğu açabiliyor, düzenleme linkleri sizi çerçeveye hapsedebiliyordu; ikisi de düzeltildi.
- Türkçe içerik skorları doğru ölçülüyor. Kelime sayımı UTF-8 değildi, Türkçe yazılar yapay düşük puan alıyordu; üretilen meta başlıklar da artık başlık ayracınızı ve site adınızı hesaba katıyor.
- Tüm SEO araçları yönetici yetkisi istiyor ve tek başlık-hiyerarşi motoru kullanıyor; modüller arası tutarsız sonuçlar bitti.
İç Sayfalarda Stil Parlaması Bitti, Analitik Beacon'ı Onarıldı
Düzeltildi
- Sayfalar artık bir anlık stilsiz görünmüyor. Personal teması tam stil dosyasını asenkron yüklüyordu; satır-içi kritik CSS hiçbir sayfa tipini tam kapsamadığından geçişlerde kısa süre çıplak render oluşuyordu. Stil dosyası artık normal yükleniyor — same-origin, sürüm damgalı ve kalıcı-cache'li olduğundan ilk ziyaretten sonra maliyeti sıfır.
- ZeroTrack sayfa görüntülemeleri yeniden kaydediliyor. İzleyici, canlıda 404 veren bir eklenti rotasına gönderiyordu; artık eklenti başlatmasından bağımsız çalışan /zt-track uç noktasını kullanıyor.
- Cloudflare Insights konsolda CSP hatası üretmiyor. Beacon kaynağı Content-Security-Policy izin listesinde eksikti.
Sıfır Doğrulayıcı Hatası: noscript Koruması ve Footer Stil Artıkları
Düzeltildi
- Font-erteleme optimizasyonu artık noscript fallback'lerine dokunmuyor. Mevcut bir noscript bloğunun içindeki fallback linkini de sarabiliyor, iç içe noscript ve JS'siz ziyaretçi için ölü stil linki üretebiliyordu.
- Personal footer düzenlerindeki yinelenen yasal bar kaldırıldı. Sekiz varyantın hepsi, standart alt bara geçilmeden önceki yasal-link bloğunu ve gövde-içi stili taşıyordu; linkler çiftleniyor, işaretleme doğrulamadan geçmiyordu.
Yeni Canlı Sinyal Kontrollerinin Yakaladığı Üç Boşluk Kapatıldı
Düzeltildi
- Health teması artık WebSite/Organization şemasını yayınlıyor. Header'ı merkezi şema üreticisini hiç çağırmıyordu; bu temadaki siteler yapılandırılmış veri yayınlamıyordu — Google'ın site-adı ve zengin-sonuç sistemlerine görünmezdi.
- Personal temasında arama sayfaları yine noindex. Header robots-meta yardımcısını tamamen atlıyordu; arama sonuçları indekslenebilir kalıyordu.
- News temasının dil özniteliği doğru ayarı okuyor. Eski bir anahtar, Türkçe siteleri lang="en" bildirmeye bırakıyordu.
Tema Bütünlüğü: Her Tema Dosyası Artık Tek Kaynaktan
Düzeltildi
- Tarif temasında öne çıkan görseller her kurulumda doğru URL'e çözülüyor. Tek bir kurulumda kalmış medya-yolu düzeltmesi (uploads öneksiz kayıtlarda kart/hero görselleri 404 verebiliyordu) artık çekirdek Recipes temasının parçası.
- Tema kopyaları artık sessizce sapamıyor. Önceden yalnız ~30 el-seçme tema dosyası bütünlük kontrolündeydi; artık her tema şablonu ve stili kanonik kaynakla doğrulanıyor, bilinçli özelleştirilmiş kurulumlar da üzerine yazılmak yerine açıkça izleniyor.
- Bir güncelleme-çökmesi sınıfına karşı sağlamlaştırıldı. Özelleştirilmiş bir kuruluma tema fonksiyon dosyası eşitlemek, şablonların hâlâ çağırdığı yardımcıları silebiliyor ve sayfayı yarıda kesebiliyordu. Eşitleme araçları artık özelleştirilmiş tema setlerini tanıyor ve asla üzerine yazmıyor.
Geçerli HTML, Doğru Dil Etiketleri ve Daha Hızlı Font Yükleme
İyileştirildi
- Fontlar artık ilk boyamayı bloklamıyor. Tüm temalarda Google Fonts ve ikon stilleri bloklamayan preload deseniyle yükleniyor; Core Web Vitals iyileşiyor.
Düzeltildi
- Türkçe arama sayfaları artık indekslenemez. /search'te olan noindex kuralından /arama rotası kaçıyordu; ince arama sonuçları taranabilir kalıyordu — reklam-ağı incelemesinde "düşük değerli içerik" riski.
- Ana sayfadaki gizli çift H1 kaldırıldı. Eski bir deneme her ana sayfaya görünmez bir site-adı başlığı enjekte ediyordu; kendi başlığını basan temalarda iki H1 oluşuyordu. Artık her sayfada tek ve görünür başlık var.
- Özelleştirilmiş Entertainment kurulumlarında makale sayfaları artık kırılmıyor. Kenar çubuğundaki bir yardımcı çağrı, özelleştirilmiş tema kopyalarında sayfayı footer'dan önce kesebiliyordu. Kenar çubuğu artık zarifçe geriliyor.
- HTML doğrulamadan temiz geçiyor. Satır-içi sarmalayıcılardaki başlıklar, hatalı ARIA etiketi ve footer barının gövde-içi stili (artık head'de basılıyor) son W3C hatalarıydı.
- Dil özniteliği artık site dilinizi takip ediyor. Beş tema lang="en" sabitliyordu; Türkçe siteler tarayıcı ve botlara yanlış dil bildiriyordu.
Site Adınız Google'a Artık Yazdığınız Gibi Gidiyor
Düzeltildi
- Google, arama sonuçlarında site adınız yerine domaininizi gösterebiliyordu. Sistem, site adınızın boşluksuz bir kopyasını otomatik "alternatif ad" olarak üretiyor; Türkçe karakter karşılaştırma hatası bu domain-benzeri değerin sayfaya sızmasına izin veriyordu. Google'ın site-adı algoritması da markanızı çıplak domaine katlayabiliyordu. Otomatik alternatif ad kaldırıldı, karşılaştırma artık Türkçe karakterleri doğru translitere ediyor ve mevcut kurulumlar sızan değeri otomatik temizliyor — Site Adı ayarı artık tek doğruluk kaynağı ve aynen yayınlanıyor.
- Beş temadan zayıf/yinelenen şema üreticileri kaldırıldı. Personal, Trends, Recipes, News ve Lifestyle temaları Google'ın site-adı seçiminde kullandığı alanları içermeyen kendi WebSite/OpenGraph üreticilerini taşıyordu; tüm temalar artık merkezi ve eksiksiz üreticiyi kullanıyor.
- Admin SEO önizlemesi artık gerçek sayfa çıktısıyla birebir. Önizleme, sitenin gerçekte yaydığından farklı bir ana sayfa başlık deseni gösteriyordu.
İçerik Render, Performans ve AdSense-Hazır Tema Geçişi
İyileştirildi
- Duyarlı görsellerle daha hızlı sayfalar. Makale kartları ve küçük görseller artık tam çözünürlüklü orijinal yerine uygun boyutlu varyantı yüklüyor; sayfa ağırlığı belirgin azalıyor.
- Navigasyon ve footer’lar veri-güdümlü. Menüler, kategori barları ve footer linkleri artık gerçek kategorilerinizden geliyor; taze bir site asla ölü örnek link göstermiyor — ziyaretçi ve reklam-ağı incelemesi için daha iyi.
- Özel renklerle dark mode bozulmuyor. Marka rengi seçmek artık dark temayı ezmiyor; dark mode özelleştirmeden bağımsız doğru çalışıyor.
- Daha temiz makale girişleri. İlk paragraf yayında otomatik büyük harfle başlatılıyor; içerik asla küçük harfle başlamıyor.
Düzeltildi
- Markdown başlıkları artık ham “###” olarak sızmıyor. HTML ile Markdown’ı karışık içeren içerik bazen literal “### Başlık” basıyor ya da başlıkla ilk paragrafı tek dev bloğa birleştiriyordu. Başlıklar artık hem yayın anında hem render’da doğru ayrılıp gösteriliyor — tüm temalarda.
- Sessizce yayınlanamayan kuyruk yazıları artık güvenle çıkıyor. Manuel yayında bir oturum-çerezi hatası öğeleri “başarısız”da bırakabiliyordu. İlgili çağrı korumaya alındı; yayın yarıda kesilmek yerine tamamlanıyor.
- Temalardan örnek/demo içerik kaldırıldı. Örnek yazarlar, demo makale gövdeleri, uydurma istatistikler ve ölü örnek linkler gerçek sayfalarda görünebiliyordu; kaldırıldı, yalnız gerçek içeriğiniz gösteriliyor.
- Personal temasının footer'ında yasal linkler artık görünüyor. Standart alt bar (telif · yasal linkler · kredi) tüm Personal footer düzenlerinde eksikti; gizlilik/şartlar sayfaları var ama footer'dan erişilemezdi. Artık her footer varyantı ortak alt barı basıyor.
- Tema stilleri güncelleme sonrası güvenilir şekilde yenileniyor. Tech, Entertainment ve Pets temaları CSS'i sürüm damgasız bağlıyordu; tarayıcı eski stili süresiz sunabiliyordu. Link artık dosya değişiminde damgalanıyor.
Merkezi Yönetilen Sitelerde İşlevsiz Güncelleme Bildirimi Kaldırıldı
Düzeltildi
- “Güncelleme mevcut / Şimdi güncelle” bildirimi artık merkezi yönetilen sitelerde görünmüyor. Bu kurulumlarda self-update kapalıdır ve yeni sürümler operatör dağıtımıyla gelir; bu yüzden bildirim, başlıktaki güncelleme simgesi ve kenar çubuğundaki güncelleme rozeti işlevsizdi — “Şimdi güncelle” hiçbir şey yapmıyordu. Kurulum merkezi yönetildiğinde bunlar artık gizleniyor; bu, zaten “Merkezi dağıtım hazır” gösteren Sistem Güncellemeleri sayfasıyla tutarlı.
Profesyonel Tek-Bar Footer ve Kalıcı CSS Cache Düzeltmesi
İyileştirildi
- Footer alt kısmı artık tek temiz bar — telif, yasal linkler ve “Powered by” aynı satırda; telifin altındaki ayrı/yinelenen yasal şerit kaldırıldı. Yasal linkler önceden iki kez görünüyordu (footer sütunlarında ve enjekte edilen bir barda); gereksiz şerit tüm temalardan temizlendi.
Düzeltildi
- Tema CSS’i güncellemeden sonra artık eski (cache’li) kopyayı sunmuyor — stil dosyası değişiklik zamanına göre sürümleniyor; ziyaretçiler hard-refresh olmadan güncel stilleri görüyor.
Canonical Temizliği: /page Yönlendirmeleri, Alias Birleştirme ve AdSense Uyumu
İyileştirildi
- robots.txt artık AdSense ve Google için güvenli — Googlebot grubu temel disallow kurallarını yansıtıyor (bir tarayıcı yalnız en özgül grubuna uyar; bu yüzden admin/api yolları önceden taranabilir kalıyordu) ve AdSense tarayıcısı
Mediapartners-Googleartık açıkça izinli. - Site artık geçerli bir
ads.txtsunuyor — yetkili AdSense yayıncısını bildiriyor; reklam kodu varken ads.txt eksik olduğunda çıkan “yetkili satıcılar” uyarısını gideriyor.
Düzeltildi
- Yinelenen
/page/{slug}adresi artık temiz/{slug}adresine 301 yönlendiriyor ve sitemap’te yer almıyor — önceden her statik sayfa iki ayrı URL’den açılıyordu (sıralama sinyallerini bölen ve içerik-kalite denetimlerine takılan bir yumuşak-yineleme). Temiz slug artık tek canonical adres. - Yasal, hakkımızda ve iletişim alias’ları 301 ile tek canonical URL’de birleşiyor — dil ve yazım varyantları (örn.
/privacy,/privacy-policy,/gizlilik) eskiden her biri kendi canonical’ıyla 200 dönüp yinelenen sayfa sinyali veriyordu. Artık sayfanın gerçek adresine yönleniyor ve canonical etiketi yönlendirme hedefiyle aynı. - İçeriği olmayan Hakkımızda/İletişim sayfaları artık boş yumuşak-200 yerine 404 dönüyor — şablonu ve yayınlanmış sayfası olmayan bir alias, canonical’ı ana sayfaya işaret eden boş bir sayfa üretmiyor.
Görsel SEO: İçerik-içi Görseller Şema ve Sitemap’te
İyileştirildi
- Makale yapılandırılmış verisi artık yalnız öne çıkan görseli değil, tüm görselleri listeliyor — Article/BlogPosting
imagealanı artık öne çıkan görsel + yazı gövdesindeki görselleri kapsayan bir ImageObject dizisi; her biri medya kütüphanesinden gelen genişlik, yükseklik ve açıklamayla çözülüyor. Bu, içerik-içi görsellere Google Görseller’de sıralanma şansı veriyor. - Görsel sitemap’i artık içerik-içi görselleri de içeriyor — önceden her yazının yalnız öne çıkan (ve galeri) görseli gönderiliyordu; artık yazı gövdesindeki görseller de listeleniyor, böylece Google onları keşfedip indeksleyebiliyor.
- Öne çıkan görselin yapılandırılmış veride boyutsuz kalmasına yol açan sessiz bir hata düzeltildi — medya sorgusu var olmayan bir sütunu sorguluyordu, bu yüzden genişlik/yükseklik/açıklama hep düşüyordu. Görsel nesneleri artık gerçek boyutlarını taşıyor.
SEO: Arşiv Canonical’ları, Benzersiz Başlıklar ve Şema Düzeltmeleri
İyileştirildi
- Ana sayfa SSS’i artık zengin sonuçlara uygun — tanıtım sitesinin SSS bölümünden FAQPage yapılandırılmış verisi üretiliyor.
Düzeltildi
- Kategori, etiket ve yazar sayfaları artık canonical’ı kendilerine veriyor — gezi temasında bu arşiv sayfaları ana sayfanın canonical’ını, başlığını ve açıklamasını miras alıyordu; bu da arama motorlarına onların ana sayfanın kopyası olduğunu söyleyip indeksten düşürüyordu. Artık kendi canonical URL’lerini, benzersiz başlık ve açıklamalarını ve sayfalama için doğru rel=prev/next’i veriyor.
- Her sayfanın artık benzersiz başlığı ve meta açıklaması var — tarif ve finans temaları tüm sayfalarda site adına düşüyordu (tarif tekil yazılarında hiç meta açıklama yoktu). Başlık ve açıklamalar artık sayfanın kendi içeriğinden geliyor.
- Finans teması, sitenin gerçek adından bağımsız sabit bir “FinancePro” başlığı gösteriyordu ve yazı sayfalarında ikinci bir H1 basıyordu — ikisi de düzeltildi (gerçek site adı, sayfa başına tek H1). Haber temasının çift H1’i de giderildi.
- Haber makalesi yapılandırılmış verisi artık merkezi motorla üretiliyor — eksik bir logo dosyasına işaret eden ve geçersiz tarih üretebilen eski sürümün yerine; haber makaleleri artık yapılandırılmış logoyla doğru Article/NewsArticle şeması taşıyor.
PageSpeed: Duyarlı Görseller, Erişilebilirlik ve Güvenlik Başlıkları
Güvenlik
- Content-Security-Policy artık
script-srctanımlıyor ve Cross-Origin-Opener-Policy başlığı gönderiliyor — komut dosyası kaynakları sitenin kendisi ve gerekli Google reklam/analitik/yazı tipi origin’leriyle sınırlandı; “script-src/COOP eksik” bulguları reklamları etkilemeden kapatıldı.
İyileştirildi
- Görseller artık gösterildikleri boyutta iniyor — duyarlı görsel motoru yanlış genişlik tanımlayıcıları üretiyordu; tarayıcılar ~800px kutuya 1600px sürümü indiriyordu. Tanımlayıcılar gerçek varyantlarla (800/1600) eşleştirildi ve boyut ipucu gerçek düzeni yansıtıyor; tipik bir sayfadan ~500 KiB kazanç. Tek tam-boy kaynakla giden ipucu ve tarif kartı kapakları artık duyarlı varyant sunuyor; kıta görselleri gösterim boyutuna küçültüldü, footer logosu AVIF/WebP veriyor.
- Gezi teması ve tanıtım sitesinde erişilebilirlik düzeltmeleri — bölüm etiketleri, hero rozetleri ve bülten butonu WCAG AA kontrastını karşılayan vurgu rengini kullanıyor; dekoratif kıta görselleri komşu bağlantı metnini tekrarlamıyor; ipucu “Read” bağlantıları ekran okuyucular için makale başlığını taşıyor; footer başlıkları doğru başlık sırasına uyuyor.
- Daha akıcı ana sayfa animasyonu — adım ilerleme çubuğu genişlik yerine compositor-dostu transform ile canlanıyor; SSS akordeonu açılışta zorunlu yeniden düzenleme tetiklemiyor.
Derin Kod Denetiminden Güvenlik Sertleştirmesi
Güvenlik
- İçerik zamanlayıcısındaki SQL enjeksiyonu kapatıldı — zamanlayıcı ekranındaki durum filtresi artık katı bir izin listesi ve parametreli sorgu kullanıyor; özel hazırlanmış bir filtre değeri veritabanına ulaşamaz.
- Yazı listeleme yardımcısı artık sütun izin listesi uyguluyor — sıralama alanı, yönü ve limitler sorguya girmeden önce doğrulanıp tip-zorlamasından geçiyor; tema ve eklentiler için olası bir enjeksiyon yolu kaldırıldı.
- Otomasyon webhook sırrı kuruluma özgü anahtara dayanıyor — webhook sırrı tanımlı değilse, tahmin edilebilir zaman tabanlı değer yerine kuruluma özel güvenlik anahtarından türetiliyor.
Yayıncı Kataloğu ve Backlink Fırsatları 2026 Doğrulaması
İyileştirildi
- Backlink Fırsatları modülü artık gerçek, doğrulanmış programları listeliyor — her niş birkaç arama kısayolundan, 2026'da canlı kontrol edilmiş 10-19 isimli fırsata çıktı: Source of Sources ve yeniden ücretsiz açılan HARO, linksiz bahis takibi, Lonely Planet Correspondents, BoardingArea, Matador Creators, foodgawker, mindbodygreen, Plutus Awards, CryptoPanic, BlogPaws, Google/Bing/Apple işletme kayıtları ve fazlası — her biri öncelik, emek ve somut ilk adımla.
- Haber Yayıncıları kataloğu 2026 için yeniden doğrulandı — Apple News (ANF, dört ülke), Flipboard (program kapalı; dergi + bookmarklet yolu anlatıldı), SmartNews ve NewsBreak şartları güncellendi; Bundle ve SQUID açık başvuru kanalı olarak eklendi; Pocket ve Yandex Dzen kaldırıldı.
Marka Tutarlılığı, robots.txt Uyumu ve Tam Türkçe Admin
İyileştirildi
- Türkçe admin artık tamamen Türkçe — yazı editörü (Tarif/Yerel İşletme şema alanları), yedekleme takvimi, yorum yanıtları, yinelenen bulucu, medya yükleme, banner yöneticisi, tema özelleştirici, kullanıcı profilleri ve trafik eklentisi menüsünde ("Hızlı İndeksleme", "Anında Bildirim", "RSS Beslemesi", "Backlink Fırsatları", "Tarayıcı Bildirimi") onlarca İngilizce kalıntı yerelleştirildi. İngilizce admin tamamen İngilizce kalıyor.
Düzeltildi
- robots.txt artık Bing doğrulamasından geçiyor — üretilen robots.txt'deki standart dışı
Host:direktifi (Bing'in hata saydığı eski bir Yandex uzantısı) tüm sitelerden kaldırıldı. - Marka her yerde "jekcms" yazıyor — depo genelinde yapılan taramayla yanlış büyük/küçük harfli tüm varyantlar e-postalar, feed'ler, kurulum ekranları, API dokümanları, tema metadata'sı, user-agent dizeleri ve yorumlarda düzeltildi. Lisans anahtarı formatı ve kod kimliklerine dokunulmadı.
İç Linklemede Özel-İsim Anchor Desteği
İyileştirildi
- Otomatik iç linkleme artık tek kelimelik özel isimleri tanıyor — bir şehir ya da yemek adı gibi yer/marka/konu isimleri (büyük harfle başlayan, 5+ harf) sadece çok-kelimeli ifadeler değil, anchor olabiliyor. Küçük harfli genel kelimeler hariç tutuluyor; böylece linkler konuyla ilgili kalıyor. Bu, başlıkların çoğu zaman tek özel isim olduğu niş sitelerde (seyahat, yemek, yerel rehberler) iç linklemeyi belirgin biçimde iyileştiriyor.
Düzeltildi
- İçerik içe aktarma sihirbazında "Dış otoriter link" etiketinin Türkçe admin'de İngilizce görünmesi giderildi (artık admin arayüz dilini izliyor).
Akıllı İç Linkleme Eşiği ve E-E-A-T Dış Linkleri
Yeni
- İçerik üreticide dış otorite linkleri — içerik kuyruğu içe aktarma sihirbazı artık belirli sayıda (0–5) yazı-içi dış link isteyebiliyor. Açıldığında AI promptu, yüksek otoriteli ve rakip olmayan kaynaklara açıklayıcı anchor'larla doğal in-body linkler örüyor (asla "Kaynakça" listesi değil) ve E-E-A-T'i güçlendiriyor.
İyileştirildi
- Otomatik iç linkleme artık gerçek bir arşiv bekliyor — yeni kurulan sitede linklenecek anlamlı içerik olmadığı için, ayarlanabilir bir minimum yayınlanmış yazı sayısına ulaşana dek linkleme beklemede kalıyor. Auto Linker ekranı eşiği açıklıyor ve mevcut ilerlemeyi gösteriyor. Eskisi gibi yalnızca yayınlanmış yazılar hedef olur; kuyrukta/zamanlanmış içeriğe asla link verilmez.
Pinterest Production Kurulum Talimatı
İyileştirildi
- Daha net Pinterest canlıya geçiş talimatı — Pinterest Standard erişimi verdikten sonra kurulum rehberi artık mevcut bağlantıyı kaldırıp Production modunda yeniden bağlanmanızı söylüyor; sadece "Yeniden bağla" bazen sessizce Sandbox modunda kalabiliyordu.
Admin Müşteri Detayı Düzeltmesi
Düzeltildi
- Admin panelindeki müşteri detay ekranı yeniden sorunsuz açılıyor — siparişler, lisanslar, faturalar, destek talepleri ve dahili notlar üretim veritabanıyla eşleşmeyen sorgularla yüklendiğinden sayfa sunucu hatası veriyordu. Artık her bölüm canlı şemayı doğru okuyor; müşteri ekleme/düzenleme formları da adres bilgilerini doğru alanlara kaydediyor.
Daha Net Ürün Tanımı
İyileştirildi
- jekcms artık her yerde aynı şekilde tanımlanıyor — PHP + MySQL olan her hosting'e kurulan yeni nesil akıllı bir CMS. Yanlış anlaşılabilen "kendi sunucunuzda çalışan" etiketi (hosting dahilmiş gibi okunabiliyordu) ve isabetsiz "eklentisiz" etiketi ana sayfadan, WordPress alternatifi sayfasından, site metadata'sından ve yapılandırılmış veriden kaldırıldı.
Kategori Arşivi Filtre Düzeltmesi
Düzeltildi
- Kategori sayfaları artık yalnızca kendi yazılarını gösteriyor — arşivi kategori ID'siyle sorgulayan temalarda yazı listesi kategori filtresini yok sayıp tüm yayınlanmış yazıları gösteriyordu. Çekirdek sorgu katmanı artık hem kategori ID'sini hem slug'ı kabul ediyor; her kategori arşivi tam olarak kendine ait yazıları listeliyor.
Faturalama, Müşteri Portalı Dili ve Destek Sistemi
Yeni
- Gerçek PDF faturalar — yöneticiler artık herhangi bir sipariş için fatura oluşturup müşteriye e-postayla iletebilir, müşteriler de portalından düzgün bir PDF indirebilir. Faturalar Türkçe karakterlerle eksiksiz oluşur ve her paylaşımlı hostta çalışır (sunucu eklentisi gerekmez).
- Türk mevzuatına uygun KDV — yurt içi satışlarda %20 KDV uygulanır; Türkiye dışındaki müşterilere satış hizmet ihracı sayılıp KDV'den istisnadır ve istisna notu faturaya otomatik düşülür.
- Firma fatura bilgileri — satıcı bilgilerinizi (ünvan, vergi dairesi, VKN, adres, IBAN) gireceğiniz yeni bir yönetim ekranı; bu bilgiler her faturada görünür.
- Müşteriye fatura profili — alıcılar artık vergi numarası, adres ve ülke bilgisini girebilir; böylece faturaları eksiksiz olur ve doğru KDV kuralı uygulanır.
İyileştirildi
- Müşteri portalı tam iki dilli — portalın tüm sayfaları (siparişler, lisanslar, faturalar, destek, profil, giriş/kayıt) artık seçili dile uyuyor; Türkçe kullanıcılar artık yer yer İngilizce etiket görmüyor.
Düzeltildi
- Destek talepleri sağlamlaştırıldı — bir müşterinin ikinci talebinin oluşmama sorunu giderildi, eksik dosya-eki saklama eklendi, öncelik işleme düzeltildi; müşteriler personel yanıtladığında (personel de yeni talepte) e-posta alıyor.
- Eski veri alanlarına bakan portal sayfaları artık düzgün açılıyor — sipariş detayı, yeni-talep ve fatura sayfaları canlı veri modeline güncellendi.
- İki yönetim aracına CSRF koruması eklendi; ayrıca bazı blog/tema sayfalarındaki sosyal paylaşım görseli ve meta etiket sorunları SEO için düzeltildi.
Yayında Otomatik İç Bağlantı
Yeni
- Yeni yazılar yayınlanınca otomatik iç bağlantı alır — bir yazı yayına alındığı anda (elle yayın, takvim tarihi veya içerik kuyruğu), içine mevcut yayınlanmış yazılarınıza 3-5 bağlamsal bağlantı eklenir; artık bağlantıları site site elle vermeniz gerekmez. Hedef olarak yalnızca yayınlanmış yazılar kullanılır; kuyruktaki veya zamanlanmış içerikler bağlanmaz.
Güvenlik Sertleştirme Turu: Ödeme, CSRF, Upload, SSRF, API
Düzeltildi
- Marketing anasayfa guard'ı hizalandı — sabitler dosyasındaki doğrudan-erişim guard'ı yalnızca tek bir bağlam bayrağını kabul ediyordu; marketing ve update-server bootstrap'ı farklı bayrak kullanıyor. Guard artık yükleyiciyle aynı, public site normal açılıyor
- Ödeme webhook'u artık fail-closed — iyzico webhook'u imza başlığı yokken olayı kabul ediyordu; artık imzasız veya geçersiz-imzalı webhook'u reddediyor (Stripe ile aynı), siparişi kimliksiz "ödendi" yapma yolunu kapatır
- Admin aksiyonlarındaki tek-tık (GET) CSRF kapatıldı — merkezî CSRF zorlaması artık kimliği doğrulanmış GET aksiyon handler'larını da (sil/aç-kapa/aktifleştir) kapsar; sahte bir bağlantı/img etiketi artık yıkıcı admin işlemini tetikleyemez
- API girdisi kolon-whitelist'li — kategori/etiket güncelleme uçları yalnızca bilinen alanları kabul ediyor; saldırgan kontrollü JSON anahtarlarından gelen identifier-injection kaldırıldı
- SVG yükleme kapatıldı — SVG artık izinli yükleme türü değil (script taşıyabiliyor ve inline servis ediliyordu); stored-XSS vektörü giderildi, standart görsel formatları etkilenmedi
- Sunucu-taraflı fetcher'lara SSRF koruması — toplu içe-aktarma ve uzak içerik-görseli çekme artık URL'i özel/loopback/metadata aralıklarına karşı doğruluyor ve yönlendirme takip etmiyor
- Müşteri portalı formları düzeltildi — CSRF token alanı var olmayan bir metodu çağırıyordu (boş üretiyordu); doğru token'a çekildi, sayfalama bağlantılarındaki yansıyan status parametresi URL-encode edildi
- Web kökündeki geçici şifre-sıfırlama betiği kaldırıldı — kimlik doğrulaması olmadan erişilebiliyordu
Pinterest Slotu Olan Öğelerde Yazı-İçi Görseller Artık Eşleşiyor
Düzeltildi
- Görsel eşleştirme, öğede yalnız Pinterest slotu varken yazı-içi fotoğrafları artık atlamıyor — yeniden içe aktarma, içerik planı olmayan bir öğeye Pinterest slotu ekleyince eşleştirici bu tek Pinterest slotunu "tam plan" sanıp başlıklardan plan kurmuyordu; kapak ve pin eşleşiyor ama yazı-içi görseller (img02, img03…) temp'te kalıyordu. Eşleştirici artık içerik planı var mı kararında Pinterest slotunu yok sayar, gerekince başlık-bazlı planı kurar ve mevcut Pinterest slotunu korur
JSON Yeniden İçe Aktarma Artık Mevcut Kuyruk Öğelerini Güncelliyor (Pinterest + Prompt)
İyileştirildi
- JSON yeniden içe aktarma, kuyruktaki öğeleri atlamak yerine artık zenginleştiriyor — önceden aynı kaynak id'li öğe tamamen atlanıyordu; bir özellik var olmadan önce import edilen içerik o özelliği asla kazanamıyordu. Artık yeniden import, yeni dosyadan boş görsel promptlarını doldurur ve Pinterest brief'i (hook, başlık, açıklama, etiketler, görsel prompt) + pin slotunu ekler — eşleşmiş görsel URL'lerini, zamanlamayı ve manuel düzenlemeleri KORUYARAK. İçe aktarma sonucu kaç öğenin güncellendiğini bildirir
İçerik Kuyruğu Görsel Kolonu Eşleşen Kapağı Artık Sayıyor
Düzeltildi
- Görsel-durumu kolonu, kapak aslında eşleşmişken artık “—” göstermiyor — tam görsel planı olmadan içe aktarılan öğeler kapağını planda değil
featured_imagekolonunda tutuyor; bu yüzden liste “görsel yok” diyordu (kapak küçük resmi belliyken ve görsel penceresi “1/1 eşleşti” derken). Kolon artık kolondan eşleşen kapağı da sayıyor; liste ve pencere uyumlu
Uçtan Uca Pinterest Pin'leri: Özel Kopya, Kategori-Bazlı Board ve Hazır Tasarımlar
Yeni
- Makale-başına Pinterest kopyası artık yayınlanıyor — pinin başlığı ve açıklaması, jenerik post başlığı/şablon yerine içe aktarılan brief'ten gelir (
_pinterest_title/_pinterest_description); her pin yazıldığı gibi görünür - Pinler otomatik olarak doğru board'a gider — pin, adı makalenin kategorisiyle eşleşen board'a gönderilir (bağlı hesabın varsayılan board'u yedek); çok-konulu sitede board'lar elle seçim olmadan düzenli kalır
- Tam-tasarımlı pinler destekleniyor — görsel kendi başlığını ve domain barını zaten bastıysa CMS kendi damgasını atlar (
stamp:false); asla çift bar olmaz
İyileştirildi
- AI içerik sihirbazı artık premium pin brief'i yazıyor — Pinterest açıkken editöryal brief üretir (kısa hook, ≤100 krk başlık, ≤500 krk keyword-zengin açıklama, etiketler,
<slug>-pinterestdosya adı ve site domain'i baked iki-görsel split layout prompt'u); görsel üretimine hazır
İçerik Kuyruğunda Eller-Serbest Pinterest Pin’leri ve Toplu Görsel Eşleştirme
Yeni
- Pinterest pin’leri artık otomatik eşleşiyor — yazı görsellerinin yanında uploads
tempklasörüne bir<slug>-pinterest.jpgbırak; bir sonraki “Görselleri Eşle”de kuyruk onu alır, üzerine sitenin alan-adı barını basar ve yazıya bağlar. Pin’leri tek tek yüklemek artık yok - Pinterest metinleri içerikle birlikte geliyor — import şeması artık pin hook’unu (görselin üzerindeki başlık), meta açıklamasını (pin altındaki açıklama) ve etiketleri taşıyor ve bunları yayınlanan yazıya yazıyor; böylece Pinterest yayıncısı bu alanları tahmin etmeden doldurabiliyor
- Kuyruk listesinde görsel-durumu kolonu — her satır kaç yazı görselinin eşleştiğini (ör. 2/3) ve Pinterest pin’inin var olup eşleşip eşleşmediğini bir bakışta gösteriyor
İyileştirildi
- İçerik kuyruğu listesi yeniden tasarlandı — işlem düğmeleri (görüntüle, görseller, yayınla, sil) kolonu taşıran bir yığın yerine artık kompakt, tek-satır ikon grubu; yeni görsel-durumu çipleri tek-renk ve sade
- Görsel eşleştirme artık gerçek bir ilerleme çubuğu gösteriyor — temp klasörünü parça-parça işlerken eşleşen sayısını, yüzdeyi ve canlı bir kaydı bildiren sade bir ilerleme penceresi; düğmede artan bir sayı değil
- İçerik Stüdyosu artık yayın sürecinin sade başlangıç noktası — yayın takvimi, kuyruk sağlığı, sıradaki aksiyon ve AI taslak / toplu plan / içerik paketi girişleri tek kompakt iki-dilli ekranda toplandı
- Import daha hoşgörülü —
slot/image_promptyerinerole/promptkullanan görsel kayıtları artık anlaşılıyor; farklı araçlarla üretilen içerik JSON elle düzenlenmeden doğru import oluyor
Admin Oturumu Birkaç Saat Boşta Kalınca Artık Düşmüyor
Düzeltildi
- Gerçekten çıkış yapana kadar oturumda kalıyorsun — oturum çerezi ve çöp-toplama ömrü 30 güne çıkarılmış olsa bile, bir hareketsizlik kontrolü ~2 saat işlem yapılmayınca oturumu yok ediyordu (eşik sabiti tanımsızdı, 2 saatlik varsayılana düşüyordu). Boşta limiti artık 30 günlük oturum ömrüyle aynı; paneli açık bırakıp saatler sonra dönsen bile oturumun açık kalıyor
Değişen dosyalar (2)
native/includes/Session.php
—
checkRegenerate idle-timeout fallback 7200s → SESSION_LIFETIME (30 gün); 15 site + marketing'e deploy
includes/Session.php (marketing)
—
headers-sent fatal throw → graceful (fail-closed) — tutarlılık
Admin Dil Tutarlılığı — Eklenti Metinleri Artık TR/EN’e Uyuyor
Düzeltildi
- Yeni eklentiler artık adminde yanlış dili sızdırmıyor — Google Console, Trafik & Dağıtım ve Sosyal Paylaşım’ın bazı kısımları arayüz metnini tek dilde (çoğunlukla Türkçe) sabitliyordu; İngilizce adminde Türkçe (ve tersi) görünüyordu. Hepsi artık iki dilli ve admin dil ayarına uyuyor
- Google Console’un eklenti-listesi açıklaması artık iki dilli — yerelleştirilmiş açıklama haritasında eksikti ve Türkçe manifest metnine düşüyordu
- Ayarlar → Güvenlik’teki İki Adımlı Doğrulama kartı artık iki dilli — etiketleri, adımları, rozetleri ve düğmeleri yalnızca Türkçeydi
- Sosyal Paylaşım platform yardım/nasıl-yapılır, maliyet ve uyarı metinleri artık tüm platformlar için iki dilli — bu kayıt-metinleri admin diline bakmaksızın tek dilde görünüyordu
Değişen dosyalar (4)
native/includes/helpers.php
—
global jek_t($tr,$en) yardımcısı (her zaman yüklü; eklenti admin sayfaları için)
native/admin/plugins/jek-google/index.php + jek-traffic/index.php
—
~100 sabit metin jek_t ile iki dilli
native/plugins/jek-social/* (connections + platforms.php + 15 adapter)
—
js_t kullanmayan sızıntılar + 21 platform howto_en
native/admin/plugins.php + settings.php
—
jek-google açıklama haritası; 2FA kartı jek_t
Performans (N+1) ve Güvenlik/SEO/Eklenti Sertleştirme
İyileştirildi
- Liste sayfaları çok daha az veritabanı sorgusu yapıyor — ilişkili post listesi yüklemek post başına 6 sorgu (yazar, kategori, etiket, meta, SEO, yorum) yapıyordu; 12-post sayfa ~72 sorgu. Artık hepsi IN() ile toplam 6 sorguda
- Görsel boyut aramaları her render’da medya tablosunu taramıyor — img başına genişlik/yükseklik sorgusu leading-wildcard LIKE (img başına tam-tablo tarama) kullanıyordu; artık exact-path eşleşme + request-içi cache
- Post kaydetmek artık tüm object-cache’i silmiyor — cache geçersizleştirme global flush yerine ilgili namespace’lere hedefli
- Makale sayfalarında daha hızlı LCP — travel ve health tek-post şablonlarında hero/öne-çıkan görsel artık fetchpriority="high" taşıyor
Düzeltildi
- İstemci IP tespiti artık blok atlatmak için sahtelenemiyor — forwarded header’lar yalnız public IP taşıdığında kabul ediliyor; saldırgan iç/loopback adres enjekte edip IP bloğunu atlatamaz ya da başka IP’yi suçlayamaz
- Redirect Manager tehlikeli yönlendirme şemalarını engelliyor — javascript:/data:/vbscript: hedefleri emit anında reddediliyor
- Admin hata mesajları artık iç bilgi sızdırmıyor — Güvenlik Merkezi ve Redirect Manager genel mesaj gösterip detayı logluyor
- Paketlenen robots.txt yedeğinden çapraz-domain Sitemap satırı kaldırıldı — robots dinamik ve sitenin kendi domain’iyle sunuluyor; statik yedek artık sabit yabancı domain taşımıyor
- Google Console snippet’leri artık çift basılamıyor — head enjektörü iki head hook’unda da tetiklenmeye karşı korundu
- Sosyal Paylaşım ayarlarındaki yanıltıcı ölü Pinterest-şablon dropdown’ı kaldırıldı (hiç okunmuyordu)
Değişen dosyalar (6)
native/classes/Post.php
—
loadRelationsForList() batch (N+1); clearCaches hedefli purge
native/includes/helpers.php
—
jek_img_optimize exact-path + request-cache
native/includes/Security.php
—
getClientIp forwarded header → yalnız public IP
native/classes/RedirectManager.php
—
emit şema güvenliği
native/admin/{security-center,redirects}.php
—
generic hata mesajı + error_log
native/robots.txt + themes/{travel,health}/.../single.php + jek-google + jek-social
—
robots domain; LCP fetchpriority; çift-inject guard; ölü dropdown
Derin Denetim Onarımları — CSRF Zorlama, Cache, SEO & Sistemler
Düzeltildi
- CSRF koruması artık admin genelinde gerçekten zorlanıyor — doğrulama yardımcısı bir boolean döndürüyordu ve neredeyse her admin/AJAX uç noktası bunu yok sayıyordu; sahte siteler-arası istekler sessizce kabul ediliyordu. Doğrulama artık durum-değiştiren kimlikli istekleri merkezî olarak blokluyor (temiz 419, AJAX için JSON) — public form’ları ve sayfa render’ını etkilemeden
- "Önbelleği Temizle" düğmeleri yeniden çalışıyor — var olmayan bir metodu çağırıp fatal veriyorlardı (hiçbir şey temizlemeden). Eksik prefix-silme metodu eklendi, işleyici sertleştirildi
- Site haritası dizini artık sayfaları yazı saymıyor — yazı-haritası varlığı/lastmod’u yazı tipine göre filtreleniyor; sahte "boş yazı haritası" ve yanlış tazelik sinyali düzeldi
- Güncelleme manifest hash kontrolü artık no-op değil — imzalı güncelleme manifesti çekirdek paket hash’ini istemcinin kontrol ettiği alanda yayımlıyor
- Sosyal Paylaşım "Onay bekle" artık yayını sessizce durdurmuyor — beklemedeki içerikler kuyrukta tek-tık Onayla / Tümünü Onayla / İptal eylemleriyle görünüyor
- Trafik & Dağıtım artık TLS doğruluyor — IndexNow/WebSub/Web-Push çağrılarında sertifika doğrulaması kapalıydı; MITM’i önlemek için açıldı
Değişen dosyalar (5)
native/includes/Security.php
—
validateCsrfToken: başarısızlıkta authed+POST bağlamında merkezî 419 enforce (no-op çağıran deseni topluca kapanır)
native/includes/Cache.php + admin/ajax/clear-cache.php
—
deleteByPrefix() eklendi; catch \Throwable
native/classes/Sitemap.php
—
posts index sayım/lastmod AND type='post'
native/plugins/jek-traffic/* + jek-social/queue.php
—
TLS verify açıldı; hold→approve/cancel UI
api/v1/updates/manifest.php
—
core entry hash = file_hash normalize
Güvenlik Merkezi Artık Admin Tasarım Sistemiyle Uyumlu
Düzeltildi
- Güvenlik Merkezi admin’in geri kalanından kopuk görünüyordu — paylaşılan tasarım token’ları yerine kendi stil dosyasını sabit açık-mod renkleriyle (beyaz kartlar, gri kenarlar) taşıyordu; bu yüzden karanlık modu yok sayıyor, sekme/kart/tabloları diğer panellerle uyuşmuyordu. Artık her renk admin tema değişkenlerini kullanıyor; karanlık/aydınlık moda uyum sağlıyor ve tek tutarlı bir ürün gibi görünüyor. Durum göstergeleri dolu blok yerine ince tonlu rozet kullanıyor; marka adı küçük harfe düzeltildi
Değişen dosyalar (1)
native/admin/security-center.php
—
tüm hardcoded renkler → admin CSS değişkenleri (--bg-secondary/--border-color/--text-* /--radius-*); status pill soft-tint; mavi rol etiketi nötrlendi; "jekcms" → "jekcms"
Çekirdek Dosyalardaki BOM Temizliği — Admin Tasarımı & AJAX Onarımı
Düzeltildi
- Admin sayfaları artık bozuk stille açılmıyor — birkaç çekirdek PHP dosyası (bootstrap, constants, helpers, tema fonksiyonları) açılış etiketinden önce görünmez bir UTF-8 BOM taşıyordu. Bu BOM, belgenin doctype’ından önce yazıldığı için tarayıcıyı "quirks mode"a sokup admin’deki liste/tablo düzenlerini bozuyordu. BOM tüm filodaki her PHP dosyasından temizlendi
- AJAX işlemleri artık JSON ayrıştırma hatası vermiyor — aynı BOM JSON yanıtlarının başına ekleniyordu (ör. "Görselleri Eşle"), tarayıcı
Unexpected token … is not valid JSONatıyordu. BOM kaldırılınca yanıtlar yeniden temiz JSON
Değişen dosyalar (1)
140 .php (native + 15 site)
—
açılış etiketinden önceki UTF-8 BOM (EF BB BF) kaldırıldı; en kritik: includes/bootstrap.php, config/constants.php, includes/helpers.php (her istekte yüklenir)
Görsel Eşleme — Ürettiğin Dosyalardan Makale Görsel Planı Kurar
Düzeltildi
- Toplu görsel eşleme artık dosyalarını gerçekten içe aktarıyor — medya içe aktarıcı PHP’nin yalnızca-HTTP-yükleme taşıma fonksiyonunu kullanıyordu; bu, sunucuda zaten var olan dosyalarda (ör. uploads/temp klasörüne koyduğun görseller) DAİMA başarısız olur. Sunucu-içi "sideload" yolu artık bu dosyaları doğru içe aktarıyor ve her zaman geçerli bir yükleyici kimliği veriliyor; böylece tarayıcı oturumu dışında veritabanı kaydı artık patlamıyor
- "Görselleri Eşle" çoklu-görselli makaleleri anlıyor — temp klasörüne
{slug}-img01..04isimli dosyalar bırak; eşleyici bunları makalenin görsel planına bağlar: 01 öne çıkan görsel olur, geri kalanlar makalenin başlıklarından sonra gövdeye yerleştirilir. Makalenin zaten planı varsa boş slotlar sırayla doldurulur - Admin küçük-resimleri göreli yolları çözer — kuyruk listesi ve takvim önizlemeleri göreli kayıtlı plan görsellerine uploads URL öneki ekliyor; kırık görsel yerine küçük-resim görünüyor
Değişen dosyalar (2)
native/classes/Media.php
—
upload(): options.sideload → move_uploaded_file yerine rename/copy (sunucu-içi dosya import)
native/classes/ContentQueue.php
—
matchFeaturedImages: {slug}-imgNN → görsel planı kur (img01 featured, imgK in-content H2[K-1]); sideload+explicit user_id; resolveThumb göreli url UPLOADS_URL öneki; parça limiti
Görsel Eşleme — Bellekte Eşleştirme, Dakikalar Yerine Saniyeler
Düzeltildi
- "Görselleri Eşle" artık büyük kuyrukta saniyeler içinde bitiyor — önceki sürüm öğe başına iki tam-tablo
LIKE '%slug%'taraması yapıyor ve her medya dosya adını her öğe için yeniden normalize ediyordu; yüzlerce öğeyi binlerce medyaya karşı çalıştırınca dakikalar sürüp sunucu geçit zaman aşımına (genel "sunucu hatası") düşüyordu. Medya kütüphanesi artık bir kez normalize ediliyor ve tüm öğeler bellekte eşleştiriliyor — öğe başına veritabanı sorgusu yok, tekrarlanan iş yok
Değişen dosyalar (1)
native/classes/ContentQueue.php
—
matchFeaturedImages ADIM 2: öğe-başına SQL LIKE + medya yeniden-normalize kaldırıldı → medya bir kez normalize, hepsi bellekte eşleşir (O(medya+öğe))
Görsel Eşleme Artık Büyük Kuyrukta Hata Vermiyor
Düzeltildi
- "Görselleri Eşle" büyük kuyrukta artık genel sunucu hatası vermiyor — yüzlerce kuyruk öğesi ve binlerce medya dosyasıyla slug→medya taraması PHP’nin çalışma süresini aşıp ham 500 dönebiliyordu. Artık görsel-eşleme akışıyla zaten görseli olan öğeleri atlıyor (gereksiz yeniden tarama yok) ve toplu geçiş için süre limiti yükseltildi
- Kuyruk işlemleri artık her zaman okunabilir bir hata döndürüyor — içerik kuyruğu işlemindeki herhangi bir hata ham 500 sayfası yerine düzgün JSON mesaja çevriliyor; tarayıcı genel "sunucu hatası" yerine gerçek nedeni gösteriyor
Değişen dosyalar (2)
native/classes/ContentQueue.php
—
matchFeaturedImages: set_time_limit(180) + extra_json image-plan’ında görseli olan öğeleri atla (compass büyük kuyruk timeout’u)
native/admin/ajax/queue-action.php
—
catch Exception→\Throwable: fatal/timeout ham 500 yerine JSON hata; error_log
Güvenilir Manuel Yayınlama — "Dönüp Sonra Başarısız" Bitti
Düzeltildi
- Yayınlama, oturum başlatılamadığında artık çökmüyor — çıktı başlamışsa (ör. yavaş bir görsel URL’i uyarı basınca) oturum katmanı ölümcül "headers already sent" hatası atıp, post sağlam olmasına rağmen yayını iptal ediyordu. Oturum artık zarifçe geri çekiliyor (loglar ve devam eder, fail-closed); arka-plan işini çökertmiyor
- Ölü/yavaş öne-çıkan-görsel URL’i yayını artık dondurmuyor — görsel indirme artık 8 sn bağlantı + 25 sn toplam sınırlı (eskiden bağlantı zaman aşımı olmadan 60 sn idi); yayınla düğmesinin bir dakikaya kadar dönmesinin başlıca sebebi buydu. Başarısız indirme, o görsel olmadan yayına düşer
- Zaten yayınlanmış içerik artık yanlışlıkla "başarısız" damgalanmıyor — post oluştuktan sonra bir yan adım (cache, oturum, arama-motoru ping) hata verirse, kuyruk artık postu başlığın yanı sıra slug ile de bulup doğru şekilde tamamlandı olarak işaretliyor
- Opsiyonel içerik-içi görsel yerelleştirme artık yayını iptal edemez — adım tümüyle izole; oradaki herhangi bir hata atlanır ve post yine yayına girer
Değişen dosyalar (3)
native/includes/Session.php
—
start(): headers_sent → fatal throw yerine error_log + return false (fail-closed); byte-güvenli hedefli replace ile 15 siteye (compassdraft divergent dosyası korundu)
native/classes/ContentQueue.php
—
downloadFeaturedImage CONNECTTIMEOUT 8s + TIMEOUT 60→25s; publishItem catch post’u slug ile de bulur; 4b görsel-yerelleştirme tümüyle try/catch izole
native/admin/content-queue.php
—
publish butonu net "işleniyor" + başarısızlıkta/timeout’ta otomatik refresh (donuk buton + eski satır kalmaz)
İçerik Kuyruğu — Takılı İçerik Kurtarma + Eksik Küçük-Resim Onarımı
Düzeltildi
- Zamanlanmış içerikler artık sessizce kaybolamaz — yayınlama ortasında ölümcül bir hata olursa öğe eskiden hiçbir kuyruk sekmesinde görünmeyen, asla yeniden denenmeyen bir "işleniyor" durumunda donup kalıyordu. Yayınlama artık her hata türünü yakalıyor ve otomatik yayıncı 15 dakikadan uzun takılı her öğeyi geri alıyor; birikim bir sonraki ziyarette temizleniyor
- Başarısız ve takılı öğeler artık görünür ve kurtarılabilir — yeni "Başarısız" sekmesi her sorunlu öğeyi (başarısız veya işleniyor) tek tıkla yeniden deneme ile gösteriyor; takvimde görünüp listede kaybolma durumu bitti
- Öne çıkan küçük-resimler yönetimde yeniden görünüyor — görsel-eşleme akışıyla görsel atanan tamamlanmış içerikler resmi eski kolonda değil zengin veride saklıyordu; bu yüzden canlı yazıda görsel olmasına rağmen kuyruk listesi ve takvim boş kutu gösteriyordu. Yönetim artık eşleşmiş görseli yedek kaynak olarak okuyor
- Takvim üzerine-gelme önizleme görseli düzeldi — ipucu balonu görsel yolunu ters kuruyordu (yerel yolu dış URL gibi, dış URL’yi yerel yol gibi), önizleme daima kırıktı. Artık kuyruğun geri kalanıyla aynı tek görsel çözücüyü kullanıyor
Değişen dosyalar (2)
native/classes/ContentQueue.php
—
resolveThumb() tek-kaynak küçük-resim çözücü (extra_json featured slot fallback); publishItem catch Exception→\Throwable; publishDueItems 15 dk takılı processing kurtarma; getItems status_in filtresi
native/admin/content-queue.php
—
takvim+liste resolveThumb kullanır (ters görsel mantığı düzeltildi); "Başarısız" sekmesi (failed+processing) tek-tık yeniden dene; 15 siteye yayıldı (md5+grep-assert)
Güvenlik Sertleştirme — Kuruluma Özgü Benzersiz Anahtarlar
İyileştirildi
- Her kurulum artık kendi benzersiz güvenlik anahtarlarını üretir — kimlik doğrulama, oturum ve JWT sırları ilk çalıştırmada kriptografik rastgelelikle oluşturulur ve dağıtım paketinin dışında saklanır. Hiçbir kurulum sır paylaşmaz; bir sitede üretilen bir jeton başka bir sitede geçersizdir
- Kurulum anında bütünlük manifesti — sihirbaz, kurcalama-tespit manifestini kurulumun sonunda kendi anahtarıyla imzalar; böylece yeni bir kurulum asla sahte "bütünlük" uyarısı göstermez
Değişen dosyalar (3)
native/config/environment.php
—
sabit anahtarlar kaldırıldı; config/keys.php (gitignore) ilk yüklemede random_bytes ile üretilir + son-çare host-özgü fallback
native/jekcms-install.php
—
kurulum sonunda IntegrityGuard::generateManifest() — kurulumun kendi anahtarıyla imzalı manifest
native/classes/IntegrityGuard.php
—
protectedFiles() tek-kaynak liste (installer + script ortak); .gitignore: **/config/keys.php
Göç Rötuşu — Yazar Bağlantıları Her Temada Görünür, Kusursuz .htaccess
İyileştirildi
- Kurulum sihirbazı artık jekcms’in kendi .htaccess’inin kullanıldığını garanti ediyor — çoğu WordPress sitesinde .htaccess, temiz URL’leri bozabilen SEO/sitemap eklenti kurallarıyla doludur. Sihirbaz jekcms imzasının olup olmadığını saptar; yoksa eski dosyayı
.htaccess.wp-backup’a yedekler ve kanonik jekcms .htaccess’ini (doğrudan pakeden okuyarak — drift yok) yazar. Host dosyayı kilitlese ya da arşivde olmasa bile yönlendirme doğru çalışır
Düzeltildi
- Göç edilen yazar sosyal bağlantıları artık gerçekten görünüyor — bazı temalar (Personal, Trends, Lifestyle, Pets, Finance) eski kolon adlarını okuyup sessizce hiçbir şey göstermiyordu. Artık gerçek
social_x / social_facebook / social_instagram / social_linkedin / websitealanlarını okuyorlar; 2.16.0’da içe aktarılan profiller yazar ve yazı sayfalarında görünüyor
Değişen dosyalar (2)
native/themes/{personal,trends,lifestyle,pets,finance}/...
—
yazar sosyal/website okuma gerçek kolon adlarına çekildi (8 dosya); 14 siteye + _template’e yayıldı (md5+grep-assert)
native/jekcms-install.php
—
jek_enforce_htaccess(): imza kontrolü + WP .htaccess yedekle + kanonik jekcms .htaccess zorla yaz
WordPress Göçü — Daha Zengin, Daha Güvenli, Daha Temiz Aktarım
Yeni
- Yazar profilleri artık tam geliyor — sadece ad değil; biyografi, web sitesi, sosyal bağlantılar (X, Facebook, Instagram, YouTube, Pinterest, LinkedIn) ve Gravatar tabanlı avatar. Mevcut yazarların yalnızca boş alanları doldurulur (asla üzerine yazılmaz)
İyileştirildi
- Göçü tekrar çalıştırmak artık kopya oluşturmuyor — daha önce aktarılan yazılar (orijinal kısa adıyla eşleşenler) atlanır; yarıda kalan bir göç güvenle kaldığı yerden sürdürülür
- Boş kategoriler temizleniyor — WordPress’in varsayılan "Uncategorized"ı ve hiç yazısı olmayan kategoriler içe aktarımdan sonra kaldırılır; kategori listeniz anlamlı kalır
- Eski dosyaları silmeden önce net uyarı — görselleri indirmeden göç ettiyseniz (içeriğiniz hâlâ eski siteye bağlıdır), temizlik adımı eski dosyaları silmenin bu görselleri kıracağını uyarır
Değişen dosyalar (3)
native/database/schema.sql + migrations/005_user_social_website.sql
—
users: website + social_* kolonları (kanonik şema + idempotent migration)
native/admin/includes/import-core.php
—
tam yazar profili + jek_normalize_social + skipExisting + uncategorized atlama; 15 siteye yayıldı
native/jekcms-install.php
—
WP usermeta (bio/sosyal) + user_url + Gravatar SQL; boş kategori temizleme; görsel uyarısı (i18n)
Kurulum Dosyası jekcms-install.php Oldu (WordPress çakışmasını önler)
İyileştirildi
- Kurulum dosyası artık genel
install.phpyerinejekcms-install.php. Sunucuda kalmış bir WordPressinstall.phpdosyası artık jekcms kurulumuyla karışmaz/üzerini örtmez. Tüm "henüz kurulmadı" yönlendirmeleri ve robots kuralları buna göre güncellendi
Kurulum Sihirbazı — WordPress'ten Temiz Geçiş (Güvenli Temizlik + Logo)
Yeni
- Sihirbaz artık WordPress göçünü temiz bitiriyor — içeriğiniz aktarıldıktan sonra bir Temizlik adımı, hangi eski WordPress dosyalarının kaldırılacağını tam olarak listeler ve onayınızı ister (net "geri alınamaz" uyarısıyla). Sonra bunları canlı ilerleme çubuğuyla siler; isteğe bağlı olarak eski WordPress veritabanını da düşürür
- Tasarım gereği güvenli — yalnızca gerçek WordPress dosyaları kaldırılır (kesin beyaz-liste:
wp-admin,wp-includes,wp-content,wp-*.php,xmlrpc.php…). jekcms’in kendi dosyalarına asla dokunulmaz — adlar çakışsa bile (örn. license/readme). Sihirbaz jekcms’in kendi veritabanını düşürmeyi de reddeder - Logo desteği — taşınırken site logonuz WordPress’ten otomatik çekilir ya da yükleyebilirsiniz (PNG/SVG/JPG/WebP). Sıfırdan kurulumda logonuzu yükleyin. Site ayarlarına kaydedilir
Kurulum Sihirbazı — İngilizce ve Türkçe, Varsayılan İngilizce
Yeni
- Kurulum sihirbazı artık İngilizce ve Türkçe konuşuyor, varsayılan İngilizce. Üst barda tema düğmesinin yanında bir dil değiştirici (EN/TR) var ve tercihiniz hatırlanıyor. Her etiket, ipucu, buton, uyarı ve ilerleme mesajı tamamen çevrildi
Kurulum Sihirbazı — Cilalı, Modern İlk İzlenim
İyileştirildi
- Kurulum sihirbazı baştan yeniden tasarlandı — cam efektli, animasyonlu bir arayüz; numaralı ilerleme göstergesi, jekcms marka logosu, yumuşak animasyonlu arka plan auraları, akıcı kart geçişleri ve canlı ilerleme çubuğu. Artık hem koyu hem açık temayı destekliyor, tek dokunuşla geçiş (tercihiniz hatırlanır)
- Veritabanı adımı çok daha net — bunun jekcms için yeni, boş bir veritabanı olduğunu açıkça belirtiyor; WordPress kullanıcıları için bunun mevcut WordPress veritabanı olmadığına dair belirgin bir uyarı var (o bir sonraki adımda). Artık karışmıyor
Kurulum Sihirbazı — WordPress Göçü Uçtan Uca Doğrulandı
Düzeltildi
- WordPress içe aktarma adımı artık doğru veritabanına bağlanıyor. Canlı bir göç testinde (114 yazılık gerçek bir WordPress sitesi) bulunan üç gerçek hata düzeltildi: çerçeve global kapsamda yükleniyor (site yapılandırması doğru okunsun), veritabanı tohumlama açık sonuç imleçleriyle çakışmıyor ve AJAX yanıtları her zaman temiz JSON (kaçak uyarı yok)
Yeni Kurulum Sihirbazı — Dakikalar İçinde Sıfırdan Kurun ya da WordPress'ten Taşıyın
Yeni
- Modern, adım adım kurulum (install.php) — jekcms arşivinin yanına sitenizin köküne atın, tarayıcıdan açın; gerisini sihirbaz yönetir: sistem gereksinim kontrolü, veritabanı bağlantısı (adım adım phpMyAdmin rehberi ve veritabanı yoksa otomatik oluşturma), site bilgileri, tema seçimi ve yönetici hesabı. Ardından dosyaları açar, veritabanını kurar, ayarlarınızı otomatik uygular ve sonra kendini temizler
- WordPress göçü sihirbaza gömülü — "WordPress'ten taşı"yı seçin, WordPress veritabanı bilgilerinizi girin; sihirbaz kaç yazı, sayfa, kategori ve yorum bulduğunu önizler, site adı ve sloganı WordPress'ten otomatik doldurur, sonra içeriği aktarır, görselleri indirip AVIF'e çevirir ve onaylı yorumları taşır. Sonunda eski WordPress dosyalarını kontrol edip çakışmayı önlemek için silmenizi hatırlatır
- Net sonraki adımlarla biter — Yönetim Paneli'ni açmak ya da sitenizi görmek için iki kart, bilgileriniz hazır dolu
Hesap ve Lisans Güvenliği Sertleştirme
Düzeltildi
- Lisans site-limiti yarış durumu kapatıldı — bir lisansa alan adı kaydı artık serileştirildi (satır kilidi); iki eşzamanlı istek paketinizin site limitini aşamıyor
- Çıkış artık oturumu tamamen sonlandırıyor — oturum yok ediliyor ve çerezi temizleniyor (önceden yalnız kullanıcı kimliği siliniyordu), oturum-sabitleme yüzeyi kaldırıldı
Sağlamlık Denetimi — Newsletter Cron, Zamanlanmış Yazı Bağlantısı ve İletişim Kutusu Düzeltildi
İyileştirildi
- Admin genelinde kalan geliştiriciye-yönelik notlar (teknik jargon, iç detaylar) sade, son-kullanıcı etiketlerine indirildi
Düzeltildi
- Newsletter gönderim cron'u tüm sitelerde bozuktu (bir yorum satırı yanlışlıkla erken kapanıp dosyayı bozuyordu). Zamanlanmış kampanyalar artık yeniden gönderiliyor
- Üst bardaki zamanlanmış yazı bağlantısı boşa gidiyordu — artık zamanlanmış yazılar listesini doğru açıyor
- İletişim formu kutusu yanlış sitenin ayarını yükleyebiliyordu (sabit kodlanmış yol) — artık her site için doğru çözülüyor
Google Console — Tek Net "Tara" Butonu
İyileştirildi
- Dizine Ekleme Kapsamı artık üç ayrı kontrol yerine tek bir Tara butonuna sahip (siteyi otomatik tamamlar; bitince Yeniden tara olur). Her kart, ne işe yaradığını söyleyen tek kısa satır taşır
Google Console — Daha Sade, Az Kalabalık Metinler
İyileştirildi
- Google Console panelindeki uzun açıklama notları kısa, işe-odaklı etiketlere indirildi — daha az kalabalık, daha hızlı okunur
Google Console — Sade Search Console Akışı + Sorumlu Toplu İndeksleme
Yeni
- Toplu "İndekslemeye Gönder" — dizine girmemiş sayfalarını tek tıkla Google'a bildir. Sorumlu kuruldu: günlük sınır (kotanın çok altında), aynı URL 14 gün tekrar gönderilmez, yalnız gerçekten dizine girmemiş sayfalar (404 / noindex / yönlendirme atlanır). Net bir uyarı, Google'ın Indexing API'yi resmen yalnız iş-ilanı / canlı-yayın sayfaları için desteklediğini açıklar
İyileştirildi
- Search Console sekmesi sadeleşti — gereksiz tek-URL denetleyici kaldırıldı (Dizine Ekleme Kapsamı zaten her URL'in durumunu gösteriyor). Tek net akış: kapsam özeti → sorun listesi → indeksleme işlemleri
- Otomatik tarama güvenilirliği düzeldi — kapsam artık kısa, hızlı partilerle ve otomatik yeniden denemeyle taranıyor; katı sunucularda "bağlantı hatası" vermiyor
Değişen dosyalar (1)
native/admin/plugins/jek-google/index.php
—
Tek-URL denetleyici kaldırıldı; coverage_scan_ajax kısa parti+retry; idx_submit (günlük cap + 14g de-dup + jg_idx_eligible) + politika uyarısı; 15 siteye yayıldı
Google Console — Dizine Ekleme Kapsamı Tek Tıkla Otomatik Taranır
İyileştirildi
- Dizine Ekleme Kapsamı artık otomatik taranıyor — tek "Otomatik tara" tıklamasıyla tüm site arka planda, parti parti, canlı X/Y denetlendi… ilerleme sayacıyla taranır; "Tek parti"yi onlarca kez tıklamaya gerek yok. Google'ın URL Inspection API'si hız-sınırlı ve URL başına birkaç saniye sürdüğünden panel kendini ayarlar ve her URL bitene kadar devam eder
- Dayanıklı ve önbellekli — her parti zaman korumalı (sayfayı asla kilitlemez), sonuçlar 24 saat önbelleklenir; ince kontrol için tek-parti butonu ve Sıfırla durur
Değişen dosyalar (1)
native/admin/plugins/jek-google/index.php
—
coverage_scan_ajax (JSON) + JS otomatik döngü + ilerleme; 15 siteye yayıldı
Google Console — Analytics Property'sini Listeden Seç (Artık Kod Yazmak Yok)
İyileştirildi
- GA4 artık kopyalanacak bir numara değil, açılır liste — Ayarlar → Otomatik Keşif, Google hesabınızın erişebildiği Analytics hesap ve property'lerini listeler; sayısal Property ID aramak yerine kendinizinkini seçersiniz. Search Console sitesi ve AdSense hesabındaki tek-tık seçimle aynı. Elle giriş yedek olarak kalır
- Dizine Ekleme Kapsamı tarama öncesi daha anlaşılır — kafa karıştıran sıfırlar yerine net bir "taramaya hazır" yönlendirmesi gösterir ve toplamlarının Search Console'un "Sayfa dizine ekleme" sayılarıyla birebir eşleşmeyeceğini açıklar (Google kategori/etiket/sistem ve eski URL'leri de sayar; panel yayınlanmış içeriğinizi denetler)
Değişen dosyalar (2)
native/plugins/jek-google/GoogleClient.php
—
ga4AccountSummaries() — Analytics Admin API ile hesap/property keşfi
native/admin/plugins/jek-google/index.php
—
GA4 property dropdown + pick_ga4; kapsam kartı tarama-öncesi durumu + GSC-fark notu; 15 siteye yayıldı
Google Console — Hangi Sayfalarınız Dizine Girmemiş, Görün
Yeni
- Search Console sekmesinde Dizine Ekleme Kapsamı — yeni bir kart sitenizin URL'lerini tarayıp Google'ın dizine ekleme durumuna göre gruplar: Dizinde, Dizine girmemiş (taranmış/keşfedilmiş ama eklenmemiş, Google'a bilinmeyen) ve Hatalı (404, sunucu hatası, robots engeli). Dizine ekleme sorunlarınızı URL'leri tek tek denetlemek yerine tek listede görürsünüz
- Kota dostu, parçalı tarama — Google'ın URL Inspection API'si üzerine kurulu (URL başına dizin durumunu veren tek API). Her tıkta ~10 URL denetlenir, sonuçlar 24 saat önbelleklenir, duvar-saati koruması paneli akıcı tutar — büyük siteler birkaç tıkta tamamlanır. Sorunlu URL'ler doğrudan Index'e Gönder'e bağlanır
Değişen dosyalar (1)
native/admin/plugins/jek-google/index.php
—
Dizine Ekleme Kapsamı kartı + coverage_scan/coverage_reset + jg_site_urls/jg_cov_classify; 15 siteye yayıldı
Google Console Arayüzü — Artık Admin Temanızla Tam Uyumlu
İyileştirildi
- Google Console paneli admin tasarım sistemine taşındı — artık karanlık/aydınlık temanıza uyuyor; ayrı, yalnızca-açık bir görünüm yerine panelin geri kalanıyla aynı kartları, pill butonları, segmentli tarih kontrollerini ve tipografiyi kullanıyor. Daha profesyonel ve bütünleşik bir gösterge paneli
- Daha temiz veri sunumu — bağlantı durumu net bir pill rozetle gösteriliyor, nötr tek-renk trend grafikleri (dekoratif renk gürültüsü yok), rafine KPI kartları, tablolar ve bir bakışta okunan tanılama
Değişen dosyalar (1)
native/admin/plugins/jek-google/index.php
—
CSS değişkenleri (--bg-card/--text-*/--radius-*) ile yeniden yazıldı; hardcoded Google-mavisi/beyaz tema kaldırıldı; 15 siteye yayıldı
Google Console Artık Her Temayla Geliyor
Yeni
- Google Console eklentisi artık her jekcms temasıyla birlikte geliyor — Search Console performansı, GA4 trafiği, AdSense kazancı ve frontend GA4/GTM/AdSense snippet enjeksiyonu tek panelde, tek Google girişiyle. Önceden tek temada vardı, artık hepsinde
- Tek tıkla bağlan, şifreli token — OAuth yenileme/erişim token'ları şifreli saklanır; bağlantı, akış ortasında admin oturumunuz düşse bile tamamlanır (sunucu tarafı tek-kullanımlık state, 10 dk pencere)
Değişen dosyalar (2)
native/plugins/jek-google + native/admin/plugins/jek-google
—
compassdraft'tan native kanonik kaynağa terfi (tek kaynak)
tools/jek-google-sync.php
—
Yeni: native → 14 site + _template idempotent yayılım (md5 doğrulamalı, route yaması yok — OAuth callback fiziksel dosya)
Tek Universal Anahtar, Çok Site — Alan Adlarını Panelden Yönetin
Yeni
- Hesabınızda site yönetimi — bir lisans = tek anahtar + N site slotu. Her sitenin alan adını (örn.
siteadi.com) Lisanslarım'dan paket limitiniz kadar kaydedin. Limit üstü site eklemek engellenir - Strict aktivasyon — bir site yalnızca alan adı o lisansa önceden kayıtlıysa aktive olur; kayıtsız alan adı net mesajla reddedilir. Lisansınızı hangi siteler kullanacak, tam kontrol sizde
- Üst pakete geçiş — daha fazla site için üst pakete geçin; anahtarınız aynı kalır
Değişen dosyalar (2)
customer/licenses.php
—
Yeniden yazıldı: customer_email + license_domains; domain ekle/çıkar + limit + format
classes/LicenseManager.php
—
registerDomain/unregisterDomain/isValidDomain + strict activate() + ensureLicensesSchema()
Daha Sade Fiyatlandırma — Her Şey Aynı, Tek Fark Site Sayısı
İyileştirildi
- Artık tüm paketler birebir aynı özellik ve desteği içeriyor — 14+ tema, tüm SEO & otomasyon araçları, öncelikli destek, ömür boyu güncelleme. Paketler arasındaki tek fark kaç site çalıştırabileceğiniz
- Net paketler: Kişisel $29 / 1 site · Standart $79 / 3 · Profesyonel $149 / 10 · Sınırsız $349 / ∞. Kafa karıştıran ikili "Ajans $299 / Enterprise $599" yerine tek Sınırsız paket
Düzeltildi
- Fiyat verisi site, ödeme ve lisans sunucusu arasında tutarsızdı (Ajans bir yerde 50 domain, başka yerde sınırsız; $299 vs $599). Artık baştan sona tek tutarlı model
Değişen dosyalar (3)
pricing.php
—
Tek-fark-site-sayısı modeli + karşılaştırma matrisi sadeleştirildi
classes/Payment/PaymentManager.php + classes/LicenseManager.php
—
Sınırsız $349 / sınırsız domain / ömür boyu — hizalandı
api/license/{activate,deactivate,info}.php
—
Rate-limit eklendi (bağlantı sertleştirme)
Yeni Eklenti: Google Console (Analytics + Search Console + AdSense)
Yeni
- Google Console eklentisi — Search Console (tık/gösterim/sorgu, URL Inspection, tek-tık index gönderme), Analytics GA4 (trafik, kanallar) ve AdSense (kazanç) tek panelde, tek Google OAuth bağlantısıyla
- Snippet enjeksiyonu — GA4, Tag Manager ve AdSense etiketleri frontend'e admin'den yönetilerek eklenir (kod düzenlemeden)
- Tasarımdan sağlam — şifreli token, kota için önbellek, API-bazlı tanılama ve net "yeniden bağlan" yönetimi
Değişen dosyalar (1)
plugins/jek-google + admin/plugins/jek-google
—
Yeni eklenti (manifest, OAuth client, dashboard hub, snippet hook)
Altyapı Sertleştirme — Güvenlik, Performans ve SEO
Güvenlik
- Ödeme webhook'ları artık fail-closed (Stripe + iyzico): imzasız/sahte webhook bir siparişi "ödendi" yapamaz ve ödenen tutar sipariş tutarıyla doğrulanır
- Admin ödeme/müşteri/sipariş sayfaları artık admin rolü ister; kimlik doğrulamasız bakım scriptleri CLI'a kilitlendi; oturum çerezi
SameSite=Lax(harici linkten dönünce admin'den düşme sorunu çözüldü)
İyileştirildi
- Daha hızlı sayfa yükleme — eklenti taraması istek başına önbelleklendi, composite DB index'leri ve liste sayfalarında N+1 sorgu toplulaştırma. SEO: doğru arşiv başlıkları, sayfalı-sayfa noindex, dinamik html lang
Düzeltildi
- Analitik eklentisi (ZeroTrack) ve Smart Backup tablolarını ilk kullanımda otomatik oluşturuyor; yeni kurulumlardaki 404/500 giderildi
Hero Hook'a İndirildi + Özellikler Grid'i Genişletildi
İyileştirildi
- Hero kopyası hook'a indirildi — 8-vendor uzun liste ("Analytics (Plausible). SEO schema (Rank Math)...") aşırı uzundu. Sert bir hook ile değiştirildi: "Eklenti değil. Çekirdek." + tek bir alt başlık (20+ özellik, ~$624/yıl). Aynı mesaj, yarı kelimeyle, iki kat etki
- Özellikler grid'i 14'ten 20 karta çıktı — daha önce gizli kalan 6 yerleşik özellik eklendi: Social Publisher (Buffer/Hootsuite — 18+ ağa otomatik yayın), Instant Indexer (IndexMeNow — IndexNow + WebSub + Web Push), Newsletter (Mailchimp — kampanya + abone + digest), AI Image Generator (Canva — Gemini ile kapak), AI Bulk Publisher (ContentBot — n8n + toplu kuyruk), toplamda ~$390/yıl daha abonelik yerine geçiyor
Değişen dosyalar (2)
marketing-includes/header.php
—
hero_title (EN+TR) "Not plugins. Core." / "Eklenti değil. Çekirdek." + subtitle 20+ features hook
features.php
—
+6 grid kartı (EN+TR): Social Publisher, Instant Indexer, Newsletter, AI Image Generator, AI Bulk Publisher
Hero Kopyası Koddan Zorlanıyor — DB Override Bypass
Düzeltildi
- Hero alt başlığı production'da boş geliyordu — load_marketing_translations() marketing_translations tablosu mevcutsa oradan hero_subtitle çeker; production'daki tablo hala v2.8.1 öncesi eski kayıt taşıyordu (8-vendor kopyası asla gösterilmiyordu). Düzeltme: defaults+DB katmanlarını birleştirdikten sonra header.php hero_title ve hero_subtitle'i kod defaults'undan zorla override eder. Pazarlama-yatırım kopyası release-zamanı meselesi, CMS admin meselesi değil
Değişen dosyalar (1)
marketing-includes/header.php
—
Force-override hero_title + hero_subtitle from defaults after load_marketing_translations()
Ana Sayfa Hero — $624+/yıl Yerleşik Tasarruf Hikayesi
Değişen dosyalar (1)
marketing-includes/header.php
—
hero_subtitle (EN+TR) — named-vendor replacement story + savings figure
Performans Süiti — Redirect Manager + Image Studio + Critical CSS, Yerleşik
Yeni
- Redirect Manager (YENI) — admin/redirects.php tam CRUD UI ile 301/302/307/308/410 redirects. Bootstrap-seviyesi lookup router'dan ÖNCE çalışır — redirects sıfır gecikme. Hit sayacı + son hit timestamp gerçekten takip edilen URL'leri gösterir. Yoast Premium Redirect ($99/yıl) yerine geçer
- 404 logger + Orphan 404s sekmesi — her 404 isabeti referrer + UA ile kaydedilir. Admin son 30 günde 3+ hit alan URL'leri görür ve hedef URL alanıyla tek tık 301 oluşturabilir. SEO kurtarma feed-scroll olur
- RedirectManager class — lookup(), logNotFound(), stats(). İlk kullanımda not_found_log tablosunu kendi kendine onarır. Admin/api/zt-track yolları bypass (dev istekleri yanlış pozitif vermez)
- Image Studio markalaması — mevcut admin/media-optimize.php artık Smush Pro alternatifi olarak konumlanmış. Bulk batch convert (Media::batchConvert), responsive srcset auto-gen (320-1920px), Pinterest tall-image üretici, domain-watermark damgalayıcı — hepsi Media.php'de zaten mevcut
- Critical CSS Studio markalaması — mevcut Performance class (Performance::inlineCriticalCss, addCriticalCss, deferJavaScript, addPreloadHints, getCoreWebVitalsHints) WP Rocket alternatifi olarak konumlanmış. Yeni kod yok, sadece görünürlük
- features.php +3 kart (Redirect Manager / Image Studio / Critical CSS Studio) — grid toplam 14 kart, WP plugin abonelikleri için ~$406+/yıl tasarrufu kapsıyor
Değişen dosyalar (9)
native/classes/RedirectManager.php
—
YENI class: lookup, logNotFound, stats, ensureSchema
native/admin/redirects.php
—
YENI admin: CRUD UI + 404 log + suggest-redirect
native/admin/includes/sidebar.php
—
Redirect Manager link eklendi (Security Center altina)
native/includes/bootstrap.php
—
RedirectManager::lookup() hook (router'dan once)
native/classes/FrontendController.php
—
notFound() icinde RedirectManager::logNotFound()
features.php
—
Marketing grid: 3 yeni kart (Redirect/Image/Critical CSS)
sites/*/admin/redirects.php
—
15 site propagated
sites/*/classes/RedirectManager.php
—
15 site propagated
sites/*/includes/bootstrap.php
—
15 site propagated
TOTP 2FA — Markalandı + Security Center'da Kapsama Takibi
Yeni
- Security Center → 2FA Status sekmesi — tüm admin/editor/author kullanıcılarını listeler, 2FA aktif durumu (ENABLED / NOT ENABLED etiketi), rol, son giriş zamanı. Mevcut kullanıcı için "Enable Now" butonu (Settings'e götürür). Diğer kullanıcılar için: kendi profilinden etkinleştirmeleri gerektiği uyarısı (TOTP kişisel bir kimlik bilgisi)
- 5. KPI kartı: 2FA Coverage — TOTP aktif admin/editor/author kullanıcı yüzdesi. Renk kodları: yeşil ≥%80, nötr %40-80, kırmızı <%40. Alt etiket ham sayıyı gösterir (örn. "3 / 5 kullanıcı")
- TOTP Hakkında kartı — kurulum akışını belgeler (Ayarlar → İki Adımlı Doğrulama → Başlat → QR tara → onayla), giriş akışı, kurtarma yolu (kimlik doğrulayıcı kaybolursa DB seviyesinde kilit açma). jekcms'in TOTP'sini WP 2FA + Wordfence Login Security (toplam ~$50/yıl) yerine açıkça konumlandırır
- features.php 11. kart: TOTP 2FA — RFC 6238, Google Authenticator/Authy/1Password uyumlu
Değişen dosyalar (3)
native/admin/security-center.php
—
2FA tab + 5th KPI card + admin user query
features.php
—
Marketing grid: 11. kart — WP 2FA + Wordfence Login Security ~$50/yr alternative
sites/*/admin/security-center.php
—
15 site propagated
Security Center — WAF Paneli + Dosya Bütünlüğü İzleyici, Yerleşik
Yeni
- Security Center admin sayfası — WAF / giriş denemeleri, güvenlik olayları ve dosya bütünlüğü için sekme bazlı tek panel. Zaten sessizce çalışan sistemleri (Security::detectAttacks, login_attempts logu, IntegrityGuard::maybeVerify) görünür kılar; saldırıları aniden görmeye başlarsınız. Wordfence Premium ($119/yil) yerine geçer
- WAF sekmesi — son 30 giriş denemesi, son 7 gunde başarısız giriş en cok IP'ler, bloklu IP'ler tablosu manuel block/unblock ile, top-attackers listesinden tek tıkla "Bu saldirgan IP'yi blokla". Üst KPI'lar: başarısız giriş (24s), tekil IP (7g), bloklu sayısı, FIM durumu
- Güvenlik Olayları sekmesi —
logs/security.logdosyasını ayrıştırır (Security::detectAttacks SQL injection / XSS / path-traversal isabetlerini buraya yazar), IP + mesaj + bağlam ile zaman tüneli. En yeni 30 olay - Dosya Butunlugu sekmesi — kurulum fingerprint goruntusu, VERIFIED/DRIFT durum etiketi, son tamper raporu (formatli JSON), tek tıkla "Scan Now" butonu IntegrityGuard::verifyManifest() tetikler. Drift tespit edildiginde ne yapilmasi gerektigine dair mudahale playbook karti
- Kendi kendine onarilan blocked_ips tablosu — sayfaya ilk ziyarette otomatik yaratilir. Idempotent: ON DUPLICATE KEY UPDATE mevcut bloklari korur. CSRF korumali admin islemler
- Sidebar bağlantısı — admin nav'da Backups'in hemen altinda yeni "Security Center" girişi. Kalkan ikonu
Değişen dosyalar (5)
native/admin/security-center.php
—
Yeni admin sayfasi (~500 satir): WAF tab + Events tab + FIM tab
native/admin/includes/sidebar.php
—
Security Center baglantisi eklendi (Backups'in altinda)
features.php
—
Marketing grid: 10. kart — Wordfence Premium $119/yr alternative
sites/*/admin/security-center.php
—
15 site propagated
sites/*/admin/includes/sidebar.php
—
15 site propagated
Smart Backup — Zamanlanmış Günlük Yedekler, Yerleşik
Yeni
- Smart Backup zamanlı cron — admin panelden günlük otomatik yedekleri aç (Backups → Smart Backup Schedule kartı). Saat seç (varsayılan 03:00, düşük trafik penceresi). Cron
BackupManager::scheduledRun()'u çağırır; idempotenttir (cron birden fazla tetiklense bile gün başına tek backup). UpdraftPlus Premium ($70/yıl) yerine geçer - Saklama politikası — 7-365 gün arası yapılandırılabilir. Cutoff'tan eski auto-backup'lar her günlük çalışmadan sonra otomatik silinir. Manuel backup'lar asla otomatik silinmez. Disk kullanımı kontrol altında
- Pure-PHP backup —
mysqldumpbağımlılığı yok (Hostinger ve shared host'lar çoğu kez devre dışı bırakır). Satır-satır akıtmalı dump büyük post tablolarını belleği tüketmeden işler. Çıktı: tek ZIP içindedb.sql+uploads/+manifest.json - Harici senkron önerisi — schedule kartı,
backups/klasörünü S3, Google Drive veya Dropbox'a senkronlamak için önerilenrclonekalıbını belgeler. Native cloud SDK desteği v2.6.x yol haritasında
Değişen dosyalar (4)
native/classes/BackupManager.php
—
scheduledRun() method eklendi — hour + day guard, retention prune
native/cron.php
—
BackupManager::scheduledRun() cron tick'inde tetikleyici (silent no-op default)
native/admin/backups.php
—
Smart Backup Schedule card: enable + hour + retention slider + CSRF-protected save
features.php
—
Marketing grid: Smart Backup karti — UpdraftPlus Premium $70/yr alternative
Schema Studio — 13 Schema.org Tipi, Yerleşik
Yeni
- Schema Studio eklenti ailesi — 13 Schema.org tipi, hepsi post editöründen form bazlı UI ile. Tam liste: Article, BlogPosting, NewsArticle, TechArticle, ScholarlyArticle, Report, FAQPage, HowTo, Product, Event, Review, Course, Recipe (yeni), ve LocalBusiness (yeni). Rank Math Pro'nun schema-builder modülünü ($59/yıl) yerine getirir — abonelik yok, eklenti yok
- Recipe schema — yemek blogları artık Google Rich Recipe kartları yayınlayabilir: hazırlama/pişirme/toplam süre (ISO 8601), porsiyon, kategori, mutfak, kalori, malzeme listesi, adım adım talimat, ortalama puan. Tarif aramalarında %30-40 CTR artışı sağlar
- LocalBusiness schema — Google Maps + lokal arama paketinde sıralama yükseltir. 18 işletme alt tipi (Restaurant, Store, MedicalBusiness, Dentist, BeautySalon, TravelAgency, …). Tam PostalAddress + GeoCoordinates + çalışma saatleri + fiyat aralığı + ortalama puan
- CSV stili veri girişi — malzeme, talimat ve çalışma saatleri textarea'da satır bazlı kabul edilir. Kırılgan JavaScript dizileri yok, +/- butonları yok; notlardan direkt yapıştırılabilir
- Schema önizleme + Google Rich Results Test bağlantısı — editör canlı JSON-LD payload'ını gösterir VE Google'ın doğrulayıcısına tek tık bağlantı sunar. Tahmin yok
Değişen dosyalar (5)
native/includes/helpers.php
—
output_schema() — Recipe + LocalBusiness case bloklari eklendi (~120 satir)
native/admin/post-edit.php
—
Recipe + LocalBusiness POST handler + UI form fields (CSV textarea pattern)
features.php
—
Marketing grid: Schema Studio karti — Rank Math Pro $59/yr alternative
sites/*/includes/helpers.php
—
15 site propagate
sites/*/admin/post-edit.php
—
15 site propagate
ZeroTrack Analytics — Gizlilik Odaklı, Çerezsiz, Yerleşik
Yeni
- ZeroTrack Analytics eklentisi — Google Analytics, Plausible ve Matomo'ya yerleşik, gizlilik öncelikli alternatif. Çerez yok. Ziyaretçi verisi sunucundan asla çıkmaz. KVKK/GDPR uyumlu: IP adresleri günlük rotate edilen salt ile SHA-256 hash'lenir, geçmişe dönük korelasyon matematiksel olarak imkansızdır. Kurulumda otomatik aktif
- Gizlilik panosu admin → ZeroTrack: sayfa görüntülenmeleri, tekil ziyaretçiler, oturumlar, hemen çıkma oranı, günlük trend grafiği, en çok ziyaret edilen sayfalar, kaynaklar, ülkeler, cihazlar, UTM kaynakları. Tarih aralığı seçici (bugün / 7g / 30g / 90g)
- Kutudan çıkar çıkmaz akıllı filtre — tarayıcının Do-Not-Track başlığını dikkate alır; giriş yapmış adminleri saymaz; Googlebot, GPTBot, ClaudeBot, headless Chrome ve 20+ otomasyon user-agent'ını filtreler; IP ve yol bazlı dışlama yapılandırılabilir
- Reverse-proxy farkında — Cloudflare ve LiteSpeed arkasındaki gerçek ziyaretçi IP'sini doğru okur (CDN'i çift saymaz). Cloudflare CF-IPCountry başlığı ile ülke tespiti — üçüncü parti GeoIP veritabanı gerekmez
- Kendi kendini temizler — ham pageview kayıtları yapılandırılabilir bir saklama penceresinden sonra silinir (varsayılan 90 gün). Günlük agregalar sonsuza dek tutulur — minik depolama ayak iziyle uzun vadeli trend analizi
Değişen dosyalar (7)
native/plugins/zerotrack/plugin.php
—
Plugin manifest + bootstrap
native/plugins/zerotrack/ZeroTrackPlugin.php
—
Tracker beacon endpoint, UA parser, salt rotation, daily aggregator, retention cleanup
native/plugins/zerotrack/activate.php
—
DB schema: zt_pageviews, zt_aggregates_daily, zt_settings
native/plugins/zerotrack/admin/index.php
—
Privacy dashboard — KPIs, trend chart, top tables
native/plugins/zerotrack/admin/settings.php
—
Settings UI: master switch, DNT, exclusions, retention
features.php
—
Marketing grid — ZeroTrack vs Plausible $9/mo
sites/*/plugins/zerotrack/
—
Propagated to all 15 sites + _template
Daha Net Ana Sayfa Hero — Somut Kanca
İyileştirildi
- Hero artık jekcms'in ne olduğunu söylüyor — muğlak "Akıllı Yeni Nesil CMS" satırı somut, kanıtlanabilir bir kancayla değiştirildi: WordPress'e normalde eklenti diye eklediğin her şey (SEO, iç bağlantı, AVIF medya, toplu içe aktarma, AI yayın) çekirdekte, kendi sunucunda, satın alıp bakacağın eklenti yığını olmadan. Buzzword yerine tek net mesaj
Değişen dosyalar (1)
marketing-includes/header.php
—
hero_title + hero_subtitle (EN/TR) somut hook
Bülten E-postası: Markalı Koyu Header
İyileştirildi
- E-posta tasarımı artık gerçek markalı kimliğe sahip — önceki sürüm CSS arka planını kaldıran istemcilerde fazla sade görünüyordu. Header artık marka wordmark + vurgulu üst-başlık taşıyan dolu koyu bir bant; altında ince accent çizgi, kart çerçeve ve renkli footer bandı. Arka planlar hem inline CSS hem
bgcolorile verildi, Gmail/Outlook'ta tasarım korunur. Şema bump ile sistem şablonlarına otomatik uygulandı
Değişen dosyalar (2)
plugins/newsletter/data/default-templates.php
—
koyu markalı header bandı + bgcolor sağlamlaştırma (native+kök+15 site)
plugins/newsletter/NewsletterPlugin.php
—
SCHEMA_VERSION 2.5.0 → 2.6.0
Yeniden Tasarlanan Bülten E-posta Şablonları
İyileştirildi
- Profesyonel, marka-uyumlu e-posta şablonları — bülten e-postaları (onay, hoş geldin, kampanya, abonelik iptali, yeni yazı) cilalı, İngilizce, e-posta-güvenli bir tasarımla değiştirildi: yumuşak arka planda temiz beyaz kart, vurgulu üst-başlıklı markalı header, güçlü tipografi, düzgün yuvarlak marka CTA düğmesi ve eksiksiz footer (abonelikten çık, web sitesi, telif). Tablo tabanlı + inline CSS ile tüm e-posta istemcilerinde güvenilir görünüm; tüm placeholder'lar korundu
- Eklenti şema-sürümü artırılarak tüm kurulumlara otomatik uygulandı — sistem şablonları sonraki yüklemede kendiliğinden yenilenir, özelleştirdiğin şablonlara dokunulmaz
Değişen dosyalar (2)
plugins/newsletter/data/default-templates.php
—
yeni profesyonel İngilizce e-posta tasarımı (native+kök+15 site)
plugins/newsletter/NewsletterPlugin.php
—
SCHEMA_VERSION 2.4.0 → 2.5.0 (otomatik re-seed tetik)
Blog Editörü: Featured Yazı & Boş İçerik Düzeltmesi
Düzeltildi
- Blog editörü featured yazıda boş açılıyordu — editör
?id=0'ı (id 0 taşıyan featured yazı)id > 0kontrolü yüzünden "yeni yazı" sanıp hiç yüklemiyordu. Artık id varsa (0 dahil) yazıyı yükler; gerçek yeni yazı = hiç id parametresi olmayan. Ayrıca satırın gövdesi boşsa (gövdesi yalnız statik blog veri dosyasında kalmış eski yazılar) editör formu slug/id ile o kaynaktan ön-doldurur; Kaydet veritabanına kalıcılaştırır (yalnız gösterim, yıkıcı değil, mevcut düzenlemeyi asla ezmez)
Değişen dosyalar (1)
admin/blog-post-edit.php
—
id=0 düzenleme + blog-data.php boş-içerik ön-doldurma (jekcms.com kök)
Ana Kurulumda Eklenti Sistemi Onarıldı (Newsletter Artık Listeleniyor)
Düzeltildi
- Newsletter (ve tüm eklentiler) artık eklenti yöneticisinde görünüyor — ana kurulumun bootstrap'ı (uzun süre önce eski bir koddan klonlanmış) eklenti-yükleyici bloğunu tamamen kaybetmişti; bu yüzden eklenti tarayıcısı hiç çalışmadı ve hiçbir eklenti kendini kaydedemedi. Blok kanonik kaynakla birebir geri eklendi; tarayıcı artık çalışıyor (kendini onaran plugins-tablo şemasıyla), Newsletter otomatik kaydolur ve listelenir/etkinleştirilebilir
Değişen dosyalar (1)
includes/bootstrap.php
—
eksik plugin-loader bloğu native ile birebir geri eklendi (jekcms.com kök)
Marketing Blog Editörü Artık Admin'de Erişilebilir
Düzeltildi
- Blog yazıları yeniden düzenlenebilir — iki dilli marketing blogu (jekcms.com/blog'da görünen EN/TR yazılar) public blogla aynı tabloyu okuyan kendi admin editörüne sahip, ancak admin menüsünde linki yoktu; bu yüzden yazılar yönetilemez gibi görünüyordu (CMS Yazılar sayfası ayrı site-içerik tablosunu listeler). Admin sidebar'a "Blog Yazıları (jekcms.com)" girişi eklendi — mevcut yazılar artık listeleniyor ve düzenlenebiliyor
Değişen dosyalar (2)
admin/includes/sidebar.php
—
Marketing Blog (blog-posts.php) nav linki — jekcms.com kök admin
config/translations/{tr,en}.php
—
admin_nav_marketing_blog anahtarı (ham-anahtar regresyonu önlendi)
Sihirbaz Ağ Hatası, Profiller ve Eklenti Kaydı Düzeltildi
Düzeltildi
- "Network error" düzeltildi — JSON sihirbazı uç noktası (
admin/ajax/assistant-json.php) yalnız iki kurulumda vardı; artık her sitede var, "Oluştur" yalnız compass'ta değil her yerde çalışıyor - Eklentiler klon kurulumlarda artık kaydoluyor — eski bir veritabanından klonlanan kurulumlarda
pluginstablosunda yeni kolonlar eksik olabiliyordu; bu, eklenti kaydını sessizce başarısız kılıyordu — bu yüzden Newsletter eklenti yöneticisinde hiç görünmüyordu. Tarayıcı artık tablo şemasını kendi onarıyor; Newsletter (ve her yeni eklenti) kaydolur, görünür/etkinleştirilebilir olur
Değişen dosyalar (3)
includes/plugin_hooks.php
—
plugins tablosu şema self-heal (native+kök+15 site)
classes/ImportSchema.php
—
profiles() + themeProfile() genişletildi
admin/ajax/assistant-json.php
—
kök + tüm sitelere yayıldı
Kök Admin Düzeltmeleri — İçerik Düzeltici, Bülten Bağlantısı, Sihirbaz Anahtarları
Düzeltildi
- İçerik Düzeltici 404 giderildi — SEO Optimizer'ın İçerik/Başlık Düzeltici sayfası kanonik kaynakta vardı ama ana kurulumun admin'inde eksikti, 404 veriyordu. Artık mevcut
- Bülten admin bağlantısı düzeltildi — Newsletter eklenti manifesti admin sayfasını var olmayan bir yola işaret ediyordu; tüm filoda düzeltildi, panel eklenti yöneticisinden açılır (sidebar girişi eklentinin aktif olmasını ister)
- Sihirbaz anahtarları ana sitede de düzeltildi — önceki çeviri-anahtarı paritesi demo siteleri kapsıyordu ama ana kurulumu atlamıştı;
cq_assistant_*anahtarları orada da yansıtıldı, JSON Oluşturma Sihirbazı artık ham anahtar göstermiyor
Değişen dosyalar (3)
admin/content-fixer.php
—
kök kuruluma eklendi (native'den)
plugins/newsletter/plugin.php
—
Admin Page yolu düzeltildi — native+kök+15 site
config/translations/{tr,en}.php + lang/{tr,en}/general.php (kök)
—
cq_assistant_* native paritesi
İçerik Kuyruğu Sihirbazı — Tüm Sitelerde Ham Anahtarlar Düzeltildi
Düzeltildi
- JSON Oluşturma Sihirbazı artık her sitede düzgün okunuyor — içerik-kuyruğu asistanı çeviri anahtarları (
cq_assistant_*) yalnız birkaç sitede vardı; diğer sitelerde etiket yerine "cq_assistant_title" gibi ham anahtarlar görünüyordu. Tüm siteler artık tam anahtar setini kanonik kaynaktan birebir taşıyor
Değişen dosyalar (1)
sites/*/config/translations/{tr,en}.php + lang/{tr,en}/general.php
—
cq_assistant_* native paritesi (15 site × 4 dosya), grep-assert ile sayı eşitliği doğrulandı
Pazarlama Sitesinde Bülten Aboneliği Devrede
Düzeltildi
- Bülten aboneliği artık jekcms.com'da çalışıyor — footer'daki "Abone Ol" formu hazırdı ama abone tablosu yoksa sessizce başarısız oluyordu. Handler artık tabloyu kendi oluşturuyor (idempotent, Newsletter eklentisiyle birebir aynı şema — eklenti admini aynı aboneleri okur). Ana sayfa istatistik rakamları da site genelinde birleştirildi
Değişen dosyalar (2)
marketing-includes/ajax/newsletter-handler.php
—
idempotent self-bootstrap (newsletter_subscribers, eklenti şemasıyla birebir)
index.php / about.php / functions.php
—
stat 500+ → 100+ tutarlı, 14→14+, 24/7 lang-aware
Alt Sayfa SEO Denetimi — Dokümantasyon Başlığı Düzeltildi
İyileştirildi
- Dokümantasyon başlığı artık açıklayıcı & markalı — docs <title> çıplak "Dokümantasyon" idi; artık "jekcms Dokümantasyon | Kurulum, Yönetim Paneli, REST API ve Otomasyon" (kategori/sayfa başlıkları da marka taşıyor). Aramada daha güçlü, benzersiz başlıklar
- Tüm alt sayfa meta/SEO denetimi: her pazarlama alt sayfasının benzersiz, iki dilli (EN/TR) meta başlık ve açıklamaya, geçerli canonical + hreflang (en/tr/x-default) + Open Graph'a sahip olduğu doğrulandı; eksik, boş veya tekrar eden meta bulunmadı
Değişen dosyalar (1)
docs.php
—
SEO başlığı markalı + anahtar-kelimeli (görünür UI etkilenmez)
Doğru WordPress-Alternatifi Sayfası (Yalnız Gerçek Özellikler)
İyileştirildi
- Daha güçlü, dürüst "neden WordPress yerine jekcms" sayfası — artık yalnız doğrulanmış özelliklerden kuruldu: jekcms'in çekirdekte yerini aldığı ücretli WordPress eklentilerini eşler (SEO/Yoast, iç bağlantı/LinkWhisper, kırık-link tespiti, AVIF medya/ShortPixel, güvenlik/Wordfence, ödeme/WooCommerce) + yalnız jekcms'te olan JSON toplu içe aktarma ve n8n+Gemini AI otomasyonu. Modern, okunaklı, temayla uyumlu tablo; uzun-kuyruk anahtar kelime odaklı; FAQPage yapılandırılmış verili SSS
Düzeltildi
- Yanlış bir özellik iddiası kaldırıldı — karşılaştırma sayfasına, yapılandırılmış veriye ve llms.txt'e hatalı "çoklu site / filo yönetimi" satırı eklenmişti. jekcms'te böyle bir ürün özelliği yok; her yerden kaldırıldı, yalnızca doğrulanmış gerçek yeteneklerle değiştirildi
Değişen dosyalar (2)
wordpress-alternative.php
—
doğrulanmış özelliklerle yeniden yazıldı (multi-site kaldırıldı)
header.php + llms.txt
—
uydurma özellik kaldırıldı, gerçek yeteneklerle değiştirildi
Orphan Sayfa Yok — Tam İç Bağlantı
Düzeltildi
- Orphan sayfa yok — her public pazarlama sayfası artık footer + sitemap + temiz URL (EN/TR) üzerinden erişilebilir. "Lisanssız Kullanım Bildir" sayfası orphan'dı (hiçbir yerden link yok) — artık footer'da ve taranabilir; WordPress-alternatifi sayfası zaten footer'da bağlıydı (doğrulandı)
Değişen dosyalar (2)
marketing-includes/footer.php
—
report-piracy Legal bölümüne eklendi
functions.php + .htaccess + sitemap.php
—
report-piracy slug map + TR slug + temiz-URL allowlist + sitemap
AI-Arama Görünürlüğü & WordPress-Alternatifi Konumlandırma
Yeni
- WordPress Alternatifi karşılaştırma sayfası — dürüst, faktüel jekcms–WordPress tablosu + SSS (FAQPage yapılandırılmış veri) içeren yeni
/tr/wordpress-alternatifi(EN:/wordpress-alternative) sayfası; sitemap + hreflang + footer bağlantılı - llms.txt —
/llms.txtadresinde makine-okur özet; AI asistanları jekcms'i kendi sunucusunda CMS / WordPress alternatifi olarak doğru tanımlasın
İyileştirildi
- AI aramalarında bulunabilir — AI yanıt/arama motorları (ChatGPT, Perplexity, Gemini, Claude, Copilot) artık açıkça serbest (sunucu seviyesindeki engel kaldırıldı; isimli robots grupları eklendi). Değersiz SEO-scraper bot'lar engelli kalır
- Arama & AI için net kimlik — yapılandırılmış veri jekcms'i İçerik Yönetim Sistemi olarak sınıflandırıyor; net CMS / WordPress-alternatifi açıklaması ve özellik listesi; site meta'sı "kendi sunucunda CMS / WordPress alternatifi" diye keskinleştirildi (faktüel, anahtar-kelime doldurma yok)
Değişen dosyalar (3)
.htaccess
—
AI bot 403 kaldırıldı (SEO-scraper engelli kalır); wordpress-alternative temiz-URL + TR slug
robots-txt.php
—
GPTBot/OAI/Claude/Perplexity/Google-Extended… açık Allow grupları + llms.txt referansı
llms.txt + wordpress-alternative.php
—
YENİ; header.php SoftwareApplication=CMS + meta; sitemap + footer + slug map
Pazarlama Sitesi SEO Sağlamlaştırma
İyileştirildi
- Çift sayfa URL'si yok — doğrudan
.phperişimi (ör./features.php) artık temiz URL'ye (/features) 301 yönlendiriliyor; her sayfanın tek indekslenebilir adresi ve tek canonical'ı var - Tek yönlendirme atlaması —
http://wwwartık iki zincirli yönlendirme yerine tek 301 ile doğrudanhttps://www-siz adrese gidiyor (daha hızlı, daha güçlü SEO sinyali) - Denetlendi ve doğru teyit edildi: hata sayfaları gerçek 404 (soft-404 yok, noindex), ortam-duyarlı dinamik robots.txt, hreflang'li çift dilli sitemap, self-referencing canonical + en/tr/x-default hreflang,
?lang=tr→/tr/…301
Değişen dosyalar (1)
.htaccess
—
www→non-www+https tek hop; .php→temiz URL 301 (allowlist, THE_REQUEST guard, static-serve öncesi)
Makale Görünümü & İç Bağlantı Bütünlüğü Düzeltmeleri
Düzeltildi
- Bozuk iç bağlantılar kaynağında düzeltildi — Otomatik iç bağlantılayıcı ham Markdown üzerinde çalışıp bir Markdown bağlantısının içine link enjekte edebiliyor, render sonrası bozuk/yarı-görünür anchor’a dönüşüyordu. Markdown bağlantı/görselleri artık korunuyor; iç bağlantılama içeriği bir daha asla bozamaz. Link temizleyici de sertleştirildi: önceden bozulmuş/sızmış link kalıntısını tamamen siliyor — etkilenen sitede iç-bağlantı taramasını yeniden çalıştırmak eski içeriği kendiliğinden onarıyor
- Kontrol listeleri düzgün — Markdown görev listeleri (
- [ ]/- [x]) artık ham "[ ]" yerine gerçek onay kutusu simgesi gösteriyor - Tablolar stillendi — Makaledeki Markdown tabloları artık kenarlık/iç boşluk/başlık stiliyle çiziliyor; sütunlar iç içe değil
- Çift madde işareti gitti — liste öğelerinde hem varsayılan bullet hem özel işaret çıkıyordu; kopya kaldırıldı
- İlgili yazılar düzeltildi — ilgili bölüm iki kez render oluyordu, biri tam-genişlik yığılı görsel; bozuk kopya kaldırıldı, temiz kart ızgarası kaldı
- Öne çıkan görsel oranı — tekil yazı kapak görseli artık kırpık kareye yakın değil, düzgün 16:9 çerçevede
- İçindekiler aksanlı karakterleri doğru gösteriyor — "Bu sayfada" listesi HTML entity'lerini çift-escape edip "Güncel" gösteriyordu; başlıklar artık gösterimden önce çözülüyor (çapa bağlantıları senkron)
- Ön yüz düzeltmeleri artık anında yayında — deploy sayfa önbelleğini temizliyor; düzeltme artık 5 dakikaya kadar eski önbelleklenmiş HTML'le maskelenmiyor
Değişen dosyalar (4)
includes/auto-linker.php
—
markdown link/görsel placeholder koruması (iç içe anchor kök nedeni)
includes/helpers.php
—
parse_markdown GFM task-list ([ ]/[x] → onay kutusu glyph)
themes/travel (subpages.css, single.php)
—
tablo CSS + çift-madde list-style:none + bozuk dublikat related blok kaldırıldı
themes/health (single-v2.css)
—
.h-single__cover 4/3 → 16/9 (native + ilgili siteler)
JSON Sihirbazı Yeniden Adlandırma & Takvim Görünürlük Düzeltmesi
İyileştirildi
- "İçerik Asistanı" → "JSON Oluşturma Sihirbazı" — ad artık işlevi yansıtıyor: içe aktarmaya hazır JSON + prompt üretir
- "Devamı aşağıda" işareti artık yerleşik — yazıda
{devam}yazınca ortalanmış, sonraki bölüme yumuşak kaydıran bir "içerik aşağıda devam ediyor" düğmesi çıkar. Artık çekirdek render katmanında (tema-bağımsız); tema sıfırlamaları bir daha silemez - Kontrol listesi düzeltmesi yalnız Markdown değil, HTML olarak saklanmış yazıları da kapsıyor
Düzeltildi
- İçerik takvimi düzeltildi — plan yine görünüyor — Bazı kurulumlarda takvim sessizce tamamen boş geliyordu: sorgu, eski içerik-kuyruğu tablolarında hiç olmayan bir kolona dayanıyordu, hata verip hiçbir şey göstermiyordu. Sorgu artık şemadan bağımsız ve kendini onaran yapıda; ay görünümü ayrıca tarihi olan tüm öğeleri durumundan bağımsız gösterir (taslak / onaylı / işlemde / tamamlandı), duruma göre renkli
- Takvim önizleme görseli bir dalda yanlış alanı kullanıyordu — düzeltildi
Değişen dosyalar (2)
admin/content-queue.php
—
takvim status filtresi genişletildi (scheduled_date olan tüm öğeler) + görsel-alan dal hatası
lang/*/general.php, config/translations/*
—
cq_assistant_title → JSON Oluşturma Sihirbazı / JSON Generation Wizard
Daha Sade İçerik Kuyruğu İçe Aktarma Ekranı
İyileştirildi
- İçerik Kuyruğu → İçe Aktar — Yapay Zekâ İçerik Asistanı ile içe aktarma seçenekleri (JSON / Google Sheets / CSV) arasında net görsel ayrım; ikisi artık sayfada iç içe görünmüyor
- Gereksiz statik JSON ve Google Sheets format örneği kutuları kaldırıldı — Asistan zaten kullanıma hazır örnek üretiyor, fazladan şablon yalnızca kalabalık yaratıyordu. Tüm filoya uygulandı
Değişen dosyalar (1)
admin/content-queue.php
—
import sekmesi: bölüm ayrımı (gap) + statik format kutuları kaldırıldı — native + _template + 14 site senkron
Güvenilirlik, Güvenlik ve Kesintisiz Dağıtım
Yeni
- İki Adımlı Doğrulama (TOTP) — Her sitenin Güvenlik ayarlarında modern QR kurulum kartı. Google Authenticator / Authy / 1Password ile tara; kendi sunucunda üretilen QR (üçüncü taraf yok), manuel anahtar yedeğiyle. Girişte fail-open tasarım — 2FA arızası seni asla kilitleyemez
- Kesintisiz otomatik dağıtım — Güncellemeler artık değişiklikten dakikalar sonra tüm filoya HTTPS üzerinden otomatik iner, deploy sonrası sağlık kontrolüyle. Elle yükleme yok, SSH yok, kilitlenme yok
İyileştirildi
- Daha hızlı sayfalar — dokümantasyon/ekran görüntüsü varlıkları ~%73 hafif, sıfır-kayma görseller
- Daha temiz SEO — iki dilli varsayılan meta açıklama & footer alanları, tutarlı şema adı kaynağı
Düzeltildi
- Google sonuçlarında site adı — Uzun süredir devam eden bir ayar saklama sorunu, arama motorlarının çıplak alan adına düşmesine yol açıyordu. Artık her site başlık, sosyal kart ve yapılandırılmış veride gerçek adını gösteriyor — filo genelinde doğrulandı
- Oturum kalıcılığı — Admin oturumları artık beklenmedik şekilde düşmüyor; çıkış yapana kadar kalıyor (kök neden: sunucu oturum çöp toplaması ayarlı ömürle hizalı değildi)
- Footer & marka — Footer güvenilir render oluyor ve Genel Ayarlar'dan tek kaynaktan besleniyor (slogan / footer metni), uygun yerlerde iki dilli (TR/EN); demo/yer-tutucu kalıntıları temizlendi
Değişen dosyalar (5)
includes/Totp.php / QrSvg.php
—
NEW — self-hosted TOTP + QR (SVG)
deploy/deploy-all.sh
—
NEW — sunucu-tarafı ban-proof auto-deploy + smoke-test
includes/Session.php
—
gc_maxlifetime fix (oturum kalıcılığı)
admin/settings.php
—
modern 2FA kartı + settings persistence (SERP) fix
marketing-includes/footer.php
—
bulletproof footer
İki Adımlı Doğrulama, Akıllı Bülten ve Müşteri Güncelleme Kanalı
Yeni
- Admin iki adımlı doğrulama (TOTP) — QR ile kurulan, hesap bazında Güvenlik ayarlarından açılıp kapatılan opsiyonel zaman-tabanlı 2FA; tüm authenticator uygulamalarıyla uyumlu
- Akıllı bülten özetleri — Abonelik eklentisi artık yeni yazıların otomatik haftalık veya aylık özetini gönderebilir (sıklık kapalı/haftalık/aylık + ayın günü), cron ile sunucu-taraflı güvenilir tetik ve periyot başına tekilleştirme
- Müşteri self-update kanalı — Uçtan uca imzalı güncelleme: manifest gömülü public key ile doğrulanır (her install'da çalışır), SHA-256 zorunlu, tek komutluk release paketleyici temiz çekirdek paketi üretir ve yanlış imzalı release'i reddeden anahtar-çifti güvenlik kapısı içerir
Düzeltildi
- Kritik SEO: arşiv sayfaları artık soft-404 değil — Tech ve Minimalist temalarında her kategori/author arşivi sabit 404 dönüyordu (şablon, hiç set edilmeyen bir yönlendirme anahtarını okuyordu); bu sayfalar artık doğru çözülür ve author arşivleri tam desteklenir
- API yazma yetkilendirme — Kimlik doğrulanmış düşük yetkili token artık içerik oluşturamaz/değiştiremez/silemez veya başka yazarın yazısına dokunamaz; rol + sahiplik ürünün kendi yetki modelinden zorunlu kılınır
- Sitemap/robots dayanıklılığı — Güvenlik user-agent heuristikleri
sitemap*.xml/robots.txtiçin Googlebot/Search Console'a 403 dönebiliyordu; bu uçlar artık tüm engelleme kurallarını atlar, indeksleme asla kazara kaybolmaz - Footer sosyal bağlantılar — Pazarlama footer'ı yalnız Genel Ayarlar → Sosyal Medya'da tanımlı hesapları gösterir (yer-tutucu/demo bağlantılar kaldırıldı)
Değişen dosyalar (9)
native/includes/Totp.php
—
NEW — RFC6238 TOTP
native/admin/login.php
—
2FA 2-adım akışı
native/plugins/newsletter/classes/WeeklyDigest.php
—
haftalık+aylık dispatch
native/themes/{tech,minimalist}/templates/archive.php
—
archive_slug + author dalı
native/api/v1/index.php
—
authorizeWrite() rol/sahiplik
native/.htaccess
—
sitemap/robots güvenlik-bypass
native/classes/Updater.php
—
gömülü public key + managed guard
tools/release.php
—
NEW — release paketleyici + anahtar self-doğrulama
marketing-includes/header.php
—
şema adı i18n
Güvenlik Sıkılaştırma ve Güncelleme Bütünlüğü
Düzeltildi
- Kritik: SSRF engellendi — Sunucu-taraflı görsel çekme (URL'den medya) yalnız http/https genel hostlara izin verir; özel/loopback/link-local ve bulut-metadata adresleri reddedilir, yönlendirme kapalı, boyut sınırlı
- Yüksek: Markdown XSS engellendi — İçerikteki link/görsel URL'leri şema-allowlist;
javascript:,data:,vbscript:ve protokol-göreli URL'ler artıkhref/src'e giremez - Yüksek: Siteler-arası istek sertleştirme — Durum değiştiren istekler CSRF token'a ek olarak same-origin (Origin/Referer) zorunlu kılar; tüm admin aksiyon sayfalarını topluca korur
- SVG yükleme XSS engellendi — Script, olay-işleyici, foreignObject, dış-referans veya XML-entity (XXE) içeren SVG'ler reddedilir; statik SVG'lere izin sürer
- Güncelleme bütünlüğü zorunlu — Doğrulanmış SHA-256 olmadan güncelleme reddedilir; manuel ZIP uygulaması resmi hash girilmedikçe varsayılan kapalı; geliştirici-lisansı localhost tespiti gerçek loopback bağlantı ister (Host-header spoof kapatıldı)
Değişen dosyalar (8)
api/v1/index.php
—
validateRemoteUrl() SSRF guard
includes/helpers.php
—
parse_markdown URL şema allowlist
includes/Security.php
—
CSRF same-origin + SVG denylist
classes/Updater.php
—
zorunlu sha256 (hash_equals)
admin/updates.php
—
manuel ZIP default-kapalı + sha256 gate
classes/License.php
—
isLocalhost loopback-peer zorunlu
tools/check-drift.php
—
NEW — standardizasyon drift denetimi
STANDARDIZATION.md
—
NEW — propagasyon/governance modeli
Core Web Vitals: Responsive Görseller, LCP ve Önbellek
İyileştirildi
- Site Geneli Görsel Optimizasyonu — Tüm ön yüz görselleri artık intrinsic
width/height(sıfır kayma / CLS),decoding="async"ve lazy-load ile geliyor; tüm temaları kapsayan tek global çıktı filtresiyle. Hero/LCP görselifetchpriority="high"korur, asla lazy olmaz - Otomatik Responsive Varyantlar — Mevcut görseller için optimize AVIF/WebP boyut varyantları (thumbnail/medium/…) arka planda kademeli üretilir; kartlar/küçük görseller tam çözünürlük yerine küçük dosyayı indirir — sunucuya ek yük olmadan
- Daha Hızlı İlk Boyama — Anlık arama CSS'i artık render'ı bloklamıyor (async + JS'siz fallback); temalar above-fold için
critical.csssunabilir - Tarayıcı Önbelleği Geri Geldi — Ön yüz sayfaları yeniden önbelleklenebilir (ileri/geri önbelleği çalışır); yalnız admin ve API no-store kalır
Değişen dosyalar (5)
includes/helpers.php
—
jek_img_optimize() global filtre + instant-search async
index.php
—
ob_start('jek_img_optimize') (yalnız frontend)
classes/Media.php
—
regenerateVariants() — eksik boyut varyantı backfill
cron.php
—
görsel varyant backfill (nazik, cursor, idempotent)
themes/travel/*
—
picture()/LCP + koşullu critical-CSS
Temiz İçerik Render: Markdown, Kod Blokları ve Kodlama
İyileştirildi
- Bülten Bandı Yeniden Tasarlandı — Footer üstü abone bandı jenerik mavi gradyanı bıraktı; sitenin kendi tek-renk tasarım değişkenlerini ve hap (pill) kontrollerini kullanıyor — hem açık hem koyu temada tutarlı
Düzeltildi
- Kritik: Ham Markdown Başlıkları — Bir yazı HTML ile Markdown'ı karıştırdığında (AI/otomasyon çıktısının normali),
##/###başlıklar, kod blokları ve listeler render edilmek yerine ham basılıyordu. Markdown motoru yeniden yazıldı; blok öğeler HTML'in yanında da dönüştürülüyor - Kritik: Komutlar Başlık Oluyordu — Kod (```/~~~ blokları, satır-içi ve mevcut
<pre>) artık başlık ayrıştırmasından ÖNCE korunuyor;#shell yorumları ve#!/bin/bashsatırları asla başlık sanılmıyor - Eski Linux Yazıları Onarıldı — WordPress içe aktarımında parçalanmış komut blokları (
<pre>…</p><p>…</pre>) temiz çok-satırlı kod bloklarına birleştirildi - Kritik: Türkçe Bozulması (Mojibake) — Bazı otomatik içerik çift kodlanmış geliyordu (Türkçe harfler CJK glifi: "Çikolata" → "脟ikolata"). API artık her gelen yazım yolunu otomatik onarıyor (kendini doğrular, yanlış pozitif yok); fleet aracı tüm sitelerdeki mevcut içeriği temizliyor
Değişen dosyalar (5)
includes/helpers.php
—
parse_markdown() v2 — kod-koru-önce, başlıklar HTML içerikte de
api/v1/index.php
—
fixMojibake() güçlendirildi + demojibakeDeep() (tüm write yolları)
marketing-assets/css/main.css
—
.nl-band site token'ları + pill
tools/fix-mojibake-all.php
—
NEW — 15 site fleet mojibake onarımı
tools/fix-celil-pre.php
—
NEW — celil <pre> komut bloğu onarımı
Güvenilir Tema Değiştirme, 17 Otomatik Paylaşım Ağı ve Tam Genişlik Admin
Yeni
- Bölgesel & Fediverse Otomatik Paylaşım — Sosyal otomasyon motoruna sekiz yeni ağ: Pixelfed, Misskey/Sharkey, WriteFreely, Micro.blog ve Lemmy (token/instance), VK (OAuth2), ayrıca Hatena Bookmark ve Plurk (OAuth1). Bağlı her hesaba yeni içerik, platforma özel hız ve geri-çekilme ile otomatik gönderilir
- Dürüst Yetenek Notları — Güvenli/resmi yayın API'si olmayan ağlar (Xing, Naver, Nostr) sessizce başarısız olmak yerine gerekçesiyle açıkça etiketlendi — sahte bağlayıcı yok
İyileştirildi
- Tam Genişlik Bağlantılar Sayfası — Sosyal bağlantılar ızgarası artık dar bir sütunda sıkışmıyor; kartlar geniş ekranlarda sağ üçte biri boş bırakmak yerine tüm genişliği kullanıyor
Düzeltildi
- Kritik: Tema Değiştirme Çalışmıyordu —
settings.keytekil indeksli olduğu için eski "UPDATE sonra satır yoksa INSERT" yolu, değer değişmediğinde (aynı temayı tekrar aktive etme veya her geçişte çalışan otomatik önceki-tema yedeği) duplicate-key hatası fırlatıyordu. Aktivasyon veritabanı hatasıyla iptal oluyor ve tema asla değişmiyordu. Tema yazımları artık tek-satır upsert (sil + ekle) — mevcut mükerrer/yetim satırları da otomatik temizler. Aktif-tema okuması deterministik (canonical grup, en yeni satır) olduğundan ön yüz her zaman seçilen temayı gösterir
Değişen dosyalar (4)
admin/themes.php
—
setThemeSettingRow() singleton upsert; tüm yazım noktaları
includes/helpers.php
—
get_active_theme() deterministik sorgu
plugins/jek-social/classes/adapters/*
—
Pixelfed/Misskey/WriteFreely/Microblog/Lemmy/Vk/Hatena/Plurk
admin/plugins/jek-social/connections.php
—
.js-wrap tam genişlik + yeni platform formları
Akıllı Yeni Nesil CMS — Admin UI Yenileme, Sağlam Slug Üretimi ve Otomatik Kayıt
Yeni
- Yeni Admin Tasarım Dili — Birleşik badge sistemi (5 pill varyant: başarı/hata/uyarı/bilgi/nötr), renkli arka plan + dekoratif SVG'li stat-card-v2, outline hızlı erişim butonları, boş/hata durumu için state-block
- Dil Değiştirici — Admin header'da TR/EN toggle, session-based override (
$_SESSION[admin_lang_override]), sayfalar arası korunur - Otomatik Taslak Kaydı — Post editörü her 30sn kaydeder + localStorage offline yedek. Sağ alt köşede status pill: "Kaydediliyor…" / "Kaydedildi · 15:42" / "Çevrimdışı". Kapatırken değişiklik varsa yeniden açıldığında geri yükleme isteği
- Anonim Önizleme —
preview.php?token=XXX— 48 karakter hex tokenpost_meta'da saklanır. "Önizleme Linki" butonuyla URL otomatik panoya kopyalanır. Turuncu banner önizleme modunu belirtir - Revizyon Karşılaştırma — Herhangi bir revizyona tıklayın → kelime bazlı diff modalı (CDN üzerinden jsdiff). Yeşil ekleme / kırmızı üstü çizili silme. Otomatik snapshot ile "Bu revizyonu geri yükle"
- Kelime Sayısı Dağılımı — Dashboard'da post kelime sayılarının yığılı barı (0-500, 500-1K, 1K-1.5K, 1.5K+), hover tooltip ile
- Tarih Aralığı Filtresi — Post listesinde
date_from/date_toiçin native tarih seçiciler - Medya Grid/Liste Toggle — Kütüphane görünümü grid ve dikey liste arası geçiş, tercih localStorage'da saklanır
- Slug Onarım Aracı —
admin/tools/rebuild-slugs.php— dry-run önizleme + çakışma yönetimi + CLI modu ile toplu işlem
Düzeltildi
- Kritik: Türkçe Slug Bug —
mb_strtolower()Türkçeİ(U+0130) karakterini iki codepoint'e dönüştürüp transliterasyon map'ini bozuyordu, artakalan bytelar hyphen oluyordu. Yenislugify()lowercase'den ÖNCE kapsamlı map'lestrtrçalıştırır (Türkçe + Latin extended). Tüm sitelerde 866 bozuk slug düzeltildi - Sidebar Çizgi Bug —
.sidebar-brand56px iken--header-height: 60pxidi, 4px kayma yatay çizgi artefaktı oluşturuyordu. Artıkvar(--header-height)kullanılıyor - profile.php 90s Buton —
.avatar-actions .btn-sm'eborder-radius: 50%uygulanmıştı, butonlar daireye dönüşüyordu. Ayrıca "Active" ifadesi Türkçe admin'de İngilizce hardcoded idi. İkisi de düzeltildi - Ayarlar Thumbnail Input'ları — Pixel input'larda hiç stil yoktu (native browser default — 90s). Artık düzgün padding, focus ring, arka plan var
- Logo Regresyonu —
logo-yatay.svgeski test logosuydu. Sidebar'dalogo-dikey.svg+ inline SVG ile değiştirildi (admin login ile aynı) - Lisans Sayfası Marka — Sahte mavi
[J]SVG monogramı gerçeklogo-dikey.svgile değiştirildi. Hardcoded#28a745renkler CSS değişkenlerine taşındı - Güncellemeler Sayfası UX — Lisans yok / güncelleme başarısız / güncel durumları birleşik pill-badge formatı kullanıyor. Raw İngilizce hatalar Türkçe UI'dan kaldırıldı
Değişen dosyalar (32)
includes/helpers.php
—
slugify() — bulletproof Turkish + Latin extended
api/v1/index.php
—
generateSlug() wrapper → slugify()
config/functions.php
—
Session-based admin_lang_override
admin/ajax/autosave.php
—
Existing — no change (frontend added)
admin/ajax/preview-token.php
—
NEW — generates 48-hex preview tokens
admin/ajax/revision-get.php
—
NEW — fetches revision JSON for diff
admin/ajax/revision-restore.php
—
NEW — restores post from revision
admin/tools/rebuild-slugs.php
—
NEW — slug rebuild UI
admin/tools/rebuild-slugs-cli.php
—
NEW — CLI version
admin/post-edit.php
—
Autosave JS, preview link, revision diff modal
admin/posts.php
—
Date range filter
admin/media.php
—
Grid/list toggle
admin/profile.php
—
90s button fix + TR translate
admin/settings.php
—
Thumbnail input styling
admin/fix-images.php
—
Pill-badge + icon buttons
admin/content-fixer.php
—
Unified badge system
admin/license.php
—
logo-dikey.svg + CSS vars
admin/updates.php
—
Pill-badge state blocks
admin/login.php
—
Tagline added
admin/assets/css/admin.css
—
Pill-badge, qa-btn, stat-card-v2, lang-toggle
admin/includes/sidebar.php
—
Border fix + slug tool link + inline SVG logo
admin/includes/header.php
—
Language toggle button
admin/includes/init.php
—
set_admin_lang handler
preview.php
—
NEW — anonymous token-based draft viewer
config/constants.php
—
CMS_VERSION = 2.0.1
version.json
—
v2.0.1, db_version 6
marketing-includes/header.php
—
Hero title → "Smart Next-Gen CMS" / "Akıllı Yeni Nesil CMS"
marketing-includes/footer.php
—
logo-dikey.svg + site_tagline
marketing-assets/css/main.css
—
.ss-frame (screenshot component) + .footer-tagline
marketing-includes/ss-helper.php
—
NEW — ss_frame() / ss_step() helpers
tools/sync-from-celil.sh
—
NEW — deployment script (21 verbatim files)
tools/patch-from-celil.php
—
NEW — surgical patch script (6 targeted edits)
Otomatik Ayar Seed, Core Web Vitals, Güncelleme Sistemi ve SEO Güçlendirme
Yeni
- Otomatik Ayar Seed —
ensure_default_settings()ilk sayfa yüklemesindesite_namevesite_alternate_namedeğerlerini otomatik olarak veritabanına yazar. Önbellek dosyası sayesinde tek seferlik çalışır, performans etkisi sıfır. Yeni siteler için manuel SQL çalıştırmaya gerek kalmaz - Migration Sistemi — Altyapı sağlanan tüm sitelerde
migrations/5_seo_settings_seed.phpoluşturuldu. Güncelleme sistemi artık veritabanı değişikliklerini otomatik olarak dağıtabiliyor - LCP Eager Loading — Sayfa yüklemesindeki ilk post kartı görseli tüm tema mimarilerinde
loading="eager" fetchpriority="high"alıyor. ~200-500ms LCP iyileşmesi bekleniyor - CLS Önleme — Tüm post kartı görsellerine
widthveheightnitelikleri eklendi. Sayfa düzeni kaymasını tamamen ortadan kaldırır - CSS Önbellek Yönetimi — Starter tema başlıklarındaki stil dosyası bağlantılarına
?v=THEME_VERSIONparametresi eklendi - Güncelleme Sunucusu Bağlandı —
api/updates/check.phpartık statik yanıt yerine gerçekUpdateManagerile veritabanı sorgusu yapıyor. Bağlantı hatalarında güvenli geri dönüş sağlar - jekcms Backlinkleri — Aktif siteler, yönetim panelleri ve paket temalar dahil tüm footer dosyaları artık
jekcms.comadresine "jekcms" bağlantı metniyle yönlendiriyor - Pazarlama Sitesi SEO — Gerçek favicon URL'si (SVG),
application-namemeta etiketi,theme-color, WebSite şemasıalternateNameeklendi. Dekoratif metin CSS'e taşınarak Google sitelink kirliliği önlendi
Düzeltildi
- Sitemap sayfalama URL'leri kaldırıldı — Anasayfa, kategori, etiket ve yazar sitemap'lerinden sayfalama URL'leri çıkarıldı. Arama motoru tarama bütçesi israfı önlendi
- İnce içerikli etiket sayfaları artık
noindex— 3'ten az yazısı olan etiket sayfalarıoutput_robots_meta()aracılığıylanoindex, followalıyor - Markdown
# Başlıkartık<h1>yerine<h2>üretiyor — sayfa başlığı zaten H1 olduğundan çift H1 sorunu önlendi - SQL migration dosyası
sql/v1.5.1-seo-site-names.sqlsilindi — otomatikensure_default_settings()mekanizması ile değiştirildi - Pazarlama sitesinin favicon'u data URI idi — Google, SERP'de favicon göstermek için gerçek URL gerektirir.
/favicon.svgile değiştirildi - Pazarlama sitesinde "Dashboard Posts Media Settings" Google sitelink'lerinde görünüyordu — dekoratif metin HTML'den CSS
content: attr(data-label)yöntemine taşındı
Değişen dosyalar (18)
includes/helpers.php
—
ensure_default_settings() + thin tag noindex + markdown H1→H2
includes/bootstrap.php
—
ensure_default_settings() call added
classes/Sitemap.php
—
Pagination URLs removed
migrations/5_seo_settings_seed.php
—
NEW — DB seed migration
version.json
—
v1.5.3, db_version 5
themes/*/partials/post-card.php
—
LCP eager + CLS dimensions
themes/*/templates/index.php
—
Featured image eager loading
themes/*/templates/archive.php
—
Card index parameter
themes/*/templates/header.php
—
CSS cache busting
themes/*/functions.php
—
render_post_card index param
themes/*/templates/footer.php
—
jekcms backlink
admin/includes/footer.php
—
jekcms backlink noreferrer
api/updates/check.php
—
Real UpdateManager connection
favicon.svg
—
NEW — Root favicon for Google SERP (marketing)
index.php
—
Mockup text → CSS data-label (marketing)
marketing-includes/header.php
—
Favicon + application-name + schema (marketing)
marketing-assets/css/main.css
—
Mockup nav CSS content rule (marketing)
changelog.php
—
v1.5.3 release entry (marketing)
Derin SEO Denetimi — Schema, OG Görsel, Core Web Vitals ve Erişilebilirlik
Düzeltildi
- BlogPosting
authorşemasındaurlözelliği eksikti — Google 2023'ten beri yazar URL'si zorunlu kılıyor. Tüm sitelerdeauthor.urleklendi - BreadcrumbList son elemanında
item(URL) özelliği eksikti — Google Rich Results testi hata veriyordu. Tüm helpers.php dosyalarında kategori ve kategorisiz yollar düzeltildi - Paket tema functions.php dosyalarında
og:image:widthveog:image:heightmeta etiketleri eksikti — Facebook/LinkedIn görsel önizlemeleri yanlış görünebiliyordu. 1200×630 boyutları eklendi - Aktif tema single.php dosyalarında öne çıkan görselde
fetchpriority="high"eksikti — LCP (Largest Contentful Paint) performansını etkiliyor. Eksik olanlarawidth/heightde eklendi - Aktif tema dosyalarında yazar avatar
<img>etiketlerinde boşalt=""vardı — erişilebilirlik ve görsel SEO sorunu. Yazar adıyla değiştirildi - Etkilenen temalarda sabit kodlanmış
<html lang="tr">— doğru dil bildirimi için dinamikget_setting()ile değiştirildi
Değişen dosyalar (4)
includes/helpers.php
—
Author URL + BreadcrumbList item fix
themes/*/functions.php
—
og:image:width/height added
themes/*/templates/single.php
—
fetchpriority + avatar alt text
themes/*/templates/header.php
—
Dynamic html lang attribute
SEO Denetimi — Sayfalama, Sitemap Dili, Etiket Temizliği ve OG Locale
Düzeltildi
- Sayfalama URL'lerinde çift sorgu dizesi hatası —
get_canonical_url()?page=Ndöndürdüğü için?page=3?page=4oluşuyordu. baseUrl'den page parametresi çıkarılarak düzeltildi - Schema
$currentUrlsayfalanmış sayfalarda?page=Neksikti — canonical ve schema URL'leri artık tutarlı ?page=1duplicate içerik — tüm site .htaccess dosyalarında temiz URL'ye 301 yönlendirme eklendi- News sitemap'te sabit kodlanmış
<news:language>en</news:language>— tüm sitelerdeget_setting()ile dinamik hale getirildi - Etiket URL'leri anasayfaya 301 dönüyordu — tüm sitelerde minimal HTML sayfasıyla 410 Gone yanıtına değiştirildi
- BlogPosting şemasında
inLanguageözelliği eksikti — tüm sitelerde dinamik dil algılama eklendi og:localeTürkçe sitelerdeen_USolarak sabit kodlanmıştı — site dil ayarına göretr_TRveyaen_USdinamik olarak ayarlandı- AVIF → WebP şema görseli geri dönüşünde
file_exists()kontrolü eksikti — dosya yokken WebP URL'si yayınlanıyordu
Değişen dosyalar (6)
includes/helpers.php
—
Pagination fix, schema URL, inLanguage, AVIF fallback
.htaccess
—
?page=1 redirect rule
classes/Sitemap.php
—
News language dynamic detection
config/routes.php
—
Tag 410 Gone response
themes/*/header.php
—
og:locale dynamic setting
themes/*/functions.php
—
og:locale dynamic setting
Duplike Engelleme, Akıllı Küçük Görsel ve Yönetim Araçları
Yeni
Post::checkDuplicate()metodu — oluşturma öncesi başlık veya slug ile duplike post tespiti- Tüm API webhook'larına duplike kontrolü entegre edildi:
webhookPublish,webhookSchedule,webhookDraft,webhookBulkPublish,webhookContentGenerate - Duplike tespit edildiğinde mevcut post detaylarıyla (id, title, slug, status, url) HTTP 409 yanıtı
- Kasıtlı duplikeler için
force_duplicate: trueistek parametresi - Toplu yayın duplikeleri sessizce atlar, engellemek yerine
skippedsayacını artırır - Posts sayfasında "Duplikeler" butonu — tam duplike analiziyle modal pencere açar
- Slug desen tespit motoru: başka bir post olarak da mevcut olan temel slug'a sahip
-N(N=1-10) ile biten postları bulur - Tek tıkla ve toplu "Tüm Duplikeleri Çöpe At" işlemleri, gerçek zamanlı arayüz güncellemeleriyle
get_featured_image()içinde image proxy geri dönüşü — önceden oluşturulmuş küçük görsel dosyaları eksikseimage-proxy.phpile dinamik boyutlandırma- Boyut haritası: thumbnail (400×400), card (480×300), medium (800×500), large (1600×1000)
- Boyutlandırılmış varyantları ararken AVIF → WebP → orijinal format kademesi
- İçerik Kuyruğu kenar çubuğu rozeti artık
draftvereadyile birliktequeueddurumunu da sayıyor
Değişen dosyalar (6)
classes/Post.php
—
checkDuplicate() method added
api/v1/index.php
—
checkDuplicatePost() + webhook integrations
admin/posts.php
—
Duplicates button, modal, JavaScript
admin/ajax/find-duplicates.php
—
NEW — AJAX duplicate finder endpoint
includes/helpers.php
—
get_featured_image() image-proxy fallback
admin/includes/init.php
—
Content Queue badge query updated
Production Sağlamlaştırma — SEO Düzeltmeleri, Lisans Zorunluluğu ve Oturum Güvenliği
Yeni
output_robots_meta()fonksiyonu — sayfa bazında robot yönergeleri (404 ve arama sayfaları için noindex, post seviyesinde geçersiz kılma)init.phpvelogin.php'de lisans zorunluluğu — aktif lisans anahtarı yoksalicense.php'ye yönlendirme- Siteler arası oturum ele geçirme önleme: çerez yolu
parse_url(SITE_URL, PHP_URL_PATH)ile siteye özel URL yoluna ayarlandı Auth::loadUser()içinde oturum_site_hashdoğrulaması — kimlik doğrulanmış oturumların ortak barındırılan siteler arasında paylaşılmasını önler- Siteye özel
remember_tokençerez yolu — beni hatırla belirteçleri artık aynı alan adındaki siteler arasında paylaşılmıyor - Footer markalaması tüm kurulumlarda standartlaştırıldı
Düzeltildi
- API yükleme yolunda çift
uploads/uploads/ön eki —uploadFromUrl()veuploadFromBase64()artık veritabanına kaydetmeden önce fazla ön eki çıkarıyor - Etkilenen site başlıklarından çift
<link rel="canonical">etiketleri kaldırıldı - FAQ şema çıktısı: minimum 3 öğe, 50+ karakter yanıt, maksimum 10 öğe zorunluluğu; tüm helpers dosyalarında tekilleştirildi
- Kenar çubuğu kategori yazı sayıları tasarım kurallarına göre kaldırıldı
- single.php dosyalarında yazar adı bağlantıları tıklanabilir
<a href>etiketlerine dönüştürüldü - SITE_NAME yapılandırma boşlukları düzeltildi — "FinanceSubject" gibi birleşik adlar "Finance Subject" olarak güncellendi
- Schema.org URL'lerinden izleme parametreleri (
utm_source,fbclidvb.)parse_url()ile temizlendi - Post kartı görsellerine eksik
width/heightnitelikleri eklendi — CLS önleme uygulandı
Değişen dosyalar (7)
api/v1/index.php
—
Upload path fix
includes/helpers.php
—
robots_meta, FAQ schema, schema URL cleanup
classes/Auth.php
—
_site_hash verification, cookie path
classes/Session.php
—
Site-specific cookie path
admin/includes/init.php
—
License enforcement redirect
admin/login.php
—
License check before auth
sql/v1.4.5-migration.sql
—
Fix corrupt featured_image paths
SEO Yenilemesi, İçerik Optimizasyonu, Breadcrumb ve İçindekiler Tablosu
Yeni
- Tüm aktif sitelerde kapsamlı SEO yenilemesi — meta etiketleri, Open Graph, Twitter Cards, Schema.org yapılandırılmış veri gözden geçirildi ve standartlaştırıldı
- Schema.org
BreadcrumbListişaretlemesiyle breadcrumb navigasyonu her siteye eklendi - İçindekiler Tablosu (TOC) —
<h2>/<h3>başlıklarından otomatik oluşturulur, temaya göre kenar çubuğu widget'ı veya satır içi blok olarak görüntülenir - Sözlük tabanlı eş anlamlı kelime yenilemesiyle İçerik Optimizasyonu — Türkçe morfolojiyi bozan yapay zeka API (Gemini/Groq) yaklaşımının yerine geçti
- Türkçe eş anlamlı sözlük (~200 modern kelime çifti) ve İngilizce eş anlamlı sözlük (~180 çift), arkaik terimler çıkarıldı
- Optimizasyon sözlük seçimi için
get_setting('general', 'ai_content_language')ile otomatik dil algılama - Google SERP site adı düzeltmesi:
og:site_nameve WebSite şemasında boş dizeleri yakalamak için??operatörü?:ile değiştirildi - Google site adı sinyali için tüm tema başlıklarına
<meta name="application-name">etiketi eklendi - Livecub için Pinterest Compose API — Gemini fotoğraf üretir, PHP GD metin katmanı ekler, 5 düzen şablonu, 1000×1500 çıktı
- SosyalMedya kapak görseli motoru değiştirildi: PHP GD degradeleri → Gemini Image API profesyonel fotoğraflar (1080×1920, AVIF, 5 stil)
- Türkçe slug oluşturma düzeltmesi:
generateSlug()artık tüm sitelerde ç, ğ, ı, ö, ş, ü harflerini doğru dönüştürüyor - Production veritabanlarındaki bozuk Türkçe slug'ları onarmak için
fix-slugs.phpyardımcı betiği
Düzeltildi
- Etkilenen sitelerde robots.txt dosyalarında çözümlenmemiş
{{SITE_DOMAIN}}yer tutucuları vardı - hobirehber şema fonksiyonu
output_hobirehber_schema()yerineoutput_hobbyrig_schema()olarak adlandırılmıştı - Production'daki CSP başlığı Google Analytics, AdSense ve Facebook Pixel alan adlarını engelliyordu
- MinimalistRig postlarında
featured_imagesütununda göreli yollar yerine tam URL'ler vardı - Livecub favicon'u Livecub L+Heart marka ikonu yerine jekcms [J] ikonunu gösteriyordu
Değişen dosyalar (7)
includes/helpers.php
—
SEO functions, breadcrumbs, TOC, schema fixes
includes/ContentOptimizer.php
—
Dictionary-based synonym refresh engine
admin/content-optimizer.php
—
Optimizer admin interface
themes/*/header.php
—
Breadcrumbs, meta tags, application-name
themes/*/single.php
—
TOC integration
themes/*/style.css
—
Breadcrumb and TOC styling
api/v1/pinterest-compose.php
—
NEW — Pinterest image composer (Livecub)
Kritik SEO Düzeltmesi, Çoklu Site Şablonu ve Dokümantasyon
Yeni
- Yeni jekcms siteleri oluşturmak için kanonik temel olarak
_template/dizini oluşturuldu — gerekli tüm dosyalar, klasör yapısı ve yer tutucu değişkenler dahil - Çift ortam yapılandırması: ana bilgisayar adına dayalı otomatik algılamayla
.env(yerel geliştirme) ve.env-production(canlı sunucu) - Hızlı site klonlama için yer tutucu sistemi:
{{SITE_NAME}},{{SITE_SLUG}},{{SITE_DOMAIN}} - Tutarlı markalamayla standart hata sayfaları: 400, 401, 403, 404, 500, 502, 503
- Geri sayım zamanlayıcılı bakım modu sayfası (
maintenance.php) - GZIP sıkıştırma, tarayıcı önbellekleme (statik içerik için 1 yıl), güvenlik başlıkları ve URL yeniden yazma ile standartlaştırılmış
.htaccess - Eksiksiz dağıtım dokümantasyonu: mimari kılavuz, SEO kontrol listesi, responsive görsel referansı, yükseltme talimatları
Düzeltildi
- Kritik: Production sitelerde tüm Google indekslemeyi yanlışlıkla engelleyen
X-Robots-Tag: noindexHTTP başlığı kaldırıldı - Yönetim içerik kuyruğu yeniden deneme: başarısız görev yeniden kuyruğa alındığında
attemptssayacı sıfıra dönüyor - Post düzenleyici panelinden eski Pinterest paylaşım kodu kaldırıldı
- Sadece blog sitelerinin yönetim panellerinden e-ticaret menüleri (Satış, Müşteriler) kaldırıldı
- Eksik AJAX uç noktaları (yorum, bülten, beğeni) tüm sitelerde senkronize edildi
- kriptogetiri'ye eksik
SpamFilter.phpsınıfı eklendi
Değişen dosyalar (6)
sites/_template/
—
NEW — Complete site template directory
.env.example
—
Environment configuration template
maintenance.php
—
NEW — Maintenance mode page
error.php
—
NEW — Unified error handler (400-503)
.htaccess
—
Standardized security + performance rules
skills/*.md
—
Architecture, deployment, SEO, image documentation
E-Ticaret, Müşteri Portalı, Lisans Sistemi ve Çok Dilli Motor
Yeni
- iyzico ödeme geçidi entegrasyonu ile eksiksiz e-ticaret sistemi — kredi kartı işleme, 3D Secure, taksit desteği
- Sipariş yönetimi yaşam döngüsü: oluşturma → ödeme → onay → hazırlama → tamamlandı, iptal ve iade akışlarıyla
- Otomatik numaralama, vergi hesaplama ve indirilebilir müşteri makbuzlarıyla PDF fatura oluşturma
/customer/adresinde müşteri portalı — sipariş geçmişi, aktif lisanslar, indirilebilir faturalar ve profil yönetimi ile gösterge paneli- Konulu mesajlar, öncelik seviyeleri ve yönetici yanıt takibi ile destek bileti sistemi
- Veritabanı tabanlı çevirilerle çok dilli motor — Türkçe ve İngilizce hazır, herhangi bir dile genişletilebilir
- Tembel yükleme yaklaşımlı
Translatorsınıfı: dizeler önceden değil talep üzerine ayrıştırılır — çok dilli kurulumlarda bellek kullanımını önemli ölçüde azaltır - 6 kademeli jekcms lisans sistemi: DEV (ücretsiz), PER (kişisel), STD (standart), PRO (profesyonel), AGC (ajans), ENT (kurumsal)
/api/license/adresinde lisans aktivasyon, doğrulama ve deaktivasyon API'si/api/updates/adresinde kontrol, indirme ve raporlama uç noktalarıyla güncelleme sunucusu- SSRF korumalı image proxy — özel IP aralıklarını (10.x, 172.16-31.x, 192.168.x, 127.x) engeller ve otomatik çöp toplama (7 günlük TTL)
- Önbellek yönetim sistemi: sayfa, sorgu, obje, site haritası, RSS, görsel önbelleği ile yönetim AJAX temizleme kontrolleri
- IP tabanlı izleme ve yapılandırılabilir eşiklerle hız sınırlandırma
- Kalıcı kötü niyetli kullanıcılar için IP engelleme listesi
- SEO sayfalama:
rel="next"/rel="prev"etiketleri, canonical URL sorgu dizesi hariç tutma, robots.txtAllow: /*?page= - CLS önleme için otomatik
width/heightnitelikleriyle responsive görselsrcsetoluşturma - HiDPI/Retina ekranlar için Gravatar 2x görüntüleme
Kırılma
- Siteler
sites/dizin yapısına taşındı — mevcut kurulumlar yol migrasyonu gerektirir
Değişen dosyalar (14)
classes/Order.php
—
Order management
classes/Customer.php
—
Customer accounts
classes/Invoice.php
—
PDF invoice generation
classes/SupportTicket.php
—
Support ticket system
classes/Translator.php
—
Multi-language engine
classes/Payment/IyzicoGateway.php
—
iyzico payment integration
classes/Security.php
—
Rate limiting, CSRF, XSS protection
classes/License.php
—
License client
classes/Updater.php
—
Update client
includes/image-proxy.php
—
SSRF-protected image proxy with GC
includes/cache-cleanup.php
—
Cache garbage collection
customer/
—
NEW — Customer portal directory
api/license/
—
NEW — License API endpoints
api/updates/
—
NEW — Update server API endpoints
Yönetim Paneli İngilizce Çevirisi ve Arayüz İyileştirmesi
Yeni
- Tüm yönetim paneli arayüz öğelerinin eksiksiz İngilizce çevirisi — menüler, etiketler, butonlar, ipuçları, hata mesajları ve başarı bildirimleri
- Yönetim genelinde terminoloji birliği: tüm modüllerde tutarlı "Posts", "Pages", "Media", "Settings" kullanımı
- IP bazlı tekilleştirme ile post oylama sistemi etkinleştirildi
- Bot filtrelemeli post görüntülenme sayacı
- PLUGINS bölümü altında yönetim kenar çubuğuna bülten modülü bağlantısı
- Otomatik içerik üretim hattı için yapay zeka içerik kuyruğu altyapısı
Düzeltildi
- Daha temiz navigasyon görünümü için yönetim kenar çubuğu boşluğu azaltıldı
- Yönetim panelinde CSS iyileştirmeleri — tutarlı dolgu, kenarlık hizalama ve küçük ekranlarda responsive davranış
Eklenti Mimarisi, Bülten Sistemi ve Reklam Modülü
Yeni
- Veritabanı tabanlı yönetim ile eklenti etkinleştirme/devre dışı bırakma sistemi — eklentiler kod değişikliği olmadan aktif edilebilir, devre dışı bırakılabilir ve yapılandırılabilir
- Abone yönetimi, kampanya oluşturma ve teslimat takibi ile bülten modülü — isteğe bağlı etkinleştirme için çekirdekten PLUGINS menüsüne taşındı
- Gösterim ve tıklanma takibi ile banner ve satır içi reklam yerleşimleri için reklam sistemi
- Spam koruması, e-posta bildirimleri ve yönetim mesaj yönetimi ile iletişim formu
- Durum takibi (gönderildi, başarısız, geri döndü) ile e-posta teslimat kaydı
- Denetim ve desen analizi için spam koruma kaydı
- Yeniden düzenlenen yönetim kenar çubuğu: PLUGINS bölümü temel navigasyondan ayrıldı
- Harici entegrasyonlar için API uç noktası iyileştirmeleri
Değişen dosyalar (6)
classes/Plugin.php
—
Plugin management engine
classes/Newsletter.php
—
Newsletter subscriber + campaign system
classes/Advertising.php
—
Ad placement and tracking
classes/SpamFilter.php
—
Spam detection and logging
admin/plugins.php
—
NEW — Plugin management interface
admin/newsletter.php
—
NEW — Newsletter administration
Ortam Sistemi, SEO Araçları ve Performans Altyapısı
Yeni
- Ortam yapılandırma sistemi — ana bilgisayar adına dayalı otomatik yerel/production algılama, ayrı veritabanı kimlik bilgileri ve URL ayarları
- Sayfa içi analiz, anahtar kelime yoğunluğu denetleyicisi ve okunabilirlik puanlamasıyla SEO Optimizasyon yönetim aracı
- Genişletilmiş site haritası sistemi: ayrı
sitemap-posts.xml,sitemap-pages.xmlvesitemap-categories.xmlilesitemap.xmlindeksi - Schema.org otomatik algılama: sayfa türüne göre
Article,BlogPosting,WebPageveWebSiteyapılandırılmış veri enjeksiyonu post_viewstablosuyla post görüntülenme takibi — bot filtrelemeli, IP ile tekilleştirilmiş, "Popüler Yazılar" widget'ları için kullanılırpost_votestablosuyla post oylama sistemi altyapısı — IP bazlı hız sınırlandırma, beğen/beğenme- Performans temeli: çıktı ara bellekleme, geliştirme modunda sorgu kaydı, çalışma süresi takibi
- Post düzenleyicide sayfa bazında
noindex/nofollowayarlarıyla gelişmişrobotsmeta kontrolleri
Değişen dosyalar (4)
config/environment.php
—
NEW — Environment auto-detection
admin/seo-optimizer.php
—
NEW — SEO analysis tool
includes/sitemap.php
—
Extended sitemap generation
includes/schema.php
—
Schema.org structured data
İlk Sürüm — Blog CMS Temeli
Yeni
- Yazı ve sayfa yönetimi ile temel blog CMS — WYSIWYG düzenleyici, taslak/yayınlandı/zamanlanmış durum iş akışı, revizyon geçmişi
- Rol tabanlı erişim kontrollü kullanıcı kimlik doğrulaması: admin, editör, yazar, abone — her rol ayrıntılı izin sınırlarına sahip
- Sınırsız iç içe geçme derinliği ve SEO dostu URL slug'larıyla hiyerarşik kategori sistemi
- Otomatik öneri, toplu işlemler ve etiket bulutu oluşturma ile etiket yönetimi
- Sürükle-bırak yükleme, otomatik AVIF/WebP dönüşümü ve galeri yönetimi ile medya kütüphanesi
- 14+ premium temayı destekleyen tema sistemi — her tema şablonlar, parçalar, varlıklar ve yapılandırma içeren bağımsız bir dizindir
- Mobil öncelikli yaklaşımla responsive tasarım — tüm temalar kutudan çıktığı haliyle Google Mobil Uyumluluk testini geçer
- İç içe yanıtlar, Gravatar entegrasyonu ve yönetim moderasyon kuyruğu ile yorum sistemi
- Temel SEO:
<title>etiketleri,<meta description>, canonical URL'ler ve XML site haritası oluşturma - Tam içerik ve özet modlarıyla
/feed.xmladresinde RSS beslemesi - Başlıklar, içerik ve özetler genelinde alaka puanlamalı arama işlevi
- Yazı istatistikleri, son etkinlik akışı ve hızlı işlem butonlarıyla yönetim kontrol paneli
- Harici entegrasyonlar için API belirteç sistemi — anahtar oluşturma, iptal ve kullanım kaydı
.htaccessyeniden yazma kurallarıyla temiz URL yönlendirme —/yazi-slug,/category/ad,/tag/ad,/author/ad
Değişen dosyalar (10)
classes/Post.php
—
Post/page CRUD + revision system
classes/User.php
—
Authentication + role management
classes/Category.php
—
Hierarchical categories
classes/Tag.php
—
Tag management
classes/Media.php
—
Media library + AVIF/WebP conversion
classes/Comment.php
—
Threaded comments
classes/Database.php
—
PDO wrapper with prepared statements
admin/
—
Complete admin panel (dashboard, posts, pages, media, settings)
themes/
—
14+ responsive themes
api/v1/index.php
—
RESTful API with token authentication
Sitenizi bugün yayına alın
Kurulum, içerik yönetimi, SEO ve otomasyon — hepsi tek platformda. 30 dakikada başlayın.
Fiyatlara Göz At- 30 dakikada kurulum ve yayın
- 14+ profesyonel tema
- n8n otomasyon entegrasyonu
- Otomatik SEO — Sitemap, Schema.org
- iyzico ödeme entegrasyonu