{"id":24430,"date":"2010-09-09T00:00:00","date_gmt":"2010-09-09T00:00:00","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/unifying-content-under-multilingual-templates\/"},"modified":"2010-09-09T00:00:00","modified_gmt":"2010-09-09T00:00:00","slug":"unifying-content-under-multilingual-templates","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/unifying-content-under-multilingual-templates\/","title":{"rendered":"Unifying content under multilingual templates"},"content":{"rendered":"<aside class=\"key-point\">It&#8217;s been a while since we published this blog post. Some of the information may be outdated (for example, some images may be missing, and some links may not work anymore). Check out our <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/overview-of-international-and-multilingual-site-topics\/\">current documentation on managing multi-lingual sites<\/a>.<\/aside>\n<p class=\"gargardate\">Thursday, September 09, 2010<\/p>\n<aside class=\"warning\">\n  This specific configuration of <code>rel-alternate-hreflang<\/code> markup has been replaced by the<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/localized-versions\/\">general guidelines for multilingual and multi-regional content<\/a>.<br \/>\n<\/aside>\n<p>If you have a global site containing pages where the:<\/p>\n<ul>\n<li>template (that is, side navigation, footer) is machine-translated into various languages,<\/li>\n<li>main content remains unchanged, creating largely duplicate pages,<\/li>\n<\/ul>\n<p>\n  and sometimes search results direct users to the wrong language, we&#8217;d like to help you better<br \/>\n  target your international\/multilingual audience through:\n<\/p>\n<div><\/div>\n<p>\n  As you know, when<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-your-canonical\/\"><code>rel=\"canonical\"<\/code><\/a> or a<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/redirects-and-google\/\"><code>301<\/code> response code<\/a><br \/>\n  is properly implemented, we become more precise in clustering information from duplicate URLs,<br \/>\n  such as consolidating their linking properties. Now, when<br \/>\n  <code>rel=\"alternate\" hreflang=\"x\"<\/code> is included in conjunction with<br \/>\n  <code>rel=\"canonical\"<\/code> v\u0259 ya <code>301<\/code> redirects, not only will our indexing and linking<br \/>\n  properties be more accurate, but we can better serve users the URL of their preferred language.\n<\/p>\n<h2 id=\"sample-configuration-thats-prime-for-rel=alternate-hreflang=x\" tabindex=\"-1\">Sample configuration that&#8217;s prime for <code> rel=\"alternate\" hreflang=\"x\"<\/code><\/h2>\n<p>\n  How does this all work? Imagine that you&#8217;re the proud owner of example.com, a site called &#8220;The<br \/>\n  Network&#8221; where you allow users to create their very own profile. Let&#8217;s say Javier Lopez, a Spanish<br \/>\n  speaker, makes his page at <code>https:\/\/es.example.com\/javier-lopez<\/code>:\n<\/p>\n<p><img decoding=\"async\" alt=\"sample site called the network\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-e8d549306386.png\" loading=\"lazy\"><\/p>\n<p>\n  Because you&#8217;re trying to target a multilingual audience, once Javier hits &#8220;Publish,&#8221; his profile<br \/>\n  becomes immediately available in other languages with the translated templates. Also, each of the<br \/>\n  new language versions is served on a separate URL.\n<\/p>\n<p><img decoding=\"async\" alt=\"Two localized versions, https:\/\/en.example.com\/javier-lopez in English and https:\/\/fr.example.com\/javier-lopez in French\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-5a821b13ce08.png\" loading=\"lazy\"><\/p>\n<h2 id=\"background-on-the-old-issue:-duplicate-content-caused-by-language-variations\" tabindex=\"-1\">Background on the old issue: duplicate content caused by language variations<\/h2>\n<p>\n  The configuration above allowed visitors speaking different languages to more easily interpret the<br \/>\n  content, but for search engines it was slightly problematic: there are three URLs (English,<br \/>\n  French, and Spanish versions) for the same main content in Javier&#8217;s profile. Webmasters wanted to<br \/>\n  avoid<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-canonical\/\">duplicate content<\/a><br \/>\n  issues (such as PageRank dilution) from these multiple versions and still ensure that we would<br \/>\n  serve the appropriate version to the user.\n<\/p>\n<h2 id=\"a-new-solution-for-localized-templates\" tabindex=\"-1\">A new solution for localized templates<\/h2>\n<p>\n  First of all, just to be clear, the strategy we&#8217;re proposing isn&#8217;t appropriate for multilingual<br \/>\n  sites that completely translate each page&#8217;s content. We&#8217;re trying to specifically improve the<br \/>\n  situation where the template is localized but the main content of a page remains<br \/>\n  duplicate\/identical across language\/country variants.\n<\/p>\n<p>Before we get into the specific steps, our prior advice remains applicable:<\/p>\n<ul>\n<li>\n    Have one URL associated with one piece of content. We recommend against using the same URL for<br \/>\n    multiple languages, such as serving both French and English versions on<br \/>\n    <code>example.com\/page.html<\/code> based on user information (IP address,<br \/>\n    <code>Accept-Language<\/code> HTTP header).\n  <\/li>\n<li>\n    When multiple languages are at play, it&#8217;s best to include the language or country indication in<br \/>\n    the URL, for example, example.com\/en\/welcome.html and example.com\/fr\/accueil.html (which<br \/>\n    specify <code>en<\/code> and <code>fr<\/code>) rather than<br \/>\n    <code>example.com\/welcome.html<\/code> and <code>example.com\/accueil.html<\/code> (which don&#8217;t<br \/>\n    contain an explicit country\/language specification). More suggestions can be found in our blog<br \/>\n    posts about<br \/>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/working-with-multi-regional-websites\/\">designing localized URLs<\/a><br \/>\n    and<br \/>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/working-with-multilingual-websites\/\">multilingual sites<\/a>.\n  <\/li>\n<\/ul>\n<p>For the new feature:<\/p>\n<h3 id=\"select-the-proper-canonical.\" tabindex=\"-1\">Select the proper canonical.<\/h3>\n<p>\n  The canonical designates the version of your content you&#8217;d like indexed and returned to users.<br \/>\n  The first step towards making the right content indexable is to pick one canonical URL that best<br \/>\n  reflects the genuine locale of the page&#8217;s main content. In the example above, since Javier is a<br \/>\n  Spanish-speaking user and he created his profile on <code>es.example.com<\/code>,<br \/>\n  <code>https:\/\/es.example.com\/javier-lopez<\/code> is the logical canonical. The title and snippet in<br \/>\n  all locales will be selected from the canonical URL.\n<\/p>\n<p>Once you have the canonical URL picked out, you can either:<\/p>\n<ol type=\"A\">\n<li>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/redirects-and-google\/\"><code>301<\/code> (permanent redirect)<\/a><br \/>\n    from the language variants to the canonical. As an example, if a French speaker visits<br \/>\n    <code>fr.example.com\/javier-lopez<\/code> (not the canonical), have this page include a cookie to<br \/>\n    remember the user&#8217;s language preference of French. Then permanently redirect from<br \/>\n    <code>fr.example.com\/javier-lopez<\/code> to the canonical at<br \/>\n    <code>es.example.com\/javier-lopez<\/code>. Because of the cookie,<br \/>\n    <code>es.example.com\/javier-lopez<\/code> will still render its boilerplate in French (even on<br \/>\n    the <code>es.example.com<\/code> subdomain!). Similarly, <code>en.example.com\/javier-lopez<\/code><br \/>\n    would set the value of this cookie to English and then <code>301<\/code> redirect to<br \/>\n    <code>es.example.com\/javier-lopez<\/code>. Including a language selection link is also helpful<br \/>\n    should a multilingual user prefer a different experience of your site.\n  <\/li>\n<li>\n    Use <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-your-canonical\/\"><code>rel=\"canonical\"<\/code><\/a>. On<br \/>\n    the other language variants, include a <code>link rel=\"canonical\"<\/code> tag pointing to your<br \/>\n    chosen canonical URL. In our example, since the canonical for Javier&#8217;s profile is the Spanish<br \/>\n    version, the English and French pages (and optionally even the Spanish page itself) would<br \/>\n    include <code>&lt;link rel=\u201dcanonical\u201d href=\"https:\/\/es.example.com\/javier-lopez\" \/&gt;<\/code>.<br \/>\n    Cookies are not involved in this setup. Therefore, a French speaker will be served<br \/>\n    <code>es.example.com\/javier-lopez<\/code> with a Spanish template. Implement step 2 if you want<br \/>\n    the French speakers to be served the French version at<br \/>\n    <code>fr.example.com\/javier-lopez<\/code> in Google search results.\n  <\/li>\n<\/ol>\n<h3 id=\"in-the-canonical-url,-specify-the-various-language-versions-via-the-rel=alternate-link-tag,-using-its-hreflangattribute.\" data-text='   In the canonical URL, specify the various language versions via the rel=\"alternate\"   link tag, using its hreflangattribute. ' tabindex=\"-1\">\n  In the canonical URL, specify the various language versions via the <code>rel=\"alternate\"<\/code><br \/>\n  link tag, using its <code>hreflang<\/code>attribute.<br \/>\n<\/h3>\n<p>\n  <code>rel=\"alternate\"<\/code> URLs can be displayed in search results in accordance with a user&#8217;s<br \/>\n  language preference. The title and snippet, however, remain generated from the canonical URL (as<br \/>\n  is customary with <code>rel=\"canonical\"<\/code>), not from the content of any<br \/>\n  <code>rel=\"alternate\"<\/code>.\n<\/p>\n<p>\n  You can help Google display the correctly localized variant of your URL to our international users<br \/>\n  by adding the following tags to <code>https:\/\/es.example.com\/javier-lopez<\/code>, the selected<br \/>\n  canonical:\n<\/p>\n<div><\/div>\n<p>\n  <code>rel=\"alternate\"<\/code> indicates that the URL contains an alternate version located at the<br \/>\n  URI of the <code>href<\/code> value. <code>hreflang<\/code> identifies the language code of the<br \/>\n  alternate URL and can be specified with<br \/>\n  <a href=\"https:\/\/www.loc.gov\/standards\/iso639-2\/\" class=\"external-link\">ISO-639<\/a>.\n<\/p>\n<p>\n  Please note: If your site supports many languages and you&#8217;re worried about the increased file size<br \/>\n  when declaring numerous <code>rel=\"alternate\"<\/code> URLs, please see our Help Center article<br \/>\n  about<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/localized-versions\/\">configuring <code>rel=\"alternate\"<\/code> with file size constraints<\/a>.\n<\/p>\n<p>Once the steps are completed, the configuration on &#8220;The Network&#8221; would look like this:<\/p>\n<ul>\n<li>\n    <code>https:\/\/en.example.com\/javier-lopez<\/code>: either <code>301<\/code> redirects with a<br \/>\n    language cookie or contains<br \/>\n    <code>&lt;link rel=\u201dcanonical\u201d href=\u201dhttps:\/\/es.example.com\/javier-lopez\u201d \/&gt;<\/code>\n  <\/li>\n<li>\n    <code>https:\/\/fr.example.com\/javier-lopez<\/code>: either <code>301<\/code> redirects with a<br \/>\n    language cookie or contains<br \/>\n    <code> &lt;link rel=\u201dcanonical\u201d href=\u201dhttps:\/\/es.example.com\/javier-lopez\u201d \/&gt;<\/code>\n  <\/li>\n<li>\n    <code>https:\/\/es.example.com\/javier-lopez<\/code>: is the canonical and contains<br \/>\n    <code>&lt;link rel=\u201dalternate\u201d hreflang=\"en\" href=\"https:\/\/en.example.com\/javier-lopez\" \/&gt;<\/code><br \/>\n    and<br \/>\n    <code>&lt;link rel=\u201dalternate\u201d hreflang=\"fr\" href=\"https:\/\/fr.example.com\/javier-lopez\" \/&gt;<\/code>\n  <\/li>\n<\/ul>\n<h2 id=\"results-of-the-above-implementation\" tabindex=\"-1\">Results of the above implementation<\/h2>\n<ul>\n<li>\n    When your content is returned in search results, users will likely see the URL that corresponds<br \/>\n    to their language preference, whether or not it&#8217;s the canonical. (Good news!) This is because<br \/>\n    with <code>rel=\"canonical\"<\/code> or a <code>301<\/code> redirect, we can cluster the language<br \/>\n    variations with the canonical. With <code>rel=\"alternate\" hreflang=\"x\"<\/code> at serve-time we<br \/>\n    can deliver the URL of the most appropriate language to the user: English speakers will be<br \/>\n    served <code>en.example.com\/javier-lopez<\/code> as the result for the URL in Javier&#8217;s profile,<br \/>\n    French speakers will see <code>fr.example.com\/javier-lopez<\/code>, Spanish speakers will see<br \/>\n    <code>es.example.com\/javier-lopez<\/code>.\n  <\/li>\n<li>\n    By implementing step 1, only content from the canonical version will be available for users in<br \/>\n    search results (that is, content from the duplicate versions won&#8217;t be searchable). Because the<br \/>\n    Spanish version <code>es.example.com\/javier-lopez<\/code> is the canonical, queries that include<br \/>\n    template content from this page, for example, &#8220;Javier Lopez familia&#8221;&mdash;when using any<br \/>\n    language preference&mdash;may return his profile (content from the canonical version). On the<br \/>\n    other hand, queries that include template content of the &#8220;duplicate&#8221; version, for example,<br \/>\n    &#8220;Javier Lopez family&#8221;, are less likely to return his profile page. If you would like the other<br \/>\n    language versions indexed separately and searchable, avoid using<br \/>\n    <code>rel=\"canonical\"<\/code> and <code>rel=\"alternate\"<\/code>.\n  <\/li>\n<li>\n    Indexing properties, such as linking information, from the duplicate language variants will be<br \/>\n    consolidated with the canonical.\n  <\/li>\n<\/ul>\n<h2 id=\"to-recap-one-more-time,-with-feeling\" tabindex=\"-1\">To recap (one more time, with feeling!)<\/h2>\n<p>\n  For sites that have their template localized but the keep their pages&#8217; main content untranslated:\n<\/p>\n<ol>\n<li>\n    Once you have the canonical picked out you can use either<br \/>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-your-canonical\/\"><code>rel=\"canonical\"<\/code><\/a><br \/>\n    or a <code>301<\/code> (permanent redirect) from the various localized pages to the canonical<br \/>\n    URL.\n  <\/li>\n<li>\n    On the canonical URL, specify the language-specific duplicated content with<br \/>\n    different boilerplate via the <code>rel=\"alternate\"<\/code> link tag, using its<br \/>\n    <code>hreflang<\/code> attribute. This way, Google can show the correctly-localized variant of<br \/>\n    your URLs to our international users.\n  <\/li>\n<\/ol>\n<p>\n  We realize this can be a little complicated, so if you have questions, please ask in our<br \/>\n  <a href=\"https:\/\/support.google.com\/webmasters\/community\" class=\"external-link\">webmaster forum<\/a>!\n<\/p>\n<p class=\"byline-author\">\n  Written by Surabhi Gupta, Joachim Kupke and Jayesh Vyas, Search Localization and Indexing Teams<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been a while since we published this blog post. Some of the information may be outdated (for example, some images may be missing, and some links may not work anymore). Check out our current documentation on managing multi-lingual sites. Thursday, September 09, 2010 This specific configuration of rel-alternate-hreflang markup has been replaced by the [&hellip;]<\/p>\n","protected":false},"menu_order":85139,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[665],"ar_kb_etiket":[],"class_list":["post-24430","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-blog"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/24430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":0,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/24430\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/26818"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=24430"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=24430"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=24430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}