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

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 içeriğe 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.

Bir sayfanın yerelleştirilmiş sürümleri, yalnızca sayfanın ana içeriği çevrilmeden kalırsa kopya olarak kabul edilir.

Alternatif sayfalarınızı belirtme yöntemleri

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

Üç yöntem de Google açısından aynı olduğu için sitenize en uygun yöntemi seçebilirsiniz. Üç yöntemi de aynı anda kullanabilirsiniz, ancak bu durum size Arama'da herhangi bir fayda sağlamaz (hatta tek bir yöntem seçmek yerine üçünü birden yönetmek çok daha zor olabilir).

hreflang kullanarak Google'a içeriğinizin varyasyonları hakkında bilgi verdiğinizde bu sayfaların aynı içeriğin yerelleştirilmiş varyasyonları olduğunu anlayabiliriz. Google bir sayfanın dilini algılamak için hreflang veya HTML lang özelliğini kullanmaz. Bunun yerine dili belirlemek için algoritmalar kullanırız.

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 nitelikli 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 söz konusu dilin coğrafi konumları belli olmayan kullanıcıları için kapsayıcı bir URL'ye 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 varsa ABD, Birleşik Krallık ve İngilizce konuşulan diğer tüm ülkelerdeki arama yapan kullanıcılar için genel bir İngilizce (en) sayfa da sağlayın. 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ı sayfalardan 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 sayfa varyantlarınızı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="https://example.com/" hreflang="x-default" />

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="lang_code"... > öğ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 varyasyonunda hem <head> öğesine bir <link> öğe grubu hem de kendisi dahil olmak üzere her sayfa varyantı için bir bağlantı ekleyin. Bağlantı grubu, sayfanın her sürümü için aynıdır. Ek kurallara bakın.

Burada her link öğesinin söz dizimini görebilirsiniz:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />
Söz dizimi
lang_code Sayfanın bu sürümü tarafından hedeflenen desteklenen bir dil/bölge kodu veya sayfada bir hreflang etiketi ile açıkça listelenmeyen herhangi bir dille eşleşmesi için x-default.
url_of_page Belirtilen dil/bölge için bu sayfanın sürümüne ait tam nitelikli 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 izleme pikseli gibi öğelerden önce gelmelidir. Şüpheye düşerseniz bağlantıların <head> öğesinin içinde yer aldığından emin olmak için, oluşturduğunuz sayfadaki kodu 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 varyantları vardır:

Bölgesel varyantları olan URL'ler
https://en.example.com/page.html ABD’den başka ülkelere nakliye ücretleriyle ilgili bilgileri içeren İngilizce dilindeki genel ana sayfa.
https://en-gb.example.com/page.html Fiyatları İngiliz sterlini cinsinden gösteren Birleşik Krallık ana sayfası.
https://en-us.example.com/page.html Fiyatları ABD doları cinsinden gösteren ABD ana sayfası.
https://de.example.com/page.html Almanca ana sayfa.
https://www.example.com/ Varsayılan sayfa herhangi bir dili veya yerel ayarı hedeflemez. İçerisinde, kullanıcıların kendi dillerini ve bölgelerini ayarlayabileceği seçiciler bulunur.

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

Bölgesel varyantları olan URL'ler tablosunda listelenen tüm sayfaların <head> bölümünde olabilecek HTML'yi aşağıda görebilirsiniz. ABD ve Birleşik Krallık'taki genel İngilizce konuşan kullanıcılar ile 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="https://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
       href="https://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
       href="https://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
       href="https://de.example.com/page.html" />
 <link rel="alternate" hreflang="x-default"
       href="https://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.

Üst bilginin biçimini şu şekildedir:

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...
Söz dizimi
<url_x> İlişkili hreflang özelliğine atanan yerel ayar dizesine karşılık gelen alternatif sayfanın tam nitelikli URL'si. URL'nin başında ve sonunda < ile > işaretleri bulunmalıdır. Örnek: <https://www.google.com>
lang_code_x Sayfanın bu sürümü tarafından hedeflenen desteklenen bir dil/bölge kodu veya sayfada bir hreflang etiketi ile açıkça listelenmeyen herhangi bir dille eşleşmesi için x-default.

İstenen sürüm 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 ayırarak 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: <https://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <https://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <https://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 XML 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 <loc> öğesi ekleyin. Dolayısıyla, bir sayfanızın 3 sürümü varsa site haritanızda her sürümün URL'siyle ilgili girişler bulunur ve her bir girişin 3 aynı alt girişi olur.

