Micro Frontend Nedir? Büyük Kurumsal Web Sitelerinde Ölçeklenebilir Mimari

Büyük bir kurumsal sitede beş ekip aynı kod tabanına dokunuyorsa, bir süre sonra her yayın bir pazarlığa dönüşür. Micro frontend, bu tıkanıklığa verilen mimari cevaplardan biridir. 2012'den beri kurumsal web projelerinde ve SEO tarafında çalışıyorum; bu yazıda micro frontend yaklaşımını karar verici gözüyle, faydası kadar maliyetiyle de anlatıyorum.
Micro frontend nedir?
Micro frontend, bir web sitesinin ön yüzünü bağımsız geliştirilen, bağımsız test edilen ve bağımsız yayına alınan küçük uygulamalara bölen mimari yaklaşımdır. Her parça genellikle tek bir ekibe ve tek bir iş alanına aittir; kullanıcı ise bu parçaları tek ve bütünlüklü bir site olarak görür.
Kavramı en net anlatan kaynaklardan biri Cam Jackson'ın martinfowler.com'daki makalesi. Makale micro frontend yaklaşımını, bağımsız teslim edilebilen ön yüz uygulamalarının daha büyük bir bütün halinde birleştirildiği bir mimari stil olarak tanımlıyor. Yani mesele bir kütüphane ya da araç değil; ekiplerin kodu nasıl böldüğü ve sayfayı nasıl birleştirdiğidir.
Örneğin bir e-ticaret sitesinde arama, ürün detayı, sepet ve hesabım bölümleri ayrı ekiplerin ayrı uygulamaları olabilir. Kullanıcı ürün sayfasında gezinirken aslında üç farklı ekibin kodunu aynı ekranda görür. Bu yüzden asıl zorluk parçaları yazmak değil, onları hızlı ve tutarlı biçimde bir araya getirmektir.
Micro frontend hangi sorunu çözmek için ortaya çıktı?
Arka uçta mikroservisler yaygınlaştıktan sonra şirketler garip bir tabloyla karşılaştı: servisler bağımsızdı, ama ön yüz hâlâ tek parça duruyordu. Dolayısıyla ödeme ekibi küçük bir değişikliği yayına almak için katalog ekibinin testlerini beklemek zorunda kalıyordu.
Bu mimari tam olarak bu darboğazı hedefler. Temel vaadi şudur: her ekip kendi alanında karar verir, kendi hızında yayın yapar ve başka bir ekibin kodunu kırma korkusuyla yaşamaz. Kısacası çözdüğü sorun teknik olmaktan çok örgütseldir.
- Tek bir depoda onlarca geliştiricinin çakışması ve uzun birleştirme süreçleri.
- Tek bir hatanın bütün sitenin yayınını durdurması.
- Eski bir framework'ten kurtulmak için bütün siteyi tek seferde yeniden yazma zorunluluğu.
- Ekiplerin sahiplik sınırlarının kodda görünmemesi ve sorumluluğun dağılması.
Bu listedeki sorunlardan hiçbirini yaşamıyorsanız, bu mimari size büyük ihtimalle yeni bir sorun getirir. Bu noktaya yazının ilerleyen bölümünde ayrıca döneceğim.
Yazılım dünyasında sık anılan Conway yasası da bu noktaya işaret eder: kurumlar, kendi iletişim yapılarını yansıtan sistemler tasarlar. Dolayısıyla ekipleriniz iş alanlarına göre örgütlenmişse ama kodunuz tek parçaysa, günlük hayatta sürtünme kaçınılmaz olur. Bu mimari, kod yapısını ekip yapısıyla hizalamanın bir yoludur. Ancak ekipleriniz henüz net biçimde ayrışmadıysa, kodu önden bölmek sorunu çözmez; yalnızca bekleme noktalarının yerini değiştirir.
Monolit ön yüz ile micro frontend arasındaki fark nedir?
Monolit ön yüzde bütün sayfalar tek bir uygulamanın içinde yaşar: tek depo, tek derleme, tek yayın hattı. Parçalı yaklaşımda ise her parçanın kendi deposu, kendi derleme süreci ve kendi yayın takvimi olabilir. Ancak ikisinin arasında geniş bir gri alan da var.
Örneğin modüler bir monolit, kodu iş alanlarına göre klasörlere ve paketlere böler ama yine tek seferde yayına çıkar. Birçok kurum için bu ara çözüm, parçalı mimarinin faydalarının önemli bir kısmını çok daha düşük maliyetle sağlar. Aşağıdaki tablo farkı karar verici diliyle özetliyor.
| Kriter | Monolit ön yüz | Modüler monolit | Micro frontend |
|---|---|---|---|
| Yayın | Tek seferde, herkes birlikte | Tek seferde, kod düzenli | Parça parça, ekip bazlı |
| Ekip bağımsızlığı | Düşük | Orta | Yüksek |
| Altyapı maliyeti | Düşük | Düşük | Yüksek (çoklu hat, izleme, sürüm yönetimi) |
| Tutarlı arayüz | Doğal olarak kolay | Kolay | Tasarım sistemi disiplini şart |
| Performans riski | Kontrol edilebilir | Kontrol edilebilir | Kopya bağımlılık ve fazla JavaScript riski |
| Uygun ölçek | Küçük ve orta ekipler | Orta ve büyük ekipler | Çok ekipli, çok alanlı büyük kurumlar |
Tablodaki değerlendirmeler benim saha gözlemimdir; kesin bir ölçüm değil, yön gösteren bir özet olarak okuyun.
Bilgi mimarisi ile kod mimarisi neden ayrı düşünmelisiniz?
Toplantılarda sık duyduğum bir karışıklık var: "Sitemiz çok büyüdü, micro frontend'e geçelim." Oysa büyüklüğün iki farklı ekseni var. Birincisi kullanıcının ve Google'ın gördüğü yapı, yani kategoriler, URL'ler ve menülerdir. İkincisi ise geliştiricinin gördüğü yapı, yani depolar, paketler ve yayın hatlarıdır.
Kullanıcı tarafındaki düzeni büyük web sitelerinde kategori yapısı yazımda ayrıntılı anlattım. Bu yazı ise tamamen kod tarafıyla ilgili. İkisi birbirine bağlı ama birbirinin yerine geçmez. Kategori yapınız dağınıksa, yeni kod mimarisi bu dağınıklığı çözmez; sadece dağınıklığı birden fazla depoya taşır.
Bu nedenle ilk sorum her zaman şudur: yaşadığınız sorun ziyaretçinin yolunu bulamaması mı, yoksa ekiplerin birbirini beklemesi mi? Birincisi bilgi mimarisi işidir, ikincisi kod mimarisi işi. Yanlış teşhis, yanlış bütçeye yol açar.
Micro frontend parçaları sayfada nasıl birleşir?
Bu mimarinin kalbi entegrasyon, yani parçaların tek bir sayfaya dönüştüğü andır. Bu birleşme üç farklı yerde gerçekleşebilir: derleme sırasında, sunucuda veya CDN kenarında ve tarayıcıda. Seçtiğiniz yer, hem ekip bağımsızlığını hem de SEO ile performansı doğrudan belirler.
- Build time entegrasyon: her ekip parçasını paket olarak yayımlar, ana uygulama hepsini tek seferde derler.
- Runtime JavaScript entegrasyonu: bir kabuk uygulama, parçaları tarayıcıda çalışma anında yükler.
- Module Federation: ayrı derlemeler çalışma anında birbirinden kod alıp verir ve ortak kütüphaneleri paylaşır.
- Iframe: her parça sayfaya ayrı bir belge olarak girer.
- Server side ve edge composition: sunucu veya CDN kenarı, HTML parçalarını birleştirip tarayıcıya hazır sayfa gönderir.
Bu yolların hiçbiri her durumda doğru değildir. Üstelik büyük sitelerde çoğu zaman karma bir model görürsünüz: SEO açısından kritik sayfalar sunucuda birleşir, oturum gerektiren paneller ise tarayıcıda. Şimdi her birine kısaca bakalım.
Build time entegrasyon nedir ve neden çoğu zaman yetersiz kalır?
Build time entegrasyonda her ekip kendi parçasını bir paket olarak yayımlar. Ana uygulama bu paketleri bağımlılık olarak ekler ve tek bir çıktı üretir. Kurulumu kolaydır, performansı öngörülebilirdir ve sunucu tarafı render ile sorunsuz çalışır.
Ancak önemli bir bedeli var. Jackson'ın makalesi bu yaklaşımın kilitli adımlarla ilerleyen bir yayın süreci yarattığını vurguluyor: bir parçadaki değişiklik için bütün uygulamayı yeniden derleyip yeniden yayınlamanız gerekir. Yani mimarinin ana vaadi olan bağımsız yayın büyük ölçüde kaybolur.
Yine de bu yolu küçümsemiyorum. Ekip sayısı azsa ve asıl ihtiyaç kodu düzenli tutmaksa, build time entegrasyon aslında modüler monolitin kibar bir adıdır. Birçok kurum için de doğru başlangıç noktası budur.
Runtime JavaScript entegrasyonu nasıl çalışır?
Bu modelde bir kabuk uygulama, yani "container" ya da "shell", sayfanın iskeletini kurar. Ardından hangi rotada hangi parçanın gerektiğine karar verir ve o parçanın JavaScript dosyasını çalışma anında indirir. Her ekip kendi dosyasını istediği zaman güncelleyebilir; kabuğun yeniden derlenmesi gerekmez.
Bağımsız yayın açısından bu yaklaşım en esnek seçeneklerden biridir. Açık kaynak dünyasında single-spa gibi orkestrasyon araçları bu modeli yaygınlaştırdı. Web Components ise parçaları framework'ten bağımsız özel HTML etiketleri olarak paketlemenin standart yolunu sunar.
Öte yandan bedeli tarayıcı öder. Sayfa, içerik görünmeden önce kabuğu, sonra parçayı, sonra parçanın verisini beklerse, ilk yükleme belirgin biçimde yavaşlar. Üstelik içerik yalnız JavaScript ile oluşuyorsa, arama motorunun sayfayı anlaması render adımına bağımlı hale gelir. Bu iki riski SEO bölümünde ayrıca ele alıyorum.
Module Federation nedir, micro frontend projelerinde ne sağlar?
Module Federation, webpack 5 ile gelen bir özelliktir. webpack'in Module Federation dokümantasyonu amacını, birden fazla ayrı derlemenin tek bir uygulama oluşturması olarak tanımlıyor. Her derleme bir "container" gibi davranır; kod dışa açabilir ve başka derlemelerden kod alabilir.
- Host: diğer derlemelerden modül tüketen ana uygulamadır.
- Remote: modüllerini başkalarının kullanımına açan ayrı derlemedir; genellikle bir giriş dosyası üzerinden gelir.
- Shared: React gibi ortak kütüphanelerin her parçada ayrı ayrı paketlenmek yerine paylaşılmasını sağlayan ayardır.
- Singleton: bir kütüphanenin sayfada tek kopya çalışmasını zorunlu kılar; durum yöneten kütüphaneler için önemlidir.
Karar verici açısından Module Federation'ın asıl değeri paylaşımdır. Doğru ayarlanırsa aynı kütüphaneyi beş kez indirmek yerine bir kez indirirsiniz. Fakat sürüm uyumsuzluğu yönetimi artık sizin sorumluluğunuzdadır. Bir ekip ortak kütüphanenin büyük sürümünü yükselttiğinde, diğerlerinin bundan nasıl etkileneceğini önceden planlamanız gerekir.
Iframe ile micro frontend hâlâ mantıklı mı?
Iframe, parçaları birbirinden yalıtmanın en eski ve en güçlü yoludur. Her parça kendi belgesinde çalışır; bir parçanın CSS'i ya da JavaScript hatası diğerine sızmaz. Bu yüzden üçüncü taraf ödeme formları veya eski bir sistemden taşınan yönetim ekranları için hâlâ işe yarar.
Ancak herkese açık, arama trafiği hedefleyen sayfalarda iframe'i nadiren öneririm. Duyarlı yükseklik, derin bağlantı, tarayıcı geri tuşu ve erişilebilirlik ek iş çıkarır. SEO açısından da belirsizlik vardır: Google'ın indexifembedded duyurusu Google'ın iframe içeriğini ana sayfayla ilişkilendirmeye çalıştığını, ama bunun garanti olmadığını belirtiyor.
Kısacası iframe'i giriş gerektiren, dizine eklenmesini zaten istemediğiniz alanlarda düşünün. Ürün, kategori ve içerik sayfalarında ise başka bir entegrasyon yolu seçin.
Edge ve server side composition nasıl çalışır?
Bu yaklaşımda birleşme tarayıcıya ulaşmadan önce olur. Sunucu veya CDN kenarı, farklı ekiplerin ürettiği HTML parçalarını çağırır ve bunları tek bir sayfada birleştirir. Tarayıcı ise baştan dolu bir HTML alır. Eski tekniklerden Server Side Includes ve Edge Side Includes bu fikrin ilk örnekleridir; bugün benzer birleştirmeyi CDN'lerin kenar fonksiyonlarıyla da yapabilirsiniz.
SEO ve ilk yükleme açısından bu model genellikle en sağlıklı seçenektir. Çünkü arama motoru ve kullanıcı içeriği JavaScript çalışmadan görür. Etkileşim gereken parçalar sonradan tarayıcıda canlanır, yani "hydration" adımından geçer.
Bedeli ise operasyon tarafındadır. Bir parçanın sunucusu yavaşladığında bütün sayfa yavaşlayabilir. Bu nedenle her parça için zaman aşımı, önbellek ve yedek içerik kuralı tanımlamanız gerekir. Örneğin öneri modülü iki yüz milisaniyede cevap vermezse, sayfa onsuz açılmalıdır.
Hangi micro frontend entegrasyon yolu hangi durumda uygun?
Tek tek anlattığım yolları aşağıdaki listeyle eşleştirebilirsiniz. Liste bir reçete değil; ekiplerle yaptığım mimari toplantılarda başlangıç noktası olarak kullandığım bir çerçeve.
- Az ekip, düzen ihtiyacı: build time entegrasyon veya modüler monolit.
- SEO kritik vitrin sayfaları: server side veya edge composition, ardından seçici hydration.
- Giriş sonrası paneller ve uygulamalar: runtime JavaScript entegrasyonu veya Module Federation.
- Yalıtım şart olan üçüncü taraf ya da eski sistemler: iframe.
- Framework göçü: kabuk uygulama ve rota bazlı runtime entegrasyon; eski ve yeni kod bir süre yan yana yaşar.
Dikkat ederseniz tek bir kurum bu listeden birkaç satırı aynı anda kullanabilir. Dolayısıyla "hangi yöntem en iyisi?" sorusu yerine "bu sayfa türü için hangisi uygun?" sorusunu sormanızı öneririm.
Micro frontend ne zaman gereksiz karmaşadır?
Dürüst olmak gerekirse, bana gelen kurumsal sitelerin büyük çoğunluğu micro frontend'e ihtiyaç duymuyor. Tek bir ekibin yönettiği, birkaç yüz sayfalık bir kurumsal site için bu mimari; yayın hatlarını, izleme araçlarını ve sürüm tartışmalarını katlar. Karşılığında da neredeyse hiçbir şey kazandırmaz.
Jackson'ın makalesi de dezavantajları açıkça sıralıyor: kopya bağımlılıklar yüzünden artan indirme boyutu, geliştirme ortamı ile canlı ortam arasındaki farklar ve daha fazla depo, hat ve sunucu demek olan operasyonel yük. Bunlar teorik riskler değil; her ay bakım faturasına yansır.
- Ön yüzde tek ekip veya iki üç geliştirici çalışıyorsa.
- Yayın sıklığı ayda birkaç kez ve kimse kimseyi beklemiyorsa.
- Asıl şikâyet site hızı, tasarım veya içerikse.
- Kurumda platform ekibi, yani ortak altyapıyı sahiplenecek bir grup yoksa.
Bu maddelerden ikisi bile sizin için geçerliyse, önce kodu modüllere ayırmayı ve yayın hattını hızlandırmayı deneyin. Çoğu zaman çözüm tam da buradadır.
Hangi işaretler micro frontend ihtiyacını gerçekten gösterir?
Ters yönden bakınca da tablo netleşiyor. Bu mimariyi ciddi olarak masaya koyduğum durumlar genellikle büyük e-ticaret, bankacılık, sigorta, medya ve çok markalı kurum siteleri oluyor. Bu kurumlarda ortak nokta, ön yüzde çalışan ekip sayısının fazlalığıdır.
- Birden fazla bağımsız ürün ekibi aynı ön yüzde haftada birçok kez değişiklik yapıyor.
- Ekiplerin iş alanları net ve her alanın sahibi belli.
- Eski bir framework'ten yenisine, siteyi dondurmadan kademeli geçmeniz gerekiyor.
- Birleşme ya da satın alma sonrası farklı teknolojilerle yazılmış siteleri tek çatıda toplamanız gerekiyor.
- Ortak altyapıyı, tasarım sistemini ve performans bütçesini sahiplenecek bir platform ekibiniz var.
Beşinci madde çoğu zaman gözden kaçıyor. Platform ekibi olmayan parçalı bir proje, kısa sürede her ekibin kendi kurallarını koyduğu bir yamalı bohçaya dönüşür. Bu yüzden bütçeyi planlarken bu ekibin maliyetini de hesaba katın.
Micro frontend SEO'yu nasıl etkiler?
Micro frontend kendi başına SEO'ya ne iyi ne kötüdür; etkisi entegrasyon yolundan gelir. Google Search Central'ın JavaScript SEO temelleri sayfası Google'ın JavaScript uygulamalarını tarama, render ve dizine ekleme olmak üzere üç aşamada işlediğini anlatıyor. İçerik yalnız tarayıcıda oluşuyorsa, dizine eklenmeden önce render adımını beklemek zorundadır.
Aynı sayfa önemli bir uyarıyı da açıkça yapıyor: sunucu tarafı render veya ön render, siteyi hem kullanıcılar hem de tarayıcılar için hızlandırdığı ve her bot JavaScript çalıştıramadığı için hâlâ iyi bir fikir. Yapay zeka tabanlı tarayıcıları da düşündüğünüzde bu uyarı daha da önem kazanıyor; konuyu yapay zeka sonrası teknik SEO yazımda ayrıca işledim.
- Bağlantılar, href içeren gerçek <a> öğeleri olmalı. Google yalnızca bu tür bağlantıları keşfedebildiğini belirtiyor.
- Title, meta description, canonical ve yapısal veri tek bir yerden yönetmelisiniz; iki parça aynı etiketi yazmamalı.
- Rota değişimleri History API ile gerçek URL'ler üretmeli; hash tabanlı rotalardan kaçınmalı.
- Her parçanın hata durumunda boş değil, anlamlı bir içerik döndürmesi gerekir.
Sunucu tarafı render micro frontend mimarisinde neden kritik?
Sunucu tarafı render, yani SSR, sayfanın HTML'ini sunucuda üretip tarayıcıya dolu olarak göndermektir. Parçalı mimaride SSR iki sebeple kritik. Birincisi, arama motoru ve yapay zeka botları içeriği JavaScript'e bağlı kalmadan görür. İkincisi, en büyük içerik öğesi erken ekrana gelir ve kullanıcı boş ekran beklemez.
Sorun şu ki her entegrasyon yolu SSR'ı aynı kolaylıkla desteklemez. Build time entegrasyon ve server side composition doğal olarak uyumludur. Runtime entegrasyonda ise her parçanın sunucuda da çalışabilmesi, yani iki ortamlı yazılması gerekir. Bu da ek iş ve ek test demektir.
Bu yüzden teknik ekibe şu soruyu sormanızı öneririm: "Kategori ve ürün sayfamızın HTML kaynağını açtığımızda ana içerik orada mı?" Cevap hayırsa, mimari tartışmasından önce render stratejisini çözmek gerekir. Ben bu kontrolü sayfa kaynağını görüntüleyerek ve Google Search Console içindeki URL denetimiyle birlikte yapıyorum.
Micro frontend Core Web Vitals açısından hangi riskleri taşır?
Core Web Vitals, Google'ın kullanıcı deneyimini ölçtüğü üç temel metriktir. web.dev'in Web Vitals rehberi iyi eşikleri şöyle veriyor: LCP en fazla 2,5 saniye, INP en fazla 200 milisaniye, CLS en fazla 0,1. Google, mobil ve masaüstünü ayrı tutarak sayfa yüklemelerinin 75. yüzdelik dilimine bakıyor. INP, 2024'te FID'in yerine geçti.
| Metrik | Micro frontend kaynaklı tipik risk | Önlem |
|---|---|---|
| LCP | Kabuk, parça ve veri isteklerinin sıraya girmesi | Kritik alanı sunucuda render etmek, ön yükleme |
| INP | Birden fazla framework'ün ve kopya kütüphanenin ana iş parçacığını meşgul etmesi | Paylaşılan bağımlılık, JavaScript bütçesi, seçici hydration |
| CLS | Geç yüklenen parçanın içeriği aşağı itmesi | Her parçaya sabit yer ayırmak, iskelet görünüm |
Bu metriklerin sitenize etkisini site hızı SEO'yu nasıl etkiler yazısında, laboratuvar ölçümünü ise Lighthouse ile performans testi rehberinde anlattım. Parçalı projelerde benim kuralım basit: her parçanın bir JavaScript bütçesi olsun ve yayın hattı bu bütçeyi otomatik kontrol etsin.
Paylaşılan tasarım sistemini micro frontend projesinde nasıl yönetmelisiniz?
Kullanıcı sayfanın kaç ekip tarafından yapıldığını bilmez ve bilmemelidir. Butonlar, formlar ve tipografi her parçada aynı görünmüyorsa, site dağınık ve güvensiz bir izlenim verir. Bu nedenle parçalı projelerde tasarım sistemi bir tercih değil, zorunluluktur.
- Tasarım token'ları: renk, boşluk ve yazı ölçüleri tek kaynaktan gelir.
- Bileşen kütüphanesi: buton, form alanı, modal gibi temel öğeleri herkes aynı kaynaktan kullanır.
- CSS yalıtımı: CSS modülleri, isimlendirme kuralları veya shadow DOM ile stiller birbirine sızmaz.
- Sürüm politikası: kütüphanedeki büyük değişiklikler takvimli ve duyurulu çıkar.
Jackson'ın makalesi ortak bileşen kütüphanesini desteklerken önemli bir sınır da çiziyor: alana özgü bileşenler, ilgili ekipte kalmalı. Aksi halde ortak kütüphane herkesin birbirine bağlandığı yeni bir monolite dönüşür. Marka tutarlılığının dijitaldeki karşılığını marka kimliği çalışmalarımda da aynı mantıkla kuruyorum.
Ekipleri ve sahipliği micro frontend yapısında nasıl bölmelisiniz?
Bu mimarideki başarının büyük kısmı, sınırları doğru çizmekten gelir. Sınırı teknik katmana göre değil, iş alanına göre çizmenizi öneririm. "Header ekibi, footer ekibi" gibi bir bölünme, her değişiklikte yine herkesi aynı masaya toplar.
Daha sağlıklı bölünme, müşterinin yolculuğunu takip eder: keşif ve arama, ürün detayı, sepet ve ödeme, hesap yönetimi. Her ekip kendi alanının ön yüzünden, genellikle de arka ucundan sorumlu olur. Böylece bir ekip kendi alanında uçtan uca karar verebilir.
Ortak alanlar için ise net bir sahip belirleyin. Header, navigasyon, analitik etiketleri ve SEO meta verileri kimseye ait değilse, zamanla herkes onlara dokunur. Özellikle analitik ve dönüşüm etiketleri dağıldığında raporların güvenilirliği kaybolur; bu da hem SEO danışmanlığı hem de reklam optimizasyonu tarafında ciddi kör noktalar yaratır.
Mevcut monolitten micro frontend'e geçişi nasıl planlamalısınız?
Kural olarak siteyi tek hamlede yeniden yazmayı önermem. Bunun yerine "strangler fig" olarak bilinen kademeli yaklaşımı kullanırım: yeni parçalar eski sitenin etrafında büyür ve siz eski kodu rota rota emekliye ayırırsınız. Böylece her adımda ölçüm yapar, sorun çıkarsa küçük bir alanı geri alırsınız.
- Rota envanteri çıkarın ve her rotanın trafiğini, dönüşümünü ve SEO değerini not edin.
- Düşük riskli ama ekip bağımsızlığından en çok fayda görecek bir alanla başlayın.
- Kabuk uygulamayı, ortak tasarım sistemini ve performans bütçesini ilk adımda kurun.
- Her geçişten önce ve sonra Core Web Vitals, dizine ekleme ve dönüşüm verisini karşılaştırın.
- URL değişecekse 301 yönlendirme haritası hazırlayın ve canlıya çıkmadan test edin.
URL değişen her geçiş aslında bir site taşımadır. Bu konuda SEO migration kontrol listesi işinize yarar. Yönlendirmeleri canlıda tek tek doğrulamak için de yönlendirme denetleyici aracını kullanabilirsiniz.
Micro frontend kararından önce hangi soruları sormalısınız?
Teknik ekip bu mimari önerisiyle geldiğinde, karar verici olarak şu soruları sormanızı öneririm. Cevapların netliği, projenin olgunluğu hakkında size çok şey söyler.
- Bugün yayınları en çok geciktiren somut darboğaz nedir ve micro frontend onu nasıl çözecek?
- Hangi entegrasyon yolunu seçtiniz ve SEO açısından kritik sayfalar sunucuda mı render olacak?
- Her parçanın JavaScript bütçesi ne olacak, kim takip edecek?
- Ortak kütüphanelerin sürüm uyumunu kim yönetecek?
- Tasarım sistemi ve ortak alanların sahibi kim?
- Bir parça çöktüğünde veya yavaşladığında sayfa nasıl davranacak?
- Ek altyapı, izleme ve platform ekibi maliyeti yıllık bazda ne kadar?
Bu soruların en az üçüne net cevap alamıyorsanız, projeyi ertelemek ya da daha küçük bir pilotla başlamak genellikle daha akıllıcadır. Üstelik bu erteleme, kodu modülerleştirmek için değerli bir zaman kazandırır.
Micro frontend projesinde başarıyı nasıl ölçersiniz?
Mimari değişikliğin başarısını yalnız geliştiricilerin memnuniyetiyle ölçmek yanıltıcı olur. Ben üç grup gösterge takip etmenizi öneririm. Birinci grup teslim hızıdır: yayın sıklığı, bir değişikliğin koddan canlıya geçme süresi ve geri alma oranı.
İkinci grup kullanıcı deneyimidir: Core Web Vitals saha verisi, sayfa başına JavaScript boyutu ve hata oranı. Üçüncü grup ise iş sonuçlarıdır: organik trafik, dizindeki sayfa sayısı ve dönüşüm oranı. Özellikle geçiş dönemlerinde bu üç grubu aynı panoda görmek, sorunları erken yakalamanın en güvenilir yoludur.
Hedefleri projeye başlamadan yazıya dökün. Aksi halde altı ay sonra "hızlandık mı?" sorusuna herkes kendi hissiyle cevap verir. Ölçüm çerçevesi kurarken teknik SEO ipuçları yazısındaki temel kontroller de başlangıç listesi olarak işe yarar.
Ölçümü kolaylaştırmak için pilot alanı küçük ama anlamlı seçin. Örneğin yalnızca hesap sayfalarını ya da tek bir ürün grubunu yeni yapıya taşıyın ve dört ila sekiz hafta boyunca eski yapıyla kıyaslayın. Bu süre benim saha tecrübeme dayalı bir başlangıç aralığıdır, garanti değildir; trafik düşükse daha uzun beklemeniz gerekir. Böylece bütçeyi bütün siteye yaymadan önce gerçek veriyle karar verirsiniz.
Micro frontend kararını nasıl vermelisiniz?
Özetle micro frontend, ölçek sorununu değil, ekip koordinasyonu sorununu çözen bir mimaridir. Çok ekipli, çok alanlı ve sık yayın yapan kurumlarda gerçek bir hız kazandırabilir. Ancak tek ekipli ya da orta ölçekli sitelerde çoğu zaman bakım yükünü artırır ve performansı riske atar.
Karar verirken üç şeye bakın: sorunun gerçekten örgütsel olup olmadığı, SEO kritik sayfaların sunucuda render olup olmayacağı ve ortak altyapıyı sahiplenecek bir ekibinizin bulunup bulunmadığı. Bu üçü netse, küçük bir pilotla başlayıp ölçerek büyüyebilirsiniz.
Büyük bir kurumsal sitenin mimarisini, SEO'sunu ve performansını birlikte değerlendirmek isterseniz web tasarım ve teknik SEO tarafında birlikte çalışabiliriz. Durumunuzu anlatmak için iletişim sayfasından bana ulaşabilirsiniz.




