[{"data":1,"prerenderedAt":421},["ShallowReactive",2],{"post-\u002Ftr\u002Fdusuk-rekabetli-serpte-api-tabanli-bir-seo-denemesi":3},{"page":4,"translation":379,"nav":381,"related":411,"random":414},{"id":5,"title":6,"body":7,"categories":355,"category":358,"date":359,"description":360,"draft":361,"extension":362,"image":363,"kind":364,"lang":87,"meta":365,"navigation":366,"path":367,"readingTime":368,"seo":369,"slug":370,"stem":371,"tags":372,"translationKey":375,"type":376,"updated":377,"__hash__":378},"postsTr\u002Ftr\u002Fdusuk-rekabetli-serpte-api-tabanli-bir-seo-denemesi.md","Düşük Rekabetli SERP’te Google Maps ve OpenAI Tabanlı Bir SEO Denemesi",{"type":8,"value":9,"toc":340},"minimark",[10,58,63,66,69,72,75,80,169,171,175,178,182,185,199,203,206,221,225,228,231,235,238,241,244,248,251,259,262,269,273,276,293,297,300,314,324,326],[11,12,13,21],"blockquote",{},[14,15,16,17],"p",{},"💡 ",[18,19,20],"strong",{},"Özet (TL;DR):",[22,23,24,46,52],"ul",{},[25,26,27,30,31,45],"li",{},[18,28,29],{},"Proje:"," Google Haritalar'da bulunamayan veya yanlış konumlandırılan yerel camilerin kolayca bulunmasını hedefleyen, Fastify ve Nuxt 3 tabanlı bir rehber sitesidir: ",[18,32,33],{},[34,35,44],"a",{"href":36,"className":37,"rel":39,"target":43},"https:\u002F\u002Fcamiler.org",[38],"dofollow",[40,41,42],"nofollow","noopener","noreferrer","_blank","camiler.org",".",[25,47,48,51],{},[18,49,50],{},"SEO Stratejisi:"," Hacmi yüksek ama rekabeti zayıf (cılız arama sonuçları) olan yerel SERP boşluklarını doldurarak sıfır bütçe\u002Freklam ile hızlı indekslenme ve organik trafik elde etme testi.",[25,53,54,57],{},[18,55,56],{},"Teknik Yaklaşım:"," Google Maps API'den çekilen konum ve fotoğrafları, OpenAI API ile derlenen yorum özetleriyle zenginleştirip, veri tutarsızlıklarını yarı-manuel bir onay arayüzü ile filtrelemek.",[59,60,62],"h2",{"id":61},"googleda-bulunamayan-camilerden-bir-web-projesine-camilerorgun-hikayesi","Google'da Bulunamayan Camilerden Bir Web Projesine: camiler.org'un Hikayesi",[14,64,65],{},"Bir WordPress temasını çevirirken ortaya çıktı bu fikir. Gerçekten... basit bir muhabbetti. Arkadaşım Emre Erkan'la birlikte, kiliseler için hazırlanmış bir temayı Türkçeye uyarlıyorduk. Bir ara Emre durdu ve dedi ki: \"Biz de bir cami teması yapsak ya.\" O anda bir şey oldu. Bir kıvılcım gibi çaktı kafamda. Ama hemen atlamadım. \"Bizde işler öyle değil, camiler merkezi yapılar, kiliseler gibi bireysel inisiyatiflerle yürümüyor,\" dedim. Yine de o cümle, kafamda dönüp durmaya başladı.",[14,67,68],{},"İlginçtir, bu konuşma beni daha önce yaşayıp üstünde durmadığım bir şeyi hatırlamaya itti. Şehirde, cenaze namazı için bir cami ararken yaşadığım sıkıntıyı... Google Haritalar’da camiyi aradım ama sonuç ya hiç çıkmadı ya da konumu hatalıydı. Ardından Google aramasına yöneldim. Orası da pek farklı değildi; ya bilgi yoktu ya da başlıklarla dolu bir labirent. Meğer bu ihtiyaç içimdeymiş, sadece tanımamışım.",[14,70,71],{},"Ben ortalama dini hassasiyetleri olan biriyim. Ne bir misyonum var ne de dini yönlendirme çabam. Bu proje, insanların yaşadığı basit ama can sıkıcı bir soruna çözüm bulma çabası. Ve itiraf etmeliyim: biraz da teknik merak.",[73,74],"hr",{},[76,77,79],"h3",{"id":78},"camilerorg-teknoloji-yığını-ve-altyapı-kararları","camiler.org Teknoloji Yığını ve Altyapı Kararları",[81,82,83,100],"table",{},[84,85,86],"thead",{},[87,88,89,94,97],"tr",{},[90,91,93],"th",{"align":92},"left","Katman",[90,95,96],{"align":92},"Seçilen Teknoloji",[90,98,99],{"align":92},"Tercih Nedeni ve Optimizasyon",[101,102,103,117,130,143,156],"tbody",{},[87,104,105,111,114],{},[106,107,108],"td",{"align":92},[18,109,110],{},"Backend",[106,112,113],{"align":92},"Fastify (Node.js)",[106,115,116],{"align":92},"Yüksek performans, düşük gecikme süresi",[87,118,119,124,127],{},[106,120,121],{"align":92},[18,122,123],{},"Frontend",[106,125,126],{"align":92},"Nuxt 3",[106,128,129],{"align":92},"Dinamik içerik yönetimi ve native SEO dostu SSR desteği",[87,131,132,137,140],{},[106,133,134],{"align":92},[18,135,136],{},"Veritabanı",[106,138,139],{"align":92},"MariaDB",[106,141,142],{"align":92},"Güvenilir ilişkisel veri depolama",[87,144,145,150,153],{},[106,146,147],{"align":92},[18,148,149],{},"Önbellek (Cache)",[106,151,152],{"align":92},"Redis",[106,154,155],{"align":92},"Sıkıştırılmış veri yapısıyla bellek kullanımını azaltma (düşük RAM\u002Fdüşük maliyet)",[87,157,158,163,166],{},[106,159,160],{"align":92},[18,161,162],{},"Dosya Depolama",[106,164,165],{"align":92},"Cloudflare R2",[106,167,168],{"align":92},"Sınırsız ölçeklenebilir ve ücretsiz limitleri geniş nesne depolama",[73,170],{},[76,172,174],{"id":173},"fikir-kabarıyor-kilise-temasından-camilere","Fikir Kabarıyor: Kilise Temasından Camilere...",[14,176,177],{},"\"Tema yapmayalım, camilerle ilgili bir rehber sitesi yapalım,\" dedik. Diyanet İşleri Başkanlığı’nın elinde cami listesi vardı. O anda oturup Google Trends'e baktım. \"Cami\" kelimesinin aranma hacmi şaşırtıcı derecede yüksekti. Ama Google aramalarında doğru düzgün içerik yoktu. Süleymaniye, Ayasofya gibi sembol yapılar hariç... günlük hayatta kullanılan binlerce camiyle ilgili sonuçlar cılızdı. Hemen fark ettim: SERP boştu, hacim vardı ama rekabet zayıftı.",[76,179,181],{"id":180},"camilerorg-domaini-ve-i̇lk-tetikleyici-gecemiz","camiler.org Domaini ve İlk Tetikleyici Gecemiz",[14,183,184],{},"Domain boştaydı: \"camiler.org\". Emre’ye söyledim, gazı bastık. Ama birkaç gün sonra yoğunluk, öncelikler, başka motivasyonlar derken... Emre doğal olarak biraz uzaklaştı. Sık sık domaini aldın mı, yapıyor muyuz şeklindeki sorularımda çok da oralı olmadı. Ben ise o ilk gecenin enerjisiyle yola devam ettim. Uzun zamandır proje geliştirmemiştim. Bu, pas atmak için iyi bir fırsattı. Üstelik kafamda bazı teknik fikirler de uçuşuyordu:",[22,186,187,190,193,196],{},[25,188,189],{},"Google sonuçlarında boşluk vardı.",[25,191,192],{},"Diyanet’in listesi eldeydi.",[25,194,195],{},"Google Maps API ile konumları çekebilir, görselleri alabilir, yorumları OpenAI ile derleyebilirdim.",[25,197,198],{},"SEO, içerik üretimi ve veri işleme açısından güzel bir test sahasıydı.",[76,200,202],{"id":201},"altyapı-ve-kod-tarafı","Altyapı ve Kod Tarafı",[14,204,205],{},"Backend’de Fastify kullandım. Nuxt 3 ile frontend’i ördüm. Cache için Redis devrede. Ama küçük sunucu kullanacağım için Redis verilerini sıkıştırarak sakladım—hafıza kullanımı bayağı azaldı, sadece hafif bir CPU maliyeti doğdu. MariaDB veritabanı işimi gördü. Dosya depolamada Cloudflare R2'yi seçtim, Free Tier şimdilik fazlasıyla yeterli.",[14,207,208,209,213,214,213,217,220],{},"SEO tarafında sayfa yapısını JSON-LD ile zenginleştirdim. URL yapısını şöyle kurguladım: ",[210,211,212],"code",{},"\u002Fistanbul",", ",[210,215,216],{},"\u002Fistanbul\u002Fmaltepe",[210,218,219],{},"\u002Fistanbul\u002Fmaltepe\u002Fabc-cami"," şeklinde. Google bunu seviyor, ben de onun sevmesini seviyorum.",[76,222,224],{"id":223},"openai-ile-i̇çerik-yola-giriş-yolda-öğreniş","OpenAI ile İçerik: Yola Giriş, Yolda Öğreniş",[14,226,227],{},"OpenAI API entegrasyonu başta büyüleyiciydi. Ama iş pratikte öyle kolay akmıyor. İlk prompt’lar fena değildi ama Google Haritalar'dan gelen yorumlar sınırlıydı. Genellikle 4-5 yorum geliyor ve çoğu zaman çok da işe yarar olmuyor. İçerik haliyle zayıflıyor.",[14,229,230],{},"İlk sürümler tam bir curcunaydı: Uyduruk bilgiler, süslü ama gerçek dışı cümleler... Prompt’ları zamanla revize ettim. Şimdi biraz daha sade, biraz daha gerçeğe yakın. Ama hâlâ gelişecek çok alan var.",[76,232,234],{"id":233},"gerçekle-yüzleşme-otomasyon-hayaldi","Gerçekle Yüzleşme: Otomasyon Hayaldi",[14,236,237],{},"Google Maps API her yerde çalışmıyor. Özellikle küçük yerleşimlerde camiler ya bulunmuyor ya da saçma sapan noktalara düşüyor. Diyanet verileri de yüzde yüz güvenilir değil. Aynı adres altında iki cami kayıtlı olabiliyor. Bazı bilgiler eksik, bazen tutarsız.",[14,239,240],{},"Görsel konusu da sancılı. Google Haritalar’da bazı camilerin hiç fotoğrafı yok. O zaman sistem ne getirirse o... Ve inanın, bazen öyle görseller geliyor ki camiyle uzaktan yakından ilgisi yok.",[14,242,243],{},"Bu yüzden bir onay sistemi yazdım. Konum doğruysa tek tıkla onaylıyorum. Değilse Google’da veya Yandex’te manuel arayıp doğru konumu giriyorum, görseli seçiyorum ve içerik metnini düzenliyorum. Başta her şey otomatik olacak sanmıştım ama şimdilik sistem yarı-manuel ilerliyor. Gerçek hayat işte...",[76,245,247],{"id":246},"yayın-süreci-hızlı-bir-tepki","Yayın Süreci: Hızlı Bir Tepki",[14,249,250],{},"Siteyi yayına aldım. Sitemap’leri gönderdim. Ve Google’dan ummadığım kadar hızlı bir dönüş geldi. İlk birkaç gün içinde yüzlerce sayfa indekslendi. Yayından itibaren yaklaşık 15-20 gün sonraki veriler:",[22,252,253,256],{},[25,254,255],{},"Günlük 2000 civarı gösterim",[25,257,258],{},"Ortalama 30 civarı tıklama",[14,260,261],{},"Hiç reklam vermedim. Sıfır backlink. Sadece temiz içerik ve doğru yapı.",[14,263,264],{},[265,266],"img",{"alt":267,"src":268},"","\u002Fimages\u002Fposts\u002F2025\u002F06\u002Fcamiler-org-gsc-results-1024x323.avif",[76,270,272],{"id":271},"bundan-sonra-ne-olur-bilmem-ama","Bundan Sonra Ne Olur Bilmem Ama...",[14,274,275],{},"Bazı fikirler var:",[22,277,278,281,284,287,290],{},[25,279,280],{},"Konum bazlı cami bulma",[25,282,283],{},"Onay sürecini kullanıcıya açma (oyunlaştırma)",[25,285,286],{},"Ziyaret ettiğim camiler listesi",[25,288,289],{},"Genç imamlar için giriş paneli (yasal çerçeveye göre)",[25,291,292],{},"Kullanıcı yorumları ve katkılar",[76,294,296],{"id":295},"peki-reklam","Peki Reklam?",[14,298,299],{},"Evet, bu da bir ihtimal:",[22,301,302,305,308,311],{},[25,303,304],{},"Her cami arayan kişi çok dindar olacak diye bir şey yok. Cenazeye gidecek kişi de giriyor siteye.",[25,306,307],{},"Ama ortalama bir dini hassasiyet var. Bu, reklam hedefleme için anlamlı bir segment.",[25,309,310],{},"Katılım bankaları, faizsiz konut çözümleri (Fuzul vb.), market zincirleri, muhafazakâr moda markaları...",[25,312,313],{},"Lokasyon bazlı reklam için de çok uygun. \"Adana Seyhan camileri\" sayfasında, yerel bir market reklamı göstermek mümkün.",[14,315,316,317,323],{},"Şimdilik gözlemdeyim. Proje daha yeni. Ama potansiyel var. ",[18,318,319],{},[34,320,44],{"href":36,"className":321,"rel":322,"target":43},[38],[40,41,42],", sakin ama kararlı bir adım. Belki küçük, ama anlamlı.",[73,325],{},[11,327,328],{},[14,329,330,331,334,335,339],{},"🎯 ",[18,332,333],{},"Güncelleme:"," Bu projenin 1 yıl sonraki acı tatlı retrospektifini, aylık 1 milyon gösterime ulaşıp nasıl 0 TL gelir ürettiğini okumak için ",[34,336,338],{"href":337},"\u002Ftr\u002Fayda-1-milyon-gosterim-sifir-gelir-programatik-seo-vaka-analizi","Ayda 1 Milyon Gösterim, Sıfır Gelir: Programatik SEO Vaka Analizi (Post-Mortem)"," yazıma göz atabilirsiniz.",{"title":267,"searchDepth":341,"depth":341,"links":342},2,[343],{"id":61,"depth":341,"text":62,"children":344},[345,347,348,349,350,351,352,353,354],{"id":78,"depth":346,"text":79},3,{"id":173,"depth":346,"text":174},{"id":180,"depth":346,"text":181},{"id":201,"depth":346,"text":202},{"id":223,"depth":346,"text":224},{"id":233,"depth":346,"text":234},{"id":246,"depth":346,"text":247},{"id":271,"depth":346,"text":272},{"id":295,"depth":346,"text":296},[356,357],"business","ai",null,"2025-06-05","Bir WordPress temasını çevirirken ortaya çıkan fikirle Google Haritalar, Diyanet verileri ve OpenAI API kullanarak hayata geçirdiğim camiler.org projesinin SEO deneyi.",false,"md","\u002Fimages\u002Fhero\u002Fcamiler-seo.avif","Geliştirme",{},true,"\u002Ftr\u002Fdusuk-rekabetli-serpte-api-tabanli-bir-seo-denemesi",5,{"title":6,"description":360},"dusuk-rekabetli-serpte-api-tabanli-bir-seo-denemesi","tr\u002Fdusuk-rekabetli-serpte-api-tabanli-bir-seo-denemesi",[373,374],"seo","projelerim","camiler-seo","post","2026-06-21","WdpdQYWn8SBczq_6xLsk0kSAoNGK7Yp5YyjXhJV8a80",{"path":380},"\u002Fan-seo-experiment-in-a-low-competition-serp-with-google-maps-and-openai",{"prev":382,"next":385,"others":388,"lucky":410,"readingTime":368},{"path":383,"title":384},"\u002Ftr\u002Fkurallardan-kararlara-vanityde-gercek-zamanli-karar-destek-ve-satis-yonetim-platformu","Kurallardan Kararlara: Vanity’de Gerçek Zamanlı Karar Destek ve Satış Yönetim Platformu",{"path":386,"title":387},"\u002Ftr\u002Fgsc-verilerinden-anlam-cikarmak-rankextension-yolculugunun-ilk-adimi","GSC Verilerinden Anlam Çıkarmak: RankExtension Yolculuğunun İlk Adımı",[389,390,393,396,399,402,405,408,409],{"path":337,"title":338},{"path":391,"title":392},"\u002Ftr\u002Fyazilimciligin-sonu-mu-geldi-yapay-zeka-ile-bir-ronesans-yasaniyor","Yazılımcılığın Sonu mu Geldi? Yapay zeka ile bir rönesans yaşanıyor.",{"path":394,"title":395},"\u002Ftr\u002Fyapay-zeka-caginda-cocuk-yetistirmek","Yapay Zeka Çağında Çocuk Yetiştirmek",{"path":397,"title":398},"\u002Ftr\u002Fpesintaksit-pesin-mi-taksit-mi-gercek-maliyet-hesaplama-ve-finansal-farkindalik-araci","Peşin mi, Taksit mi? – PeşinTaksit’in Ortaya Çıkış Hikayesi",{"path":400,"title":401},"\u002Ftr\u002Fredar-kap-bildirimleri-icin-yapay-zeka-destekli-ozet-ve-uyari-sistemi","Redar: KAP Bildirimleri İçin Yapay Zeka Destekli Özet ve Uyarı Sistemi",{"path":403,"title":404},"\u002Ftr\u002Fchatbot-gelistirmek-sandiginiz-kadar-basit-degil-gercek-bir-deneyimden-ogrendiklerim","Chatbot geliştirmek sanıldığı kadar basit değil: gerçek bir deneyimden öğrendiklerim",{"path":406,"title":407},"\u002Ftr\u002Fcloudflare-docker-ve-acik-kaynak-araclarla-bir-altyapi-kurmak-camiler-orgun-teknik-hikayesi","Cloudflare, Docker ve Açık Kaynak Araçlarla Bir Altyapı Kurmak: Camiler.org'un Teknik Hikayesi",{"path":383,"title":384},{"path":386,"title":387},{"path":406,"title":407},[412,413],{"path":337,"title":338,"date":377},{"path":386,"title":387,"date":359},[415,417,419],{"path":394,"title":395,"date":416},"2025-11-14",{"path":403,"title":404,"date":418},"2025-07-13",{"path":406,"title":407,"date":420},"2025-07-02",1782141960958]