Google'a sayfanızın yerelleştirilmiş sürümleri hakkında bilgi verme

Dil veya bölgeye özel sayfalar için hreflang etiketini veya site haritalarını kullanma

Bir sayfanızın farklı diller veya bölgeler için birden fazla sürümü varsa, Google'a bu farklı varyasyonları bildirin. Bu şekilde Google Arama, kullanıcıları, sayfanızın dile veya bölgeye göre en uygun sürümüne yönlendirebilir.

Herhangi bir işlem yapmadığınızda bile Google'ın sayfanızın alternatif dil sürümlerini bulmaya devam edebileceğini, ancak dile veya bölgeye özel sayfalarınızı açıkça belirtmenizin genellikle en iyi yol olduğunu unutmayın.

Alternatif sayfaları belirtmenin önerildiği bazı örnek senaryolar:

  • Ana içeriği tek bir dilde sağlıyor ve sadece şablonu çeviriyorsanız (örneğin, gezinme ve alt bilgi). Kullanıcı tarafından oluşturulmuş içerikler barındıran sayfalar (örneğin, forumlar) tipik olarak bu şekilde çalışır.
  • İçeriğinizde, tek bir dilde benzer bilgilere sahip  küçük bölgesel varyasyonlar varsa. Örneğin, ABD, İngiltere ve İrlanda'yı hedefleyen İngilizce dilinde içerikleriniz olabilir.
  • Sitenizin içeriği tamamıyla birden çok dile çevrilmişse. Örneğin, her sayfanın hem Almanca hem de İngilizce sürümleri vardır.
Creating multi-regional and multilingual sites

Alternatif sayfalarınızı belirtme yöntemleri

Bir sayfanın birden çok dil/yerel ayar sürümlerini Google’a bildirmenin üç yolu vardır:

HTML etiketleri

Google'a bir sayfanın tüm dil ve bölge varyantlarını bildirmek için sayfa üst bilginize <link rel="alternate" hreflang=" Dil_kodu "... > öğeleri ekleyin. Bu yöntem, bir site haritanız yoksa veya siteniz için HTTP yanıt başlıklarını belirtemiyorsanız yararlı olur.

Sayfanın her varyasyonu, <head> öğesinde bir <link> öğe grubu ve kendisi dahil olmak üzere her sayfa varyantı için bir bağlantı içermelidir. Bağlantı grubu, sayfanın her sürümü için aynıdır. Ek kurallara bakın.

Burada, her bağlantı öğesinin söz dizimini görebilirsiniz:

<link rel="alternate" hreflang="Dil_kodu" href="sayfa_url'si" />

dil_kodu
Sayfanın bu sürümü tarafından hedeflenen desteklenen bir dil/bölge kodu veya sayfada bir hreflang etiketi tarafından açıkça listelenmeyen herhangi bir dille eşleştirmeler için x-default.
sayfa_url'si
Belirtilen dil/bölge için bu sayfanın sürümüne ait tam URL.
<link> etiketlerinizi <head> öğesinin üst kısmına yakın bir yere yerleştirin. <link> etiketleri en azından uygun şekilde biçimlendirilmiş bir <head> bölümünün içinde olmalı veya <head> bölümünün erken kapanmasına neden olabilecek <p> ya da bir izleme pikseli gibi öğelerden önce gelmelidir. Şüphede kalırsanız, bağlantıların <head> öğesinin içinde yer aldığından emin olmak için, oluşturduğunuz sayfanızdaki kodu bir HTML doğrulayıcıya yapıştırın.

Örnek

