Skip to content
Ara

Genişletilebilir İşaretleme Dili (XML): Temel ve doğrulama

Genişletilebilir İşaretleme Dili (XML), veriyi etiketlerle yapılandıran, hem insanlar hem makineler tarafından okunabilen ve şema-temelli doğrulama ile taşınabilir veri değişimi, yapılandırma ve entegrasyon için kullanılan açık bir biçimdir.

Genişletilebilir İşaretleme Dili (XML): Temeller & Uygulamalar

Genel bakış

Genişletilebilir İşaretleme Dili (XML), veriyi hiyerarşik etiketler ve isteğe bağlı şemalarla tanımlayan düz metin tabanlı bir biçimdir. XML, veri taşıma, konfigürasyon dosyaları, web servis mesajlaşması (ör. SOAP) ve RSS/Atom gibi beslemeler için yaygın olarak kullanılır. XML dokümanları iki ayrı teknik aşamada ele alınır: tarama (discovery/crawling) ve doğrulama (well-formedness ve şema uygunluğu). XML'in kendi başına doğrudan bir 'sıralama' (ranking) sinyali olmadığını, ancak sitemap'lar veya beslemeler aracılığıyla URL keşfini etkileyebileceğini unutmayın; keşif ve indexleme sıralamayı belirleyen çok sayıda sinyale katkıda bulunur ama tek başına sıralamayı tayin etmez.

Adım adım

Temel bir XML dosyası şu parçaları içerir: isteğe bağlı XML prolog'u (ör. <?xml version="1.0" encoding="UTF-8"?>), tek bir kök eleman, alt elemanlar ve isteğe bağlı öznitelikler. Küçük bir örnek: <note><to>Alice</to><from>Bob</from><body>Merhaba</body></note>.

İleri adımlar ve yaygın eklentiler:

• Adım 1 — Kök ve iyi biçimlendirme: Her dosya tek bir kök içermeli; açılan etiketler kapananlarla eşleşmelidir.
• Adım 2 — Karakter kodlaması: Prolog'ta doğru encoding belirtin (genelde UTF-8).
• Adım 3 — İsim alanları (namespaces): Birden fazla söz dizimi veya XML uygulaması entegre ediliyorsa xmlns öznitelikleriyle isim alanları kullanın.
• Adım 4 — Şema kullanımı: XSD ya da RELAX NG ile yapısal kurallar tanımlayın; şema, tüketicinin beklediği alanları, tipleri ve tekrar sayısını belirtir.
• Adım 5 — CDATA ve özel karakterler: Metin içinde < veya & gibi karakterler varsa ya öznitelik-escape yapın ya CDATA bölümleri kullanın.
• Adım 6 — MIME tipi ve sunucu yapılandırması: XML dosyalarını doğru Content-Type başlığı ile sunun (ör. application/xml veya text/xml).

Doğrulama: teknik kontrol listesi

Aşağıdaki maddeler pratik olarak hangi kontrolü yapacağınızı, nerede doğrulayacağınızı ve başarılı kabul edeceğinizi gösterir.

**Well-formedness** — nerede doğrulanır — geçer: **xmllint** veya çevrimiçi W3C doğrulayıcı ile; komut örneği: xmllint --noout dosya.xml (hata yoksa geçer).

**Schema (XSD) uygunluğu** — nerede doğrulanır — geçer: xmllint --schema şema.xsd dosya.xml veya bir XSD doğrulayıcı; uyum varsa araç hata vermez.

**HTTP başlığı / MIME tipi** — nerede doğrulanır — geçer: curl -I https://example.com/feed.xml; Content-Type başlığı application/xml veya text/xml olmalıdır.

**Erişilebilirlik / keşif (sitemap/feed için)** — nerede doğrulanır — geçer: kendi site için Google Search Console > Sitemaps bölümünde sitemap gönderilmiş ve hatasız işlenmiş; ziyaret edilebilen URL'ler Search Console URL Inspection ile doğrulanabilir. Sitemap protokolü, tek bir sitemap dosyası için Google'ın izin verdiği sınırlar hakkında ayrıntı verir.

**İstemci tarafından işleme** — nerede doğrulanır — geçer: tarayıcı DevTools Elements/Network ile veya curl ile ham çıktıyı kontrol edin (ör. curl -sSL https://example.com/feed.xml). Dosya düzgün parse ediliyorsa uygulama katmanı hata oluşturmaz.

Araç örnekleri

• xmllint (libxml2) — terminalde hızlı doğrulama ve şema testi.
• curl — HTTP başlıkları ve ham içerik için (curl -I ile başlık, curl -sSL ile gövde).
• Tarayıcı DevTools — render edilmiş DOM ve ağ isteği ayrıntıları.
• W3C Markup Validation Service (validator.w3.org) — çevrimiçi doğrulama ve hata raporları.

Yaygın sorunlar

• Kodlama uyuşmazlıkları: Dosya UTF-8 değilse veya prolog yanlışsa özel karakter hataları oluşur. Çözüm: prolog ve sunucu encoding başlığını eşleştirin.
• İyi biçimlendirme hataları: kapanmamış etiketler, eksik kök. Çözüm: xmllint ile hızlıca tespit edin.
• Namespace çatışmaları: aynı öneki farklı URI'larla kullanmak beklenmeyen parse hatalarına neden olur; namespace URI'lerini açıkça tanımlayın.
• Yanlış MIME tipi: sunucu XML'i text/html ile döndürürse tüketiciler hata verir; web sunucusunu application/xml olarak ayarlayın.
• Şema uyumsuzluğu: üretici beklenmeyen alan gönderiyorsa tüketici hata fırlatır; XSD'yi güncelleyin veya tüketiciyle eşleşin.
• Sitemap/besleme erişilebilir değil: robots.txt ile engelleme veya 4xx/5xx hataları indexlenmeyi engeller; curl -I ile durum kodunu kontrol edin.

Not: bir XML dosyasının Google tarafından 'bilinmesi' (discovery) ile onun SERP'te iyi performans göstermesi farklıdır; sitemap veya feed keşif ve indexlemeye katkıda bulunur ama tek başına sıralamayı belirlemez.

Teknik SEO Rehberi'ni okuyun

Sıkça Sorulan Sorular

XML yerine JSON kullanmalı mıyım?

İhtiyaca göre karar verin: JSON, web API'leri ve hafif veri değişimi için daha popülerdir; XML ise zengin şema desteği, isim alanları ve belge merkezli yapılar gerektiren senaryolarda avantaj sağlar. Kullanım bağlamına ve tüketiciye göre seçin.

XML dosyam Google tarafından neden taranmıyor?

Önce erişilebilirlik ve HTTP durum kodunu kontrol edin (curl -I). Sitemap olarak sunuyorsanız Google Search Console'da gönderildiğini ve işlenip işlenmediğini kontrol edin; ayrıca robots.txt veya noindex meta kuralları sayfanın keşfini engelleyebilir.

XML doğrulama araçları hangileridir?

Terminal için xmllint, çevrimiçi W3C validator, IDE eklentileri ve CI aşamalarında kullanılabilecek XSD doğrulayıcıları en yaygın seçeneklerdir. Hata mesajları genelde satır/kolon bilgisi içerir, bu yüzden geliştiricide hızlıca düzeltebilirsiniz.

Sitemap XML'imin boyutu veya URL sayısı sınırı var mı?

Sitemap formatı ve her bir dosya için izin verilen URL sayısı gibi ayrıntılar Google'ın sitemap protokolü dokümantasyonunda belirtilir; büyük siteler için sitemap dizinleri ve gzip sıkıştırma gibi yöntemler kullanılır.

İlgili terimler