Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Filament Üzerinde Bir CMS Oluşturmaya Çalıştım — Bunun Yerine Ne Yapardım
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Filament Üzerinde Bir CMS Oluşturmaya Çalıştım — Bunun Yerine Ne Yapardım

Yazılım

Filament Üzerinde Bir CMS Oluşturmaya Çalıştım — Bunun Yerine Ne Yapardım

teknomers
Son güncelleme: 27 Mayıs 2026 00:09
teknomers
Paylaş
Paylaş

Geçen yıl iki ay boyunca FilamentPHP üzerinde bir içerik yönetim sistemi oluşturmaya çalıştım. Nedenlerim vardı. Filament, Laravel ekosisteminde en iyi işlenmiş yapıydı. Saygı duyduğum her Laravel geliştiricisi bunu kullanıyordu. Müşteri çalışmaları için iki yönetim paneli göndermiştim ve bunlar hızlı bir şekilde ortaya çıkmıştı.

Üçüncü proje farklıydı — bir blog, sayfalar, menü, yönlendirmeler, SEO meta bilgileri, programlanmış gönderiler ve gerçek bir halkla ilişkiler teması içeren bir pazarlama sitesi. Aynı yığın, aynı DSL, aynı hız dedim. Yanıldım, bunu öğrenmem beklediğimden daha uzun sürdü.

Öğrendiğim şey bu, farklı ne yapardım ve neden sonunda başka bir şey inşa ettim.

Kısa Özeti: Filament, admin panellerini kendi veri modelinize göre oluşturmak için harika bir yapı. Bir CMS değil ve onu CMS olarak kullanmaya çalışmak, sessizce pahalı bir yol. Veri modeliniz tasarlamak sizin elinizdeyse Filament’i seçin. “Gönderi, sayfa, medya, menü, SEO, yönlendirme” gibi bir veri modeliniz varsa — bu sorun 20 yıldır çözüldü ve onu yeniden inşa etmeye değmez.



Filament Üzerinde Yaptığım Şey

Projem bir küçük SaaS için bir pazarlama sitesi oldu — ana sayfa, ~6 pazarlama sayfası, bir blog, bir belgeler bölümü, kategori filtrenmiş vaka çalışmaları dizini. Standart küçük işletme CMS çalışması.

İlk Filament iskeletim aşağıdaki gibiydi:

  • PostResource — başlık, slug, içerik (Tiptap alanı), öne çıkan görsel (Filament medya eklentisi), durum enum, programlanmış zaman, SEO başlığı, meta açıklaması, kategori ilişki yöneticisi
  • PageResource — neredeyse benzer, artı bir düzen enum ve bölüm blokları
  • CategoryResource — başlık, slug, parent, sıralama düzeni
  • MenuResource — isim + menü öğeleri için bir tekrarlayıcı
  • MediaResource — ekip yüklemeleri göz atabilsin diye Spatie Medya Kütüphanesi ile sarmaladı
  • RedirectResource — URL’den URL’ye, durum kodu, is_active

Bunları iki günde yazdım. Filament’in form DSL’si gerçekten iyi — TextInput::make(), Select::make(), koşullu alanlar, ilişki yöneticileri. İki günde kaynak tanımları yaptım ve CMS adminini görsel olarak elde ettim.

Sonra geriye kalan her şeyi inşa etmek için sonraki sekiz haftayı harcadım.



Filament’in Sunmadığı Şeyler