Site haritası kuralları:

  • xhtml ad alanını aşağıdaki gibi belirtin:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Diğer site haritalarında olduğu gibi, 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, sayfanın kendisi de dahil olmak üzere tüm alternatif sürümlerini listeleyen bir <xhtml:link rel="alternate" hreflang="supported_language-code"> 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. Alt öğeler, site haritalarının URL sınırına dahil edilmez.
  • Site haritasını, sitenizde site haritasının geçerli olduğu bir dizine yükleyin. Site haritasının yalnızca site haritasının barındırıldığı dizinin alt URL'lerini içerebileceğini unutmayın.
  • Site haritalarıyla ilgili dokümanlarımız site haritası uzantıları için de geçerlidir. Genel site haritası yönergelerine uyduğunuzdan emin olun.
  • 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:

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

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>https://www.example.com/english/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>https://www.example.de/deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>https://www.example.de/schweiz-deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/english/page.html"/>
  </url>
</urlset>

Desteklenen dil ve bölge kodları

hreflang özelliğinin değeri, bir veya isteğe bağlı olarak iki değerden (kısa çizgiyle ayrılmış) oluşur. Örneğin, en-US. hreflang özelliğinin ilk kodu alternatif URL için dil kodudur (ISO 639-1 biçiminde). Ardından isteğe bağlı olarak bölge kodunu gösteren ikinci bir kod (ISO 3166-1 Alpha 2 biçiminde) gelir.

Belçika'da farklı dil konuşan kullanıcıları hedeflemek için aşağıdaki dil ve bölge kodlarını kullanabilirsiniz:

  • İyi (Belçika'da Almanca konuşan kullanıcılar için): de-be
  • İyi (Belçika'daki Felemenkçe konuşan kullanıcılar için): nl-be
  • İyi (Belçika'daki Fransızca konuşan kullanıcılar için): fr-be
  • Kötü: Çünkü ilk kod dil kodudur (be, Belarusça dil kodunu ifade eder): be

Etiketleme işleminizi basit hale getirmek için kendi başına bir dil kodu belirtebilirsiniz. Örneğin:

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

Alfabe varyasyonları için doğru alfabe, ülke bilgisinden türetilir. Örneğin, Tayvan'daki kullanıcılar için zh-TW kullanıldığında alfabe otomatik olarak türetilir (bu örnekte: Çince-Geleneksel). ISO 15924 kullanarak da alfabenin kendisini açıkça belirtebilirsiniz. Örneğin:

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

Diğer dil kodlarında olduğu gibi isteğe bağlı olarak bir bölge de belirtebilirsiniz. Örneğin, ABD'deki kullanıcılar için Çinceyi (Basitleştirilmiş) belirtmek amacıyla zh-Hans-US kodunu kullanın.

Eşleşmeyen diller için x-default değerini kullanma

Kullanıcının tarayıcı ayarlarıyla başka bir dil/bölge eşleşmediğinde ayrılmış x-default değeri kullanılır. Bu değer, sitenizin yerelleştirilmiş sürümlerinden hiçbiriyle eşleşmeyen dil ayarlarına sahip kullanıcılar söz konusu olduğunda yedek sayfayı belirtmek için önerilir. x-default değeri, herhangi bir sayfada kullanılabilse de aslında dil seçme sayfaları için tasarlandığından en iyi sonucu bu sayfalarda verir.

x-default değeri için dil kodu belirtilmesine gerek yoktur. Sayfa, dil ayarları sitenizin diliyle eşleşmeyen kullanıcıları hedeflediğinden sayfanın dili alakasızdır.

hreflang="x-default" ek açıklamasını uygulamak için mevcut hreflang ek açıklamalarına fazladan bir link etiketi ekleyin ve siteniz bu dili desteklemiyorsa href özelliğini, kullanıcılarınızın erişmesini istediğiniz URL'yek ayarlayın. Örneğin, bir HTML kullanımı aşağıdaki gibi görünebilir:

<link rel="alternate" href="https://example.com/en-gb" hreflang="en-gb" />
<link rel="alternate" href="https://example.com/en-us" hreflang="en-us" />
<link rel="alternate" href="https://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="https://example.com/country-selector" hreflang="x-default" />

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 sayfalarda bu kurala uyulmazsa ilgili ek açıklamalar yoksayılabilir veya doğru şekilde yorumlanmayabilir. Örneğin, https://de.example.com/index.html adresindeki bu bağlantıyı ele alalım:
    <link rel="alternate" hreflang="en-gb" href="https://en-gb.example.com/index.html" />
    Ayrıca https://en-gb.example.com/index.html üzerinde içeriğin de sürümüne işaret eden bir hreflang bağlantınızın da olması gerekir:
    <link rel="alternate" hreflang="de" href="https://de.example.com/index.html" />
  • 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

hreflang ek açıklamalarının hatalarını ayıklamak için kullanabileceğiniz birçok üçüncü taraf aracı vardır. Birkaç popüler araç aşağıda verilmiştir. Bu araçlar Google tarafından sağlanmaz veya kontrol edilmez.