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=2

Parametre 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ün

SEO 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=m

SEO 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=xyz789

SEO Etkisi: İçeriği değiştirmez, indekslenmemeli.

4. Session/Kullanıcı Parametreleri

/sayfa?sessionid=abc123
/sayfa?userid=user456
/sayfa?cart=xyz

SEO 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_v2

UTM Best Practices

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

  1. Canonical tag kullanın: Her sayfada tercih edilen URL'yi belirtin
  2. Sitemap'te temiz URL'ler: Parametre içermeyen URL'leri listeleyin
  3. 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 sayfa

Pagination

# Her sayfa kendi canonical'ına sahip
/urunler?sayfa=1 → canonical: /urunler
/urunler?sayfa=2 → canonical: /urunler?sayfa=2
/urunler?sayfa=3 → canonical: /urunler?sayfa=3

Parametre 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 Inspection

Sonuç

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.