CMS için Filament önerildiğinde kimsenin sana anlatmadığı kısım burası. Kaynakları bir hafta sonunda iskeletini oluşturuyorsun ve sonra Filament’in şu konuları dikkate almadığını anlıyorsun:

  1. Halkla ilişkiler sitesi. Filament yalnızca admin’e yöneliktir. İçeriğin yayımlandığı gerçek website mevcut değildir. Blade veya Inertia’yı kullanarak sıfırdan inşa etmen gerekiyor.
  2. Tema sistemi. Tema sistemi yok, şablon değiştirici yok, geliştirici olmayan kullanıcıların görünümü değiştirmesi için bir yer yok. Pazarlama yeni bir ana sayfa düzeni istediklerinde, Blade dosyalarını düzenleyip dağıtım yapman gerekiyor.
  3. Bölümler / sayfa oluşturucu. Blok tabanlı bir bölüm sistemi yok. Pazarlama ekibi “istatistikler” bölümünü “tavsiyeler” bölümünün üzerine istediklerinde bu bir geliştirici görevidir. Filament’in tekrarlayıcı alanını bir bölüm oluşturucu olarak bağlamayı denedim — kısmen çalıştı, bir haftamı aldı ve düzenleme kullanıcı deneyimi, gerçek bir CMS’den daha kötüydü.
  4. Medya kütüphanesi dışında kaynak. Filament’in medyası alan başına. Formdan göz atabilirsin. Editörlerin “üç ay önce kullandığımız o fotoğrafı” bulabileceği global bir medya kütüphanesi yok. Curator eklentisi seni kısmen oraya götürüyor — 49 $ ve hala WordPress’in medya kütüphanesinin barını karşılamıyor, bu 15 yıl önce belirlenmişti.
  5. Slug geçmişi. Gönderi slug’ını yeniden adlandırdığında, eski URL 404 hatası veriyor. Filament slug geçmişini izlemiyor. Bunu bir model + middleware ile kendin inşa etmen gerekiyor. Ben yaptım. Yarım günde hallettim ama iki gün boyunca uç durumları ayarlamam gerekti.
  6. Gerçek SEO kayıtları. seo_title, meta_desc, og_image_url sütunlarını her kaynağa ekledim. Ardından sitemap.xml’ye ihtiyaç duydum. Sonra robots.txt’e. Sonra JSON-LD şeması gönderileri ve sayfalar için. Ardından her sayfa için Open Graph geri dönüşüne. Bunların her biri, her CMS’nin zaten sunduğu kendi kod öğeleridir.
  7. Yönlendirmelerle birlikte hit takibi. Bunu kendim inşa ettim. Bir model, bir admin kaynağı, is_active’i dikkate alan bir middleware. CSV aktarımını da yaptım.
  8. Bir sitemap üretici. Her kaynak türünü gezerek, yayımlanan satırları sorgulayıp, XML çıktısı üreten bir servis, mantıklı bir şekilde önbelleğe alır. İki gün.
  9. Bir yorum sistemi. Blog için buna ihtiyacım vardı. beyondcode/laravel-comments (iyi bir paket) inceledim, bağlantısını kurdum, bir moderasyon kuyruğu inşa ettim, Livewire ile “yanıtla” arayüzü oluşturdum. Bir hafta daha.

Listeyi burada durduruyorum. Aynı zamanda altı haftada CMS’nin yarısını yeniden icat ettiğimi anladım ve elimdeki yarı, gerçek bir CMS’nin bana sunabileceği yarıdan daha iyi değildi.



Zamanı Gizlice Yakan DX Modeli

Filament’in admin içindeki geliştirici deneyimi gerçekten harika. DSL sıkı, belgeler net, bileşenler iyi işlenmiş. Admin içinde. Admin dışındaki DX — halkla ilişkiler sitesi, editörlerin iş akışı, dağıtım hikayesi — tamamen senin inşa ettiğin şey.

Burada bir tuzak var. Her “ben bunu Filament’te yaparım” kararı küçük görünüyor:

  • “Hz sadece halkla ilişkiler için bir Blade şablonu bağlayacağım.” — 2 saat
  • “Hz sadece bir sitemap.xml yönü ekleyeceğim.” — 3 saat, önbellek katmanı dahil
  • “Hz sadece Filament’in tekrarlayıcısı ile minik bir bölüm sistemi kuracağım.” — 2 gün
  • “Hz sadece bir slug-histori middleware yazacağım.” — yarım gün
  • “Hz sadece bir yorum tablosu ve moderasyon UI ekleyeceğim.” — 4 gün
  • “Hz sadece kaynak dışındaki bir medya kütüphanesi sayfası inşa edeceğim.” — 3 gün
  • “Hz sadece yeniden sıralabilir bölümlere sahip bir ana sayfa editörü ekleyeceğim.” — bir buçuk hafta

