yoji studio

Blog · Abartısız SEO

Vibe coding ile yapılan site sorunları: canlıda ne bozuluyor

Vibe coding ile yapılan site sorunları: render, hreflang, formlar, KVKK, erişilebilirlik ve bakım. Yayına almadan önce geçilecek kontrol listesi.

Asıl maliyet sayfaları üretmek değil

Vibe coding ile yapılan site sorunları tasarımda görünmez, site yayına girdikten sonra çıkar. Bot sayfayı boş görür, talep formu hiçbir yere gitmez, müşteri verisi açıkta kalır ve bir süre sonra koda kimse dokunamaz.

Bir yapay zekâ aracına "bana kurumsal site yap" demek bugün gerçekten çalışıyor. Bir öğleden sonrada ana sayfa, hizmet sayfaları, iletişim formu ve makul görünen bir tasarım çıkıyor. Bu kısım ucuzladı ve hızlandı, itiraz eden yok.

Ama site yapmanın maliyeti hiçbir zaman sayfaları üretmek değildi. Maliyet, gerçek trafik geldiğinde, gerçek talep formu dolduğunda, gerçek bir denetim ya da müşteri şikâyeti geldiğinde ortaya çıkıyor. İlk gün hiçbiri görünmez.

Biz hem SEO ajansıyız hem web geliştirme yapıyoruz, bu listeyi kitaptan öğrenmedik. Son dönemde gelen işlerin ciddi bir kısmı "AI ile yaptırdık, sonra bir şeyler tutmadı, bakar mısınız" diye başlıyor. Aşağıdakiler o işlerde tekrar tekrar çıkan arızalar.

Render: doğru soru "AI mi yaptı" değil

İnternette dolaşan iddia şu: vibe coding ile yapılan siteler client-side React üretir, botlar boş sayfa görür, o yüzden sıralanamazsınız. Bu iddia artık toptan doğru değil ve toptan söyleyen içerik hızla eskiyor. Lovable örneğin yeni projelerde TanStack Start üzerinden sunucu tarafı render'ı varsayılan hale getirdiğini duyurdu. Ama böyle bir değişiklik daha önce oluşturulmuş projeleri geriye dönük düzeltmez.

Doğru soru şu: hangi araç, hangi framework, hangi tarihte oluşturuldu. Aynı platformda geçen sezon açılmış bir proje ile bugün açılan proje bambaşka davranabilir. Aracın adına bakıp karar vermeyin.

Tahmin etmeyi bırakın, kontrol edin. Tarayıcıdaki "İncele" paneli işe yaramaz, orası JavaScript çalıştıktan sonraki hali gösterir. Ham HTML'e bakın: kaynağı görüntüleyin (Windows ve Linux'ta Ctrl+U, Mac'te ⌥⌘U) ya da terminalden curl -s https://siteniz.com çıktısında aradığınız başlığı arayın. Metniniz orada yoksa, botun ilk gördüğü şeyde de yok. Sonra Search Console'da URL denetimi ve canlı URL testi ile render edilmiş HTML'i karşılaştırın.

Bir de yeni katman var. Yapay zekâ botlarının çoğu klasik arama motorları gibi bir render kuyruğu işletmiyor, HTML'i alıp geçiyor. Googlebot sizi bir gecikmeyle sonunda render edip görebilir; sohbet asistanlarına içerik besleyen botlar için JavaScript'e gömülü metin pratikte yok hükmünde. "Google beni buluyor ama ChatGPT şirketimi bilmiyor" şikâyetinin en sık nedeni bu.

Tek başlık, yanlış canonical, ölçekte dağılan hreflang

Tek sayfalık uygulama mantığıyla üretilen sitelerde rota değişir, title ve açıklama değişmez. Diyelim ki on beş sayfanız var; hepsi aynı başlıkla dizine gitmeye çalışır. Ya da her sayfada canonical etiketi ana sayfayı işaret eder, çünkü şablonda öyle sabitlenmiştir. Search Console'da bunun karşılığı, sayfalarınızın "alternatif sayfa, canonical başka bir adresi gösteriyor" grubunda birikmesi ve dizine hiç girmemesidir.

