Webflow’da her yeni müşteri, bir abonelik daha demekti. Benim tarafımda workspace için ayda 24 dolar, müşterinin tarafında site başına yılda 200 dolar civarı. Tek başına bakınca küçük rakamlar. Ama bunlar hiç bitmeyen rakamlar ve her yeni işle birlikte büyüyorlar.
Bu yazıda neden çıktığımı, yerine neyi kurduğumu ve karşılığında neyi bıraktığımı anlatıyorum. Bir de kurmadığım şeyi anlatıyorum, çünkü en uzun düşündüğüm karar oydu.
Neden değiştirdim?
Webflow kötü bir araç değil. Yıllarca kullandım, hâlâ saygı duyuyorum. Görsel editörü iyi, hosting’i sağlam, müşteriye göstermesi kolay. Sorun araçta değil, iş modelindeydi.
Benim yaptığım sitelerin çoğu katalog ya da tanıtım sitesi. Dört beş sayfa, bir iletişim formu, birkaç görsel. Yayına çıktıktan sonra aylarca dokunulmayan siteler. Böyle bir site için müşteri her yıl yeniden ödüyor. Ben de her ay ödüyorum. İkimiz de aslında aynı şeyi kiralıyoruz: bir yerde duran birkaç dosyayı.
Bir de şu var: müşteri faturayı her yıl görüyor ve her yıl aynı soruyu soruyor. “Bu ne için?” Cevap “sitenizin açık kalması için” olunca, o sitenin gerçekte ne kadar az kaynak tükettiğini bilen biri olarak rahat hissetmiyordum.
Hesap basit. Müşteri sayısı arttıkça abonelik de artıyor. Tek kişilik bir stüdyoda bu, her yeni işin kârından sessizce bir pay gitmesi demek. Üstüne bu payı müşteriye de ödetiyorsunuz.
Statik bir site sunucuda çalışmaz; yalnızca dosya olarak durur.
Bu cümle kararı kolaylaştırdı. Tanıtım sitesi dediğimiz şey, derlendikten sonra bir klasör dolusu HTML, CSS ve görselden ibaret. Onu barındırmak için pahalı bir şeye gerek yok. Sadece hızlı ve güvenilir bir yere koymak gerekiyor.
Nasıl kurdum?
Beş parça var. Her birini tek bir işi yapsın diye seçtim.
Astro. Siteyi kodla yazıyorum ama sonuçta ortaya düz HTML çıkıyor. Astro, sayfada gerçekten gerekmeyen JavaScript’i tarayıcıya göndermiyor. Bir animasyon ya da form varsa yalnızca o parça yükleniyor. Tanıtım siteleri için bu, “hızlı açılır” sözünü kolayca tutabilmek demek. Stil tarafında Tailwind kullanıyorum; her projede aynı ölçek, aynı boşluk sistemi.
GitHub. Her müşterinin sitesi ayrı ve gizli bir depo. Kod, metin, görsel, hepsi orada. Bir değişikliğin ne zaman, neden yapıldığı kayıtlı. Bir şey bozulursa bir önceki hâline dönmek tek komut.
Cloudflare Pages. Depoya her değişiklik gönderdiğimde site kendiliğinden yeniden derleniyor ve yayınlanıyor. SSL, dünya çapında önbellek, hepsi dahil. Ücretsiz planı bu tür siteler için fazlasıyla yetiyor.
# değişikliği gönder, önizleme linki kendiliğinden gelir
git push
Benim için en büyük kazanç bu satır oldu. Revizyon artık şöyle işliyor: düzeltiyorum, gönderiyorum, müşteriye önizleme linkini atıyorum. Ekran görüntüsü alıp “şöyle olacak” diye anlatmak yok. Müşteri gerçek siteyi telefonunda açıp bakıyor.
Cloudflare DNS. Tüm müşteri alan adları tek panelde. Alan adı müşterinin adına kayıtlı kalıyor, sadece isim sunucularını buraya yönlendiriyoruz. Bunu aşağıda ayrıca anlatacağım, çünkü sözleşmeye giren bir konu.
Resend. İletişim formundan gelen mesajları e-postaya çeviriyor. Ücretsiz planda ayda 3.000, günde 100 mail gönderebiliyorum ama yalnızca bir doğrulanmış alan adı kullanabiliyorum. Bir tanıtım sitesinin formu bu hacme hiçbir zaman yaklaşmıyor. Asıl kısıt alan adı sayısı.
Bu yüzden tüm müşterilerin formu tek bir gönderici alan adından çıkıyor. Yanıt adresine formu dolduran ziyaretçinin adresini yazıyorum. Müşteri gelen maile “Yanıtla” dediğinde doğrudan ziyaretçiye yazıyor. Aradaki gönderici adresini fark etmiyor bile.
Kurmadığım şey: sunucu
En çok burada düşündüm. İlk aklıma gelen, ucuz bir sanal sunucu kiralayıp üstüne her şeyi kendim kurmaktı. Hetzner’da bir makine, üstünde Coolify, bütün siteler orada. Aylık birkaç avro, sınırsız site. Kâğıt üstünde çok cazip.
Vazgeçtim. Üç sebebi var.
Birincisi, statik bir sitenin sunucuya ihtiyacı yok. Sunucu, üzerinde bir şey çalıştığında anlamlı. Benim sitelerim ise çalışmıyor, sadece duruyor. Onları bir sunucuda tutmak, dosyaları bir makineye kilitlemek demek.
İkincisi, tek sunucu tek arıza noktası demek. O makine düşerse bütün müşterilerin sitesi aynı anda düşer. Tek kişilik bir stüdyoda bir sabah bütün müşterilerden aynı anda telefon almak, işin en kötü senaryosu.
Üçüncüsü, bakım. Sunucunun güncellenmesi, yedeklenmesi, izlenmesi gerekir. Bu iş hiç bitmez ve hep en yanlış zamanda çıkar. Cloudflare bunu benim yerime, benden çok daha iyi yapıyor.
Sunucuyu masadan kaldırmadım, sadece ne zaman gündeme geleceğini yazdım. Bir müşteri WordPress ya da veritabanlı bir sistem isterse, kendi aracımı barındırmam gerekirse ya da Cloudflare’in karşılamadığı somut bir ihtiyaç çıkarsa. O güne kadar yok.
Rakamlarla
| Kalem | Webflow | Şimdi |
|---|---|---|
| Stüdyo aboneliği | 24 $ / ay | 0 TL |
| Müşteri başına site | ~200 $ / yıl | 0 TL |
| Form bildirimleri | Plana dahil | 0 TL (Resend) |
| SSL ve önbellek | Plana dahil | 0 TL (Cloudflare) |
Tabloda görünmeyen bir kalem var: benim zamanım. Kurulumu bir kez yaptım ve her yeni site aynı şablondan türüyor. Yeni bir müşteri için sıfırdan başlamıyorum. Hazır bölümlerden, hazır form bağlantısından, hazır kontrol listesinden başlıyorum.
Kimde ne kalıyor?
Aboneliği kaldırınca “site kimin?” sorusu da netleşmek zorunda kaldı. Üç katman var ve üçü de sözleşmeye giriyor.
- Alan adı müşteride. Kendi adına, kendi kartıyla alıyor. Asla benim adıma alınmıyor.
- DNS ve barındırma bende. Bakım sürdüğü sürece ben tutuyorum; müşteriye ek barındırma ücreti çıkmıyor.
- Bakım biterse her şey teslim. Dosyalar verilir, DNS müşteriye devredilir.
Alan adını ajansın ya da tasarımcının adına almak çok yaygın bir alışkanlık. İlişki iyi gittiği sürece kimse fark etmiyor. Kötü bittiğinde ise alan adı rehin gibi duruyor. O tartışma kazanılmıyor. Müşteri de kaybediliyor, itibar da. Ben baştan o tartışmanın hiç olmamasını seçtim.
Neyi bıraktım?
Dürüst olmak gerekirse bedelsiz değil.
- Görsel editör yok. Webflow’da bir metni tıklayıp değiştirebiliyordum. Şimdi kodu açıp değiştiriyorum. Benim için daha hızlı, ama tasarım bilmeyen biri için daha kapalı bir sistem.
- Müşteri kendi başına güncelleyemiyor. En çok sorulan soru bu. Blog yazacak ya da içeriğini sık değiştirecek müşteri için git tabanlı bir panel ekliyorum (Sveltia ya da Decap). İçerik yine depoda kalıyor, müşteri tarayıcıdan düzenliyor. Ama her sitede yok; gerekiyorsa kuruyorum.
- E-ticaret bu düzene girmiyor. Mağaza isteyen müşteriye Shopify kuruyorum. Ödeme, stok, kargo gibi işleri sıfırdan yazmak hem gereksiz hem riskli.
- Her şey benim üstümde. Bir platformun destek ekibi yok. Bir şey bozulursa düzelten benim. Bunu bilerek seçtim, çünkü zaten öyleydi.
Bunları tarttım ve benim işlerim için doğru tarafta durduğuma karar verdim. Müşterilerimin çoğu sitesine yılda birkaç kez dokunuyor. Onlar için panel değil, hızlı cevap veren biri daha değerli.
Kısacası
Kiraladığınız şeyin gerçekte ne olduğuna bakın. Bir klasör dolusu dosya için her ay ödüyorsanız, belki de o dosyaları kendiniz taşıyabilirsiniz.
