
URL'deki %20 Sorunu: Boşlukları Doğru Şekilde Kodlama Yöntemleri
Web dünyasında gezinirken veya içerik üretirken, URL'lerin basit metin dizileri olmadığını fark ederiz. Her bir karakterin belirli bir anlamı ve işlevi vardır. Ancak bazen, özellikle de bir dosya adında veya bir sorgu parametresinde
boşluk karakteri kullandığımızda, tarayıcımızın adres çubuğunda garip bir dönüşümle karşılaşırız: `%20`. Bu makale, `%20` sorununun ne olduğunu, neden ortaya çıktığını ve
URL kodlama sürecini doğru bir şekilde yönetmenin yöntemlerini, bir SEO editörünün bakış açısından ele alacaktır.
Neden URL'ler Boşlukları Sevmez?
URL'ler, İnternet üzerindeki kaynakların tek tip tanımlayıcılarıdır (Uniform Resource Locators). Bilgisayarlar ve ağ protokolleri, belirli karakter setleriyle çalışmak üzere tasarlanmıştır. Bu karakter setleri arasında bazı karakterler, URL yapısı için özel anlamlar taşır (örneğin, eğik çizgi `/` dizin ayracıdır, soru işareti `?` sorgu parametrelerinin başlangıcını belirtir). Boşluk karakteri ise bu özel anlamlı karakterlerden biri değildir; aksine, URL yapısında "ayıklanmış" veya "tanımlanmamış" bir durum yaratır.
RFC 3986 gibi standartlar, URL'lerde hangi karakterlerin doğrudan kullanılabileceğini (alfasayısal karakterler ve bazı özel işaretler gibi) ve hangilerinin "yüzde kodlama" adı verilen bir süreçle dönüştürülmesi gerektiğini açıkça belirtir. Boşluk karakteri, URL'nin bütünlüğünü bozmadan iletilmesi gereken bir "güvenli olmayan" karakterdir. İşte bu yüzden, bir boşluk, onaltılık değeri olan `20` ile temsil edilir ve başına yüzde işareti `%` eklenerek `%20` haline gelir. Bu, tarayıcılara ve sunuculara, buradaki `20`'nin bir boşluk karakteri olduğunu ve URL'nin geri kalanından bağımsız olduğunu gösterir.
Bu durum, yalnızca boşluklar için değil, Türkçedeki ç, ğ, ı, ö, ş, ü gibi harfler veya özel karakterler (%, &, #, ?, vb.) için de geçerlidir. Her biri, kendi onaltılık karşılığı ile yüzde kodlama işlemine tabi tutulur. Yanlış veya eksik kodlama, kullanıcıların içeriğe erişememesine, kırık bağlantılara, 404 hatalarına ve hatta güvenlik açıklarına yol açabilir.
Boşluk Karakterinin Özel Durumu: '%20' mi Yoksa '+' mı?
Web geliştiriciler arasında sıkça karşılaşılan bir başka nüans ise boşluk karakterinin bazen `%20` yerine `+` (artı) işaretiyle kodlanmasıdır. Bu durum genellikle HTML form verileri gönderilirken `application/x-www-form-urlencoded` mime tipi kullanıldığında karşımıza çıkar. Örneğin, bir arama kutusuna "seo uzmanı" yazdığınızda, URL'nin sorgu parametresi kısmında `q=seo+uzmani` gibi bir ifade görebilirsiniz.
Ancak, URL'nin yol segmentlerinde (yani `domain.com/kategori/makale-basligi-burada` kısmında) veya genel URI bileşenlerinde standart ve doğru kodlama her zaman `%20`'dir. `+` işareti, `application/x-www-form-urlencoded` standardına özeldir ve bu standardın dışında kullanıldığında sorunlara yol açabilir. Bu nedenle, genel
URL kodlama pratiğinde `%20`'nin kullanılması tercih edilir ve tavsiye edilir.
Doğru Kodlama Yöntemleri: Otomatik Araçlardan Programlama Dillerine
Boşluk karakterlerini ve diğer özel karakterleri doğru bir şekilde kodlamak, web sitenizin sağlıklı çalışması ve
SEO dostu URL'ler oluşturması için hayati öneme sahiptir. Peki bu kodlama işlemi nasıl doğru bir şekilde yapılır?
1. Programlama Dillerindeki Yerleşik Fonksiyonlar
Çoğu modern programlama dili, URL bileşenlerini güvenli bir şekilde kodlamak için yerleşik fonksiyonlara sahiptir. Bu fonksiyonlar, karakterleri standartlara uygun olarak onaltılık değerlerine dönüştürür ve başlarına yüzde işareti ekler.
*
JavaScript:* `encodeURIComponent()`: Bir URL'nin sorgu parametreleri, yol segmentleri veya diğer bileşenleri gibi kısımlarını kodlamak için kullanılır. Bu fonksiyon, URL yapısının ayracını (örneğin `/`, `?`, `&`) korumaz, bu yüzden sadece bir URL'nin tek bir bileşenini kodlarken idealdir.
* `encodeURI()`: Tam bir URL'yi kodlamak için kullanılır. Bu fonksiyon, bir URL'nin genel yapısını bozmamak adına belirli ayracı karakterleri (örneğin `/`, `?`, `&`, `#`) kodlamaz. Ancak bu, boşluklar gibi güvenli olmayan karakterleri kodlayacağı anlamına gelir. Genellikle `encodeURIComponent()` daha yaygın ve doğru kullanım senaryolarına sahiptir.
*
PHP:* `urlencode()`: HTML form verileri gibi `application/x-www-form-urlencoded` formatına uygun olarak kodlama yapar. Boşlukları `+` işaretine dönüştürür.
* `rawurlencode()`: RFC 3986'ya (eski RFC 1738) uygun olarak, boşlukları `%20`'ye dönüştüren ve genellikle URL'nin yol segmentleri için tercih edilen kodlama yöntemidir.
*
Python:* `urllib.parse.quote()`: URL'nin belirli bir bölümünü kodlamak için kullanılır. Boşlukları `%20`'ye dönüştürür.
* `urllib.parse.quote_plus()`: `application/x-www-form-urlencoded` formatına uygun olarak kodlama yapar ve boşlukları `+` işaretine dönüştürür.
Bu fonksiyonları kullanarak, dinamik olarak oluşturulan URL'lerdeki değişkenleri veya kullanıcı girişlerini otomatik olarak kodlayabiliriz. Bu, hataları minimuma indirir ve tutarlı bir kodlama standardı sağlar.
2. Online URL Kodlama Araçları
Geliştirici değilseniz veya anlık bir URL'yi kodlamanız gerekiyorsa, çeşitli
URL Kodlama Aracı siteleri size yardımcı olabilir. Bu araçlar, karmaşık karakter dizilerini veya boşluk içeren metinleri girmenize olanak tanır ve anında kodlanmış çıktıyı sunar. Bu tür araçlar, özellikle manuel kontrol için veya küçük ölçekli işlerde oldukça kullanışlıdır. Çoğu zaman bir metni yapıştırır, 'kodla' butonuna basar ve sonucu alırsınız. Bu, aynı zamanda karmaşık URL'lerdeki hataları ayıklamak için de pratik bir yol olabilir.
İçerik Yönetim Sistemleri ve SEO Dostu URL'ler
Modern İçerik Yönetim Sistemleri (CMS) (WordPress, Joomla, Drupal vb.), URL oluşturma konusunda akıllı çözümler sunar. Bir makale başlığı girdiğinizde, sistem genellikle başlığı otomatik olarak "slug" adı verilen SEO dostu bir URL parçacığına dönüştürür. Bu dönüşüm sırasında boşluklar genellikle tire (-) işaretlerine dönüştürülür ve özel karakterler temizlenir. Örneğin, "URL'deki %20 Sorunu" başlıklı bir makale için slug `/urldeki-20-sorunu` şeklinde olabilir.
Bu yaklaşım, hem okunabilirliği artırır hem de
boşluk kodlama ihtiyacını ortadan kaldırarak URL'lerin daha temiz ve anlaşılır olmasını sağlar. Ancak, bazı eski sistemler veya özel konfigürasyonlar bu otomatik dönüşümü yapmayabilir ya da kullanıcıların URL'lere manuel olarak boşluk veya özel karakterler eklemesine izin verebilir. Bu gibi durumlarda, yukarıda bahsedilen kodlama yöntemlerini veya bir `URL Kodlama Aracı` kullanmak kaçınılmaz hale gelir.
Google AdSense ve URL Yapısının Önemi
Google AdSense doğrudan URL'deki `%20` kodlamasına odaklanmaz. Ancak, AdSense'in temel çalışma prensibi, reklamların sitenizin içeriğiyle alakalı, kullanıcılara sorunsuz bir deneyim sunan sayfalarda görüntülenmesidir. Bir URL'nin doğru bir şekilde kodlanması ve işlevsel olması, bu hedefe ulaşmak için kritik bir adımdır.
Yanlış kodlanmış URL'ler:
*
Sayfa Erişilemezliği: Kullanıcıların veya arama motoru botlarının (dolayısıyla AdSense botlarının da) sayfanıza erişememesine neden olabilir. Erişilemeyen sayfalarda reklam gösterimi mümkün değildir.
*
Kötü Kullanıcı Deneyimi: Kırık bağlantılar veya hatalı sayfalar, kullanıcıların sitenizden ayrılmasına yol açar. Bu, sitenin genel kalitesini düşürür ve reklam etkileşimlerini azaltır.
*
SEO Etkisi: Google'ın algoritmaları, erişilebilir ve doğru yapılandırılmış URL'leri sever. Kötü URL yapısı, arama motoru sıralamalarınıza zarar verebilir, bu da sitenize gelen organik trafiği ve dolayısıyla AdSense gelirini olumsuz etkiler.
Google AdSense politikaları, reklamların içeriğe uygun ve kullanıcı dostu bir ortamda yayınlanmasını ister. Bu nedenle, teknik olarak sağlam, hızlı yüklenen ve hatasız URL yapılarına sahip web siteleri, AdSense programından en iyi verimi alırlar. Sitenizin URL yapısını düzenli olarak kontrol etmek ve olası
yüzde kodlama sorunlarını gidermek, reklam gösterimlerinizin ve dolayısıyla gelirlerinizin sürekliliği için önemlidir.
Ek bilgi için, [site kalitesini artırma](https://www.example.com/makale.php?sayfa=site-kalitesi-ve-seo) veya [web güvenliği ipuçları](https://www.example.com/makale.php?sayfa=web-guvenligi-ipuclari) ile ilgili makalelerimize göz atabilirsiniz. (Not: Bu linkler örnek amaçlıdır, gerçek bir sistemde geçerli linklerle değiştirilmelidir.)
Sonuç
URL'deki `%20` sorunu, web'in temel işleyişinin bir parçasıdır ve doğru bir şekilde yönetilmesi gerekir. Boşluk karakterlerini ve diğer özel karakterleri doğru bir şekilde kodlamak, yalnızca bağlantılarınızın çalışmasını sağlamakla kalmaz, aynı zamanda web sitenizin kullanıcı deneyimini, SEO performansını ve dolaylı olarak Google AdSense gibi platformlardan elde edeceğiniz geliri de doğrudan etkiler. Programlama dillerinin yerleşik fonksiyonlarından faydalanmak veya güvenilir bir
URL Kodlama Aracı kullanmak, bu karmaşık görünen görevi basitleştirecektir. Web yöneticileri ve içerik üreticileri olarak, bu teknik detaya dikkat etmek, web varlığımızın sağlığı ve başarısı için kritik öneme sahiptir.
Yazar: Serkan Çelik
Ben Serkan Çelik, bir SEO Uzmanı. Platformumuzda teknolojiyi herkes için anlaşılır kılmak, karmaşık konuları basitleştirerek okuyucularımızın günlük yaşamında pratik olarak kullanabileceği bilgiler sunmak, yeni beceriler kazandırmak, farkındalık oluşturmak ve teknoloji dünyasındaki gelişmeleri anlaşılır bir dille aktarmak amacıyla yazıyorum.