WebBlocks CMS Sayfa Dönüştürücü Yol Haritası

Amaç

Sayfa Dönüştürücü, yapıştırılan veya yüklenen statik HTML'i birinci sınıf bloklardan oluşan yapılandırılmış CMS sayfalarına dönüştüren, önerilmiş yeniden kullanılabilir bir WebBlocks CMS yönetim özelliğidir.

Bu özellik; statik siteleri, elle yazılmış HTML sayfalarını, dokümantasyon sayfalarını, pazarlama sayfalarını ve eski içerikleri, sayfa gövdesinin tamamını tek bir Safe HTML bloğuna indirgemeden WebBlocks CMS'e taşımaya yardımcı olmalıdır.

Amaç, webblocksui.com için siteye özel bir içe aktarıcı oluşturmak değildir. Dönüştürücü, bir WebBlocks CMS kurulumunun yönettiği herhangi bir site için kullanılabilecek genel bir CMS yeteneği olmalıdır.

Mevcut Uygulama Durumu

İlk çalışma zamanı temeli hazır: Admin -> Pages -> Page Converter, kapsamlandırılmış hedef/kaynak formunu görüntüler ve hedef yol çakışmaları dahil olmak üzere yapıştırılan veya yüklenen .html / .htm girdisini doğrular. Analizci, gönderilen HTML'i normalleştirir, en olası içerik alanını çıkarır ve güven puanları ve uyarılarla birlikte sıralı yapılandırılmış blok önerilerini gösterir. İnceleme ekranı bu önerileri imzalı bir dönüştürme planı yüküne serileştirir; ardından Create draft page, imzalı hedef ayrıntılarını yeniden doğrular ve desteklenen ana slot bloklarıyla bir yeni taslak sayfa oluşturabilir. Taslak oluşturma; header, plain_text, rich-text, code, table, quote, açık html geri dönüşü, button_link, Rich Text olarak list, Alert olarak callout, section, content_header, hero, cta ve imzalı card_header / card_body / card_footer alt öğelerine sahip açık card kabuklarını destekler. Bölüm benzeri <section> parçaları Section kapsayıcı blokları olarak korunur ve bunların kullanılabilir başlıkları, metinleri, bağlantıları, tanıtım içerikleri, kart ızgaraları ve bitişik details grupları, bölüm metni olarak saklanmak yerine alt öneriler olarak üretilir. Bitişik <details> grupları artık açık accordion_item alt öğelerine sahip tek bir imzalı accordion önerisine dönüşür ve hem accordion hem faq blok türleri yayında olduğunda taslak oluşturma bu öğeleri mevcut faq alt satır sözleşmesine yazar. Açık kullanılabilir bölge alt öğeleri olmayan kart önerileri ile kullanılabilir öğe sözleşmesi olmayan akordeon önerileri, güvensiz HTML'e düzleştirilmek yerine atlanır. image ve gallery gibi medyaya dayalı öneriler hâlâ atlanır ve medya içe aktarılmadan raporlanır.

Kompakt bir WebBlocks UI havalı fixture pilotu artık <main>, içerik başlığı/gövde sarmalayıcıları, tanıtım, kart ızgarası, düğmeler, kod, tablo, bitişik details ve uzak görsel medya içeren gerçekçi bir statik dokümantasyon/pazarlama parçasını kapsıyor. Fixture; analizin tek bir Safe HTML geri dönüşü yerine çok sayıda yapılandırılmış öneri üretmesini, imzalı bir plan ve taslak sayfa oluşturmasını, mevcut blok sözleşmesinin temsil edebildiği yerlerde açık kart bölgelerini ve alt bilgi düğme bağlantılarını korumasını ve medyaya dayalı parçaları dosya içe aktarmadan, sayfa yayınlamadan, gezinme oluşturmadan, ortak slotlara dokunmadan, uzak URL'ler getirmeden veya içeriğin üzerine yazmadan yalnızca uyarı verilen/atlanan durumda tutmasını güvence altına alır.

Temel İlke

Dönüştürücü, tek bir Safe HTML bloğu yerine yapılandırılmış CMS bloklarını tercih etmelidir.

Kötü çıktı:

Page
└── Main Slot
    └── Safe HTML Block
        └── entire page main HTML

Tercih edilen çıktı:

