Göndermeden önce doldurun
[site adresi][hedef kitle, örneğin yabancı turistler][marka adı, ürün adları, yer adları][Türkçe ya da İngilizce]["tr-TR", "en"][Search Console mülkü]
Opus Growth sunucumdaki sitem [site adresi] şu an yalnız Türkçe. İngilizce sürümünü eklemeni ve iki dili arama motorlarının ve yapay zeka asistanlarının doğru eşleştireceği şekilde kurmanı istiyorum. İngilizce sürümün hedef kitlesi: [hedef kitle, örneğin yabancı turistler]. Çevrilmeyecek adlar: [marka adı, ürün adları, yer adları]. Yabancı ziyaretçinin varsayılan olarak göreceği dil (x-default): [Türkçe ya da İngilizce].
1. Durumu çıkar. site_seo_guide'ı oku, site_list_files ile sayfaları listele ve site_versions ile geri dönüş sürümünü not et. Her Türkçe sayfa için İngilizce adres öner ve eşleme tablosunu göster: Türkçe kökte kalır (/, /hizmetler/), İngilizce /en/ altına gider (/en/, /en/services/). Adresleri İngilizce kelimelerle, küçük harfle, sonu slash'lı dizin olarak yaz. Mevcut Türkçe adresleri değiştirme; değişmek zorundaysa site_redirects ile 301 ver. Onayımı bekle.
2. Çeviri. Her sayfayı cümle cümle değil anlam olarak, hedef kitleye doğal gelen İngilizceyle yaz. Telefon, adres, fiyat ve saat gibi verileri birebir koru, yeni iddia ekleme. Başlık 50 ile 60, açıklama 140 ile 160 karakter, her dilde benzersiz. Bölüm sayısı iki dilde aynı olsun. Her İngilizce sayfada `<html lang="en">` ve ilk paragrafta soruya doğrudan cevap olsun.
3. Yapılandırma. assets/site.config.js'e `locales.en` bloğu ekle: prefix "/en/", hreflang "en", ogLocale "en_US", İngilizce işletme açıklaması, İngilizce menü, çağrı düğmesi, alt bilgi notu ve arayüz metinleri (içeriğe geç, menü, sayfalar, iletişim). `i18n` bloğuna kök dili, x-default dilini, Türkçe ve İngilizce adres çiftlerini, çevrilmeyen kelimeleri (keepWords) ve terim sözlüğünü (glossary) yaz.
4. i18n-stamp.mjs betiğini yaz ve site köküne koy. Görevleri:
1. Her sayfaya `<!-- i18n:start -->` ve `<!-- i18n:end -->` arasında mutlak adresli `<link rel="alternate" hreflang="tr-TR">`, `hreflang="en"` ve `hreflang="x-default"` etiketlerini bassın.
2. seo-stamp.mjs'in bastığı bloğun içinde İngilizce sayfalarda og:locale değerini en_US yapsın, iki dilde de karşı dili og:locale:alternate olarak eklesin, WebSite düğümünün inLanguage değerini ["tr-TR", "en"] yapsın ve İngilizce sayfalarda işletme düğümünün açıklamasını İngilizce açıklamayla değiştirsin.
3. sitemap-tr.xml ve sitemap-en.xml dosyalarını her adres için xhtml:link alternatifleriyle ve dosyanın gerçek değişiklik tarihini lastmod olarak üretsin, sitemap.xml'i bu ikisini gösteren bir sitemapindex yapsın.
4. Çeviri denetimi yapsın ve hata varsa sıfırdan farklı kodla çıksın: çifti olmayan sayfa, html lang ile klasörün uyuşmaması, iki dilde farklı telefon ya da uzun sayı; uyarı olarak iki dilde farklı h2, h3, görsel ve SSS sayısı, İngilizce metinde keepWords dışında Türkçe karakterli kelime ve sözlük terimlerinin kullanılmaması.
Her sayfanın kendi WebPage düğümünde inLanguage olarak o sayfanın dili yazsın. seo-check.mjs yalnız kök ana sayfayı BreadcrumbList zorunluluğundan muaf tutar; /en/ ana sayfasına tek öğeli bir BreadcrumbList ekle.
5. Dil değiştirici. Menüyü ve alt bilgiyi statik basan chrome-stamp.mjs betiği, /en/ altındaki sayfalara locales.en menüsünü ve arayüz metinlerini versin; dil değiştiriciyi sayfanın hreflang etiketlerinden üretsin, böylece her sayfa karşı dildeki KENDİ çiftine link versin, ana sayfaya değil. Her dil linkinde hreflang ve lang nitelikleri olsun, dokunma hedefi en az 44 piksel olsun. Dil seçimini tarayıcı diline göre otomatik yönlendirmeyle yapma.
6. llms.txt. Kökte Türkçe /llms.txt, /en/llms.txt altında İngilizce sürüm yaz; ikisi de sitenin kısa ve doğru özetini, kendi dilindeki sayfaların listesini ve iletişim bilgisini versin ve birbirine link versin. robots.txt yapay zeka tarayıcılarına açık kalsın ve yalnız sitemap.xml dizinini göstersin.
7. Çalıştırma sırası, her düzenlemeden sonra: `node seo-stamp.mjs`, `node i18n-stamp.mjs`, `node chrome-stamp.mjs`, Tailwind derlemesi, sonra `node seo-check.mjs`, `node design-check.mjs`, `npx --yes html-validate "**/*.html"`. seo-stamp her çalıştığında kendi bloğunu yeniden yazdığı için i18n-stamp HER seferinde ondan sonra çalışmalı. Site henüz Tailwind Play CDN ve dış fontlarla çalışıyorsa önce onları derlenmiş CSS'e ve kendi sunucundaki fontlara çevir.
8. Ölç. Her iki dildeki her sayfa için core_web_vitals mobile ve desktop; ana sayfanın iki sürümü için seo_audit. site_preview ile Türkçe ve İngilizce ana sayfayı 360, 390, 768 ve 1440 piksel genişlikte aç; İngilizce başlıklar genelde daha uzun olduğu için taşmaya özellikle bak. Ölçüt: mobil performans en az 95, diğer üç puan 100; seo-check, i18n-stamp ve html-validate sıfır hata.
9. Yayın sonrası. site_read_url ile /en/ ana sayfasında hreflang etiketlerini ve dil değiştiriciyi doğrula. Search Console mülküm [Search Console mülkü] ise gsc_submit_sitemap ile sitemap.xml'i gönder ve gsc_url_inspect ile /en/ ana sayfasını kontrol et.
Çıktı: Türkçe ve İngilizce adres eşleme tablosu, sayfa ve dil başına puan tablosu, i18n-stamp denetim çıktısı, kalan çeviri uyarıları ve benim gözden geçirmem gereken cümlelerin listesi.
Örnek sonuç
Bu promptun vereceği çıktının bir örneğidir. Yapısı araçların gerçek çıktısına dayanır, rakamlar ve adlar kurgusaldır.
Örnek çıktı (kurgusal bir demo sitesi üzerinden; site kurgusal, puanlar bu demoda gerçekten ölçülmüştür)
Liman Taş Ev adlı kurgusal bir pansiyon sitesi Türkçe kökte ve İngilizce /en/ altında, x-default İngilizce olacak şekilde kuruldu.
| Türkçe | İngilizce |
|---|
| / | /en/ |
| /odalar/ | /en/rooms/ |
| /konum/ | /en/location/ |
| /iletisim/ | /en/contact/ |
| Sayfa | Mobil | Masaüstü | LCP mobil |
|---|
| / | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 2,0 sn |
| /odalar/ | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1,9 sn |
| /konum/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1,5 sn |
| /iletisim/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1,5 sn |
| /en/ | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 2,0 sn |
| /en/rooms/ | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1,9 sn |
| /en/location/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1,5 sn |
| /en/contact/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1,5 sn |
i18n-stamp çıktısı: 8 sayfa, 2 dil, sitemap.xml dizini ile sitemap-tr.xml ve sitemap-en.xml, HATA 0, UYARI 0. İlk çalıştırmada üç İngilizce sayfada "Ayvalık", "Türkiye" ve "Balıkesir" Türkçe karakter uyarısı verdi; bunlar keepWords listesine eklendi, çünkü yer adları İngilizcede de Türkçe yazımıyla kalır.
Kapılar: seo-check 0 hata 0 uyarı, html-validate 0 hata, design-check 0 hata ve 1 uyarı (hareket yok, tarz gereği), 360 ile 1440 piksel arasında taşma yok. Gözden geçirmeniz gereken: iptal koşulları cümlesinin İngilizcesi, çünkü hukuki bağlayıcılığı olan bir metin.