Teknik SEO, arama motorlarının sitenizi etkili bir şekilde tarayabilmesi, dizine alabilmesi ve sıralayabilmesi için gereken altyapı optimizasyonlarını kapsar. İçerik ve backlink stratejileri ne kadar iyi olursa olsun, teknik sorunlar varsa sıralama potansiyeliniz sınırlı kalır. Bu rehberde 2026 yılı için güncel teknik SEO kontrol listesini detaylıca ele alacağız.
Core Web Vitals Optimizasyonu
Core Web Vitals, Google'ın kullanıcı deneyimini ölçmek için kullandığı üç temel metriktir. 2026 itibarıyla INP (Interaction to Next Paint), FID'in yerini tamamen almıştır. Bu metrikler hem mobil hem de masaüstü sıralamayı doğrudan etkiler.
LCP Optimizasyonu
- Hero görseli için kullanın
- Görselleri WebP/AVIF formatında sunun — JPEG'e göre %30-50 daha küçük
- Sunucu yanıt süresini (TTFB) 200ms altına düşürün — CDN kullanın
- Render-blocking CSS ve JS'i minimize edin — kritik CSS'i inline yapın
- Font dosyalarını preload edin ve font-display: swap kullanın
<!-- LCP optimizasyonu için HTML head bölümü -->
<head>
<!-- Kritik kaynakları preload -->
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">
<link rel="preload" as="font" href="/fonts/inter.woff2"
type="font/woff2" crossorigin>
<!-- Kritik CSS inline -->
<style>
.hero { width: 100%; height: auto; aspect-ratio: 16/9; }
body { font-family: 'Inter', sans-serif; font-display: swap; }
</style>
<!-- Kritik olmayan CSS defer -->
<link rel="stylesheet" href="/styles.css" media="print" onload="this.media='all'">
</head>
<!-- Hero görsel — fetchpriority ile öncelik -->
<img src="/hero.webp" alt="..." fetchpriority="high"
width="1200" height="675" decoding="async">
INP Optimizasyonu
INP, sayfadaki tüm etkileşimlerin (tıklama, dokunma, klavye) yanıt süresini ölçer. Uzun JavaScript görevleri (long tasks) INP'yi olumsuz etkiler.
- Uzun JavaScript görevlerini yield ile böl — requestIdleCallback veya scheduler.yield() kullanın
- Ağır hesaplamaları Web Worker'lara taşıyın
- Event handler'larda DOM manipülasyonunu minimize edin
- Üçüncü parti scriptleri defer/async ile yükleyin
- Gereksiz re-render'ları önleyin (React: useMemo, memo)
CLS Optimizasyonu
- Tüm görsellere width ve height veya aspect-ratio belirtin
- Reklam alanları için sabit boyutlu placeholder kullanın
- Font yüklenirken layout shift yaşanmaması için font-display: optional tercih edin
- Dinamik içerik (banner, popup) eklenmeden önce alan ayırın
- CSS transform animasyonları kullanın — top/left/width değişikliklerinden kaçının
Schema Markup (Yapılandırılmış Veri)
Schema.org yapılandırılmış verileri, arama motorlarına içeriğiniz hakkında ek bilgi sağlar. Bu bilgiler, arama sonuçlarında zengin snippet'ler (yıldız, fiyat, SSS, breadcrumb vb.) olarak görüntülenebilir ve tıklama oranını (CTR) önemli ölçüde artırır.
<!-- Organization Schema -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "KEYDAL",
"url": "https://keydal.com",
"logo": "https://keydal.com/logo.png",
"sameAs": [
"https://twitter.com/keydal",
"https://github.com/keydal"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+90-XXX-XXX-XXXX",
"contactType": "customer service",
"availableLanguage": "Turkish"
}
}
</script>
<!-- Article Schema (Blog yazıları için) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Teknik SEO Kontrol Listesi 2026",
"author": { "@type": "Organization", "name": "KEYDAL" },
"datePublished": "2026-04-07",
"dateModified": "2026-04-07",
"image": "https://keydal.com/blog/teknik-seo-og.jpg",
"publisher": {
"@type": "Organization",
"name": "KEYDAL",
"logo": { "@type": "ImageObject", "url": "https://keydal.com/logo.png" }
}
}
</script>
<!-- FAQ Schema — SSS sayfaları için -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Core Web Vitals nedir?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Google'ın kullanıcı deneyimini ölçmek için kullandığı LCP, INP ve CLS metriklerinden oluşan performans göstergeleridir."
}
}
]
}
</script>
XML Sitemap Optimizasyonu
XML sitemap, arama motorlarına sitenizin tüm sayfalarını ve bu sayfaların ne zaman güncellendiğini bildirir. Özellikle büyük sitelerde ve yeni sayfa eklemelerinde indexlenme hızını artırır.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://keydal.com/</loc>
<lastmod>2026-04-07</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://keydal.com/blog</loc>
<lastmod>2026-04-07</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://keydal.com/hosting/vps</loc>
<lastmod>2026-03-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
</urlset>
- Sitemap boyutu 50MB veya 50.000 URL'yi geçmemeli — büyük sitelerde sitemap index kullanın
- Sadece 200 durum kodu döndüren, canonical olan sayfaları dahil edin
- noindex sayfaları, yönlendirmeleri (3xx) ve hata sayfalarını dahil etmeyin
- lastmod tarihini gerçek güncelleme tarihiyle eşleştirin — sahte tarih kullanmayın
- robots.txt dosyasında sitemap konumunu belirtin
robots.txt Yapılandırması
robots.txt, arama motoru botlarına hangi sayfaları tarayabileceklerini ve hangilerini atlayacaklarını söyler. Crawl budget'ı verimli kullanmak için doğru yapılandırma önemlidir.
# robots.txt — https://siteadi.com/robots.txt
User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin/
Disallow: /search?
Disallow: /tmp/
Disallow: /*.json$
# Özel bot kuralları
User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
# Sitemap konumu
Sitemap: https://siteadi.com/sitemap.xml
Canonical URL Stratejisi
Canonical etiket, aynı veya benzer içeriğe sahip birden fazla URL olduğunda arama motorlarına hangisinin "asıl" sayfa olduğunu söyler. Duplicate content sorunlarını önlemenin en etkili yoludur.
<!-- Her sayfada canonical etiketi olmalı -->
<link rel="canonical" href="https://keydal.com/blog/teknik-seo-kontrol-listesi-2026">
<!-- Yaygın duplicate content senaryoları ve çözümleri -->
<!-- 1. HTTP vs HTTPS — 301 yönlendirme + canonical -->
<!-- http://keydal.com → 301 → https://keydal.com -->
<!-- 2. www vs non-www — birini seçin ve 301 yapın -->
<!-- www.keydal.com → 301 → keydal.com -->
<!-- 3. Parametre varyasyonları -->
<!-- /urunler?siralama=fiyat → canonical: /urunler -->
<!-- 4. Pagination -->
<!-- /blog?page=2 → canonical: /blog?page=2 (her sayfa kendi canonical'ı) -->
- Her sayfada mutlaka bir self-referencing canonical etiketi olmalı
- Canonical URL her zaman tam URL (absolute) olmalı — göreceli yol kullanmayın
- HTTPS ve tercih ettiğiniz www/non-www sürümünü kullanın
- Canonical ile noindex'i aynı sayfada birlikte kullanmayın
- hreflang ile canonical'ın tutarlı olduğundan emin olun
Mobile-First Indexing
Google, 2024'ten itibaren tüm siteleri yalnızca mobil versiyonuna göre dizine alıyor. Masaüstünde mükemmel görünen ama mobilde sorunlu olan bir site, sıralamalarda gerileme yaşar.
- Responsive tasarım kullanın — ayrı mobil site (m.siteadi.com) yerine tek URL tercih edin
- Viewport meta etiketi zorunlu:
- Dokunma hedefleri (buton, link) en az 48x48px olmalı ve aralarında 8px boşluk bırakın
- Mobilde gizlenen içerik indexlenmez — önemli içeriği CSS display:none ile gizlemeyin
- Metin boyutu en az 16px olmalı — kullanıcının yakınlaştırmasına gerek kalmamalı
- Pop-up'lar ve interstitial'lar mobilde sayfanın %50'sinden fazlasını kaplamamalı
<!-- Zorunlu viewport meta -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Mobil uyumlu stil örneği -->
<style>
/* Mobil öncelikli tasarım (mobile-first) */
.container { padding: 1rem; max-width: 100%; }
.nav-link { padding: 12px 16px; min-height: 48px; }
.text-body { font-size: 16px; line-height: 1.6; }
/* Tablet ve üstü */
@media (min-width: 768px) {
.container { max-width: 720px; margin: 0 auto; }
}
/* Masaüstü */
@media (min-width: 1024px) {
.container { max-width: 960px; }
}
</style>
Sayfa Hızı Optimizasyonu
Sayfa hızı hem kullanıcı deneyimini hem de sıralamayı doğrudan etkiler. Google'ın araştırmasına göre mobilde 3 saniyeden uzun yüklenen sayfalarda hemen çıkma oranı %53 artar.
# Nginx — Brotli ve Gzip sıkıştırma
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
# Brotli (ngx_brotli modülü gerekir)
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
# Cache headers
location ~* \.(js|css|png|jpg|jpeg|webp|avif|svg|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
Crawl Budget Yönetimi
Crawl budget, Googlebot'un sitenize ayırdığı tarama kapasitesidir. Büyük sitelerde (1000+ sayfa) özellikle önemlidir. Gereksiz sayfaları taramadan hariç tutarak, bütçeyi önemli sayfalarınıza yönlendirebilirsiniz.
- Parametre varyasyonlarını robots.txt veya Search Console ile engelleyin
- Faceted navigation (filtre sayfaları) için noindex veya canonical kullanın
- Sonsuz scroll yerine pagination tercih edin ve her sayfa ayrı URL'ye sahip olsun
- Sitemap'i güncel tutun — kaldırılan sayfaları hemen çıkarın
- Internal linking yapınızı optimize edin — önemli sayfalar en fazla 3 tıklama uzaklığında olsun
- HTTP durum kodlarını temiz tutun — 404 ve 301 zincirlerini düzeltin
- Server yanıt süresini hızlı tutun — yavaş sunucu crawl rate'i düşürür