Page
└── Main Slot
    ├── Content Header
    ├── Hero
    │   └── Button
    ├── Section
    │   └── Columns
    │       ├── Column Item
    │       ├── Column Item
    │       └── Column Item
    ├── Rich Text
    ├── Code
    ├── Table
    ├── Card
    │   ├── Card Header
    │   ├── Card Body
    │   └── Card Footer
    └── Accordion

Safe HTML, yalnızca henüz yapılandırılmış CMS bloklarıyla temsil edilemeyen parçalar için görünür ve incelenebilir bir geri dönüş olarak kullanılabilir.

Ürün Konumlandırması

Önerilen yönetim paneli konumu:

Admin -> Pages -> Page Converter

Araç, çıktısı bir CMS sayfa taslağı olduğu için Sayfalar bölümüne yakın olmalıdır. Bu, öncelikle operasyonel bir bakım aracı değil, editoryal/içerik aracıdır.

Olası ikincil giriş noktası:

Admin -> Pages -> Import Page -> Convert HTML

Bununla birlikte, ana Sayfa Dönüştürücü akışı; kaynak girişi, analiz, inceleme, uyarılar ve nihai taslak oluşturma içerdiği için kendi ekranına sahip olmalıdır.

Hedef Kullanıcılar

  • super_admin: Sayfa Dönüştürücü'yü tüm siteler için kullanabilir.
  • site_admin: Sayfa Dönüştürücü'yü atanmış siteler için kullanabilir.
  • editor: daha sonra mümkün olabilir; MVP için temkinli kalın ve mevcut sayfa oluşturma izinlerine göre karar verin.

Oluşturulan sayfalar her zaman draft olarak başlamalıdır.

Dönüştürücü asla otomatik olarak yayınlamamalıdır.

MVP Kapsamı

MVP'ye Dahil Olanlar

  • Sayfalar alanı altında yönetim ekranı.
  • Kullanıcı erişimiyle sınırlı Hedef Site seçici.
  • Hedef Dil (Locale) seçici.
  • Hedef Sayfa Yerleşimi seçici.
  • Sayfa başlığı alanı.
  • Slug/yol alanı.
  • Kaynak HTML metin alanı.
  • .html ve .htm için kaynak HTML dosyası yükleme.
  • Bellek içi bir dönüştürme planı oluşturan Analiz eylemi.
  • Önerilen blokları, güveni, uyarıları ve geri dönüşleri gösteren inceleme ekranı.
  • Nihai Create Draft Page eylemi.
  • Yol çakışması doğrulaması.
  • Yalnızca taslak olarak sayfa oluşturma.
  • Yüksek güvenli eşlemeler için yapılandırılmış blok oluşturma.
  • Açık Safe HTML geri dönüş raporlaması.
  • Odaklı testler.
  • Dokümantasyon ve changelog güncellemeleri.

MVP Dışında Kalanlar

  • Uzak URL getirme.
  • Web sitesi tarama (crawling).
  • Çok sayfalı ZIP içe aktarma.
  • Toplu dönüştürme.
  • Ekran görüntüsü karşılaştırma.
  • AI API entegrasyonu.
  • Otomatik yayınlama.
  • Mevcut bir sayfanın üzerine yazma veya değiştirme.
  • Uzak URL'lerden medya dosyası indirme/içe aktarma.
  • Eski sayfaların veya Safe HTML bloklarının yıkıcı temizliği.

Kaynak Girdi Modları

MVP Girdi Modları

Girdi Modu Durum Notlar
HTML yapıştırma MVP En güvenli başlangıç noktası.
.html / .htm dosyası yükleme MVP Statik site dışa aktarımları için kullanışlı.
Uzak URL getirme Daha sonra SSRF koruması ve ağ politikası gerektirir.
Sayfalardan oluşan ZIP yükleme Daha sonra Toplu inceleme ve çakışma yönetimi gerektirir.
Site tarama Daha sonra Kapsam denetimleri, hız sınırları ve URL izin listeleri gerektirir.

Yönetim Akışı

Adım 1: Kaynak ve Hedef

Yönetici şunları seçer:

  • Hedef Site
  • Hedef Dil (Locale)
  • Sayfa Yerleşimi
  • Sayfa başlığı
  • Sayfa slug/yolu
  • Dönüştürme profili
  • Kaynak HTML yapıştırma veya yüklenen dosya