Örnek olarak verilen Widgets, Inc. kuruluşunun ABD, İngiltere ve Almanya'daki kullanıcılara hizmet veren bir web sitesi vardır. Aşağıdaki URL'ler önemli ölçüde benzer içerikler barındırır, sadece bölgesel farklılıkları vardır:

  • http://en.example.com/page.html - ABD’den başka ülkelere nakliye ücretleriyle ilgili bilgileri içeren İngilizce dilindeki genel ana sayfa.
  • http://en-gb.example.com/page.html - Fiyatları İngiliz sterlini olarak gösteren İngiltere ana sayfası.
  • http://en-us.example.com/page.html - Fiyatları ABD doları cinsinden gösteren ABD ana sayfası.
  • http://de.example.com/page.html - Almanca ana sayfa.
  • http://en-us.example.com/page.html İngilizce dilinde; fiyatları ABD doları olarak görüntüler.

Google'ın, bu URL’lerdeki dile özel alt alan adlarını (en, en-gb, en-us, de) sayfa için hedef kitleyi belirlerken kullanmadığını, hedef kitleyi açıkça eşlemeniz gerektiğini unutmayın.

Yukarıda listelenen tüm sayfaların <head> bölümüne yapıştırılması gereken HTML'yi burada görebilirsiniz. ABD'deki, İngiltere'deki, genel İngilizce konuşan ve Almanca konuşan kullanıcıları yerelleştirilmiş sayfalara, diğer tüm kullanıcıları genel bir ana sayfaya yönlendirir. Google Arama, tarayıcı ayarlarına göre kullanıcı için uygun sonucu döndürür.

<head>
  <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
        href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
        href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
        href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
        href="http://de.example.com/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

HTTP Üst Bilgileri

Bir sayfanın tüm dil ve bölge varyantlarını Google'a bildirmek için sayfanızın GET yanıtıyla bir HTTP üst bilgisi döndürebilirsiniz. Bu, HTML olmayan dosyalar (ör. PDF'ler) için kullanışlı olur.

Burada, üst bilginin biçimini görebilirsiniz:

Link: <url1>; rel="alternate"; hreflang="Dil_kodu_1", <url2>; rel="alternate"; hreflang="Dil_kodu_2", ...

<url_x>
İlişkili hreflang özelliğine atanan yerel ayar dizesine karşılık gelen alternatif sayfanın tam URL'si. URL'nin başında ve sonunda < > işaretleri bulunmalıdır. Örnek: <https://www.google.com>
dil_kodu_x
Sayfanın bu sürümü tarafından hedeflenen desteklenen bir dil/bölge kodu veya sayfada bir hreflang etiketi tarafından açıkça listelenmeyen herhangi bir dille eşleştirmeler için x-default.

İstenen sürüm de dahil olmak üzere sayfanın her sürümü için bir <url>, rel="alternate" ve hreflang değer grubunu, aşağıdaki örnekte gösterildiği gibi virgülle ayrılmış bir şekilde belirtmeniz gerekir. Bir sayfanın her sürümü için döndürülen Link: üst bilgisi aynıdır. Ek kurallara bakın.

Örnek

Biri İngilizce konuşan, biri İsviçre'de olup Almanca konuşan ve biri de Almanca konuşan diğer tüm kullanıcılar için olmak üzere bir PDF dosyasının üç sürümüne sahip bir site tarafından döndürülen Link: üst bilgisi örneğini aşağıda görebilirsiniz:

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

Site haritası

Google’a, her URL’nin tüm dil ve bölge varyantlarını bildirmek için bir Site Haritası kullanabilirsiniz. Bunu yapmak için sayfanın kendisi dahil olmak üzere her dil/yerel ayar varyantını listeleyen alt <xhtml:link> girişlerine sahip, tek bir URL belirten bir <loc> öğesi ekleyin. Dolayısıyla, bir sayfanızın 3 sürümü varsa site haritanızda her biri 3 aynı alt girişe sahip 3 girişiniz olacaktır.

