Teknik SEO rehberi
Teknik SEO nedir? Tarama, dizinleme ve site hızı için kontrol listesi
Teknik SEO, arama motorlarının ve yapay zekâ botlarının sitenizi tarayabilmesi, anlayabilmesi ve dizine ekleyebilmesi için yapılan altyapı çalışmasıdır. Google'a göre bir sayfanın aramada çıkabilmesinin temel şartları; tarayıcıya açık olması, HTTP 200 dönmesi ve dizinlenebilir içerik taşımasıdır. Yadem Reklam olarak her maddeyi Google'ın güncel belgelerine dayandırarak anlatıyoruz.

Sayfanın Googlebot'a açık olması, HTTP 200 dönmesi ve metin içeriğinin dizinlenebilir olması. Google bu üç koşulu teknik gereksinim olarak sayıyor.
Google'a göre LCP 2,5 saniye içinde, INP 200 milisaniyenin altında, CLS 0,1'in altında olmalı. web.dev ölçümü sayfa yüklemelerinin 75. yüzdelik diliminde, mobil ve masaüstü ayrı yapmayı öneriyor.
Hayır. robots.txt tarama trafiğini yönetir; sayfayı aramadan uzak tutmak için noindex ya da parola koruması gerekir.
Hayır. Yaklaşık 500 sayfa ve altındaki, iyi bağlantılanmış küçük sitelerde şart değil; yeni ve büyük sitelerde faydalıdır.
Teknik SEO nedir ve neleri kapsar?
Teknik SEO, sitenizin arama motorları tarafından bulunmasını, taranmasını, işlenmesini ve dizine eklenmesini engelleyen sorunları gideren altyapı çalışmasıdır; içerik yazımından ayrı, ama onun ön koşuludur.
Kapsamı altı başlıkta toplayabiliriz: tarama erişimi (robots.txt, güvenlik katmanı), dizinleme kontrolü (noindex, kanonik, sitemap), sunucu yanıtları (HTTP kodları, yönlendirmeler), mobil uyum, sayfa deneyimi (Core Web Vitals) ve JavaScript ile oluşan içeriğin işlenmesi. Googlebot’un giremediği ya da dizine ekleyemediği sayfa, içeriği ne kadar iyi olursa olsun aramada çıkmaz. İçerik tarafı için SEO uyumlu içerik yazımı rehberine bakın.
Bir sayfanın Google'da çıkması için asgari teknik koşullar nelerdir?
Google üç teknik koşul sayıyor: sayfa herkese açık olmalı ve Googlebot’u engellememeli, HTTP 200 (başarılı) durum kodu dönmeli, Google’ın desteklediği türde ve spam politikalarını ihlal etmeyen metin içeriği taşımalı.
Üçünü karşılamak sayfanın dizine ekleneceğini kesinleştirmez, yalnızca uygun hale getirir. Giriş gerektiren sayfalar taranmaz. Bir sayfanın durumunu Search Console’daki URL Denetleme aracıyla ya da site: operatörüyle kontrol edebilirsiniz.
robots.txt nasıl kullanılır?
robots.txt, arama motoru tarayıcılarının sitenizdeki hangi URL’lere erişebileceğini bildiren ve esas olarak sunucunuzu aşırı isteklerden korumak için kullanılan bir dosyadır; bir sayfayı Google’dan gizleme aracı değildir.
Bir sayfayı Google’dan uzak tutmak istiyorsanız noindex kullanın ya da sayfayı parolayla koruyun. robots.txt ile engellenen bir URL arama sonuçlarında açıklamasız da olsa görünebilir; engellediğiniz sayfaya koyduğunuz noindex ise Googlebot sayfayı tarayamadığı için görülmez ve yok sayılır. Sayfanın anlaşılması için gereken görsel, betik ve stil dosyalarını da engellemeyin.
Basit bir örnek:
User-agent: *
Disallow: /admin/
Sitemap: https://ornek.com/sitemap.xml
Yapay zekâ botlarının her biri kendi kullanıcı aracısı adıyla yönetilir; arama ve eğitim botları ayrı ayarlardır. Tam liste ve ne işe yaradıkları: GEO rehberindeki bot tablosu.
Sitemap (site haritası) nasıl hazırlanır?
Sitemap, sitenizdeki önemli sayfaları, görselleri ve videoları arama motorlarına bildiren bir dosyadır; gönderilmesi sayfaların taranacağını ya da dizine ekleneceğini kesinleştirmez.
- Gerekli mi? Yaklaşık 500 sayfa ve altındaki, ana sayfadan iyi bağlantılanmış küçük sitelerde şart değil. Büyük, yeni ya da zengin medya içeren sitelerde faydalı.
- Biçim ve sınır: XML, RSS/Atom ya da metin dosyası olabilir. Tek dosya en fazla 50 MB (sıkıştırılmamış) ya da 50.000 URL içerir; aşarsanız birden fazla sitemap ve bir sitemap dizin dosyası kullanın.
- İçerik: UTF-8 yazın, tam nitelikli mutlak URL kullanın; yalnızca arama sonuçlarında görünmesini istediğiniz kanonik URL’leri ekleyin.
- Etiketler: Google priority ve changefreq değerlerini yok sayar. lastmod yalnızca tutarlı ve doğrulanabilir biçimde doğruysa dikkate alınır; küçük değişikliklerde güncellemeyin.
- Gönderim: Search Console’un Sitemaps raporundan gönderin ya da robots.txt dosyasına bir Sitemap satırı ekleyin.
Kanonik URL ve yönlendirmeler nasıl yönetilir?
Kanonik URL, birbirine benzeyen ya da aynı olan sayfalar arasında Google’ın göstermesini istediğiniz tercih edilen adrestir; bunu yönlendirme, rel=”canonical” etiketi ve sitemap ile bildirirsiniz.
| Yöntem | Sinyal gücü | Not |
|---|---|---|
| 301 / 308 yönlendirme | Güçlü | Hedef adresin kanonik olması gerektiğini söyler; eski kopyaları kaldırırken kullanın |
| rel=”canonical” etiketi | Güçlü | Kopya sayfaların head bölümüne, kanonik sayfaya da (öz-referans) eklenir; mutlak URL kullanın |
| Sitemap’e ekleme | Zayıf | Sitemap’teki URL’ler kanonik aday sayılır; hangisinin kopya olduğuna Google karar verir |
Dikkat edilecek noktalar: robots.txt ile kanonikleştirme yapmayın, aynı sayfa için farklı yöntemlerde farklı URL’ler vermeyin, site içi bağlantıları her zaman kanonik URL’ye verin, JavaScript kullanıyorsanız kanonik etiketi HTML kaynağında da belirtin. Google HTTPS sürümünü HTTP’ye tercih eder; ama geçersiz sertifika ya da HTTPS’ten HTTP’ye yönlendirme bu tercihi bozabilir. Kanonik bir sinyaldir, emir değil: Google farklı bir URL seçebilir.
HTTP durum kodları Google'a ne söyler?
HTTP durum kodları, Google’a sayfanın başarıyla verildiğini, taşındığını, bulunmadığını ya da sunucunun zorlandığını söyler ve Google bunlara göre taramayı ve dizini düzenler.
| Kod | Google’ın davranışı |
|---|---|
| 2xx | İçerik işlenmeye alınır; ama 2xx dizinleneceğini kesinleştirmez. Boş ya da hata içeren sayfa 2xx dönerse Search Console “soft 404” gösterir. |
| 301, 308 | Yönlendirme güçlü sinyal sayılır. Google varsayılan olarak en fazla 10 yönlendirme atlamasını izler. |
| 302, 307 | Daha zayıf sinyal; geçici yönlendirmelerde kullanın. |
| 4xx (404, 410 vb.) | İçerik kullanılmaz; dizindeki URL’ler zamanla kaldırılır. 401 ve 403’ü tarama hızını sınırlamak için kullanmayın. |
| 429, 5xx | Google taramayı geçici olarak yavaşlatır; sürekli hata veren URL’ler dizinden kaldırılır. |
Core Web Vitals ve site hızı nedir?
Core Web Vitals, Google’ın sayfa deneyimini ölçtüğü üç metriktir: LCP yükleme hızını, INP etkileşime yanıt süresini, CLS görsel kararlılığı ölçer.
| Metrik | Ne ölçer | İyi eşik |
|---|---|---|
| LCP (Largest Contentful Paint) | En büyük içerik öğesinin görünme süresi | Yükleme başladıktan sonra 2,5 saniye içinde |
| INP (Interaction to Next Paint) | Etkileşime verilen yanıt süresi | 200 milisaniyenin altında |
| CLS (Cumulative Layout Shift) | Sayfa yüklenirken öğelerin kayması | 0,1’in altında |
web.dev, eşiklerin sayfa yüklemelerinin 75. yüzdelik diliminde, mobil ve masaüstü ayrı ayrı değerlendirilmesini öneriyor. Gerçek kullanıcılardan gelen saha verisi tam resmi verir; Lighthouse gibi laboratuvar araçları INP’yi ölçemez, onun yerine TBT’yi kullanır. Saha verisini Search Console’daki Core Web Vitals raporunda ve PageSpeed Insights’ta görürsünüz. Google iyi değerleri Arama’da başarı için önemle öneriyor.
Pratikte en çok işe yarayanlar: görselleri boyutlandırıp sıkıştırmak, görsel ve reklam alanlarına yer ayırmak, gereksiz betikleri kaldırmak ve ana içeriği kullanıcı etkileşimini bekleyen tembel yüklemeye bırakmamak.
Mobil öncelikli dizinleme ne demek?
Mobil öncelikli dizinleme, Google’ın sitenizin mobil sürümünü dizinleme ve sıralama için esas almasıdır; bu yüzden mobil sürüm masaüstüyle aynı içeriği taşımalıdır.
- Google en kolay uygulanır ve sürdürülür olduğu için duyarlı (responsive) tasarımı öneriyor.
- Mobil sitede masaüstüyle aynı ana içerik, başlık ve meta açıklama, yapılandırılmış veri ve görsel alt metinleri bulunmalı. Yer kazanmak için içerik silmeyin; akordeon ya da sekmeye taşıyın.
- Ana içeriği kullanıcı etkileşimiyle tembel yüklemeyin; Google göremeyebilir.
- Google’ın kaynaklara erişmesine izin verin, robots.txt’te engellemeyin.
JavaScript ve render sorunları nasıl önlenir?
Google, JavaScript ile oluşturulan sayfaları tarama, işleme (render) ve dizinleme olmak üzere üç aşamada ele alır; yalnızca işlenmiş HTML’de görünen içerik dizinlenir.
- robots.txt ile engellenen sayfalarda ve dosyalarda JavaScript işlenmez.
- Bağlantılar href özniteliği olan a öğeleri olmalı; Google başka biçimlerdeki bağlantıları keşfedemez. Yönlendirmede # yerine History API kullanın.
- Tek sayfa uygulamalarında hata sayfaları gerçekten 404 dönsün ya da noindex taşısın; yoksa “soft 404” oluşur.
- noindex ya da kanonik gibi kuralları JavaScript ile eklemek ya da değiştirmek beklenmedik sonuçlar doğurabilir; HTML kaynağında verin.
- Tüm botlar JavaScript çalıştırmadığı ve sayfa hızına da yardım ettiği için sunucu tarafı render öneriliyor.
Render edilmiş HTML’i Search Console URL Denetleme aracı ya da Rich Results Test ile kontrol edin.
Googlebot'un dosya boyutu sınırı var mı?
Evet; Google Arama için Googlebot, desteklenen dosya türlerinde ilk 2 MB’ı, PDF dosyalarında ilk 64 MB’ı tarar, sınıra ulaşınca taramayı durdurur ve yalnızca o ana kadar inen kısmı dizinleme için gönderir.
Bu yüzden sayfa kaynağını gereksiz yere şişirmeyin ve ana içeriği kaynağın başlarında tutun.
Yapay zekâ botları için teknik hazırlık nasıl yapılır?
Yapay zekâ botları için teknik hazırlık, robots.txt kurallarını bot bazında düzenlemek, güvenlik katmanının arama botlarını düşürmediğini doğrulamak ve ziyaretleri kayıtlardan izlemektir.
- Arama botlarına (OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot) izin verin; eğitim botları (GPTBot, ClaudeBot, Google-Extended) ayrı bir tercihtir.
- OpenAI yayımladığı IP aralıklarına izin verilmesini, Perplexity ise güvenlik duvarı kullanan sitelerin botlarını açıkça izin listesine eklemesini öneriyor.
- Sunucu kayıtlarında bu botların 200 mü 403 mü aldığına bakın.
- robots.txt değişikliklerinin yansıması OpenAI ve Perplexity’ye göre yaklaşık 24 saat sürebilir.
Ayrıntı: ChatGPT SEO rehberi. llms.txt isteğe bağlı bir ektir ve Google Arama onu yok sayar: llms.txt nedir.
Teknik SEO kontrol listesi nasıl olmalı?
Teknik SEO kontrol listesi, erişimden hıza kadar her katmanı bir kez gözden geçirmek ve değişiklik sonrası yinelemek için kullanılan kısa bir tablodur.
| Kontrol | Nasıl bakılır | Araç |
|---|---|---|
| Googlebot erişimi | Önemli yollar robots.txt ile engellenmemiş | robots.txt, URL Denetleme |
| HTTP 200 | Önemli sayfalar 200, kaldırılanlar 404 dönüyor | Sayfa dizinleme raporu |
| Yanlışlıkla noindex | Önemli sayfalarda noindex yok | Sayfa kaynağı, URL Denetleme |
| Kanonik | Her sayfa kendi kanonik adresine işaret ediyor | Sayfa kaynağı |
| Sitemap | Yalnızca kanonik ve 200 dönen URL’ler | Sitemaps raporu |
| Yönlendirmeler | Zincir yok, tek adımda 301 | Tarayıcı, tarama araçları |
| Mobil içerik | Masaüstüyle aynı içerik, meta ve yapısal veri | URL Denetleme |
| Core Web Vitals | LCP, INP, CLS eşikleri sağlanıyor | Core Web Vitals raporu, PageSpeed Insights |
| JavaScript | Kritik içerik ve bağlantılar işlenmiş HTML’de var | URL Denetleme, Rich Results Test |
| Yapısal veri | Görünür içerikle eşleşiyor; hata yok | Rich Results Test; ayrıntı: yapısal veri rehberi |
| Yapay zekâ botları | Arama botları 200 alıyor | Sunucu kayıtları |
Bu kontrolleri sizin için yapmamızı isterseniz SEO hizmeti sayfasına bakın; kapsama göre aylık teklif veriyoruz.
Sık sorulan sorular
Teknik SEO kontrol listesinde hangi maddeler olmalı?
Googlebot erişimi, HTTP 200 yanıtı, yanlışlıkla noindex olmaması, kanonik adresler, temiz bir sitemap, yönlendirme zinciri olmaması, mobilde aynı içerik, Core Web Vitals eşikleri, JavaScript içeriğin işlenmesi ve arama botlarının erişimi. Tam tablo sayfanın sonundaki kontrol listesinde.
Site hızı SEO'yu etkiler mi?
Google, iyi Core Web Vitals değerlerini Arama'da başarı için öneriyor ve sayfa deneyiminin bir parçası sayıyor. Hedefler LCP için 2,5 saniye, INP için 200 milisaniye, CLS için 0,1. Hız tek başına sıralama vaadi değildir; ama yavaş ve kararsız sayfa kullanıcı deneyimini bozar.
robots.txt ile sayfa gizlenir mi?
Gizlenmez. Google robots.txt'i esas olarak tarama trafiğini yönetmek için tarif ediyor. Engellenen bir URL açıklamasız da olsa sonuçlarda görünebilir. Sayfayı aramadan çıkarmak için noindex kullanın ya da parola koruması koyun.
robots.txt ile engellediğim sayfaya noindex koyarsam ne olur?
Googlebot sayfayı tarayamadığı için noindex kuralını göremez ve yok sayılır. Kuralın işlemesini istiyorsanız sayfayı robots.txt ile engellemeyin.
Sitemap'e her sayfa eklenmeli mi?
Hayır. Yalnızca arama sonuçlarında görünmesini istediğiniz kanonik, 200 dönen URL'leri ekleyin. Tek sitemap 50 MB ya da 50.000 URL ile sınırlıdır. Sitemap göndermek taranacağını kesinleştirmez.
Kanonik etiket ne zaman gerekir?
Aynı ya da çok benzer içeriğe birden fazla URL'den ulaşılıyorsa (www ve www'siz, parametreli adresler, yazdırma sürümü vb.) tercih ettiğiniz adresi belirtmek için. 301 yönlendirme ve rel=canonical güçlü, sitemap zayıf sinyaldir; Google yine de farklı bir adres seçebilir.
Core Web Vitals'ı nereden ölçerim?
Search Console'daki Core Web Vitals raporu ve PageSpeed Insights gerçek kullanıcı (saha) verisini gösterir. Lighthouse gibi laboratuvar araçları INP'yi ölçemez. Önce saha verisine bakın, sorunlu sayfaları laboratuvar araçlarıyla ayrıntılı inceleyin.
JavaScript ile yapılan siteler Google'da dizinlenir mi?
Dizinlenir, ama içerik ve bağlantılar işlenmiş HTML'de görünmeli. Bağlantılar href'li a öğeleri olmalı, hata sayfaları 404 dönmeli, noindex ve kanonik gibi kurallar HTML kaynağında verilmeli. Sunucu tarafı render, tüm botlar JavaScript çalıştırmadığı için de önerilir.
Kaynaklar
- Google – Search Essentials: Technical requirements
- Google – Introduction to robots.txt
- Google – Sitemaps overview
- Google – Build and submit a sitemap
- Google – What is canonicalization?
- Google – HTTP status codes, network and DNS errors
- Google – Understanding Core Web Vitals and Google search results
- web.dev – Web Vitals
- Google – Mobile-first indexing best practices
- Google – JavaScript SEO basics
- Google – Googlebot (dosya boyutu sınırları)
- Google – SEO Starter Guide
- OpenAI – Overview of OpenAI crawlers
- Perplexity – Perplexity Crawlers
Sıradaki adım
Sitenizin teknik sağlığını birlikte kontrol edelim
Kontrol listesindeki maddeleri sitenizde birlikte gözden geçirip önceliklendirelim. Kapsama göre aylık teklif veriyoruz.