Adım 2: Analiz

Dönüştürücü, HTML'i analiz eder ve sayfa içeriğini veritabanına yazmadan bir dönüştürme planı üretir.

Örnek analiz özeti:

Detected page title: Admin Standards
Suggested path: /patterns/admin-standards
Suggested layout: docs
Detected blocks:
- 1 Content Header
- 8 Header blocks
- 12 Rich Text blocks
- 4 Card blocks
- 2 Table blocks
- 3 Code blocks
- 0 Safe HTML fallbacks
Warnings:
- Theme switcher controls ignored.
- Sidebar navigation detected; review whether it belongs in a Shared Slot.

Adım 3: İnceleme

İnceleme ekranı, önerilen her bloğu gösterir:

Sıra Kaynak Parça Önerilen Blok Güven Uyarı
1 Content Header 96%
2 Section 92%
3 Card 94%
4 Code 99%
5 Bilinmeyen widget HTML'i HTML geri dönüşü 41% Manuel inceleme gerekli

İnceleme ekranı şunları net biçimde ayırmalıdır:

  • yüksek güvenli yapılandırılmış bloklar
  • orta güvenli öneriler
  • yok sayılan parçalar
  • geri dönüş Safe HTML parçaları
  • güvensiz olduğu için ayıklanan içerik
  • medya uyarıları

Adım 4: Taslak Sayfa Oluştur

Araç, yalnızca açık onaydan sonra yeni bir taslak sayfa oluşturur.

İşlem transactional olmalı ve şunları oluşturmalıdır:

  • sayfa kaydı
  • sayfa çevirisi
  • gerekli sayfa slotları
  • blok ağacı
  • blok çevirileri
  • blok ayarları ve ilişkileri
  • mevcut revizyon servislerinin desteklediği yerlerde revizyon meta verileri

Araç sayfayı yayınlamamalıdır.

Dönüştürme Profilleri

Profiller, dönüştürücüyü siteye özel hale getirmeden farklı eşleme katılık düzeylerine olanak tanır.

Genel Pazarlama Sayfası

Açılış sayfaları ve ürün sayfaları için en uygunudur.

Öncelik verdikleri:

  • Hero
  • Section
  • Daha sonraki bir yapılandırılmış eşlemenin kaynağı güvenle temsil edebildiği yerlerde Columns ve Column Item
  • Card
  • Button Link
  • CTA
  • Image
  • Gallery
  • Quote

Genel Dokümantasyon Sayfası

Dokümantasyon ve uzun biçimli içerik için en uygunudur.

Öncelik verdikleri:

  • Content Header
  • Header
  • Rich Text
  • Code
  • Table
  • List
  • Callout
  • Accordion
  • TOC

WebBlocks UI Havalı HTML

Zaten WebBlocks UI sınıf adlarını kullanan sayfalar için en uygunudur.

Şunlar için sınıf farkındalıklı eşlemeye öncelik verir:

  • wb-section
  • wb-content-header
  • wb-promo
  • wb-card
  • wb-grid
  • wb-btn
  • wb-alert
  • wb-gallery
  • wb-rich-text
  • wb-link-list

Bu profil genel ve yeniden kullanılabilir kalmalıdır. ui.webblocksui.com gibi belirli bir alan adını varsaymamalıdır.

Temkinli

Kaynak HTML dağınık veya bilinmez olduğunda en uygunudur.

Öncelik verdikleri:

  • daha az tahmin
  • daha fazla zengin metin gruplaması
  • açık uyarılar
  • görünür geri dönüşler

HTML'den CMS Bloğuna Eşleme Kuralları

Genel Anlamsal Kurallar

HTML Deseni CMS Bloğu
h1-h6 header
düz paragraf plain_text veya rich-text
satır içi biçimlendirmeli birden çok paragraf rich-text
ul, ol, li bağlama göre list veya rich-text
pre > code code
table table
blockquote quote
figure > img medya içe aktarma mevcut değilse image yer tutucusu ile birlikte medya uyarısı
tekrarlanan kartlar veya tekrarlanan hücreler mevcut olduğu yerde açık card bölgeleri; columns + column_item daha sonraki bir yapılandırılmış eşleme olarak kalır
details > summary grupları mümkün olduğunda accordion
bilinmeyen ama güvenli editoryal işaretleme html geri dönüşü

