URL Parametreleri ve SEO: Query String ve UTM Yönetimi Rehberi
URL parametrelerinin SEO üzerindeki etkisini öğrenin. Query string optimizasyonu, UTM parametreleri ve Google Search Console ayarları.
URL parametreleri, web sayfalarına dinamik veri geçirmek için kullanılır. Ancak yanlış yönetildiğinde ciddi SEO sorunlarına yol açabilir. Bu rehberde URL parametrelerini SEO-dostu şekilde yönetmeyi öğreniyoruz.
URL Parametreleri Nedir?
Query string olarak da bilinen URL parametreleri, "?" işaretinden sonra gelen anahtar-değer çiftleridir.
Temel Yapı
https://example.com/urunler?kategori=elektronik&siralama=fiyat&sayfa=2
Anatomi:
- Base URL: https://example.com/urunler
- Parametre başlangıcı: ?
- İlk parametre: kategori=elektronik
- Parametre ayracı: &
- Diğer parametreler: siralama=fiyat, sayfa=2Parametre Türleri
1. İçerik Değiştiren Parametreler
Sayfanın içeriğini tamamen değiştiren parametreler:
/urunler?kategori=telefon → Telefon ürünleri
/urunler?kategori=laptop → Laptop ürünleri
/urunler?id=12345 → Spesifik ürünSEO Etkisi: Her biri ayrı sayfa olarak indekslenebilir.
2. Sıralama/Filtreleme Parametreleri
Aynı içeriği farklı düzende gösteren parametreler:
/urunler?siralama=fiyat-artan
/urunler?siralama=fiyat-azalan
/urunler?siralama=popüler
/urunler?filtre=mavi&beden=mSEO Etkisi: Duplicate content riski. Canonical kullanılmalı.
3. Tracking Parametreleri
Analitik ve pazarlama için kullanılan parametreler:
/sayfa?utm_source=google&utm_medium=cpc
/sayfa?ref=newsletter
/sayfa?gclid=abc123
/sayfa?fbclid=xyz789SEO Etkisi: İçeriği değiştirmez, indekslenmemeli.
4. Session/Kullanıcı Parametreleri
/sayfa?sessionid=abc123
/sayfa?userid=user456
/sayfa?cart=xyzSEO Etkisi: Kesinlikle indekslenmemeli.
UTM Parametreleri
UTM Parametreleri Nedir?
Urchin Tracking Module (UTM), Google Analytics'te kampanya takibi için kullanılır.
Standart UTM Parametreleri
utm_source → Trafik kaynağı (google, facebook, newsletter)
utm_medium → Pazarlama kanalı (cpc, email, social)
utm_campaign → Kampanya adı (summer_sale, black_friday)
utm_term → Anahtar kelime (sadece PPC için)
utm_content → İçerik varyasyonu (A/B test için)Örnek UTM URL
https://example.com/urun?utm_source=facebook&utm_medium=social&utm_campaign=yaz_kampanyasi&utm_content=banner_v2UTM Best Practices
- Tutarlı isimlendirme kullanın (küçük harf)
- Boşluk yerine alt çizgi veya tire kullanın
- Çok uzun parametrelerden kaçının
- Canonical tag ile SEO sorunlarını önleyin
SEO Sorunları ve Çözümleri
1. Duplicate Content
Sorun: Aynı içerik farklı parametre kombinasyonlarıyla erişilebilir.
/urunler
/urunler?siralama=fiyat
/urunler?siralama=fiyat&sayfa=1
→ 3 farklı URL, aynı içerik!Çözüm: Self-referencing canonical tag:
<link rel="canonical" href="https://example.com/urunler" />2. Crawl Budget İsrafı
Sorun: Arama motoru botları gereksiz parametre kombinasyonlarını tarar.
Çözüm: robots.txt ile engelleme:
# Sıralama parametrelerini engelle
Disallow: /*?*siralama=
Disallow: /*?*filtre=
Disallow: /*?*sayfa=
# UTM parametrelerini engelle
Disallow: /*?*utm_3. Parametre Sızıntısı
Sorun: Internal linkler parametre içeriyor.
<!-- YANLIŞ -->
<a href="/urunler?utm_source=internal">Ürünler</a>
<!-- DOĞRU -->
<a href="/urunler">Ürünler</a>Google Search Console Ayarları
URL Parametreleri Aracı (Legacy)
Not: Google bu aracı kullanımdan kaldırdı, ancak site yapılandırması hala önemli.
Önerilen Yaklaşım
- Canonical tag kullanın: Her sayfada tercih edilen URL'yi belirtin
- Sitemap'te temiz URL'ler: Parametre içermeyen URL'leri listeleyin
- Internal linking: Parametresiz URL'lere link verin
Server-Side Çözümler
Nginx - Parametre Temizleme
# UTM parametrelerini kaldır ve redirect et
if ($args ~* "utm_") {
rewrite ^(.*)$ $1? permanent;
}
# Belirli parametreleri koru, diğerlerini kaldır
set $clean_uri $uri;
if ($args ~* "^(kategori|id)=(.*)$") {
set $clean_uri "$uri?$1=$2";
}Apache - mod_rewrite
# UTM parametrelerini temizle
RewriteCond %{QUERY_STRING} ^(.*)&?utm_[^&]+(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L,NE]
# Tüm query string'i kaldır
RewriteCond %{QUERY_STRING} .
RewriteRule ^(.*)$ /$1? [R=301,L]PHP ile Parametre Yönetimi
<?php
// İzin verilen parametreler
$allowedParams = ['kategori', 'id', 'sayfa'];
// Mevcut parametreleri filtrele
$cleanParams = array_intersect_key($_GET, array_flip($allowedParams));
// Canonical URL oluştur
$canonicalUrl = 'https://example.com' . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
if (!empty($cleanParams)) {
$canonicalUrl .= '?' . http_build_query($cleanParams);
}
?>
<link rel="canonical" href="<?= htmlspecialchars($canonicalUrl) ?>" />JavaScript SPA'lar İçin
React Router ile Parametre Yönetimi
import { useLocation, useSearchParams } from 'react-router-dom';
function ProductList() {
const [searchParams] = useSearchParams();
const location = useLocation();
// Canonical URL için sadece içerik parametrelerini kullan
const canonicalParams = new URLSearchParams();
if (searchParams.get('kategori')) {
canonicalParams.set('kategori', searchParams.get('kategori'));
}
const canonicalUrl = `https://example.com${location.pathname}`
+ (canonicalParams.toString() ? `?${canonicalParams}` : '');
return (
<>
<Helmet>
<link rel="canonical" href={canonicalUrl} />
</Helmet>
{/* ... */}
</>
);
}E-ticaret Özel Durumları
Faceted Navigation
# Filtre kombinasyonları
/urunler?renk=mavi&beden=m&marka=nike&fiyat=100-500
# Çözüm: Tüm filtreli sayfalar ana kategoriye canonical
<link rel="canonical" href="/urunler" />
# Veya önemli filtreleri ayrı sayfa yap
/urunler/mavi-nike-ayakkabi → Ayrı indekslenebilir sayfaPagination
# Her sayfa kendi canonical'ına sahip
/urunler?sayfa=1 → canonical: /urunler
/urunler?sayfa=2 → canonical: /urunler?sayfa=2
/urunler?sayfa=3 → canonical: /urunler?sayfa=3Parametre URL'lerini Test Etme
# curl ile kontrol
curl -I "https://example.com/urunler?utm_source=test"
# Canonical tag kontrolü
curl -s "https://example.com/urunler?siralama=fiyat" | grep canonical
# Google'ın gördüğü versiyon
# Google Search Console → URL InspectionSonuç
URL parametreleri doğru yönetildiğinde SEO performansınızı etkilemez. Her zaman canonical tag kullanın, gereksiz parametreleri robots.txt ile engelleyin ve internal linklerde temiz URL'ler tercih edin. SlugURL ile oluşturduğunuz SEO-dostu URL'leri parametre yönetimi stratejileriyle destekleyerek arama motoru görünürlüğünüzü artırın.