Site haritası kuralları:

  • xhtml ad alanını aşağıdaki gibi belirtin:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Her URL için ayrı bir <url> öğesi oluşturun.
  • Her <url> öğesi, sayfa URL'sini belirten bir <loc> alt öğesi içermelidir.
  • Her <url> öğesinin, kendisi dahil olmak üzere sayfanın her alternatif sürümünü listeleyen bir <xhtml:link rel="alternate" hreflang=" desteklenen_dil-kodu "> alt öğesi olmalıdır.  Bu <xhtml:link> alt öğelerinin sırası önemli değildir, ancak hataları kontrol etmenizi kolaylaştırmak için bunları aynı sırada tutabilirsiniz.
  • Ek kurallara bakın.

Örnek

Burada, dünya genelinde İngilizce konuşan kullanıcıları hedefleyen bir İngilizce sayfayı, bu sayfanın dünya genelinde Almanca konuşan ve İsviçre'de olup Almanca konuşan kullanıcıları hedefleyen eşdeğer sürümlerini görebilirsiniz. Sitenizde bulunan tüm URL'ler şunlardır:

  • İngilizce konuşan kullanıcıları hedefleyen www.example.com/english/page.html.
  • Almanca konuşan kullanıcıları hedefleyen www.example.com/deutsch/page.html.
  • İsviçre'de olup Almanca konuşan kullanıcıları hedefleyen www.example.com/schweiz-deutsch/page.html.

Burada, bu üç sayfanın site haritasını görebilirsiniz:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

Tüm yöntemler için kurallar

  • Her dil sürümü, diğer tüm dil sürümlerinin yanı sıra kendisini de listelemelidir.
  • Alternatif URL'ler aktarım yöntemi (http/https) dahil olmak üzere tam olmalıdır. Örneğin:
     https://example.com/foo olmalı, //example.com/foo veya /foo olmamalıdır.
  • Alternatif URL’lerin aynı alanda olmaları gerekmez. 
  • Dilleri aynı ancak yerel ayarları farklı olan kullanıcılara yönelik birden fazla alternatif URL'ye sahipseniz, coğrafi konumları belli olmayan kullanıcılar için bir catchall URL'sine yer vermek de iyi bir fikirdir. Örneğin, İrlanda (en-ie), Kanada (en-ca) ve Avustralya'daki (en-au) İngilizce konuşanlar için belirli URL'leriniz olabilir, ancak örneğin ABD, İngiltere ve İngilizce konuşulan diğer tüm ülkelerdeki arama yapan kullanıcılar için genel bir İngilizce (en) sayfa da sağlamanız gerekir. Seçim yaparsanız bu sayfa, belirli sayfalardan biri olabilir.
  • Her iki sayfa birbirini işaret etmiyorsa etiketler yoksayılır. Bunun nedeni, başka bir sitedeki bir kişinin rastgele bir şekilde sayfalarınızdan birinin alternatif sürümü olarak kendini adlandıran bir etiket oluşturamamasıdır.
  • Her dil için iki yönlü bağlantılardan oluşan eksiksiz bir grup sağlamak zorlaşırsa bazı sayfalarda bazı dilleri çıkartabilirsiniz; Google, birbirini işaret eden sayfaları işlemeye devam eder. Bununla birlikte, yeni genişletilmiş dil sayfalarının iki yönlü olarak kaynak/yaygın dillere bağlanması önemlidir. Örneğin, siteniz esasen .fr uzantılı URL'lerle Fransızca dilinde oluşturulmuşsa, yeni oluşturduğunuz Meksika (.mx) ve İspanyol (.es) sürümü sayfaların güçlü .fr varlığınıza iki yönlü olarak bağlanması, İspanyolcaya ait yeni varyasyon sayfaların (.mx ve .es) birbirine iki yönlü olarak bağlanmasından daha önemlidir.
  • Eşleştirilmemiş diller, özellikle de dil/ülke seçiciler veya otomatik olarak yönlendirilen ana sayfalar için bir yedek sayfa ekleme seçeneğini değerlendirin. x-default değerini kullanın:
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