Çok dilli sitelerde durum daha kötü, çünkü hreflang toplu üretildiğinde hata da toplu üretiliyor. En sık gördüklerimiz: karşılıklı bağlantının eksik olması (TR sayfası EN'i gösterir, EN geri göstermez), geçersiz dil kodları (en-UK diye bir şey yok, doğrusu en-GB), sayfanın kendini referans vermemesi, x-default'un hiç konmaması. Belirtisi net: Almanya'dan arayan kullanıcı Türkçe sayfaya düşer ve hemen çıkar.

Tek tek bakınca hepsi küçük hata. Toplamı, iyi yazılmış bir içeriğin hiç değerlendirilmemesi demek.

Hiçbir yere gitmeyen ve veri sızdıran formlar

Bu listedeki en pahalı madde, çünkü sessizce bozulur. İki ayrı arıza var.

Birincisi: form hiçbir yere gitmiyor. Arayüz "Teşekkürler, en kısa sürede döneceğiz" der, arkada gerçek bir gönderim yoktur; ya örnek bir işleyici bırakılmıştır ya da e-posta gönderimi hiç yapılandırılmamıştır. Daha ince hâli de var: mail gerçekten gidiyor ama SPF, DKIM ve DMARC kayıtları düzgün olmadığı için doğrudan spam klasörüne düşüyor. "Trafik var, talep yok" diye aylarca reklam bütçesi tartışıldığını gördük. Sorun formdaydı.

İkincisi: form fazlasıyla gidiyor. Yapay zekâ ile üretilen uygulamalar üzerine yapılan güvenlik araştırmaları, kimlik doğrulaması olmayan uç noktaları ve istemci tarafına gömülmüş anahtarları tekrar eden bir kalıp olarak gösteriyor. Pratikte karşımıza çıkan hâli şu: talep formlarının yazıldığı tablo satır bazlı erişim kuralları olmadan açık kalıyor, yani adresi bilen herkes bütün müşteri listenizi okuyabiliyor. Üstüne hız sınırı ve bot koruması olmayınca form kısa sürede spam deposuna dönüşüyor.

Testi basit. Formu kendiniz doldurun, ağ sekmesinde isteğin nereye gittiğine bakın, kaydın hangi sistemde durduğunu sorun, o sisteme dışarıdan erişilip erişilemediğini kontrol ettirin.

KVKK, çerezler ve olmayan ölçümleme sözleşmesi

Üretilen sitelerde hukuki katman neredeyse hiç gelmez, çünkü kimse istememiştir. Tipik tablo: iletişim formunda aydınlatma metni ve açık rıza kutucuğu yok; çerez bandı ya hiç yok ya da varken bile analitik ve reklam etiketleri rıza alınmadan yükleniyor, ki bu bandın olmamasıyla aynı kapıya çıkıyor. Verinin nerede durduğu sorusunun da cevabı yok. Yurt dışındaki bir servise yazılıyorsa aktarım için bir dayanağınız olmalı. Avrupa'ya satıyorsanız aynı sorunun GDPR tarafı da açık kalır.

Ölçümleme boşluğu da buradan besleniyor. Analitik kodu genelde ekleniyor, ama bir ölçümleme sözleşmesi yok: hangi olay dönüşüm sayılıyor, form gönderimi gerçekten tetikleniyor mu, telefon ve WhatsApp tıklamaları ayrı mı, talebin hangi kanaldan geldiği kaydediliyor mu. Aylar sonra "hangi kanal para getirdi" diye sorduğunuzda elinizde sadece oturum sayısı olur. Bunu geriye dönük telafi edemezsiniz, çünkü veri hiç toplanmamıştır.

Erişilebilirlik artık sadece iyi niyet meselesi değil

Üretilen arayüzlerde aynı kalıplar tekrar ediyor: buton yerine tıklanabilir div, etiketsiz form alanları, tasarım uğruna kaldırılmış odak halkaları, klavyeyle kapatılamayan modallar, açık gri üstüne açık gri kontrast. Ekran okuyucu kullanan biri için bu site çalışmıyor demektir.

Ticari tarafı da var. Avrupa Erişilebilirlik Yasası'nın yükümlülükleri 28 Haziran 2025'ten itibaren geçerli ve AB'deki tüketiciye çevrimiçi ürün veya hizmet satan şirketleri kapsıyor. Türkiye'den AB pazarına satıyorsanız bu sizin de gündeminiz. Almanca içerikte konu ayrı bir hukuk blogu silosunda tartışılıyor ve yapay zekâ ile yapılan sitelerle hiç birleştirilmiyor. Oysa pratikte ikisi aynı sitede, aynı anda karşınıza çıkıyor.

Bakım uçurumu ve devir sorunu

En sinsi kalem bu. Başta her şey hızlı ilerler. Sonra basit bir istek gelir: "fiyat tablosuna bir satır ekleyelim." Eklersiniz, mobilde başka bir bölüm dağılır. Onu düzeltirsiniz, form çalışmayı bırakır. Çünkü ortada birbirinden kopyalanmış tekrarlı bileşenler, testsiz bir kod tabanı ve kimsenin kafasında bulunmayan bir mimari vardır. Her düzeltme başka bir yeri oynatır.

Üstüne devir sorunu biner: kod nerede duruyor, deposu var mı, alan adı ve dağıtım kimin hesabında, bu projeyi sizden bağımsız biri devralabilir mi. Piyasada "yapay zekâ kodu temizleme" diye ayrı bir hizmet kaleminin oluşması tesadüf değil, talep gerçek.

Bu yüzden proje başlarken sorulacak sorular şunlar: kod bende mi, dağıtım nerede, yarın başka bir ekip devralabilir mi. Üçünde de cevap netse, siteyi yapay zekânın üretmiş olması sorun değil.

Nerede gerçekten işe yarıyor ve yayın öncesi kontrol listesi

Adil olalım, bu araçlar bazı işlerde açık ara en iyi seçenek. Fikir doğrulamak için prototip, tek seferlik etkinlik veya kampanya sayfası, iç ekip için küçük araçlar, müşteriye gösterilecek tıklanabilir taslak. Ömrü kısa, riski düşük, hassas veri işlemiyorsa yapay zekâ ile yapın ve kimseye danışmayın. Kalıcı, arama trafiği bekleyen, talep formu olan ve kişisel veri işleyen bir kurumsal site tamamen başka bir kategori.

Canlıya almadan önce şunları geçin:

  • Ham HTML testi: curl veya kaynağı görüntüle ile ana metin ve başlıklar kaynakta görünüyor mu.
  • Search Console: canlı URL testi, dizine ekleme raporu, en az bir sayfada render edilmiş HTML karşılaştırması.
  • Her sayfada benzersiz title, açıklama ve kendine işaret eden canonical.
  • Çok dilliyseniz: hreflang karşılıklı mı, dil kodları geçerli mi, x-default var mı.
  • Form testi: gerçek gönderim, gelen kutusuna düşme, spam klasörü kontrolü, SPF, DKIM, DMARC.
  • Form güvenliği: kayıtlar nerede, dışarıdan okunabiliyor mu, istemci tarafında anahtar var mı, hız sınırı ve bot koruması var mı.
  • Hukuk: aydınlatma metni, açık rıza kutucuğu, çerez bandı ve rıza öncesi etiket yüklenmemesi, yurt dışı aktarım dayanağı.
  • Ölçümleme: dönüşüm olayları tanımlı mı, form gönderimi tetikleniyor mu, kanal kaynağı kaydediliyor mu.
  • Erişilebilirlik: klavyeyle tam gezinme, odak görünürlüğü, form etiketleri, kontrast.
  • Devir: kod deposu sizde mi, dağıtım erişimi sizde mi, teknik dokümantasyon var mı.

Bu listeyi kendi sitenizde geçmek birkaç saatinizi alır. Emin olamıyorsanız mevcut sitenizi bu başlıklar üzerinden ücretsiz denetliyoruz ve neyin gerçekten bozuk, neyin sadece gürültü olduğunu açıkça söylüyoruz.

Sık sorulan sorular

Vibe coding ile yapılan site sorunları?

Vibe coding ile yapılan site sorunları tasarımda görünmez, site yayına girdikten sonra çıkar. Bot sayfayı boş görür, talep formu hiçbir yere gitmez, müşteri verisi açıkta kalır ve bir süre sonra koda kimse dokunamaz.Bir yapay zekâ aracına "bana kurumsal site yap" demek bugün…

yoji studio bu konuda nasıl yardımcı olabilir?

Herhangi bir ödeme yapmadan önce ücretsiz bir denetim yapıp sizin durumunuz için neyin geçerli olduğunu gösteriyoruz.

Bunlara da göz atın

Siteniz için ücretsiz ekspres denetim alın

İndekslemeyi, hızı, içeriği ve backlink profilini inceleyip en önemli üç sorunu ve çalışma sırasını söyleyeceğiz. Gerçek bulgular — boş laf yok, taahhüt yok; rapor her durumda sizde kalır.