Kadim Gültekin
5 min readMay 18, 2024

Gutenberg Blok Editörü’nü Sevmek ya da Sevmemek: İşte Bütün Mesele Bu!

Geçtiğimiz günlerde Ali Çınaroğlu’nun hazırladığı WordPress Bülteni’nin 5. sayısı vesilesi ile Blok Editörü üzerine yeniden düşünme fırsatım oldu.

Çınaroğlu bültende Gutenberg’in kullanım zorluğundan bahsederek, şaka yollu ‘Gutenberg Çöptür’ ifadesini kullanmıştı. Linkedin’da yaptığı paylaşımın altındaki yorumlarda Gutenberg’i sevenler ve sevmeyenler olarak ayrıştığımızı gördüm ve üzücü ki, sevmeyenler sayıca fazlaydı.

Peki bunun sebebi neydi? Neden insanlar Blok Editörü ve onunla birlikte hayatımıza giren tam site düzenleme gibi harika bir şeyden yeterince hoşlanmıyorlar?

Aslında bunu hem kullanıcıların penceresinden hem de geliştricilerin bakış açısından ayrı ayrı değerlendirmek lazım. Her iki grup için de, gösterilen bu direncin en temel sebebi alışkanlık. Yıllardır süregelen WordPress kullanma deneyiminin bir anda ve hızlı (aslında hız konusu tartışmalı) bir şekilde değişim göstermesi, insanların bu değişime ayak diremesine sebep oldu.

Kendi açımdan baktığım zaman, evet ben de bundan 2 yıl kadar önce aynı şeyleri düşünüyordum. Yeni bir WordPress kurduğumda, eklenti sayfasındaki arama çubuğuna yazdığım ilk şey “Classic Editor” idi. Gutenberg bana karmaşık ve gereksiz geliyordu. O zamanlar Gutenberg bir sayfa yapıcı olarak değil, daha zengin içerik üretebilmek amacıyla kullanılıyordu ve genelde buna ihtiyacım olmuyordu. Klasik editör daha sade ve kolaydı, özel alanlar oluşturduğumuzda her şey yerli yerinde gibi geliyordu bana. Aslına bakılırsa Elementor vb. araçlardan da hiç hazzetmiyordum.

Yukarıda yazdığım bu deneyim aslında hem kullanıcı hem de geliştirici Kadim’in yaşadıklarını ifade ediyor. Kullanıcı olarak ihtiyaç duymadığım bir sürü özelliği olan bu editör benim için gereksizdi. Geliştirici olarak da Gutenberg’in benim ne işime yarayacağını tam olarak kestiremiyordum, alıştığım, bildiğim yoldan ilerlemek daha kolaydı.

Bu süreç 2022 yılına kadar bu şekilde devam etti ve o zamanlar birçok kişiyle aynı duygulara sahip biri olarak mutlu mesut hayatıma devam ediyordum. Sonra Full Site Editing (Tam Site Düzenleme) denilen şey hayatımıza girdi. FSE’nin devreye alınması 2021 Kasım ayına tekabül ediyor yanlış hatırlamıyorsam. TT3 temasını incelediğimde çok ilginç gelmişti bana ama bu ilgim kısa sürede sönümlenmişti. Eski köye yeni adet düşüncesi hakimdi hâlâ bana. Dolayısıyla 2022'nin ilk aylarına kadar Klasik Editör eklentisini kurmaya, klasik tema kodlamaya devam ettim.

Sonra bir gün kendi kendime şunu söyledim: “Belli ki WordPress dünyasında bir değişim var ve buna ayak uydurmak yerine kaçmayı tercih ediyorsun. Konfor alanından çıkmadan bu serüvene devam edebilirsin elbette ama ya birkaç sene sonra pişman olursan? Ya bu tren de kaçarsa?”