Desteklenen dil/bölge kodları

hreflang özelliğinin değeri, alternatif bir URL'nin dilini (ISO 639-1 biçiminde) ve isteğe bağlı olarak da bölgesini (ISO 3166-1 Alpha 2 biçiminde) tanımlar. Örneğin:

  • de: Almanca içerik, bölgeden bağımsız
  • en-GB: İngilizce içerik, İngiltere'deki kullanıcılar için
  • de-ES: Almanca içerik, İspanya'daki kullanıcılar için

Ülke kodunu tek başına belirtmeyin. Google, dili ülke kodundan otomatik olarak türetmez. Etiketleme yönteminizi basitleştirmek istiyorsanız bir dil kodunu tek başına belirtebilirsiniz.  Sayfayı belirli bir bölgeyle sınırlamak için dilden sonra ülke kodunu ekleyin.  Örnekler:

  • be: Belarus dili, bölgeden bağımsız (Belçika Fransızcası değil)
  • nl-be: Belçika için Felemenkçe
  • fr-be: Belçika için Fransızca 

Dile ait alfabe varyasyonları için doğru alfabe ülke bilgisinden türetilir. Örneğin, zh-TW kullanıcıları için zh-TW kullanıldığında, dil alfabesi otomatik olarak türetilir (bu örnekte: Çince-Geleneksel). ISO 15924 kullanarak alfabenin kendisini de belirtebilirsiniz, örneğin:

  • zh-Hant: Çince (Geleneksel)
  • zh-Hans: Çince (Basitleştirilmiş)

İsterseniz, alfabeyi ve bölgenin bir birleşimini de belirtebilirsiniz. Örneğin, Tayvanlı kullanıcılar için Çinceyi (Basitleştirilmiş) belirtirken zh-Hans-TW ifadesini kullanırsınız.

Eşleştirilmemiş diller için x-default etiketini kullanma

Kullanıcının tarayıcı ayarlarıyla başka bir dil/bölge eşleşmediğinde, hreflang="x-default" ayrılmış değeri kullanılır. Bu değer isteğe bağlıdır, ancak hiçbir dil eşleşmediğinde sayfayı kontrol etme yöntemi olarak önerilir. Kullanıcının ülkesini seçebilmesini sağlayan tıklanabilir bir haritanın bulunduğu sitenizin ana sayfasını hedeflemek iyi bir kullanımdır.

Sorun giderme

Sık Yapılan Yanlışlar

hreflang etiketinin kullanımıyla ilgili en yaygın hatalar şunlardır:

  • Eksik dönüş bağlantıları: X sayfası Y sayfasına bağlanıyorsa, Y sayfası tekrar X sayfasına bağlanmalıdır. hreflang ek açıklamasını kullanan tüm sayfalar için böyle bir durum yoksa ilgili ek açıklamalar yoksayılabilir veya doğru şekilde yorumlanmayabilir.
  • Yanlış dil kodları: Kullandığınız tüm dil kodlarının alternatif bir URL'nin dilini (ISO 639-1 biçiminde) ve isteğe bağlı olarak bölgesini (ISO 3166-1 Alpha 2 biçiminde) tanımladığından emin olun. Sadece bölgeyi tanımlamak geçerli değildir.

hreflang hatalarını ayıklama

En yaygın sorunlarla ilgili hataları ayıklamak için Uluslararası Hedefleme raporunu kullanabilirsiniz. Google'ın sayfalarınızı taramak için zamanının olduğundan emin olun, ardından hataların tespit edilip edilmediğini görmek için raporun Dil sekmesini ziyaret edin.

Ayrıca, birçok üçüncü taraf araçlar da mevcuttur. Birkaç popüler araç aşağıda verilmiştir. (Bu araçlar Google tarafından sağlanmaz veya kontrol edilmez.)

Bu makale faydalı mıydı?
Bunu nasıl iyileştirebiliriz?