Hepsini topladığında. Gerçekte sahip olmamız gereken pazarlama sitesinin üstüne sekiz haftalık CMS yeniden inşa çalışması oldu. Bu işlerin hiçbiri kötü değildi — başka birinin zaten yaptığı işti, paketlenmiş ve gönderilmişti.

Zor yoldan öğrenmem gereken model: “Post”, “Page”, “Category”, “Media”, “Menu”, “Redirect” ve “SeoMeta” için admin kaynakları inşa etmeye başladığında, uygulaman için admin değil, CMS inşa ediyorsun. Ve zaten CMS’ler var.

Filament, bu CMS için form kütüphanesini sağlıyor. CMS’yi değil.



Farklı Ne Yapardım

Bugün aynı projeye başlasaydım, önce farklı bir soru sorardım.

Sorduğum soru: “En iyi Laravel admin çerçevesi nedir?” Bu sorunun cevabı her zaman Filamenttir. Bu, doğru bir cevap.

Sormam gereken soru: “Bir CMS veri modelim var mı, yoksa özel bir veri modelim mi?”

Eğer veri modeli Order, Shipment, Invoice, Customer, SupportTicket, Subscription, LabSample ise — bu özel bir veri modelidir. Filament doğru araçtır. Filament’teki esneklik (admin’i tanımlamak, Filament’in render etmesi) tam da ihtiyacınız olan şeydir çünkü kimse sizin veri modeliniz için sizin yönetinizi gönderemedi.

Eğer veri modeli Post, Page, Category, Media, Menu, Redirect, SeoMeta ise — bu bir CMS veri modelidir. Bu çözülmüş. Doğru araç bir CMS’dir ve ne için ödediğiniz, admin’i tasarlama özgürlüğü değil — admin’i atlama özgürlüğü. CMS bu kısımda, 2003’ten beri her CMS’nin yaptığı gibi çalışıyor ve bu da iyi, çünkü kullanıcılar zaten bunun nasıl çalıştığını biliyor.

Bu ayırımı öğrenmek için iki ay harcadım. Bunu yazıyorum ki siz bunun için zaman harcamayın.



Filament’in Gerçekten En İyi Olduğu Şeyler

Burada dikkatli olmalıyım çünkü “Filament harika ama X için değil” demek alaycı gibi geliyor ve Laravel topluluğunda buna yeterince maruz kalıyoruz. Filament’in gerçekte, inşa etmek istemediğim şeyler için en iyisi.

Özel iç yönetimler. Rotaları, sürücüleri, araçları, teslimatları yöneten bir lojistik şirketi için bir arka ofis aracı. Bir pazaryeri için bir moderasyon kuyruğu. Bir SaaS destek ekibi için bir operasyon panosu. Bunlar özel veri modelleridir. Filament kazanır.

SaaS ürün panoları. Kullanıcının kendi kaynaklarını (projeler, API anahtarları, faturalama ayarları) yönettiği bir ürün içerisinde müşteri yüzlü panolar. Filament’in v3+ sürümündeki çoklu panel desteği bunu temiz hale getiriyor.

Form-ağır uygulamalar. Eğer uygulamanız temelde formlar içeriyorsa — anket oluşturucular, başvuru işleme, laboratuvar veri girişi — Filament’in form DSL’si Laravel ekosistemindeki en iyi düzeydedir. Başka bir şey buna yaklaşamaz.