WebBlocks UI Sınıf Farkındalıklı Kurallar

HTML Deseni CMS Bloğu
.wb-section section
.wb-content-header content_header
.wb-promo hero veya cta
.wb-card card
.wb-card-header card_header
.wb-card-body card_body
.wb-card-footer card_footer
.wb-grid, .wb-grid-2, .wb-grid-3, .wb-grid-4 doğrudan .wb-card alt öğeleri açık card planlarına dönüşür; genel sütunlar daha sonraya kalır
.wb-btn anchor/button kart alt bilgileri içindekiler dahil, güvenle temsil edildiğinde button_link
.wb-alert, .wb-callout callout
.wb-gallery gallery
.wb-rich-text rich-text
.wb-link-list bağlama göre gelecekteki toc veya yapılandırılmış liste
tekrarlanan .wb-stat kartları desteklendiği yerde istatistik tarzı öğeler içeren gelecekteki columns

Safe HTML Geri Dönüş Politikası

Safe HTML varsayılan dönüştürme çıktısı değil, son çare olmalıdır.

İzin Verilen Geri Dönüş Durumları

  • CMS'in bu parça için henüz birinci sınıf bir bloğu yoktur.
  • İşaretleme, mevcut sürümde güvenle eşlenemeyecek kadar karmaşıktır.
  • Dönüştürücünün güveni düşüktür.
  • Yönetici, inceleme sırasında geri dönüşü açıkça kabul eder.

Geri Dönüş Gereksinimleri

Her geri dönüş, inceleme ekranında şunlarla birlikte gösterilmelidir:

  • kaynak parça önizlemesi
  • neden
  • güven puanı
  • uyarı metni
  • sayfadaki yaklaşık konum

Geri Dönüş Karşıt Hedefi

Dönüştürücü, anlamlı yapılandırılmış blok eşlemeleri mevcutken tüm main içeriği için tek bir büyük Safe HTML bloğu oluşturmamalıdır.

Temizleme ve Güvenlik

Dönüştürücü, yapılandırılmış metin dönüştürmesini agresif biçimde temizlemelidir.

Ayıklanacak veya reddedilecekler:

  • <script>
  • onclick gibi olay öznitelikleri
  • javascript: URL'leri
  • iframe
  • object
  • embed
  • açıkça desteklenmeyen tehlikeli satır içi stiller
  • bilinmeyen çalıştırılabilir öznitelikler

SSRF risklerinden kaçınmak için uzak URL getirme MVP dışında bırakılmıştır. Daha sonra eklenirse şunları engellemelidir:

  • localhost
  • özel IP aralıkları
  • link-local adresler
  • metadata servisleri
  • dahili ana bilgisayar adları
  • engellenen adreslere yönlendirmeler

Medya Yönetimi

MVP tam medya içe aktarmayı denememelidir.

Görseller için:

  • görsel referanslarını tespit et
  • yalnızca mevcut CMS medya eşleştirmesi uygulanmışsa görsel yer tutucusu oluştur
  • aksi halde bir medya uyarısı raporla
  • manuel kullanım için alt/başlık önerilerini koru

Sonraki aşamalar şunları ekleyebilir:

  • bir HTML arşiviyle birlikte yerel görsel dosyalarını yükleme
  • mevcut medyayı dosya adı/karma (hash) ile eşleştirme
  • ZIP paketlerinden görsel içe aktarma
  • görsel bloklarını CMS medya kimlikleriyle yeniden yazma

Önerilen Teknik Mimari

Denetleyiciler ve İstekler

PageConverterController
PageConverterAnalyzeRequest
PageConverterCreateRequest

Denetleyiciler ince kalmalı ve ayrıştırmayı/dönüştürmeyi servislere devretmelidir.

Servisler

Services/PageConverter/PageHtmlNormalizer
Services/PageConverter/PageHtmlSegmenter
Services/PageConverter/PageConversionEngine
Services/PageConverter/PageConversionProfileRegistry
Services/PageConverter/BlockSuggestionMapper
Services/PageConverter/ConvertedPageDraftCreator
Services/PageConverter/HtmlSafetySanitizer

DTO'lar / Değer Nesneleri