Bir anda konfor alanımı terk edip blok editörünün karmaşık, zorlu, anlaması güç, zaman zaman saç baş yolduran dünyasına dalıverdim. Kendime bir blok tema ve bir de blok eklentisi geliştirme hedefi koydum. Yaklaşık bir-iki aylık bir çalışmanın sonunda ikisi de hazırdı ve elbette çok gelişmiş, mükemmel ürünler değillerdi. Ama onlar sayesinde sadece Gutenberg evrenine girmekle kalmadım, aynı zamanda wordpress.org’ta eklentim ve temalarım olmaya başladı. O güne kadar sadece kendi ihtiyaçlarım için WordPress geliştirmiştim. Madalyonun bu yüzünü ilk defa görüyordum ve bu tarafta işleyiş çok daha farklıydı. Meğer o güne kadar birçok standardı gözardı ederek, kimi zaman spagetti kodlar yazarak, çoğu zaman anı kurtararak işimi görmüşüm.

Üstelik bu FSE harika bir şeymiş. O güne kadar amele gibi her şeyi kodlayarak yapıyorduk ama şimdi çok az kod yazarak, doğrudan editör üzerinde tasarlayarak ve onun verdiği kod çıktısını kullanarak kısa sürede bir WordPress teması yapmak mümkündü. Küçük işler ve karmaşık olmayan web siteleri için mükemmel bir çözümdü bu.

Ama bir sorun vardı: Daha karmaşık olan, özel yazı tipleri, özel alanlar, özel taksonomiler vs. oluşturmak zorunda kaldığımız, uçan kaçan işleri bununla nasıl yapacaktık?

İşte kilit nokta buradaydı. Klasik tema yazarken PHP’ye tabiri caizse abanarak ne istiyorsak yapıyorduk. Ama şimdi bir sürü HTML uzantılı şablonlar, şablon parçaları falan vardı. Bunlarla kafamızdaki o kompleks işleri yapmak pek de mümkün değil gibi görünüyordu. Aslında mümkündü ama bunu doğrudan tema ile değil, o temayı destekleyecek bir blok eklentisi ile yapabilirdik. Ben bir adet blok eklentisi geliştirmiş olsam da, hayatımda ilk defa React kullanmıştım ama işin mantığını çok fazla anlayamamıştım. Npm kurulumu, komutları gibi şeyleri ezbere yapıyordum. Ve bu ekosistem için oluşturulmuş bir sürü WordPress Npm paketi vardı. Çoğunun ne işe yaradığını bile bilmiyordum.

Evet bir geliştirici olarak kayaya tosladığım andı ve her şeyi bırakıp daha önceden nasıl yapıyorsam öyle yapmaya devam edebilirdim. Çok zordu. Ah işte diğer anahtar sözcük: Zor!

Benim gibi WordPress geliştirenler için Gutenberg’ten nefret ettiren en önemli etkenlerden biri de bu zorluk. Yıllardır bodoslama PHP yazan bunca insan modern Javascript’in uçsuz bucaksız dünyasına nasıl girebilirdi ki? React’ı anlaması zordu, Jquery’e göre çok çok farklı bir kullanıma sahipti. Neyse ki ben daha önce Vue ile biraz haşır neşir olmuştum, oradan az buçuk deneyimim vardı. Ama yine de aynı şey değildi. (Bu arada Gutenberg keşke React yerine Vue ile geliştirilseydi, o zaman tadından yenmezdi.)

Geliştiricilerin önünde böyle bir engel olunca ve birçoğu arkasına bakmadan uzaklaşınca, son kullanıcı için de güzel seçenekler üretilemiyor, dolayısı ile onlara Gutenberg’i sevdirecek çözümler ortaya çıkmıyordu. Tabii bunu 2 yıl öncesi için söylüyorunm, şimdi böyle değil. Oldukça güzel ürünler çıkıyor ortaya.

Aradan aylar geçti. Basit işlerde FSE hâlâ çok işime yarıyordu ve onu çok sevmiştim. Klasik tema artık yazmıyordum. 2022 yılının sonlarına doğru biraz orta-ileri seviye bir iş yapmam gerekti. O zaman bir kez daha konfor alanımdan çıkmak zorunda kaldım.