Yapılandırma kodu biçimini tercih eden takımlar. Bazı takımlar, admin’in şeklini PHP dosyalarında yaşamak istiyorlar, PR’lerde gözden geçirilebilir, her başka kod değişikliği gibi dağıtılabilir. Filament, bu iş akışına mükemmel uyuyor. Editörlerin, üretim yoluyla bir admin UI üzerinden ana sayfa düzenini değiştirdikleri bir CMS bu iş akışının tam tersidir. Her ikisi de geçerlidir; farklı takımlara uyar.

Bir moderasyon aracı, bir iç yönetim, bir SaaS paneli, özel bir veri modeli gönderen birisini gördüğümde, onlara Filament’i öneriyorum. Ve bunu kastediyorum.



Bunun Yerine Ürettiğim Şey

Bunu kısa tutacağım çünkü bu yazı benimle ilgili değil. Filament’i CMS olarak kullanma deneyiminden sonra, UnfoldCMS inşa ettim — Laravel 12 + React 19 + shadcn/ui CMS. İçerik modeli sabit: Post dört content_type değeri (gönderi, sayfa, açılış, blok) ile, Spatie üzerinden medya, kategoriler, yorumlar, menüler, yönlendirmeler, SEO meta, temalı bir halka açık site, halka açık REST API. Tek seferlik lisans, kategoriye göre 39 $ ile 799 $ arasında değişiyor.

Onu Filament’in kötü olduğu için inşa etmedim. Filament kötü değil. Onu, pazarlama siteleri için gereken şekil — sabit içerik modeli, temalı ön yüz dahil, geliştirici dışı editör iş akışı — için yanlış bir yapı olduğu için inşa ettim. Bu yüzden Filament’i bu şekle sokmak yerine, o şekil için farklı bir araç inşa ettim.

Eğer bunlar arasında seçiyorsanız, UnfoldCMS ve Filament karşılaştırması, hangi aracın hangi işe uyduğunu daha ayrıntılı olarak ortaya koyar.



Dürüst Karar Ağacı

Eğer şu anda bir Laravel geliştiricisiyseniz, bir sonraki yönetim veya CMS projeniz için ne kullanacağınıza karar vermek için soru şu:

Veri modelini mi tasarlıyorsunuz?

  • Hayır → Filament. Alanınız benzersiz, admin buna göre şekillendirilmelidir ve Filament’in DSL’si bu çalışma için ekosistemdeki en iyi şeydir.
  • Evet, bu bir CMS veri modeli → CMS. UnfoldCMS, Statamic, Kirby ya da takımınız WordPress şeklindeyse WordPress. Zaten gönderilmiş olanı yeniden inşa etmeyin.

Projenizin dışarıda, tema ile donatılmış bir ön yüz çıkışına ihtiyacı var mı?

  • Evet → CMS. Filament’in böyle bir kavramı yok.
  • Hayır, ön yüz ayrı bir Next.js / Astro / SvelteKit uygulaması ve bir API tüketiyor → her iki araç da çalışabilir, ama Filament hala içerik modelini sunmuyor.

Günlük olarak editörler siteyi düzenliyor mu?

  • Evet → CMS. Editörlerin yaptığı türdeki değişiklikler (bölümleri yeniden düzenlemek, menüleri değiştirmek, yönlendirmeleri eklemek, SEO’yu düzenlemek) Filament’te yok, ancak bunu kendin inşa etmeniz gerekiyor.
  • Hayır, sadece geliştiriciler admin’i kullanıyor → Filament bu durumda bile iyi.

Bütün sistem bu. Üç soru. Cevaplar “CMS, CMS, CMS” çıkarsa CMS’e yönelin. Eğer “Filament, ya da, Filament” çıkarsa Filament’e yönelin. Cevaplar karışık çıkıyor ise asıl soru, ekibinizin gerçekten neyi göndermesi gerektiğidir, hangi çerçevenin bu hafta daha havalı olduğu değil.



Geçmişteki Kendime Ne Söylerdim