ConvertedPagePlan
ConvertedSlotPlan
ConvertedBlockPlan
ConversionWarning
ConversionSourceFragment
ConversionProfile
ConversionConfidence

Çalışma Zamanı Akışı

HTML input
→ normalize
→ extract body/main
→ segment meaningful regions
→ map segments to block suggestions
→ calculate confidence and warnings
→ render review screen
→ create draft page in transaction

Veri Oluşturma Kuralları

Taslak sayfa oluşturulurken:

  • veritabanı transaction'ları kullan
  • yalnızca yeni bir sayfa oluştur
  • MVP'de asla mevcut sayfaların üzerine yazma
  • sayfayı draft olarak oluştur
  • seçilen dil (locale) için varsayılan çeviriyi oluştur
  • seçilen yerleşim için gerekli slotları oluştur
  • MVP'de yalnızca sayfaya ait blokları oluştur
  • ortak slotları otomatik olarak oluşturma
  • otomatik olarak yayınlama
  • mevcut servisler desteklediğinde revizyon meta verilerini kaydet

Yetkilendirme Kuralları

MVP, mevcut sayfa oluşturma ve site erişim kurallarını izlemelidir.

Önerilen erişim:

  • super_admin: tüm siteler
  • site_admin: atanmış siteler
  • editor: erteleyin veya yalnızca normal sayfa oluşturma izin veriyorsa izin verin

Tüm site seçiciler, kimliği doğrulanmış kullanıcının erişebildiği sitelerle kapsamlandırılmalıdır.

Yol ve Çakışma Kuralları

Dönüştürücü şunları doğrulamalıdır:

  • seçilen site mevcut ve erişilebilir
  • seçilen dil (locale) mevcut ve site için etkin
  • seçilen yerleşim mevcut ve aktif
  • başlık mevcut
  • yol/slug geçerli
  • yol, aynı site ve dil (locale) için mevcut bir sayfa çevirisiyle çakışmıyor

MVP, mevcut bir sayfayı değiştirmemeli, onunla birleştirmemeli veya güncellememelidir.

Yönetim Arayüzü Standartları

Mevcut WebBlocks CMS yönetim paneli kalıplarını kullanın:

  • kart tabanlı formlar
  • kompakt inceleme tabloları
  • net uyarılar
  • yalnızca yararlı olduğunda modal
  • yıkıcı eylemler için tarayıcı confirm'i yok
  • gerekli olmadıkça özel CSS/JS yok
  • yalnızca WebBlocks UI sınıfları

İnceleme ekranı şu soruların kolayca yanıtlanmasını sağlamalıdır:

  • Ne oluşturulacak?
  • Hangi kısımlar yapılandırılmış bloklar?
  • Hangi kısımlar geri dönüş HTML'i?
  • Hangi kısımlar yok sayıldı?
  • Ne manuel inceleme gerektiriyor?

Test Planı

Odaklı özellik testleri şunları kapsamalıdır:

  • yetkili kullanıcılar Sayfa Dönüştürücü'yü açabilir
  • yetkisiz kullanıcılar erişimleri olmayan sitelere erişemez
  • yapıştırılan HTML analiz edilebilir
  • yüklenen .html dosyası analiz edilebilir
  • desteklenmeyen dosya türleri reddedilir
  • script'ler ve güvensiz öznitelikler yapılandırılmış dönüştürmeden ayıklanır
  • h1/h2 başlık bloğu önerisine eşlenir
  • paragraflar rich-text/plain_text önerilerine eşlenir
  • pre > code kod önerisine eşlenir
  • table tablo önerisine eşlenir
  • .wb-card kart önerisine eşlenir
  • .wb-grid kart öğeleri açık kart bölgesi önerilerine eşlenir
  • bilinmeyen parçalar sessizce atılmak yerine geri dönüş olarak raporlanır
  • hedef yol çakışması taslak oluşturmayı engeller
  • taslak sayfa yalnızca açık gönderimden sonra oluşturulur
  • oluşturulan sayfa yayınlanmaz
  • hiçbir mevcut sayfanın üzerine yazılmaz

Dokümantasyon Güncellemeleri

Ekleyin veya güncelleyin:

  • docs/page-converter.md
  • docs/index.md
  • README.md
  • CHANGELOG.md

