Göndermeden önce doldurun
[sunucu adı][işletme adı][tesisatçı / çilingir / klima servisi / diğer][Business Profile adı][hizmetler][ilçeler][atölye konumu][telefon][WhatsApp][adres ya da "adresimi göstermiyorum"][saatler][alan adı]
Hosting sunucumda [sunucu adı] işletmem için sıfırdan bir site kur. Bilgiler:
1. İşletme adı: [işletme adı], sektör: [tesisatçı / çilingir / klima servisi / diğer]
2. Business Profile'daki işletme adı ya da alan adı: [Business Profile adı]
3. Hizmetler (her biri ayrı sayfa olacak): [hizmetler]
4. Hizmet verdiğim ilçeler ve atölyemin bulunduğu yer: [ilçeler], [atölye konumu]
5. Telefon: [telefon], WhatsApp: [WhatsApp], adres: [adres ya da "adresimi göstermiyorum"], çalışma saatleri: [saatler]
6. Alan adı: [alan adı], renk tercihi: [renk tercihi], gerçek fotoğraflar: [fotoğrafların yeri ya da "yok"]
7. Yapmadığım işler: [yapılmayan işler]
Önce gbp_location_details ile [Business Profile adı] kaydını oku. Ad, telefon, adres, web sitesi, çalışma saatleri, birincil kategori, hizmetler ve harita bağlantısını benim verdiğim bilgilerle bir tabloda karşılaştır. Fark varsa hangisinin doğru olduğunu bana sor; Business Profile'da hiçbir şeyi değiştirme. Sitede ad, adres ve telefonu Business Profile'daki yazımla birebir aynı kullan. Kayıtta adres gizliyse sitede sokak adresi gösterme, yalnız hizmet bölgelerini yaz. Koordinatı yalnız kayıttaki harita pininden al, tahmin etme. Şemadaki LocalBusiness alt türünü birincil kategoriye göre seç (Plumber, Locksmith, HVACBusiness, Electrician gibi).
Sonra list_servers ile sunucuyu doğrula, scaffold_site'ı style="service" ile önce confirm=false çağırıp neyin üzerine yazılacağını göster, onayımla confirm=true çalıştır. site_design_guide ve site_seo_guide'ı oku. Koda başlamadan _kaynak/ART.md dosyasına tasarım kararını yaz ve bana göster: İsviçre-minimal bir düzen, Fontshare'den bir kalın grotesk başlık fontu (örneğin Cabinet Grotesk 800) ile sade bir gövde fontu (örneğin General Sans 400 ve 600), kırık beyaz zemin, koyu lacivert metin, beyaz yazıyla en az 4,5:1 kontrast veren tek bir sinyal rengi ve ayrı bir WhatsApp yeşili. İmza öğesi mobilde ekranın altına sabitlenmiş iki büyük düğme olsun: "Hemen ara" ve "WhatsApp yaz".
Sayfalar ve şema:
1. Ana sayfa: ilk ekranda ne yaptığın ve hangi ilçelere gittiğin tek cümlede, arama ve WhatsApp düğmeleri, çalışma saatleri. Sonra hizmet kartları, ilçe kartları, "bir çağrı nasıl ilerler" adımları ve 4 soruluk SSS. Şema: WebPage, FAQPage.
2. Hizmetler sayfası ve her hizmet için ayrı sayfa: ilk paragraf "ne yapıyoruz ve nasıl" sorusuna doğrudan cevap versin; belirtiler, yerinde yapılan adımlar, ne zaman acil olduğu, fiyatın nasıl belirlendiği (rakam uydurmadan), sayfaya özgü 3 SSS, yazan kişi ve tarih. Şema: Service (provider olarak #business, areaServed olarak ilçeler), FAQPage.
3. Her ilçe için bir bölge sayfası. Bunlar şehir adı değiştirilmiş kopya sayfalar OLMAYACAK. Her birinde o ilçenin mahalle adları, oradaki bina tipine göre en sık karşılaştığın arızalar (her ilçede farklı satırlardan oluşan bir tablo), ulaşım ve park notu, atölyeye uzaklık, o ilçeye özgü iki SSS ve diğer bölgelere bağlantı bulunsun. En az 300 kelime özgün metin yaz; seo-check'in kopya içerik taraması iki bölge sayfası arasında yüzde 50'yi geçerse metni yeniden yaz. Gerçekten hizmet vermediğim bir ilçe için sayfa açma. Şema: AdministrativeArea (containedInPlace ile il, containsPlace ile mahalleler), Service, FAQPage.
4. Hakkımızda: kim, nasıl çalışıyor, hangi ekipmanla, hangi işleri yapmıyor. Şema: AboutPage ve gerçek bir isim verdiysem Person.
5. İletişim: NAP, saatler, "Yol tarifi al" bağlantısı ve WhatsApp formu. Şema: ContactPage, mainEntity #business.
6. KVKK aydınlatma metni ve 404 sayfası.
Uydurma yasağı: gerçek olmayan yorum, puan, ödül, sertifika, müşteri sayısı ya da "en iyi" gibi bir iddia yazma. Vermediğim çalışma saatini, koordinatı, fiyatı ya da e-postayı şemaya ve metne ekleme; o alanı boş bırak ve raporda eksik olarak listele. Metinde uzun tire kullanma, klişe slogan yazma, her sayfanın ilk paragrafı sayfanın sorusuna doğrudan cevap versin.
Ortak SEO işleri: her sayfada 48 ile 60 karakter arası özgün başlık, 145 ile 158 karakter arası açıklama, tek H1 ve sonu eğik çizgili canonical olsun. Her sayfaya kendi WebPage düğümünü ve BreadcrumbList'i, temel grafiğe @id ile bağlanacak biçimde ekle. robots.txt dosyasında Googlebot, Bingbot, OAI-SearchBot, ChatGPT-User, GPTBot, Claude-SearchBot, Claude-User, ClaudeBot, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended ve CCBot için Allow: / yaz, kararı yorum satırında gerekçelendir ve eğitim amaçlı tarayıcıları kapatmak istersem neyi değiştireceğimi not et. sitemap.xml gerçek lastmod tarihleriyle olsun. llms.txt dosyası işletmeyi iki cümlede doğru anlatsın, NAP'ı ve önemli sayfaları bağlantılarıyla listelesin.
Teknik kurulum (kitin varsayılan yolu bu sitede kullanılmayacak, nedenleriyle):
1. Tailwind'i derle, CDN'i kaldır. Kit Tailwind'i tarayıcıda derleyen Play CDN ile yükler; bu konsola uyarı basar ve mobil performansı düşürür. site_write_file ile _kaynak/package.json yaz, site_run_command("cd _kaynak && npm i -D tailwindcss@3 html-validate", background=true) ile kur ve site_command_status ile bitişini bekle. _kaynak/tailwind.config.js içinde content olarak "./*.html", "./**/*.html", "!./_kaynak/**" ve "./_kaynak/chrome.mjs" ver. _kaynak/site.css dosyasına @font-face kurallarını, @tailwind satırlarını ve kitin app.css dosyasındaki odak halkası, "İçeriğe geç" bağlantısı ve yatay taşma korumasını taşı. Çıktıyı assets/app.css adıyla üret, çünkü design-check.mjs fontları bu dosyada arar; sayfalardaki bağlantıya ?v=<içerik özeti> ekle ki kenar önbelleği eski dosyayı göstermesin.
2. Fontları kendi sunucunda barındır. Seçtiğin Fontshare ailelerinin CSS adresini (api.fontshare.com/v2/css?f[]=...) site_read_url ile oku, içindeki woff2 dosyalarını site_fetch ile assets/fonts/ altına indir, @font-face ile font-display: swap kullanarak tanımla. İlk ekranda görünen her ağırlığı <link rel="preload" as="font" type="font/woff2" crossorigin> ile önceden yükle, en fazla üç dosya. Bunu yapmazsan font değişimi düzeni kaydırır; demoda masaüstü CLS bu yüzden 0,078 çıktı ve ön yükleme ile 0'a indi.
3. Menüyü ve alt bilgiyi statik HTML yap. Kitin <site-nav> ve <site-footer> bileşenleri JavaScript ile çalışır ve yapay zeka tarayıcılarının çoğu menüyü, adresi ve telefonu göremez. chrome.js ve motion.js betiklerini sayfalardan kaldır. _kaynak/chrome.mjs içinde assets/site.config.js verisinden header ve footer HTML'i üreten iki fonksiyon yaz; mobil menüyü JavaScript'siz <details> ve <summary> ile kur, etkin sayfaya aria-current="page" ver. Site kökünde build.mjs yaz ve sırasıyla şunları yapsın: node seo-stamp.mjs çalıştır, her sayfada <!-- chrome:header:start --> ile <!-- chrome:header:end --> (ve footer için aynısı) arasını yeniden bas, Tailwind'i derle, CSS bağlantısındaki özeti güncelle. Her değişiklikten sonra yalnız site_run_command("node build.mjs") çalıştır.
4. Hareket yok. Bu sitede GSAP, Lenis, Swiper ve hiçbir animasyon betiği yüklenmeyecek; ziyaretçi telefonda hızlıca aramak ya da yazmak için geliyor.
5. Görselleri küçült. Her fotoğrafı site_fetch ile resize="480x", "800x", "1200x", "1600x" ve image_format="webp", quality 60 ile 68 arası değerlerle ayrı dosyalara indir. Her <img> için srcset, sizes, gerçek orana uyan width ve height ver; görseli kırpacaksan aspect-[4/3] gibi bir oran sınıfı ve object-cover ekle, yoksa görsel yüklenince düzen kayar. İlk ekrandaki görsel fetchpriority="high" olsun ve lazy olmasın, diğerleri loading="lazy". Paylaşım görselini site_fetch ile 1200x630 JPG olarak indir.
6. Küçük ama puan düşüren ayrıntılar: <link rel="icon"> ile bir SVG favicon ver (yoksa tarayıcı /favicon.ico ister, 404 konsol hatası olur ve En İyi Uygulamalar puanı düşer). DOCTYPE'ı büyük harfle yaz, style niteliği kullanma, satır sonunda boşluk bırakma. Telefon bağlantısının görünen metninde boşluk yerine kullan (html-validate tel-non-breaking kuralı). Menü, alt bilgi, kırıntı ve başlık içindeki bağlantılar en az 44 piksel yükseklik ve genişlikte olsun. Harita için Google Maps iframe gömme; site dışa istek yapmasın, onun yerine adres ve "Yol tarifi al" bağlantısı koy.
7. Siteden hiçbir dış adrese istek gitmesin: font, betik, stil ve görsel kendi sunucunda olsun. Form işleyici olmadığı için iletişim formu method="get" ile https://wa.me/[WhatsApp numarası] adresine giden ve name="text" olan hazır mesajlı bir textarea olsun; JavaScript gerekmez.
Kapılar (sırayla, hepsi geçmeden "bitti" deme):
1. site_run_command ile node build.mjs, ardından node seo-check.mjs: 0 hata, 0 uyarı. Kopya içerik uyarısı çıkarsa iki sayfanın metni yeterince farklı değildir, yeniden yaz.
2. node design-check.mjs: 0 hata. Hareketsiz bir tarz seçtiysen "Hiç hareket yok" uyarısını bilinçli karar olarak raporda gerekçesiyle yaz.
3. _kaynak/node_modules/.bin/html-validate ile bütün HTML dosyaları: 0 hata. Site kökünde .htmlvalidateignore dosyasına _kaynak/ satırını yaz ki bağımlılıklar taranmasın.
4. NAP kontrolü: sitedeki ad, adres ve telefonun gbp_location_details çıktısıyla harfi harfine aynı olduğunu tabloyla göster.
5. Her sayfayı site_preview ile view="mobile", view="desktop", ayrıca 360 ve 768 genişlikte gör. Yatay kaydırma, taşan başlık, sıkışık buton ya da okunmayan metin varsa düzelt ve tekrar bak.
6. Her sayfa için core_web_vitals ile strategy="mobile" ve strategy="desktop" ölç; seo_audit ile erişilebilirlik, en iyi uygulamalar ve SEO puanlarını al. Hedef mobilde erişilebilirlik, en iyi uygulamalar ve SEO 100, performans en az 95; masaüstünde dördü de en az 95. Tutmayan sayfada core_web_vitals'ı resources=true ile çalıştır, LCP öğesini ve fazla büyük görseli bul, düzelt, seo_audit'i runs=2 ile tekrarla, çünkü tek ölçüm dalgalanabilir.
7. Ağ isteklerinde sitenin kendi alan adı dışında hiçbir adres olmamalı.
Yayından sonra: sitemap.xml'i gsc_submit_sitemap ile gönder, gsc_inspect_urls ile ana sayfayı ve en önemli üç sayfayı kontrol et. Hiçbir araç "Dizine Eklenmesini İste" düğmesine basamaz; bunu Search Console'dan elle yapmam gerekenleri listele.
Sonunda bana şu raporu ver: sayfa listesi ve her sayfanın mobil ve masaüstü puanları tablo halinde (performans, erişilebilirlik, en iyi uygulamalar, SEO, LCP, CLS), her kapının sonucu, yaptığın düzeltmeler ve benden beklediğin eksik bilgiler. Bir ölçüt tutmadıysa bunu açıkça yaz, "tamam" deme.