Güzel bir web uygulaması geliştirdiniz. Temiz kod, akıcı kullanıcı deneyimi, bilgisayarınızda hızlı çalışıyor. Ancak Google Search Console’u kontrol ettiğinizde, sayfalarınızın zar zor indekslendiğini, yapılandırılmış verilerinizin hata verdiğini ve yarım canonik etiketinizin yanlış URL’lere işaret ettiğini fark ediyorsunuz. Tanıdık geliyor mu?
Teknik SEO, üstünde yaptığınız tüm içerik çalışmalarını ya açan ya da engelleyen sıkıcı bir temeldir. Bu denetim kontrol listesi geliştiriciler için hazırlanmıştır — pazarlamacılar için değil — bu yüzden sadece teorilere değil, uygulama detaylarına da derinlemesine gireceğiz.
1. Crawlability ve Indexation
1. Crawlability ve Indexation
Her şeyden önce, Googlebot’un sayfalarınızı gerçekten bulup okuyabildiğini doğrulamanız gerekiyor.
robots.txt
robots.txt
Sizin robots.txt dosyanız, alan adınızın kökünde yer alır. Laravel uygulamalarında sık yapılan bir hata, bir staging yapılandırmasından kopyalanmış olması nedeniyle üretimde tarayıcıları yanlışlıkla engellemektir.
User-agent: *
Disallow: /admin/
Disallow: /api/
Allow: /
Sitemap: https://yourdomain.com/sitemap.xml
Kontrol etmek için https://yourdomain.com/robots.txt adresini ziyaret edin ve spesifik URL’leri Google Search Console’un URL Denetimi aracı ile test edin.
XML Sitemap
XML Sitemap
Sitemap’ınız tüm canonik, indekslenebilir URL’leri içermelidir — kimseye kapalı olanlar ve noindex etiketine sahip olanlar hariç. Laravel’de, spatie/laravel-sitemap paketi bunu oldukça basit hale getirir:
use Spatie\Sitemap\Sitemap;
use Spatie\Sitemap\Tags\Url;
Sitemap::create(
->add(
Url::create('/blog')
->setLastModificationDate(now())
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
->setPriority(0.8)
)
->writeToFile(public_path('sitemap.xml'));
Sadece bir kez oluşturmakla kalmayın — bunu dağıtım sürecinize entegre edin veya php artisan schedule:run ile zamanlayın.
2. Canonical Tagler ve Tekrar Eden İçerik
2. Canonical Tagler ve Tekrar Eden İçerik
Tekrar eden içerik, özellikle e-ticaret ve CMS tabanlı uygulamalarda en yaygın teknik SEO sorunlarından biridir. ?ref=newsletter, ?sort=price gibi URL varyasyonları veya sonlandırma slash tutarsızlıkları tekrar eden sinyaller yaratır.
Her sayfanın kendine atıfta bulunan bir canonica ihtiyacı var
Her sayfanın kendine atıfta bulunan bir canonica ihtiyacı var
rel="canonical" href="https://yourdomain.com/products/running-shoes" />
Laravel Blade’de bunu merkezi hale getirin:
Daha sonra, ihtiyaç duyulduğunda, özellikle sayfalandırılmış sayfalar, filtreli ürün listeleri veya etiket arşivleri için controller’larınızda veya Livewire bileşenlerinizde canonica durumu açıkça ayarlayın.
HTTP vs HTTPS, WWW vs non-WWW
HTTP vs HTTPS, WWW vs non-WWW
Birini seçin ve diğer tümünü 301 ile yönlendirin. .htaccess veya Nginx yapılandırmanıza kontrol edin. Bu, yalnızca Laravel’in ara katmanında değil, sunucu düzeyinde ele alınmalıdır.
3. Yapılandırılmış Veri (Schema Markup)
3. Yapılandırılmış Veri (Schema Markup)
Yapılandırılmış veriler, zengin sonuçları garanti etmez, ancak Google’ın içeriğinizi anlamasına yardımcı olur. Bir web uygulaması için, ilgili şemalar genellikle Article, Product, FAQPage, BreadcrumbList ve LocalBusiness‘dir.
@push('head') @endpush
Her şeyi Google’ın Rich Results Test ve Schema Markup Validator kullanarak doğrulayın.
4. Core Web Vitals ve Sayfa Deneyim Sinyalleri
4. Core Web Vitals ve Sayfa Deneyim Sinyalleri
Google’ın Sayfa Deneyimi sinyalleri LCP, INP (FID yerini alır) ve CLS’yi içerir. Bunlar ölçülebilir, düzeltilebilir ve sıralamaya doğrudan bağlıdır.
- LCP (Largest Contentful Paint): 2.5 saniyenin altında olmalıdır. Kahraman görsellerinizi
ile önceden yükleyin. Aşağıdaki katmanda her şeyi tembel yükleyin. - INP (Interaction to Next Paint): Ana iş parçacığını engelleyen ağır JavaScript genellikle suçludur. JS paketlerinizi denetleyin — Alpine.js hafif kalırken, üçüncü taraf skriptlerine dikkat edin.
- CLS (Cumulative Layout Shift): Daima görseller ve iframe’ler için kesin
widthveheightayarlayın. Asenkron yüklenen UI öğeleri için yer ayırın.
Hızlı bir teşhis için yerel olarak npx lighthouse https://yourdomain.com --view çalıştırın.
5. Metadata Tamlığı
5. Metadata Tamlığı
Her sayfanın benzersiz, tanımlayıcı bir ve etiketine ihtiyacı vardır. Bunlar sıralamayı doğrudan artırmaz ama tıklama oranlarını etkiler, bu önemli olabilir.
{{ $page->seo_title ?? $page->title . ' | ' . config('app.name') }}
Ayrıca Open Graph ve Twitter Kart etiketlerinizi denetleyin — bunlar sayfalarınızın paylaşılırken nasıl göründüğünü kontrol eder:
Başlıkları 60 karakterin altında, açıklamaları ise 155 karakterin altında tutun. Toplu olarak denetlemek için bir elektronik tablo kullanın — URL ve başlıklarınızı Screaming Frog gibi bir tarayıcı ile dışa aktarın.
6. Mobil ve Uluslararasılaştırma
6. Mobil ve Uluslararasılaştırma
Mobil Öncelikli İndeksleme
Mobil Öncelikli İndeksleme
Google artık sitenizin mobil sürümünü öncelikli olarak indeksliyor. Chrome DevTools’ta mobil emülasyonu ile test edin ve tepkili kırılma noktalarınızı kritik içeriği JavaScript anahtarları arkasında gizleyip gizlemediğinizden emin olun.
Çok Dilli Uygulamalar için hreflang
Çok Dilli Uygulamalar için hreflang
Eğer çok dilli bir Laravel uygulaması çalıştırıyorsanız, hreflang Google’a hangi sürümün hangi yerel için sunulacağını bildirir:
Bu, çok dilli pazarlar içinde faaliyet gösteren işletmeler için özellikle önemlidir.
7. HTTPS, Güvenlik Başlıkları ve URL Yapısı
7. HTTPS, Güvenlik Başlıkları ve URL Yapısı
- Tüm dahili bağlantıların HTTPS kullandığından emin olun. Karışık içerik uyarıları tarama davranışını etkileyebilir.
- Açıklayıcı, tireli sluglar kullanın:
/blog/technical-seo-auditdeğil/blog?id=87 - Üç seviyeden fazla derin URL yuvalamaktan kaçının.
- 404 için kaybolan sayfalar, 410 için kasıtlı olarak silinmiş içerikler, 301 için kalıcı yönlendirmelerle doğru HTTP durum kodları döndürün.
Yönlendirme zincirlerinizi kontrol edin — bir 301 başka bir 301’e ulaştığında, bu tarama bütçesini boşa harcar ve bağlantı değerini seyreltir.
8. Log Dosyası Analizi (Az Kullanılan Ama Güçlü)
8. Log Dosyası Analizi (Az Kullanılan Ama Güçlü)
Sunucu logları, Googlebot’un neyi taradığını ve ne sıklıkla yaptığını size tam olarak söyler. Screaming Frog Log Analyzer gibi araçlar veya Nginx/Apache loglarınız üzerindeki basit bir grep işlemi şunları açığa çıkarabilir:
- Tarama ama indekslenmeyen sayfalar
- Yumuşak 404’ler (boş içerik gösteren 200 döndüren sayfalar)
- Sayfalamalı parametreli URL’lerde boşa harcanan tarama bütçesi
grep 'Googlebot' /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
Bu, Googlebot’un zaman harcadığı en üst 20 URL’yi size verir. Eğer /api/ uç noktalarına veya admin yönlerine giriyorsa, robots.txt dosyanızı derhal düzeltin.
Tümünü Birleştirmek
Tümünü Birleştirmek
Teknik SEO bir defalık bir görev değildir — sürekli bir denetim pratiğidir. Yukarıdaki kontrol listesi en yüksek etki alanlarını kapsar, ancak asıl disiplin, bu kontrolleri geliştirme iş akışınıza dahil etmektir, ileride bir düşünce sonrası olarak değil.
Screaming Frog ile üç ayda bir tarama ayarlayın, Google Search Console’u haftalık olarak kapsama hataları için izleyin ve yapılandırılmış veriler ile canonica mantığını sayfa şablonlarınızın bir parçası olarak baştan oluşturun. Sürekli yüksek sıralarda yer alan uygulamalar, en akıllıca içerik stratejisine sahip olanlar değil — arama motorlarının güvenebileceği teknik olarak sağlam bir temele sahip olanlardır.
Kaynak: Orijinal Makale
- 1. Crawlability ve Indexation
- 2. Canonical Tagler ve Tekrar Eden İçerik
- 3. Yapılandırılmış Veri (Schema Markup)
- 4. Core Web Vitals ve Sayfa Deneyim Sinyalleri
- 5. Metadata Tamlığı
- 6. Mobil ve Uluslararasılaştırma
- 7. HTTPS, Güvenlik Başlıkları ve URL Yapısı
- 8. Log Dosyası Analizi (Az Kullanılan Ama Güçlü)
- Tümünü Birleştirmek