İki ay önceki halim, dinliyor:

  1. Filament bir CMS değil. Bunu PostResource oluşturduğunda CMS gibi görünmesi, bir göz aldanmasıdır. On dakika boyunca bu ipuçlarını takip edersen, sitemap.xml, robots.txt, JSON-LD şeması, tema sistemi, halka açık ön yüz, slug geçmişi, yorumlar — hiçbiri Filament’te mevcut değildir çünkü bu Filament’in görevi değil.
  2. “Filament’te inşa etmek” üretken hissettiriyor çünkü her bireysel parça küçük. Maliyet, bu küçük parçaların bütünüdür ve bunu birinci haftadan göremezsin.
  3. Yada neyin geldiğine bir göz at. WordPress, Statamic, Kirby, Ghost, UnfoldCMS, October CMS, Strapi (Node’a açıksanız) — ilk kaynakları oluşturmadan önce bir saat harcayın. O bir saat, sekiz haftanızı kurtarır.
  4. “Laravel CMS” sorusu, aslında Laravel ile ilgili değil. Bir CMS yazmayı mı yoksa CMS kullanmayı mı istediğin ile ilgilidir. İkisi de iyidir. Ama yanlışlıkla birini yapmayın.

İşte bu. Yazının özeti. Eğer Filament ve bir CMS arasında seçim yapıyorsanız ve veri modeli “gönderi + sayfa + medya + menü + SEO” ise — bu bir CMS biçiminde bir projedir. Çalışmalara uygun aracı seçin.


Açıklama: UnfoldCMS üzerinde çalışıyorum. Bu yazı ayrıca UnfoldCMS blogunda (kanonik üzerinde) yayımlandı. Filament gözlemlerim, kendi pre-UnfoldCMS çalışmalarımın yorumlarıdır, bu bir satıcı karşılaştırma yazısı değil — Filament, onu uygun olduğu işler için hala tavsiye ettiğim bir araçtır. Özelleştirilmiş bir admin gönderiyorsanız, Filament’i kullanın. Bir CMS gönderiyorsanız, CMS kullanın.

Kaynak: Orijinal Makale

Contents
  • Filament Üzerinde Yaptığım Şey
  • Filament’in Sunmadığı Şeyler
  • Zamanı Gizlice Yakan DX Modeli
  • Farklı Ne Yapardım
  • Filament’in Gerçekten En İyi Olduğu Şeyler
  • Bunun Yerine Ürettiğim Şey
  • Dürüst Karar Ağacı
  • Geçmişteki Kendime Ne Söylerdim
Bagisto’da Kritik Güvenlik Sorunu: Sessiz Yönetici Hesabı Değiştirme ve Silme – Bagisto Arka Kapı
Laravel Testlerinizi İşlevsiz Hale Getiren Hatalar
Herkese Açık Bir SaaS Motoru Geliştirmek: Sabit Kodlanmış Bir Plan Olmayan Bir Ortaklık Programı
Laravel ile Çoklu Kiracı SaaS: Harici Paket Kullanımı Olmadan Otomatik Veri İzolasyonu İçin Global Scope’lar
Kullanım Senaryolarında Yetkilendirme, Kontrolörlerde Değil
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Spotify sesli dergi makalelerini dinleme imkanı sunuyor
Sonraki Makale Yeni 007 Macerası İçin Heyecan Veren İpuçları Verildi

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Google Gemini Entegrasyonu için Laravel: Basit, Temiz ve Hafif
Yazılım
Küresel Devlerin Güvenliğini Tehdit Eden Fortinet Saldırısı
Genel
Snap’ın pahalı AR gözlükleri sonrası hisse senetleri düştü
Yapay Zeka
Intel’in Fabrika Planı: Arizona, Ohio, İrlanda ve 14A Süreç Tarihleri
Donanım
Araba Flipper için Hazır Kodlar (Haziran 2026)
Oyun
VSCO Yeni Studio Pro Mobil Fotoğraf Düzenleme Uygulamasını Sunuyor
Liste
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?