Hazırladığım temaya ACF ile birçok özel alan eklemiştim. Bunları tema içinde kullanmak için bir de eklenti geliştirmek zorundaydım. İlk geliştirdiğim slider eklentisi gibi olamazdı, bu özel alanları tema içinde kullanmamı ve aynı zamanda mantıksal işlemleri yapmamı sağlamalıydı. Biraz okuma-izleme yaptım, orayı burayı kurcaladım, sonra işin bir hilesi olduğunu keşfettim. Blokların arkayüzünde sadece bir yer tutucu oluşturup (“Bu Blok Ürün Fiyatını Gösterir” gibi) önyüzdeki kalan tüm aksiyonları PHP ile alabiliyordum. PHP yazdıktan sonra zaten sıkıntı yoktu. İstediğim her şeyi yapabilirdim.

Bu yer tutucu blokları da tema içinde istediğim yere yerleştirebilirdim. Hatta temanın kullanıcısı da onun yerini dilediği gibi değiştirebilir, onu bir sütun ya da grup içine yerleştirebilir, çerçeve, arkaplan rengi vs. ekleyebilirdi. Hem FSE’nin esnekliğinden faydalanıyordum, hem de diğer karışık işleri eskiden bildiğim gibi halledebiliyordum.

Bu bana şunu gösterdi: React gözümü korkuttuğu için kaçabilirdim ama WordPress’i geliştiren insanlar bunu zaten düşünmüşlerdi ve herkesin React’a kolayca adapte olamayacaklarını biliyorlardı. Bu yüzden PHP’yi olabildiğince işin içinde tutmaya gayret etmişleri. Yakın zamanlarda çıkan Interactivity API da aslında bunun bir göstergesi. Javascript ile yapılacak dinamik işleri JS-PHP karmasıyla yapabilmemiz için bir uygulama geliştirme arayüzü hazırlanmıştı ve bu noktada insanların PHP’yi daha çok kullanma arzusu baz alınmıştı.

Sonrasında Gutenberg’i (aslında artık Blok Editörü ve Site Editörü isimleri ile anılıyor ama kavram karmaşasına gerek yok) çok sevdim. Yukarıda bahsettiğim PHP hilesi ile güzel şeyler yapmayı başardım. Fakat bu yola girmiştim ve artık geri dönüşü yoktu. React ve WordPress scriptlerini de öğrenmem gerekiyordu. Ve kabul ediyorum, işin bu kısmı zordu. Ben şu anda bir React uzmanı olmadım ve hâlâ yeni şeyler öğrenmeye devam ediyorum. Bunun için çok fazla emek ve zaman harcamam gerekiyor. Sıradaki hedefim daha az PHP daha çok JS ile tema ve eklenti geliştirmek. Bunu karma olarak yapabiliyorum ama amacım Javascript’i ön planda tutmak.

Sonuç olarak, alışkanlık ve zorluk sizler gibi beni de bu yoldan alıkoyabilirdi. Ve ben de şu anda Gutenberg’e kızıyor, sövüyor, Klasik Editör eklentisini kurmaya devam ediyor olabilirdim. Ama ısrarla bu işin peşinden koştum ve bu tarafta yapılabilecekler sonsuz. WordPress sadece blog oluşturma aracı değildi, onunla muazzam işler yapabiliyorduk. Artık daha da harika şeyler yapma şansımız var ve modern Javascript ile neredeyse sınırımız yok.

Sizden ricam kızmadan önce bütün zorluğu göz önüne alın ve bu dünyaya adım atın. Konfor alanından çıkmak kolay değil biliyorum. Ben de bu yüzden WordPress ve PHP’yi çok sevmeme rağmen, .NET geliştirici olarak para kazanıyor ve maaşlı bir işte çalışıyorum. Konfor alanımdan çıkmak, sadece WordPress ile geçimimi sağlamak hayalim.

Bunu bir kez yaptım, bir daha neden olmasın ki?