Dokümantasyon şunları içermelidir:

  • özelliğin amacı
  • kaynak girdi modları
  • dönüştürme profilleri
  • Safe HTML geri dönüş politikası
  • güvenlik istisnaları
  • MVP sınırlamaları
  • gelecek yol haritası

Changelog İfade Taslağı

## Unreleased

- Add a reusable admin Page Converter foundation for turning pasted or uploaded static HTML into draft CMS pages made from structured blocks, with an analysis/review step, Safe HTML fallback reporting, and draft-only creation.

Uygulama Aşamaları

Aşama 0: Yalnızca Dokümantasyon

Bu yol haritasını oluşturun ve Sayfa Dönüştürücü planlaması için standart bir CMS dokümantasyon sayfası ekleyin.

Çalışma zamanı değişikliği yok.

Aşama 1: Salt Okunur Analizci

Yalnızca yönetim ekranını ve analiz akışını ekleyin.

  • Yapıştırılan HTML'i kabul et.
  • Dönüştürme planı üret.
  • İnceleme ekranını göster.
  • Henüz sayfa oluşturma.

Aşama 2: Taslak Oluşturucu

Açık oluşturma eylemini ekleyin.

  • Taslak sayfa oluştur.
  • Ana slot bloklarını oluştur.
  • Yol çakışmalarını doğrula.
  • Uyarıları arayüzde koru.

Aşama 3: HTML Dosyası Yükleme

.html / .htm yükleme desteğini ekleyin.

Aşama 4: Daha İyi Yapılandırılmış Eşlemeler

Şunlar için eşlemeleri iyileştirin:

  • daha derin kart bölgesi alt öğeleri
  • sütunlar
  • mevcut düz metin faq alt sözleşmesinin ötesinde daha zengin akordeon öğesi görüntüleme
  • tablolar
  • listeler
  • callout'lar
  • hero/cta yönetilen düğme alt öğeleri

Aşama 5: Medya Farkındalıklı Dönüştürme

Yerel görsel paketleri veya mevcut medyayla eşleştirme için isteğe bağlı destek ekleyin.

Aşama 6: Toplu Dönüştürme

Çok sayfalı iş akışları ekleyin:

  • ZIP yükleme
  • sayfa envanteri
  • sayfa başına inceleme
  • toplu taslak oluşturma

Aşama 7: İsteğe Bağlı URL Getirme

Yalnızca katı SSRF ve ağ güvenliği kuralları uygulandıktan sonra.

MVP Kabul Kriterleri

MVP şu koşullarda başarılıdır:

  • Yönetici tek bir statik HTML sayfasını yapıştırabilir veya yükleyebilir.
  • CMS incelenebilir bir dönüştürme planı gösterir.
  • Yaygın HTML yapıları yapılandırılmış CMS bloklarına dönüşür.
  • Safe HTML geri dönüşü görünür ve sınırlıdır.
  • Yönetici yeni bir taslak sayfa oluşturabilir.
  • Oluşturulan sayfa normal Page Builder'da düzenlenebilir.
  • Hiçbir sayfa otomatik olarak yayınlanmaz.
  • Hiçbir mevcut sayfanın üzerine yazılmaz.
  • Testler temel dönüştürme ve güvenlik davranışını kapsar.

WebBlocks UI Statik Site Taşıması İçin Notlar

WebBlocks UI statik site taşıması, bu genel Sayfa Dönüştürücü'nün ilk gerçek dünya kullanımı olmalıdır.

Önerilen pilot sayfa:

pattern-admin-standards.html

Neden bu sayfa:

  • birçok WebBlocks UI deseni içeriyor
  • dokümantasyon yerleşimi davranışını test ediyor
  • içerik kabuğu, kartlar, tablolar, durum yönergeleri ve kod benzeri örnekler içeriyor
  • WebBlocks UI sınıf farkındalıklı eşlemeyi doğrulamaya yardımcı oluyor

Taşıma, WebBlocks UI'ye özgü davranışı doğrudan CMS çekirdeğine eklememelidir. Ek eşleme zekâsı gerekiyorsa bunu WebBlocks UI-flavored HTML gibi yeniden kullanılabilir bir profil olarak, ya da daha sonra isteğe bağlı bir operatör/eklenti profili olarak ekleyin.