CINXE.COM
Official Google Webmaster Central Blog: localization
<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <title> Official Google Webmaster Central Blog: localization </title> <script type='text/javascript'> var newhost = 'https://developers.google.com'; var target_blog_path = '/search/blog' var target_search_path = '/s/results/search/blog/?q=' var pathname = window.location.pathname if (pathname.startsWith('/search/label/')) { pathname = target_search_path.concat(pathname.slice(14)); } else if (pathname.endsWith('.html')) { pathname = target_blog_path.concat(pathname.slice(0, -5)); } else { pathname = target_blog_path; } var redir_target = newhost.concat(pathname); window.location.href = redir_target; </script> <meta content='evCklrdiBeZ3REnk8pXEV6_6iEdNf1ZLgUpwH9XirGg' name='google-site-verification'/> <meta content='width=device-width, height=device-height, minimum-scale=1.0, initial-scale=1.0, user-scalable=0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Official Google Webmaster Central Blog' property='og:title'/> <meta content='Official news on crawling and indexing sites for the Google index' property='og:description'/> <meta content='en_US' property='og:locale'/> <meta content='https://webmasters.googleblog.com/search/label/localization' property='og:url'/> <meta content='Official Google Webmaster Central Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Official Google Webmaster Central Blog' property='og:title'/> <meta content='Official news on crawling and indexing sites for the Google index' property='twitter:description'/> <meta content='summary' name='twitter:card'/> <meta content='@googlewmc' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .header-title h2 { color: rgba(0,0,0,.54); display: inline-block; font-size: 40px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 48px; vertical-align: top; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-top: 8px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgCqNmeVJSIp9EYGk0-d8ScFMrhQri2E5oiIe_wCB-iIf4iefN9xnmLKurx839utT42R76mVmed7FkHd-6nUhw_fEg8XVL_Gn8tamWEtM7QPe7OZcOkWNXN0qSNmnp8qdoYt1KVg/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } /** CUSTOM CODE **/ --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='https://webmasters.googleblog.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='https://webmasters.googleblog.com/search/label/localization' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Official Google Webmaster Central Blog - Atom" href="https://webmasters.googleblog.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Official Google Webmaster Central Blog - RSS" href="https://webmasters.googleblog.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Official Google Webmaster Central Blog - Atom" href="https://www.blogger.com/feeds/32069983/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='Official news on crawling and indexing sites for the Google index' name='description'/> <meta content='https://webmasters.googleblog.com/search/label/localization' property='og:url'/> <meta content='Official Google Webmaster Central Blog' property='og:title'/> <meta content='Official news on crawling and indexing sites for the Google index' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { display: inline-block; background-size: contain; z-index: 1; height: 46px; overflow: hidden; margin-top: 4px; margin-right: 8px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner .google-logo { height: 40px; margin-top: 3px; } .header-inner .google-logo img { height: 42px; } .header-title h2 { font-size: 32px; line-height: 40px; } .header-desc { bottom: 24px; position: absolute; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <script type='text/javascript'> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-18009-4', 'auto', 'blogger'); ga('blogger.send', 'pageview'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=32069983&zx=22add307-8ae0-4cef-98df-8ba66e3c3292' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=32069983&zx=22add307-8ae0-4cef-98df-8ba66e3c3292' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='header-outer'> <div class='header-inner'> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a class='google-logo' href='https://webmasters.googleblog.com/?hl=en'> <img height='50' src='https://www.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png'/> </a> <a href='/'> <h2> Webmaster Central Blog </h2> </a> </div> <div class='header-desc'> Official news on crawling and indexing sites for the Google index </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='6820572654036296004' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2014/07/troubleshooting-hreflang-annotations-in.html?hl=en' itemprop='url' title='Troubleshooting hreflang annotations in Webmaster Tools'> Troubleshooting hreflang annotations in Webmaster Tools </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, July 14, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you are targeting users in more than one country, chances are you already heard about </span><a href="https://support.google.com/webmasters/answer/189077" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">rel-alternate-hreflang</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. If you haven't, in short, this annotation enables Google and other search engines to serve the correct language or regional version of pages to searchers, which can lead to increased user satisfaction.</span></div> <b id="docs-internal-guid-4f20b7b2-3348-b471-15b1-122963469579" style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Making sure the deployed annotations are usable by search engines can be rather difficult, especially on sites with many pages, and site owners all around the world haven’t been shy telling us about this. Today we're releasing a feature that should make debugging rel-alternate-hreflang annotations much easier. </span></div> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Language Targeting section in the </span><a href="https://www.google.com/webmasters/tools/i18n" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">International Targeting</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> feature enables you to identify two of the most common issues with hreflang annotations:</span></div> <ul style="margin-bottom: 0pt; margin-top: 0pt;"> <li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Missing return links: annotations must be confirmed from the pages they are pointing to. If page A links to page B, page B must link back to page A, otherwise the annotations may not be interpreted correctly. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For each error of this kind we report where and when we detected them, as well as where the return link is expected to be.</span></div> </li> </ul> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="incorrect_backlinks.png" height="317px;" src="https://lh4.googleusercontent.com/LpTFKrz9mGitaBGiRogL4TsTrzrfM0FYUSDPl3m7tRF4yAsgO9k1EvSeoD6J1MxWxfoX_363k-OlwCv6ORiAjTLt4pf2fIMiMeXgcOCIgWnTxBDHGu4YJ7SVT6rkzeFBew" style="-webkit-transform: rotate(0rad); border: none;" width="624px;" /></span></div> <b style="font-weight: normal;"><br /></b> <ul style="margin-bottom: 0pt; margin-top: 0pt;"> <li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Incorrect hreflang values: The value of the hreflang attribute must either be a language code in </span><a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ISO 639-1</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> format such as "es", or a combination of language and country code such as "es-AR", where the country code is in </span><a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ISO 3166-1 Alpha 2</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> format. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In case our indexing systems detect language or country codes that are not in these formats, we provide example URLs to help you fix them.</span></div> </li> </ul> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="incorrect_language.png" height="319px;" src="https://lh5.googleusercontent.com/cAV-ZGFbSxrEqsJZBYjKgGPL7ik1VXhiwaJQq0aFW5et9lbduSEW23uUQAPnAWKaHk-QX_DSbv4oiO5xMrv77qNFOL-hUg_jPvbT2rUlrSuwRXAhR07RCbm3_jhY91_M5Q" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Additionally, we've moved the </span><a href="https://support.google.com/webmasters/answer/62399" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">geographic targeting</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> setting to this part of Webmaster Tools, so that you can find all information relevant to international and multilingual targeting in the same place.</span></div> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We hope you'll find this new feature useful and that it helps you to identify issues with the rel-hreflang-implementation on your site. If you have comments or questions about the feature, please post in our </span><a href="https://support.google.com/webmasters/go/community" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Webmaster Help Forum</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div> <br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Posted by <a href="https://plus.google.com/+GaryIllyes">Gary Illyes</a>, Webmaster Trends</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If you are targeting users in more than one country, chances are you already heard about </span><a href="https://support.google.com/webmasters/answer/189077" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">rel-alternate-hreflang</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. If you haven't, in short, this annotation enables Google and other search engines to serve the correct language or regional version of pages to searchers, which can lead to increased user satisfaction.</span></div> <b id="docs-internal-guid-4f20b7b2-3348-b471-15b1-122963469579" style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Making sure the deployed annotations are usable by search engines can be rather difficult, especially on sites with many pages, and site owners all around the world haven’t been shy telling us about this. Today we're releasing a feature that should make debugging rel-alternate-hreflang annotations much easier. </span></div> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Language Targeting section in the </span><a href="https://www.google.com/webmasters/tools/i18n" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">International Targeting</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> feature enables you to identify two of the most common issues with hreflang annotations:</span></div> <ul style="margin-bottom: 0pt; margin-top: 0pt;"> <li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Missing return links: annotations must be confirmed from the pages they are pointing to. If page A links to page B, page B must link back to page A, otherwise the annotations may not be interpreted correctly. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For each error of this kind we report where and when we detected them, as well as where the return link is expected to be.</span></div> </li> </ul> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="incorrect_backlinks.png" height="317px;" src="https://lh4.googleusercontent.com/LpTFKrz9mGitaBGiRogL4TsTrzrfM0FYUSDPl3m7tRF4yAsgO9k1EvSeoD6J1MxWxfoX_363k-OlwCv6ORiAjTLt4pf2fIMiMeXgcOCIgWnTxBDHGu4YJ7SVT6rkzeFBew" style="-webkit-transform: rotate(0rad); border: none;" width="624px;" /></span></div> <b style="font-weight: normal;"><br /></b> <ul style="margin-bottom: 0pt; margin-top: 0pt;"> <li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Incorrect hreflang values: The value of the hreflang attribute must either be a language code in </span><a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ISO 639-1</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> format such as "es", or a combination of language and country code such as "es-AR", where the country code is in </span><a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ISO 3166-1 Alpha 2</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> format. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In case our indexing systems detect language or country codes that are not in these formats, we provide example URLs to help you fix them.</span></div> </li> </ul> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="incorrect_language.png" height="319px;" src="https://lh5.googleusercontent.com/cAV-ZGFbSxrEqsJZBYjKgGPL7ik1VXhiwaJQq0aFW5et9lbduSEW23uUQAPnAWKaHk-QX_DSbv4oiO5xMrv77qNFOL-hUg_jPvbT2rUlrSuwRXAhR07RCbm3_jhY91_M5Q" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Additionally, we've moved the </span><a href="https://support.google.com/webmasters/answer/62399" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">geographic targeting</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> setting to this part of Webmaster Tools, so that you can find all information relevant to international and multilingual targeting in the same place.</span></div> <b style="font-weight: normal;"><br /></b> <div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We hope you'll find this new feature useful and that it helps you to identify issues with the rel-hreflang-implementation on your site. If you have comments or questions about the feature, please post in our </span><a href="https://support.google.com/webmasters/go/community" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Webmaster Help Forum</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div> <br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Posted by <a href="https://plus.google.com/+GaryIllyes">Gary Illyes</a>, Webmaster Trends</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Troubleshooting hreflang annotations in Webmaster Tools&url=https://webmasters.googleblog.com/2014/07/troubleshooting-hreflang-annotations-in.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2014/07/troubleshooting-hreflang-annotations-in.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2014/07/troubleshooting-hreflang-annotations-in.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/hreflang?hl=en' rel='tag'> hreflang </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/webmaster%20tools?hl=en' rel='tag'> webmaster tools </a> </span> </div> </div> </div> <div class='post' data-id='6345906976861641173' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2014/05/creating-right-homepage-for-your.html?hl=en' itemprop='url' title='Creating the Right Homepage for your International Users'> Creating the Right Homepage for your International Users </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, May 12, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <br /> If you are doing business in more than one country or targeting different languages, we recommend having separate sites or sections with specific content on each URLs targeted for individual countries or languages. For instance one page for US and english-speaking visitors, and a different page for France and french-speaking users. While we have information on handling <a href="https://support.google.com/webmasters/answer/182192">multi-regional and multilingual sites</a>, the homepage can be a bit special. This post will help you create the right homepage on your website to serve the appropriate content to users depending on their language and location.<br /> <br /> There are three ways to configure your homepage / landing page when your users access it:<br /> <div> <div> <ul style="text-align: left;"> <li>Show everyone the same content.</li> <li>Let users choose.</li> <li>Serve content depending on users’ localization and language.</li> </ul> </div> </div> <div> <div> Let’s have a look at each in detail.</div> <h2 style="text-align: left;"> <span style="font-size: large;"> Show users worldwide the same content</span><span style="font-size: x-large;"> </span></h2> <div> In this scenario, you decide to serve specific content for one given country and language on your homepage / generic URL (http://www.example.com). This content will be available to anyone who accesses that URL directly in their browser or those who search for that URL specifically. As mentioned above, all country & language versions should also be accessible on their own unique URLs.<br /> <br /></div> </div> <div> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5v9Ei-mQnzuHmuGX854pVEAD_iGwqPUORLle4cU-Ouljb5OnFuXVHdLir1bmeJNUjaq25lBkwx6Th4AyV-7VP7Qu7ARZK23U7XVJOeBEJDSkN1Z1J4G822ONhueDnkxBHInP4/s1600/gummy-bears-screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5v9Ei-mQnzuHmuGX854pVEAD_iGwqPUORLle4cU-Ouljb5OnFuXVHdLir1bmeJNUjaq25lBkwx6Th4AyV-7VP7Qu7ARZK23U7XVJOeBEJDSkN1Z1J4G822ONhueDnkxBHInP4/s1600/gummy-bears-screenshot.png" width="320" /></a></div> <br /></div> <div> <div> <i>Note:</i> You can show a banner on your page to suggest a more appropriate version to users from other locations or with different language settings.</div> <h2 style="text-align: left;"> <span style="font-size: large;"> Let users choose which local version and which language they want </span></h2> <div> In this configuration, you decide to serve a country selector page on your homepage / generic URL and to let users choose which content they want to see depending on country and language. All users who type in that URL can access the same page.</div> </div> <div> <br /></div> <div> <div> If you implement this scenario on your international site, remember to use the <a href="https://support.google.com/webmasters/answer/189077">x-default rel-alternate-hreflang annotation</a> for the country selector page, which was specifically created for these kinds of pages. The x-default value helps us recognize pages that are not specific to one language or region.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cu4vCAmkxWTIn2VJsnZJPPYSw-KUZz7b0KiVeVhmI5J1r-vl5RVrDgFriJ8IDSu4nkdPOUrnom_8KX_CEXA7ZQH9ayy6LUsdqbipY0SjkR9TXK2ZCKMpBEFVlfH2gaToqoDB/s1600/country-selector-screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cu4vCAmkxWTIn2VJsnZJPPYSw-KUZz7b0KiVeVhmI5J1r-vl5RVrDgFriJ8IDSu4nkdPOUrnom_8KX_CEXA7ZQH9ayy6LUsdqbipY0SjkR9TXK2ZCKMpBEFVlfH2gaToqoDB/s1600/country-selector-screenshot.png" width="320" /></a></div> </div> </div> <div> <h2 style="text-align: left;"> <span style="font-size: large;"> Automatically redirect users or dynamically serve the appropriate HTML content depending on users’ location and language settings</span></h2> <div> A third scenario would be to automatically serve the appropriate HTML content to your users depending on their location and language settings. You will either do that by using server-side 302 redirects or by dynamically serving the right HTML content.</div> <div> <br /></div> <div> Remember to use x-default rel-alternate-hreflang annotation on the homepage / generic page even if the latter is a redirect page that is not accessible directly for users.</div> <div> <br /></div> <div> <i>Note:</i> Think about redirecting users for whom you do not have a specific version. For instance, French-speaking users on a website that has English, Spanish and Chinese versions. Show them the content that you consider the most appropriate.</div> </div> <div> <br /></div> <div> <div> Whatever configuration you decide to go with, you should make sure all the pages – including country and language selector pages:</div> <div> <ul style="text-align: left;"> <li>Have <a href="https://support.google.com/webmasters/answer/189077">rel-alternate-hreflang annotations</a>.</li> <li>Are accessible for Googlebot's crawling and indexing: do not block the crawling or indexing of your localized pages.</li> <li>Always allow users to switch local version or language: you can do that using a drop down menu for instance.</li> </ul> <div> <i>Reminder:</i> As mentioned in the beginning, remember that you must have separate URLs for each country and language version. </div> </div> </div> <div> <h2 style="text-align: left;"> <span style="font-size: large;"> About rel-alternate-hreflang annotations</span></h2> <div> Remember to annotate all your pages - whatever method you choose. This will greatly help search engines to show the right results to your users.</div> <div> <br /></div> <div> Country selector pages and redirecting or dynamically serving homepages should all use the <a href="https://support.google.com/webmasters/answer/189077">x-default hreflang</a>, which was specifically designed for auto-redirecting homepages and country selectors. </div> <div> <br /></div> <div> Finally, here are a few useful reminders about rel-alternate-hreflang annotations in general:</div> </div> <div> <div> <ul style="text-align: left;"> <li>Your annotations must be confirmed from the other pages. If page A links to page B, page B must link back to page A, otherwise, your annotations may not be interpreted correctly.</li> <li>Your annotations should be self-referential. Page A should use rel-alternate-hreflang annotation linking to itself.</li> <li>You can specify the rel-alternate-hreflang annotations in the HTTP header, in the head section of the HTML, or in a sitemap file. We strongly recommend that you choose only one way to implement the annotations, in order to avoid inconsistent signals and errors.</li> <li>The value of the hreflang attribute must be in <a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> format for the language, and in <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 Alpha 2</a> format for the region. Specifying only the region is not supported. If you wish to configure your site only for a country, use the geotargeting feature in <a href="https://support.google.com/webmasters/answer/62399">Webmaster Tools</a>. </li> </ul> </div> </div> <div> Following these recommendations will help us better understand your localized content and serve more relevant results to your users in our search results. As always, if you have any questions or feedback, please tell us in the <a href="http://productforums.google.com/forum/#!categories/webmasters/internationalization">internationalization Webmaster Help Forum</a>.</div> <div> <br /></div> <div> <span class="byline-author">Posted by <a href="https://plus.google.com/+ZinebAitBahajji/?rel=author">Zineb Ait Bahajji</a> and <a href="https://plus.google.com/+GaryIllyes/?rel=author">Gary Illyes</a>, Webmaster Trends Analysts.</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <br /> If you are doing business in more than one country or targeting different languages, we recommend having separate sites or sections with specific content on each URLs targeted for individual countries or languages. For instance one page for US and english-speaking visitors, and a different page for France and french-speaking users. While we have information on handling <a href="https://support.google.com/webmasters/answer/182192">multi-regional and multilingual sites</a>, the homepage can be a bit special. This post will help you create the right homepage on your website to serve the appropriate content to users depending on their language and location.<br /> <br /> There are three ways to configure your homepage / landing page when your users access it:<br /> <div> <div> <ul style="text-align: left;"> <li>Show everyone the same content.</li> <li>Let users choose.</li> <li>Serve content depending on users’ localization and language.</li> </ul> </div> </div> <div> <div> Let’s have a look at each in detail.</div> <h2 style="text-align: left;"> <span style="font-size: large;"> Show users worldwide the same content</span><span style="font-size: x-large;"> </span></h2> <div> In this scenario, you decide to serve specific content for one given country and language on your homepage / generic URL (http://www.example.com). This content will be available to anyone who accesses that URL directly in their browser or those who search for that URL specifically. As mentioned above, all country & language versions should also be accessible on their own unique URLs.<br /> <br /></div> </div> <div> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5v9Ei-mQnzuHmuGX854pVEAD_iGwqPUORLle4cU-Ouljb5OnFuXVHdLir1bmeJNUjaq25lBkwx6Th4AyV-7VP7Qu7ARZK23U7XVJOeBEJDSkN1Z1J4G822ONhueDnkxBHInP4/s1600/gummy-bears-screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5v9Ei-mQnzuHmuGX854pVEAD_iGwqPUORLle4cU-Ouljb5OnFuXVHdLir1bmeJNUjaq25lBkwx6Th4AyV-7VP7Qu7ARZK23U7XVJOeBEJDSkN1Z1J4G822ONhueDnkxBHInP4/s1600/gummy-bears-screenshot.png" width="320" /></a></div> <br /></div> <div> <div> <i>Note:</i> You can show a banner on your page to suggest a more appropriate version to users from other locations or with different language settings.</div> <h2 style="text-align: left;"> <span style="font-size: large;"> Let users choose which local version and which language they want </span></h2> <div> In this configuration, you decide to serve a country selector page on your homepage / generic URL and to let users choose which content they want to see depending on country and language. All users who type in that URL can access the same page.</div> </div> <div> <br /></div> <div> <div> If you implement this scenario on your international site, remember to use the <a href="https://support.google.com/webmasters/answer/189077">x-default rel-alternate-hreflang annotation</a> for the country selector page, which was specifically created for these kinds of pages. The x-default value helps us recognize pages that are not specific to one language or region.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cu4vCAmkxWTIn2VJsnZJPPYSw-KUZz7b0KiVeVhmI5J1r-vl5RVrDgFriJ8IDSu4nkdPOUrnom_8KX_CEXA7ZQH9ayy6LUsdqbipY0SjkR9TXK2ZCKMpBEFVlfH2gaToqoDB/s1600/country-selector-screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cu4vCAmkxWTIn2VJsnZJPPYSw-KUZz7b0KiVeVhmI5J1r-vl5RVrDgFriJ8IDSu4nkdPOUrnom_8KX_CEXA7ZQH9ayy6LUsdqbipY0SjkR9TXK2ZCKMpBEFVlfH2gaToqoDB/s1600/country-selector-screenshot.png" width="320" /></a></div> </div> </div> <div> <h2 style="text-align: left;"> <span style="font-size: large;"> Automatically redirect users or dynamically serve the appropriate HTML content depending on users’ location and language settings</span></h2> <div> A third scenario would be to automatically serve the appropriate HTML content to your users depending on their location and language settings. You will either do that by using server-side 302 redirects or by dynamically serving the right HTML content.</div> <div> <br /></div> <div> Remember to use x-default rel-alternate-hreflang annotation on the homepage / generic page even if the latter is a redirect page that is not accessible directly for users.</div> <div> <br /></div> <div> <i>Note:</i> Think about redirecting users for whom you do not have a specific version. For instance, French-speaking users on a website that has English, Spanish and Chinese versions. Show them the content that you consider the most appropriate.</div> </div> <div> <br /></div> <div> <div> Whatever configuration you decide to go with, you should make sure all the pages – including country and language selector pages:</div> <div> <ul style="text-align: left;"> <li>Have <a href="https://support.google.com/webmasters/answer/189077">rel-alternate-hreflang annotations</a>.</li> <li>Are accessible for Googlebot's crawling and indexing: do not block the crawling or indexing of your localized pages.</li> <li>Always allow users to switch local version or language: you can do that using a drop down menu for instance.</li> </ul> <div> <i>Reminder:</i> As mentioned in the beginning, remember that you must have separate URLs for each country and language version. </div> </div> </div> <div> <h2 style="text-align: left;"> <span style="font-size: large;"> About rel-alternate-hreflang annotations</span></h2> <div> Remember to annotate all your pages - whatever method you choose. This will greatly help search engines to show the right results to your users.</div> <div> <br /></div> <div> Country selector pages and redirecting or dynamically serving homepages should all use the <a href="https://support.google.com/webmasters/answer/189077">x-default hreflang</a>, which was specifically designed for auto-redirecting homepages and country selectors. </div> <div> <br /></div> <div> Finally, here are a few useful reminders about rel-alternate-hreflang annotations in general:</div> </div> <div> <div> <ul style="text-align: left;"> <li>Your annotations must be confirmed from the other pages. If page A links to page B, page B must link back to page A, otherwise, your annotations may not be interpreted correctly.</li> <li>Your annotations should be self-referential. Page A should use rel-alternate-hreflang annotation linking to itself.</li> <li>You can specify the rel-alternate-hreflang annotations in the HTTP header, in the head section of the HTML, or in a sitemap file. We strongly recommend that you choose only one way to implement the annotations, in order to avoid inconsistent signals and errors.</li> <li>The value of the hreflang attribute must be in <a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> format for the language, and in <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 Alpha 2</a> format for the region. Specifying only the region is not supported. If you wish to configure your site only for a country, use the geotargeting feature in <a href="https://support.google.com/webmasters/answer/62399">Webmaster Tools</a>. </li> </ul> </div> </div> <div> Following these recommendations will help us better understand your localized content and serve more relevant results to your users in our search results. As always, if you have any questions or feedback, please tell us in the <a href="http://productforums.google.com/forum/#!categories/webmasters/internationalization">internationalization Webmaster Help Forum</a>.</div> <div> <br /></div> <div> <span class="byline-author">Posted by <a href="https://plus.google.com/+ZinebAitBahajji/?rel=author">Zineb Ait Bahajji</a> and <a href="https://plus.google.com/+GaryIllyes/?rel=author">Gary Illyes</a>, Webmaster Trends Analysts.</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Creating the Right Homepage for your International Users&url=https://webmasters.googleblog.com/2014/05/creating-right-homepage-for-your.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2014/05/creating-right-homepage-for-your.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2014/05/creating-right-homepage-for-your.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/crawling%20and%20indexing?hl=en' rel='tag'> crawling and indexing </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/hreflang?hl=en' rel='tag'> hreflang </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='1222333969460118363' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2013/05/6-quick-tips-for-international-websites.html?hl=en' itemprop='url' title='6 Quick Tips for International Websites'> 6 Quick Tips for International Websites </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, May 31, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><i>Note from the editors: After previously looking into various ways to handle <a href="http://support.google.com/webmasters/bin/answer.py?answer=182192">internationalization for Google’s web-search</a>, here’s a post from Google Web Studio team members with tips for web developers.</i><br /> <br /> Many websites exist in more than one language, and more and more websites are made available for more than one language. Yet, building a website for more than one language doesn’t simply mean translation, or localization (L10N), and that’s it. It requires a few more things, all of which are related to internationalization (I18N). In this post we share a few tips for international websites.<br /> <h4>1. Make pages I18N-ready in the markup, not the style sheets</h4>Language and directionality are inherent to the contents of the document. If possible you should hence always use markup, not style sheets, for internationalization purposes. Use <code>@lang</code> and <code>@dir</code>, at least on the <code>html</code> element:<br /> <br /> <code><html lang="ar" dir="rtl"></code><br /> <br /> Avoid coming up with your own solutions like special classes or IDs.<br /> <br /> As for I18N in style sheets, you can’t always rely on CSS: The CSS spec defines that conforming user agents <a href="http://www.w3.org/TR/CSS21/visuren.html#direction">may ignore properties like <code>direction</code> or <code>unicode-bidi</code></a>. (For XML, the situation changes again. XML doesn’t offer special internationalization markup, so here it’s advisable to use CSS.)<br /> <h4>2. Use one style sheet for all locales</h4>Instead of creating separate style sheets for LTR and RTL directionality, or even each language, bundle everything in one style sheet. That makes your internationalization rules much easier to understand and maintain.<br /> <br /> So instead of embedding an alternative style sheet like<br /> <br /> <code><link href="default.rtl.css" rel="stylesheet"></code><br /> <br /> just use your existing<br /> <br /> <code><link href="default.css" rel="stylesheet"></code><br /> <br /> When taking this approach you’ll need to complement existing CSS rules by their international counterparts:<br /> <h4>3. Use the <code>[dir='rtl']</code> attribute selector</h4>Since we recommend to stick with the style sheet you have (tip #2), you need a different way of selecting elements you need to style differently for the other directionality. As RTL contents require specific markup (tip #1), this should be easy: For most modern browsers, we can simply use <code>[dir='rtl']</code>.<br /> <br /> Here’s an example:<br /> <br /> <pre><code>aside { float: right; margin: 0 0 1em 1em; } [dir='rtl'] aside { float: left; margin: 0 1em 1em 0; }</code></pre><h4>4. Use the <code>:lang()</code> pseudo class</h4>To target documents of a particular language, use the <code>:lang()</code> pseudo class. (Note that we’re talking documents here, not text snippets, as targeting snippets of a particular language makes things a little more complex.)<br /> <br /> For example, if you discover that bold formatting doesn’t work very well for Chinese documents (which indeed it does not), use the following:<br /> <br /> <pre><code>:lang(zh) strong, :lang(zh) b { font-weight: normal; color: #900; }</code></pre><h4>5. Mirror left- and right-related values</h4>When working with both LTR and RTL contents it’s important to mirror all the values that change directionality. Among the properties to watch out for is everything related to borders, margins, and paddings, but also position-related properties, <code>float</code>, or <code>text-align</code>.<br /> <br /> For example, what’s <code>text-align: left</code> in LTR needs to be <code>text-align: right</code> in RTL.<br /> <br /> There are tools to make it easy to “flip” directionality. One of them is <a href="http://cssjanus.commoner.com/">CSSJanus</a>, though it has been written for the “separate style sheet” realm, not the “same style sheet” one.<br /> <h4>6. Keep an eye on the details</h4>Watch out for the following items:<br /> <ul><li>Images designed for left or right, like arrows or backgrounds, light sources in <code>box-shadow</code> and <code>text-shadow values</code>, and JavaScript positioning and animations: These may require being swapped and accommodated for in the opposite directionality.<br /> </li> <li>Font sizes and fonts, especially for non-Latin alphabets: Depending on the script and font, the default font size may be too small. Consider tweaking the size and, if necessary, the font. <br /> </li> <li>CSS <a href="http://www.w3.org/TR/CSS21/cascade.html#specificity">specificity</a>: When using the <code>[dir='rtl']</code> (or <code>[dir='ltr']</code>) hook (tip #2), you’re using a selector of higher specificity. This can lead to issues. Just have an eye out, and adjust accordingly.<br /> </li> </ul><br /> If you have any questions or feedback, check the <a href="http://productforums.google.com/forum/#!categories/webmasters/internationalization">Internationalization Webmaster Help Forum</a>, or leave your comments here.<br /> <br /> <span class="byline-author">Written by<a href="https://plus.google.com/114697646623413794481?rel=author"> Jens O. Meiert</a> and <a href="https://plus.google.com/116226932711437764309?rel=author">Tony Ruscoe</a>, Tech Leads, Google Web Studio</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><i>Note from the editors: After previously looking into various ways to handle <a href="http://support.google.com/webmasters/bin/answer.py?answer=182192">internationalization for Google’s web-search</a>, here’s a post from Google Web Studio team members with tips for web developers.</i><br /> <br /> Many websites exist in more than one language, and more and more websites are made available for more than one language. Yet, building a website for more than one language doesn’t simply mean translation, or localization (L10N), and that’s it. It requires a few more things, all of which are related to internationalization (I18N). In this post we share a few tips for international websites.<br /> <h4>1. Make pages I18N-ready in the markup, not the style sheets</h4>Language and directionality are inherent to the contents of the document. If possible you should hence always use markup, not style sheets, for internationalization purposes. Use <code>@lang</code> and <code>@dir</code>, at least on the <code>html</code> element:<br /> <br /> <code><html lang="ar" dir="rtl"></code><br /> <br /> Avoid coming up with your own solutions like special classes or IDs.<br /> <br /> As for I18N in style sheets, you can’t always rely on CSS: The CSS spec defines that conforming user agents <a href="http://www.w3.org/TR/CSS21/visuren.html#direction">may ignore properties like <code>direction</code> or <code>unicode-bidi</code></a>. (For XML, the situation changes again. XML doesn’t offer special internationalization markup, so here it’s advisable to use CSS.)<br /> <h4>2. Use one style sheet for all locales</h4>Instead of creating separate style sheets for LTR and RTL directionality, or even each language, bundle everything in one style sheet. That makes your internationalization rules much easier to understand and maintain.<br /> <br /> So instead of embedding an alternative style sheet like<br /> <br /> <code><link href="default.rtl.css" rel="stylesheet"></code><br /> <br /> just use your existing<br /> <br /> <code><link href="default.css" rel="stylesheet"></code><br /> <br /> When taking this approach you’ll need to complement existing CSS rules by their international counterparts:<br /> <h4>3. Use the <code>[dir='rtl']</code> attribute selector</h4>Since we recommend to stick with the style sheet you have (tip #2), you need a different way of selecting elements you need to style differently for the other directionality. As RTL contents require specific markup (tip #1), this should be easy: For most modern browsers, we can simply use <code>[dir='rtl']</code>.<br /> <br /> Here’s an example:<br /> <br /> <pre><code>aside { float: right; margin: 0 0 1em 1em; } [dir='rtl'] aside { float: left; margin: 0 1em 1em 0; }</code></pre><h4>4. Use the <code>:lang()</code> pseudo class</h4>To target documents of a particular language, use the <code>:lang()</code> pseudo class. (Note that we’re talking documents here, not text snippets, as targeting snippets of a particular language makes things a little more complex.)<br /> <br /> For example, if you discover that bold formatting doesn’t work very well for Chinese documents (which indeed it does not), use the following:<br /> <br /> <pre><code>:lang(zh) strong, :lang(zh) b { font-weight: normal; color: #900; }</code></pre><h4>5. Mirror left- and right-related values</h4>When working with both LTR and RTL contents it’s important to mirror all the values that change directionality. Among the properties to watch out for is everything related to borders, margins, and paddings, but also position-related properties, <code>float</code>, or <code>text-align</code>.<br /> <br /> For example, what’s <code>text-align: left</code> in LTR needs to be <code>text-align: right</code> in RTL.<br /> <br /> There are tools to make it easy to “flip” directionality. One of them is <a href="http://cssjanus.commoner.com/">CSSJanus</a>, though it has been written for the “separate style sheet” realm, not the “same style sheet” one.<br /> <h4>6. Keep an eye on the details</h4>Watch out for the following items:<br /> <ul><li>Images designed for left or right, like arrows or backgrounds, light sources in <code>box-shadow</code> and <code>text-shadow values</code>, and JavaScript positioning and animations: These may require being swapped and accommodated for in the opposite directionality.<br /> </li> <li>Font sizes and fonts, especially for non-Latin alphabets: Depending on the script and font, the default font size may be too small. Consider tweaking the size and, if necessary, the font. <br /> </li> <li>CSS <a href="http://www.w3.org/TR/CSS21/cascade.html#specificity">specificity</a>: When using the <code>[dir='rtl']</code> (or <code>[dir='ltr']</code>) hook (tip #2), you’re using a selector of higher specificity. This can lead to issues. Just have an eye out, and adjust accordingly.<br /> </li> </ul><br /> If you have any questions or feedback, check the <a href="http://productforums.google.com/forum/#!categories/webmasters/internationalization">Internationalization Webmaster Help Forum</a>, or leave your comments here.<br /> <br /> <span class="byline-author">Written by<a href="https://plus.google.com/114697646623413794481?rel=author"> Jens O. Meiert</a> and <a href="https://plus.google.com/116226932711437764309?rel=author">Tony Ruscoe</a>, Tech Leads, Google Web Studio</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:6 Quick Tips for International Websites&url=https://webmasters.googleblog.com/2013/05/6-quick-tips-for-international-websites.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2013/05/6-quick-tips-for-international-websites.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2013/05/6-quick-tips-for-international-websites.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/advanced?hl=en' rel='tag'> advanced </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/general%20tips?hl=en' rel='tag'> general tips </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='5564596239972293964' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2013/04/x-default-hreflang-for-international-pages.html?hl=en' itemprop='url' title='Introducing "x-default hreflang" for international landing pages'> Introducing "x-default hreflang" for international landing pages </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, April 10, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>Webmaster Level: All</p> <p>The homepages of multinational and multilingual websites are sometimes configured to point visitors to localized pages, either via redirects or by changing the content to reflect the user’s language. Today we’ll introduce a new rel-alternate-hreflang annotation that the webmaster can use to specify such homepages that is supported by both Google and <a href="http://webmaster.ya.ru/replies.xml?item_no=15326">Yandex</a>.</p> <p>To see this in action, let’s look at an example. The website example.com has content that targets users around the world as follows:</p> <div class="separator" style="clear: both; text-align: center;"><img alt="Map of the world illustrating which hreflang code to use for which locale" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB5zzZF621WZhu3nO9sTJKQIItm6Z7LMeXs-PUucyem1AvIxT-TypB2NMAKLsuEiNmfippFHEy3qTeNqmVpdu6_RnB3hKCx_Ava4xAyevwXCTbw1DmvCfZ-7rO40YpM0Zm73QF/s1600/map-us-gb-au-flattened.png" /></div> <ul><li><a href="http://example.com/en-gb">http://example.com/en-gb</a>: For English-speaking users in the UK</li> <li><a href="http://example.com/en-us">http://example.com/en-us</a>: For English-speaking users in the USA</li> <li><a href="http://example.com/en-au">http://example.com/en-au</a>: For English-speaking users in Australia</li> <li><a href="http://example.com/">http://example.com/</a>: The homepage shows users a country selector and is the default page for users worldwide</li> </ul> <p>In this case, the webmaster can annotate this cluster of pages using <a href="http://support.google.com/webmasters/bin/answer.py?answer=189077">rel-alternate-hreflang</a> using <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=2620865">Sitemaps</a> or using HTML link tags like this:</p> <pre> <code> <link rel="alternate" href="http://example.com/en-gb" hreflang="en-gb" /> <link rel="alternate" href="http://example.com/en-us" hreflang="en-us" /> <link rel="alternate" href="http://example.com/en-au" hreflang="en-au" /> <link rel="alternate" href="http://example.com/" hreflang="x-default" /> </code> </pre> <p>The new <strong>x-default hreflang attribute value</strong> signals to our algorithms that this page doesn’t target any specific language or locale and is the default page when no other page is better suited. For example, it would be the page our algorithms try to show French-speaking searchers worldwide or English-speaking searchers on google.ca.</p> <p>The same annotation applies for homepages that dynamically alter their contents based on a user’s perceived geolocation or the Accept-Language headers. The x-default hreflang value signals to our algorithms that such a page doesn’t target a specific language or locale.</p> <p>As always, if you have any questions or feedback, please tell us in the <a href="http://productforums.google.com/forum/#!categories/webmasters/internationalization">Internationalization Webmaster Help Forum</a>.</p> <p><span class="byline-author">Posted by <a href="https://plus.google.com/+PierreFar/">Pierre Far</a>, Webmaster Trends Analyst</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>Webmaster Level: All</p> <p>The homepages of multinational and multilingual websites are sometimes configured to point visitors to localized pages, either via redirects or by changing the content to reflect the user’s language. Today we’ll introduce a new rel-alternate-hreflang annotation that the webmaster can use to specify such homepages that is supported by both Google and <a href="http://webmaster.ya.ru/replies.xml?item_no=15326">Yandex</a>.</p> <p>To see this in action, let’s look at an example. The website example.com has content that targets users around the world as follows:</p> <div class="separator" style="clear: both; text-align: center;"><img alt="Map of the world illustrating which hreflang code to use for which locale" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB5zzZF621WZhu3nO9sTJKQIItm6Z7LMeXs-PUucyem1AvIxT-TypB2NMAKLsuEiNmfippFHEy3qTeNqmVpdu6_RnB3hKCx_Ava4xAyevwXCTbw1DmvCfZ-7rO40YpM0Zm73QF/s1600/map-us-gb-au-flattened.png" /></div> <ul><li><a href="http://example.com/en-gb">http://example.com/en-gb</a>: For English-speaking users in the UK</li> <li><a href="http://example.com/en-us">http://example.com/en-us</a>: For English-speaking users in the USA</li> <li><a href="http://example.com/en-au">http://example.com/en-au</a>: For English-speaking users in Australia</li> <li><a href="http://example.com/">http://example.com/</a>: The homepage shows users a country selector and is the default page for users worldwide</li> </ul> <p>In this case, the webmaster can annotate this cluster of pages using <a href="http://support.google.com/webmasters/bin/answer.py?answer=189077">rel-alternate-hreflang</a> using <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=2620865">Sitemaps</a> or using HTML link tags like this:</p> <pre> <code> <link rel="alternate" href="http://example.com/en-gb" hreflang="en-gb" /> <link rel="alternate" href="http://example.com/en-us" hreflang="en-us" /> <link rel="alternate" href="http://example.com/en-au" hreflang="en-au" /> <link rel="alternate" href="http://example.com/" hreflang="x-default" /> </code> </pre> <p>The new <strong>x-default hreflang attribute value</strong> signals to our algorithms that this page doesn’t target any specific language or locale and is the default page when no other page is better suited. For example, it would be the page our algorithms try to show French-speaking searchers worldwide or English-speaking searchers on google.ca.</p> <p>The same annotation applies for homepages that dynamically alter their contents based on a user’s perceived geolocation or the Accept-Language headers. The x-default hreflang value signals to our algorithms that such a page doesn’t target a specific language or locale.</p> <p>As always, if you have any questions or feedback, please tell us in the <a href="http://productforums.google.com/forum/#!categories/webmasters/internationalization">Internationalization Webmaster Help Forum</a>.</p> <p><span class="byline-author">Posted by <a href="https://plus.google.com/+PierreFar/">Pierre Far</a>, Webmaster Trends Analyst</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Introducing "x-default hreflang" for international landing pages&url=https://webmasters.googleblog.com/2013/04/x-default-hreflang-for-international-pages.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2013/04/x-default-hreflang-for-international-pages.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2013/04/x-default-hreflang-for-international-pages.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/hreflang?hl=en' rel='tag'> hreflang </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='7292881724760378744' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2012/05/now-you-can-polish-up-googles.html?hl=en' itemprop='url' title='Now you can polish up Google’s translation of your website'> Now you can polish up Google’s translation of your website </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, May 30, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <br /> Webmaster level: All <br /> (Cross-posted on the <a href="http://googletranslate.blogspot.com/2012/05/now-you-can-polish-up-googles.html">Google Translate Blog</a>) <br /> <br /> Since we first <a href="http://googleblog.blogspot.com/2009/09/translate-your-website-with-google.html">launched</a> the Website Translator plugin back in September 2009, more than a million websites have added the plugin. While we’ve kept improving our machine translation system since then, we may not reach perfection until someone invents <a href="http://en.wikipedia.org/wiki/AI-complete">full-blown Artificial Intelligence</a>. In other words, you’ll still sometimes run into translations we didn’t get quite right. <br /> <br /> So today, we’re launching a new experimental feature (in beta) that lets you customize and improve the way the <a href="http://translate.google.com/manager/">Website Translator</a> translates your site. Once you add the customization meta tag to a webpage, visitors will see your customized translations whenever they translate the page, even when they use the translation feature in <a href="//www.google.com/chrome/intl/en-GB/more/features.html">Chrome</a> and <a href="//www.google.com/toolbar/ie/index.html">Google Toolbar</a>. They’ll also now be able to ‘<a href="http://googleblog.blogspot.com/2007/03/suggest-better-translation.html">suggest a better translation</a>’ when they notice a translation that’s not quite right, and later you can accept and use that suggestion on your site. <br /> <br /> <b>To get started:</b> <br /> <ol> <li>Add the <a href="http://translate.google.com/manager/">Website Translator</a> plugin and customization meta tag to your website</li> <li>Then translate a page into one of 60+ languages using the Website Translator</li> </ol> <b>To tweak a translation:</b> <br /> <ol> <li>Hover over a translated sentence to display the original text</li> <li>Click on ‘Contribute a better translation’</li> <li>And finally, click on a phrase to choose an automatic <a href="http://googletranslate.blogspot.com/2010/12/when-one-translation-just-isnt-enough.html">alternative translation</a> -- or just double-click to edit the translation directly.</li> </ol> For example, if you’re translating your site into Spanish, and you want to translate Cat not to gato but to Cat, you can tweak it as follows: <br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguAovz2lJo0papcvDHjPGXJkHcTIJTCgehAsB3T9hBfF8H29d4Pp2rU4UkEBghPa8wsSy4jCRhVqkABM9yPgApOrF3OL1diVaYcELISMIyUAE1p7sUo0_FlvK-l6T6ZqczgvJ1/s1600/contribute-better-translation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguAovz2lJo0papcvDHjPGXJkHcTIJTCgehAsB3T9hBfF8H29d4Pp2rU4UkEBghPa8wsSy4jCRhVqkABM9yPgApOrF3OL1diVaYcELISMIyUAE1p7sUo0_FlvK-l6T6ZqczgvJ1/s400/contribute-better-translation.jpg" width="400" /></a></div> <br /> If you’re signed in, the corrections made on your site will go live right away -- the next time a visitor translates a page on your website, they’ll see your correction. If one of your visitors contributes a better translation, the suggestion will wait until you approve it. You can also invite other editors to make corrections and add translation glossary entries. You can learn more about these new features in the <a href="http://support.google.com/translate/#2534535">Help Center</a>. <br /> <br /> This new experimental feature is currently free of charge. We hope this feature, along with <a href="http://googleblog.blogspot.com/2009/06/translating-worlds-information-with.html">Translator Toolkit</a> and the <a href="https://developers.google.com/translate/">Translate API</a>, can provide a low cost way to expand your reach globally and help to break down language barriers. <br /> <br /> <span class="byline-author">Posted by Jeff Chin, Product Manager, Google Translate</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <br /> Webmaster level: All <br /> (Cross-posted on the <a href="http://googletranslate.blogspot.com/2012/05/now-you-can-polish-up-googles.html">Google Translate Blog</a>) <br /> <br /> Since we first <a href="http://googleblog.blogspot.com/2009/09/translate-your-website-with-google.html">launched</a> the Website Translator plugin back in September 2009, more than a million websites have added the plugin. While we’ve kept improving our machine translation system since then, we may not reach perfection until someone invents <a href="http://en.wikipedia.org/wiki/AI-complete">full-blown Artificial Intelligence</a>. In other words, you’ll still sometimes run into translations we didn’t get quite right. <br /> <br /> So today, we’re launching a new experimental feature (in beta) that lets you customize and improve the way the <a href="http://translate.google.com/manager/">Website Translator</a> translates your site. Once you add the customization meta tag to a webpage, visitors will see your customized translations whenever they translate the page, even when they use the translation feature in <a href="//www.google.com/chrome/intl/en-GB/more/features.html">Chrome</a> and <a href="//www.google.com/toolbar/ie/index.html">Google Toolbar</a>. They’ll also now be able to ‘<a href="http://googleblog.blogspot.com/2007/03/suggest-better-translation.html">suggest a better translation</a>’ when they notice a translation that’s not quite right, and later you can accept and use that suggestion on your site. <br /> <br /> <b>To get started:</b> <br /> <ol> <li>Add the <a href="http://translate.google.com/manager/">Website Translator</a> plugin and customization meta tag to your website</li> <li>Then translate a page into one of 60+ languages using the Website Translator</li> </ol> <b>To tweak a translation:</b> <br /> <ol> <li>Hover over a translated sentence to display the original text</li> <li>Click on ‘Contribute a better translation’</li> <li>And finally, click on a phrase to choose an automatic <a href="http://googletranslate.blogspot.com/2010/12/when-one-translation-just-isnt-enough.html">alternative translation</a> -- or just double-click to edit the translation directly.</li> </ol> For example, if you’re translating your site into Spanish, and you want to translate Cat not to gato but to Cat, you can tweak it as follows: <br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguAovz2lJo0papcvDHjPGXJkHcTIJTCgehAsB3T9hBfF8H29d4Pp2rU4UkEBghPa8wsSy4jCRhVqkABM9yPgApOrF3OL1diVaYcELISMIyUAE1p7sUo0_FlvK-l6T6ZqczgvJ1/s1600/contribute-better-translation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguAovz2lJo0papcvDHjPGXJkHcTIJTCgehAsB3T9hBfF8H29d4Pp2rU4UkEBghPa8wsSy4jCRhVqkABM9yPgApOrF3OL1diVaYcELISMIyUAE1p7sUo0_FlvK-l6T6ZqczgvJ1/s400/contribute-better-translation.jpg" width="400" /></a></div> <br /> If you’re signed in, the corrections made on your site will go live right away -- the next time a visitor translates a page on your website, they’ll see your correction. If one of your visitors contributes a better translation, the suggestion will wait until you approve it. You can also invite other editors to make corrections and add translation glossary entries. You can learn more about these new features in the <a href="http://support.google.com/translate/#2534535">Help Center</a>. <br /> <br /> This new experimental feature is currently free of charge. We hope this feature, along with <a href="http://googleblog.blogspot.com/2009/06/translating-worlds-information-with.html">Translator Toolkit</a> and the <a href="https://developers.google.com/translate/">Translate API</a>, can provide a low cost way to expand your reach globally and help to break down language barriers. <br /> <br /> <span class="byline-author">Posted by Jeff Chin, Product Manager, Google Translate</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Now you can polish up Google’s translation of your website&url=https://webmasters.googleblog.com/2012/05/now-you-can-polish-up-googles.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2012/05/now-you-can-polish-up-googles.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2012/05/now-you-can-polish-up-googles.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/advanced?hl=en' rel='tag'> advanced </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/beginner?hl=en' rel='tag'> beginner </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/products%20and%20services?hl=en' rel='tag'> products and services </a> </span> </div> </div> </div> <div class='post' data-id='2718334056166347454' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2012/05/multilingual-and-multinational-site.html?hl=en' itemprop='url' title='Multilingual and multinational site annotations in Sitemaps'> Multilingual and multinational site annotations in Sitemaps </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, May 24, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> Webmaster level: All<br /> In December 2011 we <a href="http://googlewebmastercentral.blogspot.co.uk/2011/12/new-markup-for-multilingual-content.html">announced</a> annotations for sites that target users in many languages and, optionally, countries. These annotations define a cluster of equivalent pages that target users around the world, and were implemented using <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=189077">rel-alternate-hreflang link elements</a> in the HTML of each page in the cluster.<br /> Based on webmaster feedback and other considerations, today we’re adding support for specifying the rel-alternate-hreflang annotations in <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=156184">Sitemaps</a>. Using Sitemaps instead of HTML link elements offers many advantages including smaller page size and easier deployment for some websites.<br /> To see how this works, let's take a simple example: We wish to specify that for the URL http://www.example.com/en, targeting English language users, the equivalent URL targeting German language speakers http://www.example.com/de. Up till now, the only way to add such annotation is to use a link element, either as an HTTP header or as HTML elements on both URLs like this:<br /> <pre><code><link rel="alternate" hreflang="en" href="http://www.example.com/en" > <link rel="alternate" hreflang="de" href="http://www.example.com/de" ></code></pre> As of today, you can alternately use the following equivalent markup in Sitemaps:<br /> <pre><code><url> <loc>http://www.example.com/en</loc> <strong><xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de" /></strong> <strong><xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en" /></strong> </url> <url> <loc>http://www.example.com/de</loc> <strong><xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de" /></strong> <strong><xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en" /></strong> </url> </code></pre> Briefly, the new Sitemaps tags shown in bold function in the same way as the HTML link tags, with both using the same attributes. The full technical details of how the annotations are implemented in Sitemaps, including how to implement the xhtml namespace for the link tag, are in our <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=2620865">new Help Center article</a>.<br /> A more detailed example can be found in our new Help Center article, and if you need more help, please ask in our brand new <a href="https://productforums.google.com/forum/#!categories/webmasters/internationalization">internationalization help forum</a>.<br /> <span class="byline-author">Written by <a href="https://plus.google.com/115984868678744352358/about" rel="author">Pierre Far</a>, Webmaster Trends Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Webmaster level: All<br /> In December 2011 we <a href="http://googlewebmastercentral.blogspot.co.uk/2011/12/new-markup-for-multilingual-content.html">announced</a> annotations for sites that target users in many languages and, optionally, countries. These annotations define a cluster of equivalent pages that target users around the world, and were implemented using <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=189077">rel-alternate-hreflang link elements</a> in the HTML of each page in the cluster.<br /> Based on webmaster feedback and other considerations, today we’re adding support for specifying the rel-alternate-hreflang annotations in <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=156184">Sitemaps</a>. Using Sitemaps instead of HTML link elements offers many advantages including smaller page size and easier deployment for some websites.<br /> To see how this works, let's take a simple example: We wish to specify that for the URL http://www.example.com/en, targeting English language users, the equivalent URL targeting German language speakers http://www.example.com/de. Up till now, the only way to add such annotation is to use a link element, either as an HTTP header or as HTML elements on both URLs like this:<br /> <pre><code><link rel="alternate" hreflang="en" href="http://www.example.com/en" > <link rel="alternate" hreflang="de" href="http://www.example.com/de" ></code></pre> As of today, you can alternately use the following equivalent markup in Sitemaps:<br /> <pre><code><url> <loc>http://www.example.com/en</loc> <strong><xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de" /></strong> <strong><xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en" /></strong> </url> <url> <loc>http://www.example.com/de</loc> <strong><xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de" /></strong> <strong><xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en" /></strong> </url> </code></pre> Briefly, the new Sitemaps tags shown in bold function in the same way as the HTML link tags, with both using the same attributes. The full technical details of how the annotations are implemented in Sitemaps, including how to implement the xhtml namespace for the link tag, are in our <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&answer=2620865">new Help Center article</a>.<br /> A more detailed example can be found in our new Help Center article, and if you need more help, please ask in our brand new <a href="https://productforums.google.com/forum/#!categories/webmasters/internationalization">internationalization help forum</a>.<br /> <span class="byline-author">Written by <a href="https://plus.google.com/115984868678744352358/about" rel="author">Pierre Far</a>, Webmaster Trends Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Multilingual and multinational site annotations in Sitemaps&url=https://webmasters.googleblog.com/2012/05/multilingual-and-multinational-site.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2012/05/multilingual-and-multinational-site.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2012/05/multilingual-and-multinational-site.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/advanced?hl=en' rel='tag'> advanced </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/beginner?hl=en' rel='tag'> beginner </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='1886065111734903186' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2011/12/new-markup-for-multilingual-content.html?hl=en' itemprop='url' title='New markup for multilingual content'> New markup for multilingual content </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, December 05, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> Many websites serve users from around the world. There are different approaches to serving content appropriate to your users' language and/or region. Last year, we launched support for <a href="http://googlewebmastercentral.blogspot.com/2010/09/unifying-content-under-multilingual.html">explicit annotations</a> for web pages rendering the same content with different language templates.<br /> Today we're going further with our support for multilingual content with improved handling for these two scenarios:<br /> <ul> <li>Multiregional websites using substantially the same content. Example: English webpages for Australia, Canada and USA, differing only in price</li> <li>Multiregional websites using fully translated content, or substantially different monolingual content targeting different regions. Example: a product webpage in German, English and French</li> </ul> <h3> Specifying language and location</h3> We've expanded our support of the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=189077&hl=en">rel="alternate" hreflang link element</a> to handle content that is translated or provided for multiple geographic regions. The hreflang attribute can specify the language, optionally the country, and URLs of equivalent content. By specifying these alternate URLs, our goal is to be able to consolidate signals for these pages, and to serve the appropriate URL to users in search. Alternative URLs can be on the same site or on another domain.<br /> <h3> Annotating pages as substantially similar content</h3> <span style="color: #bbbbbb;"><strike>Optionally, for pages that have substantially the same content in the same language and are targeted at multiple countries, you may use the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=139066">rel="canonical" link element</a> to specify your preferred version. We’ll use that signal to focus on that version in search, while showing the local URLs to users where appropriate. For example, you could use this if you have the same product page in German, but want to target it separately to users searching on the Google properties for Germany, Austria, and Switzerland. </strike></span> <br /> <b>Update:</b> to simplify implementation, we no longer recommend using rel=canonical. <br /> <h3> Example usage</h3> To explain how it works, let’s look at some example URLs:<br /> <ul> <li>http://www.example.com/ - contains the general homepage of a website, in Spanish</li> <li>http://es-es.example.com/ - is the version for users in Spain, in Spanish</li> <li>http://es-mx.example.com/ - is the version for users in Mexico, in Spanish</li> <li>http://en.example.com/ - is the generic English language version</li> </ul> On all of these pages, we could use the following markup to specify language and optionally the region:<br /> <pre><code> <link rel="alternate" hreflang="es" href="http://www.example.com/" /> <link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" /> <link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" /> <link rel="alternate" hreflang="en" href="http://en.example.com/" /> </code> </pre> If you specify a regional subtag, we’ll assume that you want to target that region.<br /> Keep in mind that all of these annotations are to be used on a <b>per-URL basis</b>. You should take care to use the specific URL, not the homepage, for both of these link elements.<br /> <h3> More help</h3> As always, if you need more help correctly implementing multiregional and multilingual websites, please see our <a href="//www.google.com/support/webmasters/bin/answer.py?answer=189077&hl=en">Help Center article</a> about this topic, or ask in our <a href="//www.google.com/support/forum/p/Webmasters?hl=en">Webmaster Help Forum</a>.<br /> <br /> <span class="byline-author">Written by <a href="https://plus.google.com/114874451484944689517/about" rel="author">Christopher Semturs</a>, Software Engineer, Search Infrastructure, Google Switzerland</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Many websites serve users from around the world. There are different approaches to serving content appropriate to your users' language and/or region. Last year, we launched support for <a href="http://googlewebmastercentral.blogspot.com/2010/09/unifying-content-under-multilingual.html">explicit annotations</a> for web pages rendering the same content with different language templates.<br /> Today we're going further with our support for multilingual content with improved handling for these two scenarios:<br /> <ul> <li>Multiregional websites using substantially the same content. Example: English webpages for Australia, Canada and USA, differing only in price</li> <li>Multiregional websites using fully translated content, or substantially different monolingual content targeting different regions. Example: a product webpage in German, English and French</li> </ul> <h3> Specifying language and location</h3> We've expanded our support of the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=189077&hl=en">rel="alternate" hreflang link element</a> to handle content that is translated or provided for multiple geographic regions. The hreflang attribute can specify the language, optionally the country, and URLs of equivalent content. By specifying these alternate URLs, our goal is to be able to consolidate signals for these pages, and to serve the appropriate URL to users in search. Alternative URLs can be on the same site or on another domain.<br /> <h3> Annotating pages as substantially similar content</h3> <span style="color: #bbbbbb;"><strike>Optionally, for pages that have substantially the same content in the same language and are targeted at multiple countries, you may use the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=139066">rel="canonical" link element</a> to specify your preferred version. We’ll use that signal to focus on that version in search, while showing the local URLs to users where appropriate. For example, you could use this if you have the same product page in German, but want to target it separately to users searching on the Google properties for Germany, Austria, and Switzerland. </strike></span> <br /> <b>Update:</b> to simplify implementation, we no longer recommend using rel=canonical. <br /> <h3> Example usage</h3> To explain how it works, let’s look at some example URLs:<br /> <ul> <li>http://www.example.com/ - contains the general homepage of a website, in Spanish</li> <li>http://es-es.example.com/ - is the version for users in Spain, in Spanish</li> <li>http://es-mx.example.com/ - is the version for users in Mexico, in Spanish</li> <li>http://en.example.com/ - is the generic English language version</li> </ul> On all of these pages, we could use the following markup to specify language and optionally the region:<br /> <pre><code> <link rel="alternate" hreflang="es" href="http://www.example.com/" /> <link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" /> <link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" /> <link rel="alternate" hreflang="en" href="http://en.example.com/" /> </code> </pre> If you specify a regional subtag, we’ll assume that you want to target that region.<br /> Keep in mind that all of these annotations are to be used on a <b>per-URL basis</b>. You should take care to use the specific URL, not the homepage, for both of these link elements.<br /> <h3> More help</h3> As always, if you need more help correctly implementing multiregional and multilingual websites, please see our <a href="//www.google.com/support/webmasters/bin/answer.py?answer=189077&hl=en">Help Center article</a> about this topic, or ask in our <a href="//www.google.com/support/forum/p/Webmasters?hl=en">Webmaster Help Forum</a>.<br /> <br /> <span class="byline-author">Written by <a href="https://plus.google.com/114874451484944689517/about" rel="author">Christopher Semturs</a>, Software Engineer, Search Infrastructure, Google Switzerland</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:New markup for multilingual content&url=https://webmasters.googleblog.com/2011/12/new-markup-for-multilingual-content.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2011/12/new-markup-for-multilingual-content.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2011/12/new-markup-for-multilingual-content.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/advanced?hl=en' rel='tag'> advanced </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/beginner?hl=en' rel='tag'> beginner </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='223286674167732228' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2011/09/internationalization.html?hl=en' itemprop='url' title='Îñţérñåţîöñåļîžåţîöñ'> Îñţérñåţîöñåļîžåţîöñ </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Sunday, September 11, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> Webmaster level: Intermediate<br /> <br /> So you’re going global, and you need your website to follow. Should be a simple case of getting the text translated and you’re good to go, right? Probably not. The Google Webmaster Team frequently builds sites that are localized into over 40 languages, so here are some things that we take into account when launching our pages in both other languages and regions.<br /> <br /> <em>(Even if you think you might be immune to these issues because you only offer content in English, it could be that non-English language visitors are <a href="http://translate.google.com/translate?hl=en&sl=en&tl=ja&u=http%3A%2F%2Finvestor.google.com%2F">using tools like Google Translate to view your content in their language</a>. This traffic should show up in your analytics dashboard, so you can get an idea of how many visitors are not viewing your site in the way it’s intended.)</em><br /> <div style="font-size: 16px; font-weight: bold;"> More languages != more HTML templates</div> We can’t recommend this enough: reuse the same template for all language versions, and always try to keep the HTML of your template simple.<br /> <br /> Keeping the HTML code the same for all languages has its advantages when it comes to maintenance. Hacking around with the HTML code for each language to fix bugs doesn’t scale–keep your page code as clean as possible and deal with any styling issues in the CSS. To name just one benefit of clean code: most translation tools will parse out the translatable content strings from the HTML document and that job is made much easier when the HTML is well-structured and valid.<br /> <div style="font-size: 16px; font-weight: bold;"> How long is a piece of string?</div> If your design relies on text playing nicely with fixed-size elements, then translating your text might wreak havoc. For example, your left-hand side navigation text is likely to translate into much longer strings of text in several languages–check out the difference in string lengths between some <a href="//www.google.com/intl/en/privacy/">English</a> and <a href="//www.google.com/intl/nl/privacy/">Dutch</a> language navigation for the same content. Be prepared for navigation titles that might wrap onto more than one line by figuring out your line height to accommodate this (also worth considering when you create your navigation text in English in the first place).<br /> <br /> Variable word lengths cause particular issues in form labels and controls. If your form layout displays labels on the left and fields on the right, for example, longer text strings can flow over into two lines, whereas shorter text strings do not seem associated with their form input fields–both scenarios ruin the design and impede the readability of the form. Also consider the extra styling you’ll need for right-to-left (RTL) layouts (more on that later). For these reasons we design forms with labels above fields, for easy readability and styling that will translate well across languages.<br /> <div> <br /> <div style="text-align: center;"> <a href="//2.bp.blogspot.com/-680McVoWANY/Tmj82PrzStI/AAAAAAAAK5k/7U7PkS1dpBk/s1600/form-i18n-full.png"><img alt="Screenshots of Chinese and German versions of web forms" src="//1.bp.blogspot.com/-EOAcLtRxe4g/TmpHn--JfMI/AAAAAAAAK6c/iI0LIXe4vhU/s400/form-i18n.png"></a><br /> <em>click to enlarge</em></div> <br /> <br /></div> <div> Also avoid fixed-height columns–if you’re attempting to neaten up your layout with box backgrounds that match in height, chances are when your text is translated, the text will overrun areas that were only tall enough to contain your English content. Think about whether the UI elements you’re planning to use in your design will work when there is more or less text–for instance, <a href="http://www.google.co.il/about/corporate/company/">horizontal</a> vs. <a href="//www.google.com/ads/tv/getstarted.html">vertical</a> tabs.<br /> <div style="font-size: 16px; font-weight: bold;"> On the flip side</div> Source editing for bidirectional HTML can be problematic because many editors have not been built to support the Unicode bidirectional algorithm (<a href="http://www.sw.it.aoyama.ac.jp/2008/pub/IUC32-bidi/">more research on the problems and solutions</a>). In short, the way your markup is displayed might get garbled:</div> <div> <br /> <pre><p>ابةتث <img src="foo.jpg" alt=" جحخد"< ذرزسش!</p></pre> <br /> Our own day-to-day usage has shown the following editors to currently provide decent solutions for bidirectional editing: particularly Coda, and also Dreamweaver, IntelliJ IDEA and JEditX.<br /> <br /> When designing for RTL languages you can build most of the support you need into the core CSS and use the directional attribute of the <span style="color: #666666; font-family: Courier;">html</span> element (for backwards compatibility) in combination with a class on the <span style="color: #666666; font-family: Courier;">body</span> element. As always, keeping all styles in one core stylesheet makes for better maintainability.<br /> <br /> Some key styling issues to watch out for: any elements floated right will need to be floated left and vice versa; extra padding or margin widths applied to one side of an element will need to be overridden and switched, and any text-align attributes should be reversed.<br /> <br /> We generally use the following approach, including using a class on the body tag rather than a <span style="color: #666666; font-family: Courier;">html[dir=rtl]</span> CSS selector because this is compatible with older browsers:<br /> <h4> Elements:</h4> <pre><body class="rtl"> <h1><a href="http://www.blogger.com/"><img alt="Google" src="http://www.google.com/images/logos/google_logo.png" /></a> Heading</h1></pre> <h4> Left-to-right (default) styling:</h4> <pre>h1 { height: 55px; line-height: 2.05; margin: 0 0 25px; overflow: hidden; } h1 img { float: left; margin: 0 43px 0 0; position: relative; }</pre> <h4> Right-to-left styling:</h4> <pre>body.rtl { direction: rtl; } body.rtl h1 img { float: right; margin: 0 0 0 43px; }</pre> <br /> (See this in action in <a href="//www.google.com/intl/en/privacy/">English</a> and <a href="//www.google.com/intl/ar/privacy/">Arabic</a>.)<br /> <br /> One final note on this subject: most of the time your content destined for right-to-left language pages will be bidirectional rather than purely RTL, because some strings will probably need to retain their LTR direction–for example, company names in Latin script or telephone numbers. The way to make sure the browser handles this correctly in a primarily RTL document is to wrap the embedded text strings with an inline element using an attribute to set direction, like this:</div> <div> <br /> <pre><h2>‫עוד ב- <span dir="ltr">Google</span>‬</h2></pre> <br /> In cases where you don’t have an HTML container to hook the dir attribute into, such as title elements or JavaScript-generated source code for message prompts, you can use this equivalent to set direction where <span style="color: #666666; font-family: Courier;">&#x202B;</span> and <span style="color: #666666; font-family: Courier;">&#x202C;‬</span> are Unicode control characters for right-to-left embedding:</div> <div> <br /> <pre><title>&#x202B;‫הפוך את Google לדף הבית שלך‬&#x202C;</title></pre> <br /> Example usage in JavaScript code:<br /> <pre>var ffError = '\u202B' +'כדי להגדיר את Google כדף הבית שלך ב\x2DFirefox, לחץ על הקישור \x22הפוך את Google לדף הבית שלי\x22, וגרור אותו אל סמל ה\x22בית\x22 בדפדפן שלך.'+ '\u202C';</pre> <br /> (For more detail, see the W3C’s articles on <a href="http://www.w3.org/International/tutorials/bidi-xhtml/">creating HTML for Arabic, Hebrew and other right-to-left scripts</a> and <a href="http://www.w3.org/TR/i18n-html-tech-bidi/#ri20030218.135304584">authoring right-to-left scripts</a>.)<br /> <div style="font-size: 16px; font-weight: bold;"> It’s all Greek to me…</div> If you’ve never worked with non-Latin character sets before (Cyrillic, Greek, and a myriad of Asian and Indic), you might find that both your editor and browser do not display content as intended.<br /> <br /> Check that your editor and browser encodings are set to UTF-8 (recommended) and consider adding a <span style="color: #666666; font-family: Courier;"></span> element and the <span style="color: #666666; font-family: Courier;">lang</span> attribute of the <span style="color: #666666; font-family: Courier;">html</span> element to your HTML template so browsers know what to expect when rendering your page–this has the added benefit of ensuring that all Unicode characters are displayed correctly, so using HTML entities such as <span style="color: #666666; font-family: Courier;">&eacute;</span> (é) will not be necessary, saving valuable bytes! Check <a href="http://www.w3.org/International/tutorials/tutorial-char-enc/en/all.html">the W3C’s tutorial on character encoding</a> if you’re having trouble–it contains in-depth explanations of the issues.<br /> <div style="font-size: 16px; font-weight: bold;"> A word on naming</div> Lastly, a practical tip on naming conventions when creating several language versions. Using a standard such as the <a href="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 language codes</a> for naming helps when you start to deal with several language versions of the same document.<br /> <br /> Using a conventional standard will help users understand your site’s structure as well as making it more maintainable for all webmasters who might develop the site, and using the language codes for other site assets (logo images, PDF documents) is handy to be able to quickly identify files.<br /> <br /> See previous Webmaster Central posts for advice about URL structures and other issues surrounding <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html">working with multi-regional websites</a> and <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multilingual-websites.html">working with multilingual websites</a>.<br /> <br /> That’s a summary of the main challenges we wrestle with on a daily basis; but we can vouch for the fact that putting in the planning and work up front towards well-structured HTML and robust CSS pays dividends during localization!<br /> <br /> <span class="byline-author">Posted by <a href="https://plus.google.com/113030639083158400706/about" rel="author">Kathryn Cullen</a>, Google Webmaster Team</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Webmaster level: Intermediate<br /> <br /> So you’re going global, and you need your website to follow. Should be a simple case of getting the text translated and you’re good to go, right? Probably not. The Google Webmaster Team frequently builds sites that are localized into over 40 languages, so here are some things that we take into account when launching our pages in both other languages and regions.<br /> <br /> <em>(Even if you think you might be immune to these issues because you only offer content in English, it could be that non-English language visitors are <a href="http://translate.google.com/translate?hl=en&sl=en&tl=ja&u=http%3A%2F%2Finvestor.google.com%2F">using tools like Google Translate to view your content in their language</a>. This traffic should show up in your analytics dashboard, so you can get an idea of how many visitors are not viewing your site in the way it’s intended.)</em><br /> <div style="font-size: 16px; font-weight: bold;"> More languages != more HTML templates</div> We can’t recommend this enough: reuse the same template for all language versions, and always try to keep the HTML of your template simple.<br /> <br /> Keeping the HTML code the same for all languages has its advantages when it comes to maintenance. Hacking around with the HTML code for each language to fix bugs doesn’t scale–keep your page code as clean as possible and deal with any styling issues in the CSS. To name just one benefit of clean code: most translation tools will parse out the translatable content strings from the HTML document and that job is made much easier when the HTML is well-structured and valid.<br /> <div style="font-size: 16px; font-weight: bold;"> How long is a piece of string?</div> If your design relies on text playing nicely with fixed-size elements, then translating your text might wreak havoc. For example, your left-hand side navigation text is likely to translate into much longer strings of text in several languages–check out the difference in string lengths between some <a href="//www.google.com/intl/en/privacy/">English</a> and <a href="//www.google.com/intl/nl/privacy/">Dutch</a> language navigation for the same content. Be prepared for navigation titles that might wrap onto more than one line by figuring out your line height to accommodate this (also worth considering when you create your navigation text in English in the first place).<br /> <br /> Variable word lengths cause particular issues in form labels and controls. If your form layout displays labels on the left and fields on the right, for example, longer text strings can flow over into two lines, whereas shorter text strings do not seem associated with their form input fields–both scenarios ruin the design and impede the readability of the form. Also consider the extra styling you’ll need for right-to-left (RTL) layouts (more on that later). For these reasons we design forms with labels above fields, for easy readability and styling that will translate well across languages.<br /> <div> <br /> <div style="text-align: center;"> <a href="//2.bp.blogspot.com/-680McVoWANY/Tmj82PrzStI/AAAAAAAAK5k/7U7PkS1dpBk/s1600/form-i18n-full.png"><img alt="Screenshots of Chinese and German versions of web forms" src="//1.bp.blogspot.com/-EOAcLtRxe4g/TmpHn--JfMI/AAAAAAAAK6c/iI0LIXe4vhU/s400/form-i18n.png"></a><br /> <em>click to enlarge</em></div> <br /> <br /></div> <div> Also avoid fixed-height columns–if you’re attempting to neaten up your layout with box backgrounds that match in height, chances are when your text is translated, the text will overrun areas that were only tall enough to contain your English content. Think about whether the UI elements you’re planning to use in your design will work when there is more or less text–for instance, <a href="http://www.google.co.il/about/corporate/company/">horizontal</a> vs. <a href="//www.google.com/ads/tv/getstarted.html">vertical</a> tabs.<br /> <div style="font-size: 16px; font-weight: bold;"> On the flip side</div> Source editing for bidirectional HTML can be problematic because many editors have not been built to support the Unicode bidirectional algorithm (<a href="http://www.sw.it.aoyama.ac.jp/2008/pub/IUC32-bidi/">more research on the problems and solutions</a>). In short, the way your markup is displayed might get garbled:</div> <div> <br /> <pre><p>ابةتث <img src="foo.jpg" alt=" جحخد"< ذرزسش!</p></pre> <br /> Our own day-to-day usage has shown the following editors to currently provide decent solutions for bidirectional editing: particularly Coda, and also Dreamweaver, IntelliJ IDEA and JEditX.<br /> <br /> When designing for RTL languages you can build most of the support you need into the core CSS and use the directional attribute of the <span style="color: #666666; font-family: Courier;">html</span> element (for backwards compatibility) in combination with a class on the <span style="color: #666666; font-family: Courier;">body</span> element. As always, keeping all styles in one core stylesheet makes for better maintainability.<br /> <br /> Some key styling issues to watch out for: any elements floated right will need to be floated left and vice versa; extra padding or margin widths applied to one side of an element will need to be overridden and switched, and any text-align attributes should be reversed.<br /> <br /> We generally use the following approach, including using a class on the body tag rather than a <span style="color: #666666; font-family: Courier;">html[dir=rtl]</span> CSS selector because this is compatible with older browsers:<br /> <h4> Elements:</h4> <pre><body class="rtl"> <h1><a href="http://www.blogger.com/"><img alt="Google" src="http://www.google.com/images/logos/google_logo.png" /></a> Heading</h1></pre> <h4> Left-to-right (default) styling:</h4> <pre>h1 { height: 55px; line-height: 2.05; margin: 0 0 25px; overflow: hidden; } h1 img { float: left; margin: 0 43px 0 0; position: relative; }</pre> <h4> Right-to-left styling:</h4> <pre>body.rtl { direction: rtl; } body.rtl h1 img { float: right; margin: 0 0 0 43px; }</pre> <br /> (See this in action in <a href="//www.google.com/intl/en/privacy/">English</a> and <a href="//www.google.com/intl/ar/privacy/">Arabic</a>.)<br /> <br /> One final note on this subject: most of the time your content destined for right-to-left language pages will be bidirectional rather than purely RTL, because some strings will probably need to retain their LTR direction–for example, company names in Latin script or telephone numbers. The way to make sure the browser handles this correctly in a primarily RTL document is to wrap the embedded text strings with an inline element using an attribute to set direction, like this:</div> <div> <br /> <pre><h2>‫עוד ב- <span dir="ltr">Google</span>‬</h2></pre> <br /> In cases where you don’t have an HTML container to hook the dir attribute into, such as title elements or JavaScript-generated source code for message prompts, you can use this equivalent to set direction where <span style="color: #666666; font-family: Courier;">&#x202B;</span> and <span style="color: #666666; font-family: Courier;">&#x202C;‬</span> are Unicode control characters for right-to-left embedding:</div> <div> <br /> <pre><title>&#x202B;‫הפוך את Google לדף הבית שלך‬&#x202C;</title></pre> <br /> Example usage in JavaScript code:<br /> <pre>var ffError = '\u202B' +'כדי להגדיר את Google כדף הבית שלך ב\x2DFirefox, לחץ על הקישור \x22הפוך את Google לדף הבית שלי\x22, וגרור אותו אל סמל ה\x22בית\x22 בדפדפן שלך.'+ '\u202C';</pre> <br /> (For more detail, see the W3C’s articles on <a href="http://www.w3.org/International/tutorials/bidi-xhtml/">creating HTML for Arabic, Hebrew and other right-to-left scripts</a> and <a href="http://www.w3.org/TR/i18n-html-tech-bidi/#ri20030218.135304584">authoring right-to-left scripts</a>.)<br /> <div style="font-size: 16px; font-weight: bold;"> It’s all Greek to me…</div> If you’ve never worked with non-Latin character sets before (Cyrillic, Greek, and a myriad of Asian and Indic), you might find that both your editor and browser do not display content as intended.<br /> <br /> Check that your editor and browser encodings are set to UTF-8 (recommended) and consider adding a <span style="color: #666666; font-family: Courier;"></span> element and the <span style="color: #666666; font-family: Courier;">lang</span> attribute of the <span style="color: #666666; font-family: Courier;">html</span> element to your HTML template so browsers know what to expect when rendering your page–this has the added benefit of ensuring that all Unicode characters are displayed correctly, so using HTML entities such as <span style="color: #666666; font-family: Courier;">&eacute;</span> (é) will not be necessary, saving valuable bytes! Check <a href="http://www.w3.org/International/tutorials/tutorial-char-enc/en/all.html">the W3C’s tutorial on character encoding</a> if you’re having trouble–it contains in-depth explanations of the issues.<br /> <div style="font-size: 16px; font-weight: bold;"> A word on naming</div> Lastly, a practical tip on naming conventions when creating several language versions. Using a standard such as the <a href="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 language codes</a> for naming helps when you start to deal with several language versions of the same document.<br /> <br /> Using a conventional standard will help users understand your site’s structure as well as making it more maintainable for all webmasters who might develop the site, and using the language codes for other site assets (logo images, PDF documents) is handy to be able to quickly identify files.<br /> <br /> See previous Webmaster Central posts for advice about URL structures and other issues surrounding <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html">working with multi-regional websites</a> and <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multilingual-websites.html">working with multilingual websites</a>.<br /> <br /> That’s a summary of the main challenges we wrestle with on a daily basis; but we can vouch for the fact that putting in the planning and work up front towards well-structured HTML and robust CSS pays dividends during localization!<br /> <br /> <span class="byline-author">Posted by <a href="https://plus.google.com/113030639083158400706/about" rel="author">Kathryn Cullen</a>, Google Webmaster Team</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Îñţérñåţîöñåļîžåţîöñ&url=https://webmasters.googleblog.com/2011/09/internationalization.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2011/09/internationalization.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2011/09/internationalization.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/general%20tips?hl=en' rel='tag'> general tips </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/webmaster%20guidelines?hl=en' rel='tag'> webmaster guidelines </a> </span> </div> </div> </div> <div class='post' data-id='2628258833274954603' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2010/09/unifying-content-under-multilingual.html?hl=en' itemprop='url' title='Unifying content under multilingual templates'> Unifying content under multilingual templates </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, September 09, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Webmaster Level: Advanced<br /> <p style="padding:0.8em; border-left: 6px solid #A03; background-color:#FEE; color:#000; line-height:1.5em; font-weight:bold">Warning: This specific configuration of rel-alternate-hreflang markup has been replaced by the general guidelines for multilingual and multi-regional content. Please see <a href="https://support.google.com/webmasters/answer/189077">using hreflang for language and regional URLs</a> for our current recommendations.</p> <br />If you have a global site containing pages where the:<ul><li>template (i.e. side navigation, footer) is machine-translated into various languages,</li><li>main content remains unchanged, creating largely duplicate pages,</li></ul>and sometimes search results direct users to the wrong language, we’d like to help you better target your international/multilingual audience through:<br /><br /><code><link rel=”alternate” hreflang="a-different-language" href="http://url-of-the-different-language-page" /></code><br /><br />As you know, when <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">rel=”canonical”</a> or a <a href="//www.google.com/support/webmasters/bin/answer.py?answer=93633">301 response code</a> is properly implemented, we become more precise in clustering information from duplicate URLs, such as consolidating their linking properties. Now, when <code>rel=”alternate” hreflang=”x”</code> is included in conjunction with <code>rel=”canonical”</code> or 301s, not only will our indexing and linking properties be more accurate, but we can better serve users the URL of their preferred language.<br /><br /><b>Sample configuration that’s prime for <code>rel=”alternate” hreflang=”x”</code></b><br /><br />How does this all work? Imagine that you’re the proud owner of example.com, a site called “The Network” where you allow users to create their very own profile. Let’s say Javier Lopez, a Spanish speaker, makes his page at http://es.example.com/javier-lopez:<br /><br /><div style="text-align:center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPnwVx_QMEGNwKjfNpgaKrxHQzFjLIWjLxUTPXEsOBkFHo6WfETvrQNOAhDbfHQ17j-jty0nAe3TBkYOlRNjY5RodiYQdcvmxVvsR88wqCwZblClTGPXmIKsXnm4WOOQjQRxZ/s1600/Picture+38.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5514992185308297042" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPnwVx_QMEGNwKjfNpgaKrxHQzFjLIWjLxUTPXEsOBkFHo6WfETvrQNOAhDbfHQ17j-jty0nAe3TBkYOlRNjY5RodiYQdcvmxVvsR88wqCwZblClTGPXmIKsXnm4WOOQjQRxZ/s400/Picture+38.png" style="cursor:pointer; cursor:hand;width: 400px; height: 384px;" /></a></div><br />Because you’re trying to target a multilingual audience, once Javier hits “Publish,” his profile becomes immediately available in other languages with the translated templates. Also, each of the new language versions is served on a separate URL.<br /><br /><div style="text-align:center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh13KKy0HTkqw6dlRINP3SdoY76O1l-klkauC8C01bmf6XMO4BNIPtH_02ADV8SJGYs16wwoEn1SxNHIE7D7DLVSXPDNKrQHn4bLtg5li4Ra1U_RLLXl22mHt-Cizala-U9yMis/s1600/Picture+41.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5514992666828821778" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh13KKy0HTkqw6dlRINP3SdoY76O1l-klkauC8C01bmf6XMO4BNIPtH_02ADV8SJGYs16wwoEn1SxNHIE7D7DLVSXPDNKrQHn4bLtg5li4Ra1U_RLLXl22mHt-Cizala-U9yMis/s400/Picture+41.png" style="cursor:pointer; cursor:hand;width: 400px; height: 278px;" /></a><br /><em>Two localized versions, http://en.example.com/javier-lopez in English and http://fr.example.com/javier-lopez in French</em></div><br /><b>Background on the old issue: duplicate content caused by language variations</b><br /><br />The configuration above allowed visitors speaking different languages to more easily interpret the content, but for search engines it was slightly problematic: there are three URLs (English, French, and Spanish versions) for the same main content in Javier’s profile. Webmasters wanted to avoid <a href="//www.google.com/support/webmasters/bin/answer.py?answer=66359">duplicate content</a> issues (such as PageRank dilution) from these multiple versions and still ensure that we would serve the appropriate version to the user.<br /><br /><b>A new solution for localized templates</b><br /><br />First of all, just to be clear, the strategy we’re proposing isn’t appropriate for multilingual sites that completely translate each page’s content. We’re trying to specifically improve the situation where the template is localized but the main content of a page remains duplicate/identical across language/country variants.<br /><br />Before we get into the specific steps, our prior advice remains applicable:<ul><li>Have one URL associated with one piece of content. We recommend against using the same URL for multiple languages, such as serving both French and English versions on example.com/page.html based on user information (IP address, Accept-Language HTTP header).</li><br /><li>When multiple languages are at play, it’s best to include the language or country indication in the URL, e.g., example.com/en/welcome.html and example.com/fr/accueil.html (which specify “en” and “fr”) rather than example.com/welcome.html and example.com/accueil.html (which don’t contain an explicit country/language specification). More suggestions can be found in our blog posts about <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html">designing localized URLs</a> and <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multilingual-websites.html">multilingual sites</a>.</li></ul>For the new feature:<blockquote><b>Step 1: Select the proper canonical.</b><br />The canonical designates the version of your content you’d like indexed and returned to users.<blockquote>The first step towards making the right content indexable is to pick one canonical URL that best reflects the genuine locale of the page’s main content. In the example above, since Javier is a Spanish-speaking user and he created his profile on es.example.com, <em>http://es.example.com/javier-lopez</em> is the logical canonical. The title and snippet in all locales will be selected from the canonical URL.<br /><br />Once you have the canonical URL picked out, you can either:<blockquote>A. <a href="//www.google.com/support/webmasters/bin/answer.py?answer=93633">301 (permanent redirect)</a> from the language variants to the canonical<br /><br />As an example, if a French speaker visits fr.example.com/javier-lopez (not the canonical), have this page include a cookie to remember the user's language preference of French. Then permanently redirect from fr.example.com/javier-lopez to the canonical at es.example.com/javier-lopez. Because of the cookie, es.example.com/javier-lopez will still render its boilerplate in French (even on the es.example.com subdomain!). Similarly, en.example.com/javier-lopez would set the value of this cookie to English and then 301 redirect to es.example.com/javier-lopez.<br /><br />Including a language selection link is also helpful should a multilingual user prefer a different experience of your site.<br /><br />B. Use <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">rel=”canonical”</a><br /><br />On the other language variants, include a <code>link rel=”canonical”</code> tag pointing to your chosen canonical. In our example, since the canonical for Javier’s profile is the Spanish version, the English and French pages (and optionally even the Spanish page itself) would include <code><link rel=”canonical” href="http://es.example.com/javier-lopez" /></code>.<br /><br />Cookies are not involved in this setup. Therefore, a French speaker will be served es.example.com/javier-lopez with a Spanish template. Implement step 2 if you want the French speakers to be served the French version at fr.example.com/javier-lopez in Google search results.</blockquote></blockquote><b>Step 2: In the canonical URL, specify the various language versions via the rel=”alternate” link tag, using its <code>hreflang</code> attribute. </b><br /><br /><em>rel=”alternate” URLs can be displayed in search results in accordance with a user’s language preference. The title and snippet, however, remain generated from the canonical URL (as is customary with rel=”canonical”), not from the content of any rel=”alternate”.</em><blockquote>You can help Google display the correctly localized variant of your URL to our international users by adding the following tags to http://es.example.com/javier-lopez, the selected canonical:<br /><br /><code><link rel=”alternate” hreflang="en" href="http://en.example.com/javier-lopez" /></code><br /><br /><code><link rel=”alternate” hreflang="fr" href="http://fr.example.com/javier-lopez" /></code><br /><br /><code>rel=”alternate”</code> indicates that the URL contains an alternate version located at the URI of the <code>href</code> value. <code>hreflang</code> identifies the language code of the alternate URL and can be specified with <a href="http://www.loc.gov/standards/iso639-2/">ISO-639</a>.<br /><br />Please note: If your site supports many languages and you’re worried about the increased file size when declaring numerous rel=”alternate” URLs, please see our Help Center article about <a href="//www.google.com/support/webmasters/bin/answer.py?answer=189077">configuring rel=”alternate” with file size constraints</a>.</blockquote></blockquote>Once the steps are completed, the configuration on “The Network” would look like this:<ul><li>http://en.example.com/javier-lopez<blockquote>either 301s with a language cookie or contains <code><link rel=”canonical” href=”http://es.example.com/javier-lopez” /></code></blockquote></li><li>http://fr.example.com/javier-lopez<blockquote>either 301s with a language cookie or contains <code><link rel=”canonical” href=”http://es.example.com/javier-lopez” /></code></blockquote></li><li>http://es.example.com/javier-lopez<blockquote>is the canonical and contains<br /><code><link rel=”alternate” hreflang="en" href="http://en.example.com/javier-lopez" /></code><br />and<br /><code><link rel=”alternate” hreflang="fr" href="http://fr.example.com/javier-lopez" /></code></blockquote></li></ul><br /><b>Results of the above implementation</b><br /><ul><li>When your content is returned in search results, users will likely see the URL that corresponds to their language preference, whether or not it’s the canonical. (Good news!) This is because with with <code>rel=”canonical”</code> or a 301 redirect, we can cluster the language variations with the canonical. With <code>rel=”alternate” hreflang=”x”</code> at serve-time we can deliver the URL of the most appropriate language to the user: English speakers will be served <code>en.example.com/javier-lopez</code> as the result for the URL in Javier’s profile, French speakers will see <code>fr.example.com/javier-lopez</code>, Spanish speakers will see <code>es.example.com/javier-lopez</code>.</li><br /><li>By implementing step 1, only content from the canonical version will be available for users in search results (i.e. content from the duplicate versions won’t be searchable). Because the Spanish version <code>es.example.com/javier-lopez</code> is the canonical, queries that include template content from this page, e.g. [Javier Lopez familia] -- when using any language preference -- may return his profile (content from the canonical version). On the other hand, queries that include template content of the “duplicate” version, e.g. [Javier Lopez family], are less likely to return his profile page. If you would like the other language versions indexed separately and searchable, avoid using rel=”canonical” and rel=”alternate”.</li><br /><li>Indexing properties, such as linking information, from the duplicate language variants will be consolidated with the canonical.</li></ul><br /><b>To recap (one more time, with feeling!)</b><br /><br />For sites that have their template localized but the keep their pages’ main content untranslated:<br /><br /><u>Step 1:</u> Once you have the canonical picked out you can use either <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">rel=”canonical”</a> or a 301 (permanent redirect) from the various localized pages to the canonical URL.<br /><br /><u>Step 2: </u> On the canonical URL, specify the language-specific duplicated content with different boilerplate via the rel=”alternate” link tag, using its <code>hreflang</code> attribute. This way, Google can show the correctly-localized variant of your URLs to our international users.<br /><br />We realize this can be a little complicated, so if you have questions, please ask in our <a href="//www.google.com/support/forum/p/Webmasters/thread?tid=7a2e69b904c7f125&hl=en">webmaster forum</a>!<br /><br /><span class="byline-author">Written by Surabhi Gupta, Joachim Kupke & Jayesh Vyas, Search Localization and Indexing Teams</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Webmaster Level: Advanced<br /> <p style="padding:0.8em; border-left: 6px solid #A03; background-color:#FEE; color:#000; line-height:1.5em; font-weight:bold">Warning: This specific configuration of rel-alternate-hreflang markup has been replaced by the general guidelines for multilingual and multi-regional content. Please see <a href="https://support.google.com/webmasters/answer/189077">using hreflang for language and regional URLs</a> for our current recommendations.</p> <br />If you have a global site containing pages where the:<ul><li>template (i.e. side navigation, footer) is machine-translated into various languages,</li><li>main content remains unchanged, creating largely duplicate pages,</li></ul>and sometimes search results direct users to the wrong language, we’d like to help you better target your international/multilingual audience through:<br /><br /><code><link rel=”alternate” hreflang="a-different-language" href="http://url-of-the-different-language-page" /></code><br /><br />As you know, when <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">rel=”canonical”</a> or a <a href="//www.google.com/support/webmasters/bin/answer.py?answer=93633">301 response code</a> is properly implemented, we become more precise in clustering information from duplicate URLs, such as consolidating their linking properties. Now, when <code>rel=”alternate” hreflang=”x”</code> is included in conjunction with <code>rel=”canonical”</code> or 301s, not only will our indexing and linking properties be more accurate, but we can better serve users the URL of their preferred language.<br /><br /><b>Sample configuration that’s prime for <code>rel=”alternate” hreflang=”x”</code></b><br /><br />How does this all work? Imagine that you’re the proud owner of example.com, a site called “The Network” where you allow users to create their very own profile. Let’s say Javier Lopez, a Spanish speaker, makes his page at http://es.example.com/javier-lopez:<br /><br /><div style="text-align:center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPnwVx_QMEGNwKjfNpgaKrxHQzFjLIWjLxUTPXEsOBkFHo6WfETvrQNOAhDbfHQ17j-jty0nAe3TBkYOlRNjY5RodiYQdcvmxVvsR88wqCwZblClTGPXmIKsXnm4WOOQjQRxZ/s1600/Picture+38.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5514992185308297042" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPnwVx_QMEGNwKjfNpgaKrxHQzFjLIWjLxUTPXEsOBkFHo6WfETvrQNOAhDbfHQ17j-jty0nAe3TBkYOlRNjY5RodiYQdcvmxVvsR88wqCwZblClTGPXmIKsXnm4WOOQjQRxZ/s400/Picture+38.png" style="cursor:pointer; cursor:hand;width: 400px; height: 384px;" /></a></div><br />Because you’re trying to target a multilingual audience, once Javier hits “Publish,” his profile becomes immediately available in other languages with the translated templates. Also, each of the new language versions is served on a separate URL.<br /><br /><div style="text-align:center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh13KKy0HTkqw6dlRINP3SdoY76O1l-klkauC8C01bmf6XMO4BNIPtH_02ADV8SJGYs16wwoEn1SxNHIE7D7DLVSXPDNKrQHn4bLtg5li4Ra1U_RLLXl22mHt-Cizala-U9yMis/s1600/Picture+41.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5514992666828821778" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh13KKy0HTkqw6dlRINP3SdoY76O1l-klkauC8C01bmf6XMO4BNIPtH_02ADV8SJGYs16wwoEn1SxNHIE7D7DLVSXPDNKrQHn4bLtg5li4Ra1U_RLLXl22mHt-Cizala-U9yMis/s400/Picture+41.png" style="cursor:pointer; cursor:hand;width: 400px; height: 278px;" /></a><br /><em>Two localized versions, http://en.example.com/javier-lopez in English and http://fr.example.com/javier-lopez in French</em></div><br /><b>Background on the old issue: duplicate content caused by language variations</b><br /><br />The configuration above allowed visitors speaking different languages to more easily interpret the content, but for search engines it was slightly problematic: there are three URLs (English, French, and Spanish versions) for the same main content in Javier’s profile. Webmasters wanted to avoid <a href="//www.google.com/support/webmasters/bin/answer.py?answer=66359">duplicate content</a> issues (such as PageRank dilution) from these multiple versions and still ensure that we would serve the appropriate version to the user.<br /><br /><b>A new solution for localized templates</b><br /><br />First of all, just to be clear, the strategy we’re proposing isn’t appropriate for multilingual sites that completely translate each page’s content. We’re trying to specifically improve the situation where the template is localized but the main content of a page remains duplicate/identical across language/country variants.<br /><br />Before we get into the specific steps, our prior advice remains applicable:<ul><li>Have one URL associated with one piece of content. We recommend against using the same URL for multiple languages, such as serving both French and English versions on example.com/page.html based on user information (IP address, Accept-Language HTTP header).</li><br /><li>When multiple languages are at play, it’s best to include the language or country indication in the URL, e.g., example.com/en/welcome.html and example.com/fr/accueil.html (which specify “en” and “fr”) rather than example.com/welcome.html and example.com/accueil.html (which don’t contain an explicit country/language specification). More suggestions can be found in our blog posts about <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html">designing localized URLs</a> and <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multilingual-websites.html">multilingual sites</a>.</li></ul>For the new feature:<blockquote><b>Step 1: Select the proper canonical.</b><br />The canonical designates the version of your content you’d like indexed and returned to users.<blockquote>The first step towards making the right content indexable is to pick one canonical URL that best reflects the genuine locale of the page’s main content. In the example above, since Javier is a Spanish-speaking user and he created his profile on es.example.com, <em>http://es.example.com/javier-lopez</em> is the logical canonical. The title and snippet in all locales will be selected from the canonical URL.<br /><br />Once you have the canonical URL picked out, you can either:<blockquote>A. <a href="//www.google.com/support/webmasters/bin/answer.py?answer=93633">301 (permanent redirect)</a> from the language variants to the canonical<br /><br />As an example, if a French speaker visits fr.example.com/javier-lopez (not the canonical), have this page include a cookie to remember the user's language preference of French. Then permanently redirect from fr.example.com/javier-lopez to the canonical at es.example.com/javier-lopez. Because of the cookie, es.example.com/javier-lopez will still render its boilerplate in French (even on the es.example.com subdomain!). Similarly, en.example.com/javier-lopez would set the value of this cookie to English and then 301 redirect to es.example.com/javier-lopez.<br /><br />Including a language selection link is also helpful should a multilingual user prefer a different experience of your site.<br /><br />B. Use <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">rel=”canonical”</a><br /><br />On the other language variants, include a <code>link rel=”canonical”</code> tag pointing to your chosen canonical. In our example, since the canonical for Javier’s profile is the Spanish version, the English and French pages (and optionally even the Spanish page itself) would include <code><link rel=”canonical” href="http://es.example.com/javier-lopez" /></code>.<br /><br />Cookies are not involved in this setup. Therefore, a French speaker will be served es.example.com/javier-lopez with a Spanish template. Implement step 2 if you want the French speakers to be served the French version at fr.example.com/javier-lopez in Google search results.</blockquote></blockquote><b>Step 2: In the canonical URL, specify the various language versions via the rel=”alternate” link tag, using its <code>hreflang</code> attribute. </b><br /><br /><em>rel=”alternate” URLs can be displayed in search results in accordance with a user’s language preference. The title and snippet, however, remain generated from the canonical URL (as is customary with rel=”canonical”), not from the content of any rel=”alternate”.</em><blockquote>You can help Google display the correctly localized variant of your URL to our international users by adding the following tags to http://es.example.com/javier-lopez, the selected canonical:<br /><br /><code><link rel=”alternate” hreflang="en" href="http://en.example.com/javier-lopez" /></code><br /><br /><code><link rel=”alternate” hreflang="fr" href="http://fr.example.com/javier-lopez" /></code><br /><br /><code>rel=”alternate”</code> indicates that the URL contains an alternate version located at the URI of the <code>href</code> value. <code>hreflang</code> identifies the language code of the alternate URL and can be specified with <a href="http://www.loc.gov/standards/iso639-2/">ISO-639</a>.<br /><br />Please note: If your site supports many languages and you’re worried about the increased file size when declaring numerous rel=”alternate” URLs, please see our Help Center article about <a href="//www.google.com/support/webmasters/bin/answer.py?answer=189077">configuring rel=”alternate” with file size constraints</a>.</blockquote></blockquote>Once the steps are completed, the configuration on “The Network” would look like this:<ul><li>http://en.example.com/javier-lopez<blockquote>either 301s with a language cookie or contains <code><link rel=”canonical” href=”http://es.example.com/javier-lopez” /></code></blockquote></li><li>http://fr.example.com/javier-lopez<blockquote>either 301s with a language cookie or contains <code><link rel=”canonical” href=”http://es.example.com/javier-lopez” /></code></blockquote></li><li>http://es.example.com/javier-lopez<blockquote>is the canonical and contains<br /><code><link rel=”alternate” hreflang="en" href="http://en.example.com/javier-lopez" /></code><br />and<br /><code><link rel=”alternate” hreflang="fr" href="http://fr.example.com/javier-lopez" /></code></blockquote></li></ul><br /><b>Results of the above implementation</b><br /><ul><li>When your content is returned in search results, users will likely see the URL that corresponds to their language preference, whether or not it’s the canonical. (Good news!) This is because with with <code>rel=”canonical”</code> or a 301 redirect, we can cluster the language variations with the canonical. With <code>rel=”alternate” hreflang=”x”</code> at serve-time we can deliver the URL of the most appropriate language to the user: English speakers will be served <code>en.example.com/javier-lopez</code> as the result for the URL in Javier’s profile, French speakers will see <code>fr.example.com/javier-lopez</code>, Spanish speakers will see <code>es.example.com/javier-lopez</code>.</li><br /><li>By implementing step 1, only content from the canonical version will be available for users in search results (i.e. content from the duplicate versions won’t be searchable). Because the Spanish version <code>es.example.com/javier-lopez</code> is the canonical, queries that include template content from this page, e.g. [Javier Lopez familia] -- when using any language preference -- may return his profile (content from the canonical version). On the other hand, queries that include template content of the “duplicate” version, e.g. [Javier Lopez family], are less likely to return his profile page. If you would like the other language versions indexed separately and searchable, avoid using rel=”canonical” and rel=”alternate”.</li><br /><li>Indexing properties, such as linking information, from the duplicate language variants will be consolidated with the canonical.</li></ul><br /><b>To recap (one more time, with feeling!)</b><br /><br />For sites that have their template localized but the keep their pages’ main content untranslated:<br /><br /><u>Step 1:</u> Once you have the canonical picked out you can use either <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">rel=”canonical”</a> or a 301 (permanent redirect) from the various localized pages to the canonical URL.<br /><br /><u>Step 2: </u> On the canonical URL, specify the language-specific duplicated content with different boilerplate via the rel=”alternate” link tag, using its <code>hreflang</code> attribute. This way, Google can show the correctly-localized variant of your URLs to our international users.<br /><br />We realize this can be a little complicated, so if you have questions, please ask in our <a href="//www.google.com/support/forum/p/Webmasters/thread?tid=7a2e69b904c7f125&hl=en">webmaster forum</a>!<br /><br /><span class="byline-author">Written by Surabhi Gupta, Joachim Kupke & Jayesh Vyas, Search Localization and Indexing Teams</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Unifying content under multilingual templates&url=https://webmasters.googleblog.com/2010/09/unifying-content-under-multilingual.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2010/09/unifying-content-under-multilingual.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2010/09/unifying-content-under-multilingual.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/advanced?hl=en' rel='tag'> advanced </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/crawling%20and%20indexing?hl=en' rel='tag'> crawling and indexing </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/search%20results?hl=en' rel='tag'> search results </a> </span> </div> </div> </div> <div class='post' data-id='8253327946630761327' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2010/03/working-with-multilingual-websites.html?hl=en' itemprop='url' title='Working with multilingual websites'> Working with multilingual websites </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, March 19, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Webmaster Level: Intermediate<br /><br />A multilingual website is any website that offers content in more than one language. Examples of multilingual websites might include a Canadian business with an English and a French version of its site, or a blog on Latin American soccer available in both Spanish and Portuguese. <br /><br /><b>Usually, it makes sense to have a multilingual website when your target audience consists of speakers of different languages.</b> If your blog on Latin American soccer aims to reach the Brazilian audience, you may choose to publish it only in Portuguese. But if you’d like to reach soccer fans from Argentina also, then providing content in Spanish could help you with that. <br /><br /><h3>Google and language recognition</h3><br />Google tries to determine the main languages of each one of your pages. <b>You can help to make language recognition easier if you stick to only one language per page and avoid side-by-side translations.</b> Although Google can recognize a page as being in more than one language, we recommend using the same language for all elements of a page: headers, sidebars, menus, etc.<br /><br />Keep in mind that Google ignores all code-level language information, from “lang” attributes to Document Type Definitions (DTD). Some web editing programs create these attributes automatically, and therefore they aren’t very reliable when trying to determine the language of a webpage. <br /><br />Someone who comes to Google and does a search in their language expects to find localized search results, and this is where you, as a webmaster, come in: <b>if you’re going to localize, make it visible in the search results </b>with some of our tips below. <br /><br /><h3>The anatomy of a multilingual site: URL structure</h3><br />There's no need to create special URLs when developing a multilingual website. Nonetheless, your users might like to identify what section of your website they’re on just by glancing at the URL. For example, the following URLs let users know that they’re on the English section of this site:<br /><br /><i>http://example.ca</i><i><b>/en/</b></i><i>mountain-bikes.html<br />http://</i><i><b>en.</b></i><i>example.ca/mountain-bikes.html</i><br /><br />While these other URLs let users know that they’re viewing the same page in French:<br /><br /><i>http://example.ca/<b>fr</b>/mountain-bikes.html <br />http://<b>fr</b>.example.ca/mountain-bikes.html</i><br /><br />Additionally, this URL structure will make it easier for you to analyze the indexing of your multilingual content. <br /><br />If you want to create URLs with non-English characters, make sure to use UTF-8 encoding. UTF-8 encoded URLs should be properly escaped when linked from within your content. Should you need to escape your URLs manually, you can easily find an <a href="//www.google.com/search?q=url+encoder">online URL encoder</a> that will do this for you. For example, if I wanted to translate the following URL from English to French,<br /><br /><i>http://example.ca</i><i>/fr/</i><i><b>mountain-bikes</b>.html </i><br /><br />It might look something like this: <br /><br /><i>http://example.ca</i><i>/fr/</i><i><b>vélo-de-montagne</b>.html</i><br /><br />Since this URL contains one non-English character (é), this is what it would look like properly escaped for use in a link on your pages:<br /><br /><i>http://example.ca</i><i>/fr/v<b>%C3%A9</b>lo-</i><i>de-montagne</i><br /><br /><h3>Crawling and indexing your multilingual website</h3><br />We recommend that you do not allow automated translations to get indexed. Automated translations don’t always make sense and they could potentially be viewed as spam. More importantly, the point of making a multilingual website is to reach a larger audience by providing valuable content in several languages. If your users can’t understand an automated translation or if it feels artificial to them, you should ask yourself whether you really want to present this kind of content to them.<br /><br />If you’re going to localize, make it easy for Googlebot to crawl all language versions of your site. Consider cross-linking page by page. In other words, you can provide links between pages with the same content in different languages. This can also be very helpful to your users. Following our previous example, let’s suppose that a French speaker happens to land on <i>http://example.ca</i><i>/en/</i><i>mountain-bikes.html</i>; now, with one click he can get to <i>http://example.ca</i><i>/fr/</i><i>vélo-de-montagne.html</i> where he can view the same content in French. <br /><br />To make all of your site's content more crawlable, avoid automatic redirections based on the user's perceived language. These redirections could prevent users (and search engines) from viewing all the versions of your site.<br /><br />And last but not least, keep the content for each language on separate URLs - don't use cookies to show translated versions. <br /><br /><h3>Working with character encodings</h3><br />Google directly extracts character encodings from HTTP headers, HTML page headers, and content. There isn’t much you need to do about character encoding, other than watching out for conflicting information - for example, between content and headers. While Google can recognize different character encodings, we recommend that you use UTF-8 on your website whenever possible. <br /><br /><h3>If your tongue gets twisted...</h3><br />Now that you know all of this, your tongue may get twisted when you speak many languages, but your website doesn’t have to! <br /><br />For more information, read our <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html" title="post on multi-regional sites">post on multi-regional sites</a> and stay tuned for our next post, where we'll delve into special situations that may arise when working with global websites. Until then, don't hesitate to drop by the Help Forum and <a href="//www.google.com/support/forum/p/Webmasters/thread?tid=12a5507889c20461&hl=en" title="join the discussion">join the discussion</a>! <br /><br /><span class="byline-author">Written by Xavier deMorales, Google Search Quality</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Webmaster Level: Intermediate<br /><br />A multilingual website is any website that offers content in more than one language. Examples of multilingual websites might include a Canadian business with an English and a French version of its site, or a blog on Latin American soccer available in both Spanish and Portuguese. <br /><br /><b>Usually, it makes sense to have a multilingual website when your target audience consists of speakers of different languages.</b> If your blog on Latin American soccer aims to reach the Brazilian audience, you may choose to publish it only in Portuguese. But if you’d like to reach soccer fans from Argentina also, then providing content in Spanish could help you with that. <br /><br /><h3>Google and language recognition</h3><br />Google tries to determine the main languages of each one of your pages. <b>You can help to make language recognition easier if you stick to only one language per page and avoid side-by-side translations.</b> Although Google can recognize a page as being in more than one language, we recommend using the same language for all elements of a page: headers, sidebars, menus, etc.<br /><br />Keep in mind that Google ignores all code-level language information, from “lang” attributes to Document Type Definitions (DTD). Some web editing programs create these attributes automatically, and therefore they aren’t very reliable when trying to determine the language of a webpage. <br /><br />Someone who comes to Google and does a search in their language expects to find localized search results, and this is where you, as a webmaster, come in: <b>if you’re going to localize, make it visible in the search results </b>with some of our tips below. <br /><br /><h3>The anatomy of a multilingual site: URL structure</h3><br />There's no need to create special URLs when developing a multilingual website. Nonetheless, your users might like to identify what section of your website they’re on just by glancing at the URL. For example, the following URLs let users know that they’re on the English section of this site:<br /><br /><i>http://example.ca</i><i><b>/en/</b></i><i>mountain-bikes.html<br />http://</i><i><b>en.</b></i><i>example.ca/mountain-bikes.html</i><br /><br />While these other URLs let users know that they’re viewing the same page in French:<br /><br /><i>http://example.ca/<b>fr</b>/mountain-bikes.html <br />http://<b>fr</b>.example.ca/mountain-bikes.html</i><br /><br />Additionally, this URL structure will make it easier for you to analyze the indexing of your multilingual content. <br /><br />If you want to create URLs with non-English characters, make sure to use UTF-8 encoding. UTF-8 encoded URLs should be properly escaped when linked from within your content. Should you need to escape your URLs manually, you can easily find an <a href="//www.google.com/search?q=url+encoder">online URL encoder</a> that will do this for you. For example, if I wanted to translate the following URL from English to French,<br /><br /><i>http://example.ca</i><i>/fr/</i><i><b>mountain-bikes</b>.html </i><br /><br />It might look something like this: <br /><br /><i>http://example.ca</i><i>/fr/</i><i><b>vélo-de-montagne</b>.html</i><br /><br />Since this URL contains one non-English character (é), this is what it would look like properly escaped for use in a link on your pages:<br /><br /><i>http://example.ca</i><i>/fr/v<b>%C3%A9</b>lo-</i><i>de-montagne</i><br /><br /><h3>Crawling and indexing your multilingual website</h3><br />We recommend that you do not allow automated translations to get indexed. Automated translations don’t always make sense and they could potentially be viewed as spam. More importantly, the point of making a multilingual website is to reach a larger audience by providing valuable content in several languages. If your users can’t understand an automated translation or if it feels artificial to them, you should ask yourself whether you really want to present this kind of content to them.<br /><br />If you’re going to localize, make it easy for Googlebot to crawl all language versions of your site. Consider cross-linking page by page. In other words, you can provide links between pages with the same content in different languages. This can also be very helpful to your users. Following our previous example, let’s suppose that a French speaker happens to land on <i>http://example.ca</i><i>/en/</i><i>mountain-bikes.html</i>; now, with one click he can get to <i>http://example.ca</i><i>/fr/</i><i>vélo-de-montagne.html</i> where he can view the same content in French. <br /><br />To make all of your site's content more crawlable, avoid automatic redirections based on the user's perceived language. These redirections could prevent users (and search engines) from viewing all the versions of your site.<br /><br />And last but not least, keep the content for each language on separate URLs - don't use cookies to show translated versions. <br /><br /><h3>Working with character encodings</h3><br />Google directly extracts character encodings from HTTP headers, HTML page headers, and content. There isn’t much you need to do about character encoding, other than watching out for conflicting information - for example, between content and headers. While Google can recognize different character encodings, we recommend that you use UTF-8 on your website whenever possible. <br /><br /><h3>If your tongue gets twisted...</h3><br />Now that you know all of this, your tongue may get twisted when you speak many languages, but your website doesn’t have to! <br /><br />For more information, read our <a href="http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html" title="post on multi-regional sites">post on multi-regional sites</a> and stay tuned for our next post, where we'll delve into special situations that may arise when working with global websites. Until then, don't hesitate to drop by the Help Forum and <a href="//www.google.com/support/forum/p/Webmasters/thread?tid=12a5507889c20461&hl=en" title="join the discussion">join the discussion</a>! <br /><br /><span class="byline-author">Written by Xavier deMorales, Google Search Quality</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Working with multilingual websites&url=https://webmasters.googleblog.com/2010/03/working-with-multilingual-websites.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2010/03/working-with-multilingual-websites.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2010/03/working-with-multilingual-websites.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/crawling%20and%20indexing?hl=en' rel='tag'> crawling and indexing </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='658108085686711523' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2010/03/working-with-multi-regional-websites.html?hl=en' itemprop='url' title='Working with multi-regional websites'> Working with multi-regional websites </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, March 12, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Webmaster Level: Intermediate<br /> <br /> Did you know that a majority of users surveyed feel that having information in their own language was more important than a low price? Living in a non-English-speaking country, I've seen friends and family members explicitly look for and use local and localized websites—properly localized sites definitely have an advantage with users. Google works hard to show users the best possible search results. Many times those are going to be pages that are localized, for the user's location and/or in the user's language. <br /> <br /> If you're planning to take the time to create and maintain a localized version of your website, making it easy to recognize and find is a logical part of that process. In this blog post series, we'll take a look at what is involved with multi-regional and multi-lingual websites from a search engine point of view. A multi-regional website is one that explicitly targets users in various regions (generally different countries); we call it <a href="http://googlewebmastercentral.blogspot.com/2008/08/how-to-start-multilingual-site.html" title="multi-lingual">multilingual</a> when it is available in multiple languages, and sometimes, the website targets both multiple regions and is in multiple languages. Let's start with some general preparations and then look at websites that target multiple regions. <br /> <br /> <h3>Preparing for global websites</h3>Expanding a website to cover multiple regions and/or languages can be challenging. By creating multiple versions of your website, any issues with the base version will be multiplied; make sure that you have everything working properly before you start. Given that this generally means you'll suddenly be working with a multiplied number of URLs, don't forget that you'll need appropriate infrastructure to support the website.<br /> <br /> <h3>Planning multi-regional websites</h3>When planning sites for multiple regions (usually countries), don't forget to research legal or administrative requirements that might come into play first. These requirements may determine how you proceed, for instance whether or not you would be eligible to use a country-specific domain name. <br /> <br /> All websites start with domain names; when it comes to domain names, Google differentiates between two types of domain names:<br /> <ul><li><b>ccTLDs </b>(country-code top level domain names): These are tied to a specific country (for example .de for Germany, .cn for China). Users and search engines use this as a strong sign that your website is explicitly for a certain country. </li> <li><b>gTLDs</b> (generic top level domain names): These are not tied to a specific country. Examples of gTLds are .com, .net, .org, .museum. Google sees regional top level domain names such as .eu and .asia as gTLDs, since they cannot be tied to a specific country. We also treat some vanity ccTLDs (such as .tv, .me, etc.) as gTLDs as we've found that users and webmasters frequently see these as being more generic than country-targeted (we don't have a complete list of such vanity ccTLDs that we treat as gTLDs as it may change over time). You can set geotargeting for websites with gTLDs using the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=62399" title="Webmaster Tools Geographic Target setting">Webmaster Tools Geographic Target setting</a>.</li> </ul><br /> <h3>Geotargeting factors</h3>Google generally uses the following elements to determine the geotargeting of a website (or a part of a website):<br /> <ol><li><b>Use of a ccTLD</b> is generally a strong signal for users since it explicitly specifies a single country in an unmistakable way.<br /> or<br /> <b>Webmaster Tools' manual geotargeting for gTLDs</b> (this can be on a domain, subdomain or subdirectory level); more information on this can be found in our <a href="http://googlewebmastercentral.blogspot.com/2008/04/where-in-world-is-your-site.html" title="blog post">blog post</a> and in the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=62399" title="Help Center">Help Center</a>. With <a href="http://googlewebmastercentral.blogspot.com/2009/12/region-tags-in-google-search-results.html" title="region tags from geotargeting being shown in search results">region tags from geotargeting being shown in search results</a>, this method is also very clear to users. Please keep in mind that it generally does not make sense to set a geographic target if the same pages on your site target more than a single country (say, all German-speaking countries) — just write in that language and do not use the geotargeting setting (more on writing in other languages will follow soon!). </li> <li><b>Server location</b> (through the IP address of the server) is frequently near your users. However, some websites use distributed content delivery networks (CDNs) or are hosted in a country with better webserver infrastructure, so we try not to rely on the server location alone. </li> <li><b>Other signals</b> can give us hints. This could be from local addresses & phone numbers on the pages, use of local language and currency, links from other local sites, and/or the use of Google's Local Business Center (where available).</li> </ol><br /> Note that we do not use locational meta tags (like "geo.position" or "distribution") or HTML attributes for geotargeting. While these may be useful in other regards, we've found that they are generally not reliable enough to use for geotargeting. <br /> <br /> <h3>URL structures</h3>The first three elements used for geotargeting are strongly tied to the server and to the URLs used. It's difficult to determine geotargeting on a page by page basis, so it makes sense to consider using a URL structure that makes it easy to segment parts of the website for geotargeting. Here are some of the possible URL structures with pros and cons with regards to geotargeting:<br /> <br /> <table border="0" bordercolor="#000000" cellpadding="3" cellspacing="0" width="100%"><tbody> <tr style="text-align:left; vertical-align: top;"><td width="25%" style="vertical-align: top;"><b>ccTLDs</b><br /> eg: example.de, example.fr</td> <td width="25%" style="vertical-align: top;"><b>Subdomains with gTLDs</b><br /> eg: de.site.com, fr.site.com, etc.</td> <td width="25%" style="vertical-align: top;"><b>Subdirectories with gTLDs</b><br /> eg: site.com/de/, site.com/fr/, etc.</td> <td width="25%" style="vertical-align: top;"><b>URL parameters</b><br /> eg: site.com?loc=de, ?country=france, etc.</td></tr> <tr style="text-align:left; vertical-align: top;" ><td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> - clear geotargeting<br /> - server location is irrelevant<br /> - easy separation of sites<br /> - legal requirements (sometimes)</td> <td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> - easy to set up<br /> - can use Webmaster Tools geotargeting<br /> - allows different server locations <br /> - easy separation of sites</td> <td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> - easy to set up<br /> - can use Webmaster Tools geotargeting<br /> - low maintenance (same host)</td> <td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> (not recommended)</td> </tr> <tr style="text-align:left; vertical-align: top;"><td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - expensive (+ availability)<br /> - more infrastructure<br /> - ccTLD requirements (sometimes)</td> <td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - users might not recognize geotargeting from the URL alone (is "de" the language or country?)</td> <td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - users might not recognize geotargeting from the URL alone <br /> - single server location<br /> - separation of sites harder</td> <td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - segmentation based on the URL is difficult<br /> - users might not recognize geotargeting from the URL alone<br /> - geotargeting in Webmaster Tools is not possible </td></tr> </tbody></table><br /> As you can see, geotargeting is not an exact science (even sites using country-code top level domain names can be global in nature), so it's important that you plan for the users from the "wrong" location. One way to do this could be to show links on all pages for users to select their region and language of choice. We'll look at some other possible solutions further on in this blog post series.<br /> <br /> <h3>Dealing with duplicate content on global websites</h3>Websites that provide content for different regions and in different languages sometimes create content that is the same or similar but available on different URLs. This is generally not a problem as long as the content is for different users in different countries. While we strongly recommend that you provide unique content for each different group of users, we understand that this may not always be possible for all pages and variations from the start. There is generally no need to "hide" the duplicates by disallowing crawling in a <a href="//www.google.com/support/webmasters/bin/answer.py?answer=156449" title="robots.txt file">robots.txt file</a> or by using a <a href="//www.google.com/support/webmasters/bin/answer.py?answer=79812" title=""noindex" robots meta tag">"noindex" robots meta tag</a>. However, if you're providing the same content to the same users on different URLs (for instance, if both "example.de/" and "example.com/de/" show German language content for users in Germany), it would make sense to choose a preferred version and to <a href="//www.google.com/support/webmasters/bin/answer.py?answer=93633" title="redirect">redirect</a> (or use the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=139394" title=""rel=canonical" link element">"rel=canonical" link element</a>) appropriately.<br /> <br /> Do you already have a website that targets multiple regions or do you have questions about the process of planning one? Come to the Help Forum and <a href="//www.google.com/support/forum/p/Webmasters/thread?tid=12a5507889c20461&hl=en" title="join the discussion">join the discussion</a>. In following posts, we'll take a look at multi-lingual websites and then look at some special situations that can arise with global websites. <a href="http://translate.google.com/#auto%7Cen%7CBis%20bald" title="Bis bald">Bis bald</a>!<br /> <br /> <span class="byline-author">Written by <a href='https://plus.google.com/113006028898915385825/about' rel='author'>John Mueller</a>, Webmaster Trends Analyst, Google Switzerland</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Webmaster Level: Intermediate<br /> <br /> Did you know that a majority of users surveyed feel that having information in their own language was more important than a low price? Living in a non-English-speaking country, I've seen friends and family members explicitly look for and use local and localized websites—properly localized sites definitely have an advantage with users. Google works hard to show users the best possible search results. Many times those are going to be pages that are localized, for the user's location and/or in the user's language. <br /> <br /> If you're planning to take the time to create and maintain a localized version of your website, making it easy to recognize and find is a logical part of that process. In this blog post series, we'll take a look at what is involved with multi-regional and multi-lingual websites from a search engine point of view. A multi-regional website is one that explicitly targets users in various regions (generally different countries); we call it <a href="http://googlewebmastercentral.blogspot.com/2008/08/how-to-start-multilingual-site.html" title="multi-lingual">multilingual</a> when it is available in multiple languages, and sometimes, the website targets both multiple regions and is in multiple languages. Let's start with some general preparations and then look at websites that target multiple regions. <br /> <br /> <h3>Preparing for global websites</h3>Expanding a website to cover multiple regions and/or languages can be challenging. By creating multiple versions of your website, any issues with the base version will be multiplied; make sure that you have everything working properly before you start. Given that this generally means you'll suddenly be working with a multiplied number of URLs, don't forget that you'll need appropriate infrastructure to support the website.<br /> <br /> <h3>Planning multi-regional websites</h3>When planning sites for multiple regions (usually countries), don't forget to research legal or administrative requirements that might come into play first. These requirements may determine how you proceed, for instance whether or not you would be eligible to use a country-specific domain name. <br /> <br /> All websites start with domain names; when it comes to domain names, Google differentiates between two types of domain names:<br /> <ul><li><b>ccTLDs </b>(country-code top level domain names): These are tied to a specific country (for example .de for Germany, .cn for China). Users and search engines use this as a strong sign that your website is explicitly for a certain country. </li> <li><b>gTLDs</b> (generic top level domain names): These are not tied to a specific country. Examples of gTLds are .com, .net, .org, .museum. Google sees regional top level domain names such as .eu and .asia as gTLDs, since they cannot be tied to a specific country. We also treat some vanity ccTLDs (such as .tv, .me, etc.) as gTLDs as we've found that users and webmasters frequently see these as being more generic than country-targeted (we don't have a complete list of such vanity ccTLDs that we treat as gTLDs as it may change over time). You can set geotargeting for websites with gTLDs using the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=62399" title="Webmaster Tools Geographic Target setting">Webmaster Tools Geographic Target setting</a>.</li> </ul><br /> <h3>Geotargeting factors</h3>Google generally uses the following elements to determine the geotargeting of a website (or a part of a website):<br /> <ol><li><b>Use of a ccTLD</b> is generally a strong signal for users since it explicitly specifies a single country in an unmistakable way.<br /> or<br /> <b>Webmaster Tools' manual geotargeting for gTLDs</b> (this can be on a domain, subdomain or subdirectory level); more information on this can be found in our <a href="http://googlewebmastercentral.blogspot.com/2008/04/where-in-world-is-your-site.html" title="blog post">blog post</a> and in the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=62399" title="Help Center">Help Center</a>. With <a href="http://googlewebmastercentral.blogspot.com/2009/12/region-tags-in-google-search-results.html" title="region tags from geotargeting being shown in search results">region tags from geotargeting being shown in search results</a>, this method is also very clear to users. Please keep in mind that it generally does not make sense to set a geographic target if the same pages on your site target more than a single country (say, all German-speaking countries) — just write in that language and do not use the geotargeting setting (more on writing in other languages will follow soon!). </li> <li><b>Server location</b> (through the IP address of the server) is frequently near your users. However, some websites use distributed content delivery networks (CDNs) or are hosted in a country with better webserver infrastructure, so we try not to rely on the server location alone. </li> <li><b>Other signals</b> can give us hints. This could be from local addresses & phone numbers on the pages, use of local language and currency, links from other local sites, and/or the use of Google's Local Business Center (where available).</li> </ol><br /> Note that we do not use locational meta tags (like "geo.position" or "distribution") or HTML attributes for geotargeting. While these may be useful in other regards, we've found that they are generally not reliable enough to use for geotargeting. <br /> <br /> <h3>URL structures</h3>The first three elements used for geotargeting are strongly tied to the server and to the URLs used. It's difficult to determine geotargeting on a page by page basis, so it makes sense to consider using a URL structure that makes it easy to segment parts of the website for geotargeting. Here are some of the possible URL structures with pros and cons with regards to geotargeting:<br /> <br /> <table border="0" bordercolor="#000000" cellpadding="3" cellspacing="0" width="100%"><tbody> <tr style="text-align:left; vertical-align: top;"><td width="25%" style="vertical-align: top;"><b>ccTLDs</b><br /> eg: example.de, example.fr</td> <td width="25%" style="vertical-align: top;"><b>Subdomains with gTLDs</b><br /> eg: de.site.com, fr.site.com, etc.</td> <td width="25%" style="vertical-align: top;"><b>Subdirectories with gTLDs</b><br /> eg: site.com/de/, site.com/fr/, etc.</td> <td width="25%" style="vertical-align: top;"><b>URL parameters</b><br /> eg: site.com?loc=de, ?country=france, etc.</td></tr> <tr style="text-align:left; vertical-align: top;" ><td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> - clear geotargeting<br /> - server location is irrelevant<br /> - easy separation of sites<br /> - legal requirements (sometimes)</td> <td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> - easy to set up<br /> - can use Webmaster Tools geotargeting<br /> - allows different server locations <br /> - easy separation of sites</td> <td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> - easy to set up<br /> - can use Webmaster Tools geotargeting<br /> - low maintenance (same host)</td> <td width="25%" style="vertical-align: top;"><u>pros (+)</u><br /> (not recommended)</td> </tr> <tr style="text-align:left; vertical-align: top;"><td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - expensive (+ availability)<br /> - more infrastructure<br /> - ccTLD requirements (sometimes)</td> <td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - users might not recognize geotargeting from the URL alone (is "de" the language or country?)</td> <td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - users might not recognize geotargeting from the URL alone <br /> - single server location<br /> - separation of sites harder</td> <td width="25%" style="vertical-align: top;"><u>cons (-)</u><br /> - segmentation based on the URL is difficult<br /> - users might not recognize geotargeting from the URL alone<br /> - geotargeting in Webmaster Tools is not possible </td></tr> </tbody></table><br /> As you can see, geotargeting is not an exact science (even sites using country-code top level domain names can be global in nature), so it's important that you plan for the users from the "wrong" location. One way to do this could be to show links on all pages for users to select their region and language of choice. We'll look at some other possible solutions further on in this blog post series.<br /> <br /> <h3>Dealing with duplicate content on global websites</h3>Websites that provide content for different regions and in different languages sometimes create content that is the same or similar but available on different URLs. This is generally not a problem as long as the content is for different users in different countries. While we strongly recommend that you provide unique content for each different group of users, we understand that this may not always be possible for all pages and variations from the start. There is generally no need to "hide" the duplicates by disallowing crawling in a <a href="//www.google.com/support/webmasters/bin/answer.py?answer=156449" title="robots.txt file">robots.txt file</a> or by using a <a href="//www.google.com/support/webmasters/bin/answer.py?answer=79812" title=""noindex" robots meta tag">"noindex" robots meta tag</a>. However, if you're providing the same content to the same users on different URLs (for instance, if both "example.de/" and "example.com/de/" show German language content for users in Germany), it would make sense to choose a preferred version and to <a href="//www.google.com/support/webmasters/bin/answer.py?answer=93633" title="redirect">redirect</a> (or use the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=139394" title=""rel=canonical" link element">"rel=canonical" link element</a>) appropriately.<br /> <br /> Do you already have a website that targets multiple regions or do you have questions about the process of planning one? Come to the Help Forum and <a href="//www.google.com/support/forum/p/Webmasters/thread?tid=12a5507889c20461&hl=en" title="join the discussion">join the discussion</a>. In following posts, we'll take a look at multi-lingual websites and then look at some special situations that can arise with global websites. <a href="http://translate.google.com/#auto%7Cen%7CBis%20bald" title="Bis bald">Bis bald</a>!<br /> <br /> <span class="byline-author">Written by <a href='https://plus.google.com/113006028898915385825/about' rel='author'>John Mueller</a>, Webmaster Trends Analyst, Google Switzerland</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Working with multi-regional websites&url=https://webmasters.googleblog.com/2010/03/working-with-multi-regional-websites.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2010/03/working-with-multi-regional-websites.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2010/03/working-with-multi-regional-websites.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/crawling%20and%20indexing?hl=en' rel='tag'> crawling and indexing </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='3454279526802959289' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2009/09/translate-your-website-with-google.html?hl=en' itemprop='url' title='Translate your website with Google: Expand your audience globally'> Translate your website with Google: Expand your audience globally </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, September 30, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i>(This has been cross-posted from the </i><a href="http://googleblog.blogspot.com/2009/09/translate-your-website-with-google.html"><i>Official Google Blog</i></a><i>)</i><br /><br />How long would it take to translate all the world's web content into 50 languages? Even if all of the translators in the world worked around the clock, with the current growth rate of content being created online and the sheer amount of data on the web, it would take hundreds of years to make even a small dent.<br /><br />Today, we're happy to announce a new <a href="http://translate.google.com/translate_tools">website translator gadget</a> powered by Google Translate that enables you to make your site's content available in 51 languages. Now, when people visit your page, if their language (as determined by their browser settings) is different than the language of your page, they'll be prompted to automatically translate the page into their own language. If the visitor's language is the same as the language of your page, no translation banner will appear.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzq1EFP_A5qmes_PzRmi7aKB7wjBqcveIN9IvEh1Kawe-Z3vYXuGgoCvkCPu4ZgsSJXbj9V79bJYfBs3arb26UhWX3vhg8Iqqr1h48QCKPcOO43Dmfe3hyphenhyphenYQn84gPwPXU5STvzhA/s1600-h/t1.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387372684702551298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzq1EFP_A5qmes_PzRmi7aKB7wjBqcveIN9IvEh1Kawe-Z3vYXuGgoCvkCPu4ZgsSJXbj9V79bJYfBs3arb26UhWX3vhg8Iqqr1h48QCKPcOO43Dmfe3hyphenhyphenYQn84gPwPXU5STvzhA/s400/t1.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 144px;" /></a><br />After clicking the Translate button, the automatic translations are shown directly on your page.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhBBiVpIctLvw3tyHtLBU_0HOi5dDtVXdggEde8h67xlAEn_UOfMN1-U1xoyGNdwt6sxSKcswqdHAxHtxsl_fmitqyUQKctcK05Wmu96wkoke4CPA2_ZrGE2rg7Y0EQ04DxC041A/s1600-h/t2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387372690304581426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhBBiVpIctLvw3tyHtLBU_0HOi5dDtVXdggEde8h67xlAEn_UOfMN1-U1xoyGNdwt6sxSKcswqdHAxHtxsl_fmitqyUQKctcK05Wmu96wkoke4CPA2_ZrGE2rg7Y0EQ04DxC041A/s400/t2.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 144px;" /></a><br />It's easy to install — all you have to do is cut and paste a short snippet into your webpage to increase the global reach of your blog or website.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWVjkg0VvoxmPXgKcFp6ldDLTCJuCtYwi2Vjf-LUq5jiQjbxtlOOcns6ew5DkRoocJjvrvgs5sm81uIj62E7p5iSZw4vwKTKj1mTWHaoVE2MkmzgtlA0A4wsMBkTVyVGbnXm5odA/s1600-h/t3.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387372699114096914" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWVjkg0VvoxmPXgKcFp6ldDLTCJuCtYwi2Vjf-LUq5jiQjbxtlOOcns6ew5DkRoocJjvrvgs5sm81uIj62E7p5iSZw4vwKTKj1mTWHaoVE2MkmzgtlA0A4wsMBkTVyVGbnXm5odA/s400/t3.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 244px;" /></a><br />Automatic translation is convenient and helps people get a quick gist of the page. However, it's not a perfect substitute for the art of professional translation. Today happens to be International Translation Day, and we'd like to take the opportunity to celebrate the contributions of translators all over the world. These translators play an essential role in enabling global communication, and with the rapid growth and ease of access to digital content, the need for them is greater than ever. We hope that professional translators, along with translation tools such as <a href="http://googleblog.blogspot.com/2009/06/translating-worlds-information-with.html">Google Translator Toolkit</a> and this <a href="http://translate.google.com/translate_tools">Translate gadget</a>, will continue to help make the world's content more accessible to everyone.<br /><br /><span class="byline-author">Posted by Jeff Chin, Product Manager, Google Translate</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <i>(This has been cross-posted from the </i><a href="http://googleblog.blogspot.com/2009/09/translate-your-website-with-google.html"><i>Official Google Blog</i></a><i>)</i><br /><br />How long would it take to translate all the world's web content into 50 languages? Even if all of the translators in the world worked around the clock, with the current growth rate of content being created online and the sheer amount of data on the web, it would take hundreds of years to make even a small dent.<br /><br />Today, we're happy to announce a new <a href="http://translate.google.com/translate_tools">website translator gadget</a> powered by Google Translate that enables you to make your site's content available in 51 languages. Now, when people visit your page, if their language (as determined by their browser settings) is different than the language of your page, they'll be prompted to automatically translate the page into their own language. If the visitor's language is the same as the language of your page, no translation banner will appear.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzq1EFP_A5qmes_PzRmi7aKB7wjBqcveIN9IvEh1Kawe-Z3vYXuGgoCvkCPu4ZgsSJXbj9V79bJYfBs3arb26UhWX3vhg8Iqqr1h48QCKPcOO43Dmfe3hyphenhyphenYQn84gPwPXU5STvzhA/s1600-h/t1.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387372684702551298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzq1EFP_A5qmes_PzRmi7aKB7wjBqcveIN9IvEh1Kawe-Z3vYXuGgoCvkCPu4ZgsSJXbj9V79bJYfBs3arb26UhWX3vhg8Iqqr1h48QCKPcOO43Dmfe3hyphenhyphenYQn84gPwPXU5STvzhA/s400/t1.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 144px;" /></a><br />After clicking the Translate button, the automatic translations are shown directly on your page.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhBBiVpIctLvw3tyHtLBU_0HOi5dDtVXdggEde8h67xlAEn_UOfMN1-U1xoyGNdwt6sxSKcswqdHAxHtxsl_fmitqyUQKctcK05Wmu96wkoke4CPA2_ZrGE2rg7Y0EQ04DxC041A/s1600-h/t2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387372690304581426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhBBiVpIctLvw3tyHtLBU_0HOi5dDtVXdggEde8h67xlAEn_UOfMN1-U1xoyGNdwt6sxSKcswqdHAxHtxsl_fmitqyUQKctcK05Wmu96wkoke4CPA2_ZrGE2rg7Y0EQ04DxC041A/s400/t2.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 144px;" /></a><br />It's easy to install — all you have to do is cut and paste a short snippet into your webpage to increase the global reach of your blog or website.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWVjkg0VvoxmPXgKcFp6ldDLTCJuCtYwi2Vjf-LUq5jiQjbxtlOOcns6ew5DkRoocJjvrvgs5sm81uIj62E7p5iSZw4vwKTKj1mTWHaoVE2MkmzgtlA0A4wsMBkTVyVGbnXm5odA/s1600-h/t3.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387372699114096914" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWVjkg0VvoxmPXgKcFp6ldDLTCJuCtYwi2Vjf-LUq5jiQjbxtlOOcns6ew5DkRoocJjvrvgs5sm81uIj62E7p5iSZw4vwKTKj1mTWHaoVE2MkmzgtlA0A4wsMBkTVyVGbnXm5odA/s400/t3.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 244px;" /></a><br />Automatic translation is convenient and helps people get a quick gist of the page. However, it's not a perfect substitute for the art of professional translation. Today happens to be International Translation Day, and we'd like to take the opportunity to celebrate the contributions of translators all over the world. These translators play an essential role in enabling global communication, and with the rapid growth and ease of access to digital content, the need for them is greater than ever. We hope that professional translators, along with translation tools such as <a href="http://googleblog.blogspot.com/2009/06/translating-worlds-information-with.html">Google Translator Toolkit</a> and this <a href="http://translate.google.com/translate_tools">Translate gadget</a>, will continue to help make the world's content more accessible to everyone.<br /><br /><span class="byline-author">Posted by Jeff Chin, Product Manager, Google Translate</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Translate your website with Google: Expand your audience globally&url=https://webmasters.googleblog.com/2009/09/translate-your-website-with-google.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2009/09/translate-your-website-with-google.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2009/09/translate-your-website-with-google.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/products%20and%20services?hl=en' rel='tag'> products and services </a> </span> </div> </div> </div> <div class='post' data-id='5290902182917463594' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2009/06/watch-out-for-your-yu-domain.html?hl=en' itemprop='url' title='Watch out for your .yu domain!'> Watch out for your .yu domain! </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, June 24, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <div style="text-align: justify;"> Are you the owner of <a href="http://en.wikipedia.org/wiki/.yu">a .yu domain</a>? Then you might have heard the news: as of September 30,<a href="http://www.nic.yu/index-e.html"> all .yu domains will stop working</a>, regardless of their renewal date. This means that any content you're hosting on a .yu domain will no longer be online. For those of you who would still like to have your site online, we've prepared some recommendations to make sure that Google keeps crawling, indexing, and serving your content appropriately.</div> <ul style="text-align: justify;"> <li><b>Check your backlinks</b>. Since it won't be possible to set up a redirection from the old .yu domain to your new one, all links pointing to .yu domains will lead to dead ends. This means that it will be increasingly difficult for search engines to retrieve your new content. To find out who is linking to you, sign up with Google Webmaster Tools and check the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=55281">links to your site</a> (you can also download this list as a "comma separated value" -- .csv -- file for ease of use). Then read through the list for sites that you recognize as important and contact their webmasters to make sure that they update their links to your new website.</li> </ul> <ul style="text-align: justify;"> <li><b>Check your internal links</b>. If you are planning to simply move your content in bulk from the old to the new site, make sure that the new <a href="//www.google.com/support/webmasters/bin/answer.py?answer=138752">internal navigation</a> is up to date. For example, if you are renaming pages on your site from "www.example.yu/home.htm" to "www.example.com/home.htm" make sure that your internal navigation reflects such changes to prevent broken links.</li> </ul> <ul style="text-align: justify;"> <li><b>Start moving the site to your new domain</b>. It's a good idea to start moving while you can still maintain control of your old domain, so don't wait! As mentioned in our <a href="http://googlewebmastercentral.blogspot.com/2008/04/best-practices-when-moving-your-site.html">best practices when moving your site</a>, we recommend starting by moving a single directory or subdomain, and testing the results before completing the move. Remember that you will not be able to keep a 301 redirection on your old domain after September 30, so start your test early.</li> </ul> <div style="text-align: justify;"> While you're moving your site, you can test how Google crawls and indexes your new site at its new location by <a href="//www.google.com/support/webmasters/bin/answer.py?answer=34575">submitting a Sitemap</a> via Google Webmaster Tools. Although we may not crawl or index all the pages listed in each Sitemap, we recommend that you submit one because doing so helps Google understand your site better. You can read more on this topic in our answers to the most <a href="http://googlewebmastercentral.blogspot.com/2008/01/sitemaps-faqs.html">frequently asked questions on Sitemaps</a>. And remember that for any question or concerns we're waiting for you in the <a href="//www.google.com/support/forum/p/Webmasters?hl=en">Google Webmaster Help Forum</a>!<br /> <b>Update</b>: as mentioned <a href="http://googlewebmastercentral.blogspot.com/2009/06/out-with-old-in-with-new.html">here</a>, we have introduced a new feature: <a href="//www.google.com/support/webmasters/bin/answer.py?answer=83106">Change of Address</a>. Check it out if you are moving from one domain to another! By using this feature you will help us update our index faster and hopefully make the transition for your users smoother.<br /> <br /> <span class="byline-author">Written by Luisella Mazza, Search Quality Senior Analyst</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <div style="text-align: justify;"> Are you the owner of <a href="http://en.wikipedia.org/wiki/.yu">a .yu domain</a>? Then you might have heard the news: as of September 30,<a href="http://www.nic.yu/index-e.html"> all .yu domains will stop working</a>, regardless of their renewal date. This means that any content you're hosting on a .yu domain will no longer be online. For those of you who would still like to have your site online, we've prepared some recommendations to make sure that Google keeps crawling, indexing, and serving your content appropriately.</div> <ul style="text-align: justify;"> <li><b>Check your backlinks</b>. Since it won't be possible to set up a redirection from the old .yu domain to your new one, all links pointing to .yu domains will lead to dead ends. This means that it will be increasingly difficult for search engines to retrieve your new content. To find out who is linking to you, sign up with Google Webmaster Tools and check the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=55281">links to your site</a> (you can also download this list as a "comma separated value" -- .csv -- file for ease of use). Then read through the list for sites that you recognize as important and contact their webmasters to make sure that they update their links to your new website.</li> </ul> <ul style="text-align: justify;"> <li><b>Check your internal links</b>. If you are planning to simply move your content in bulk from the old to the new site, make sure that the new <a href="//www.google.com/support/webmasters/bin/answer.py?answer=138752">internal navigation</a> is up to date. For example, if you are renaming pages on your site from "www.example.yu/home.htm" to "www.example.com/home.htm" make sure that your internal navigation reflects such changes to prevent broken links.</li> </ul> <ul style="text-align: justify;"> <li><b>Start moving the site to your new domain</b>. It's a good idea to start moving while you can still maintain control of your old domain, so don't wait! As mentioned in our <a href="http://googlewebmastercentral.blogspot.com/2008/04/best-practices-when-moving-your-site.html">best practices when moving your site</a>, we recommend starting by moving a single directory or subdomain, and testing the results before completing the move. Remember that you will not be able to keep a 301 redirection on your old domain after September 30, so start your test early.</li> </ul> <div style="text-align: justify;"> While you're moving your site, you can test how Google crawls and indexes your new site at its new location by <a href="//www.google.com/support/webmasters/bin/answer.py?answer=34575">submitting a Sitemap</a> via Google Webmaster Tools. Although we may not crawl or index all the pages listed in each Sitemap, we recommend that you submit one because doing so helps Google understand your site better. You can read more on this topic in our answers to the most <a href="http://googlewebmastercentral.blogspot.com/2008/01/sitemaps-faqs.html">frequently asked questions on Sitemaps</a>. And remember that for any question or concerns we're waiting for you in the <a href="//www.google.com/support/forum/p/Webmasters?hl=en">Google Webmaster Help Forum</a>!<br /> <b>Update</b>: as mentioned <a href="http://googlewebmastercentral.blogspot.com/2009/06/out-with-old-in-with-new.html">here</a>, we have introduced a new feature: <a href="//www.google.com/support/webmasters/bin/answer.py?answer=83106">Change of Address</a>. Check it out if you are moving from one domain to another! By using this feature you will help us update our index faster and hopefully make the transition for your users smoother.<br /> <br /> <span class="byline-author">Written by Luisella Mazza, Search Quality Senior Analyst</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Watch out for your .yu domain!&url=https://webmasters.googleblog.com/2009/06/watch-out-for-your-yu-domain.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2009/06/watch-out-for-your-yu-domain.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2009/06/watch-out-for-your-yu-domain.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/general%20tips?hl=en' rel='tag'> general tips </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='5610734194594089804' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2008/11/better-targeting-your-indic-language.html?hl=en' itemprop='url' title='Better targeting your indic language site'> Better targeting your indic language site </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, November 13, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> A lot has been said about <a href="http://googlewebmastercentral.blogspot.com/2008/08/how-to-start-multilingual-site.html">how to start a multi-lingual site</a> and how to better target content through <a href="//www.google.com/support/webmasters/bin/answer.py?answer=79812&topic=15262">meta tags</a>. Our users have raised a number of interesting questions about creating websites in different languages, like the one below.<br /> <br /> ‘<a href="//www.blogger.com/profile/12462803572730503354">ganex</a>':<br /> ><i> How does one do for INDIA.</i><br /> ><i> As there are many languages spoken here.</i><br /> ><i> My Site is primarily in English, but my site targets different cities in INDIA.</i><br /> > <i> For Hyderabad - I want in Urdu & Telugu and for Chennai I want in Tamil</i><br /> > <i> for Bengaluru I want in Kannada.</i><br /> > <i> For North I want in Hindi.’</i><br /> <br /> We’d like to introduce the <a href="http://googleajaxsearchapi.blogspot.com/2008/09/introducing-transliteration-api.html">transliteration API</a> for Indic languages (languages spoken in India) in addition to our Ajax API for languages. With this API at your disposal, content creation is simplified because it not only helps integrating transliteration in your websites but also allows users visiting your site to type in Indic languages.<br /> <br /> To include the transliteration API, first you need the AJAX script.<br /> <br /> <i><script type="text/javascript" src="http://www.google.com/jsapi"></></i><br /> <br /> This script tag will load the <code>google.load</code> function, which lets you load the individual Google APIs. For loading Google Transliteration API, call to <code>google.load</code> looks like this:<br /> <br /> <i><script type="text/javascript"><br /> google.load("elements", "1", {<br /> packages: "transliteration"<br /> });<br /></script></i><br /> <br /> When it comes to targeting, don't forget to add meta tags in your local language. And for your questions, we have a new addition to our already existing communication channels like the webmaster help groups and webmaster tools (available in <a href="http://googlewebmastercentral.blogspot.com/2008/05/webmaster-tools-now-in-26-languages.html">26 languages</a>!). We also have our own official <a href="http://www.orkut.co.in/Main#Community.aspx?cmm=65242009">Orkut webmaster community</a>! Here users can share thoughts and discuss webmaster related issues.<br /> <br /> <a href="http://www.orkut.co.in/Main#Community.aspx?cmm=65242009">Sign up</a> for our Orkut community now and if you have any additional thoughts we'd love to hear about them.<br /> <br /> Cheers,<br /> <span class="byline-author">Jayashree and Zareen, Search Quality Team, Google India</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> A lot has been said about <a href="http://googlewebmastercentral.blogspot.com/2008/08/how-to-start-multilingual-site.html">how to start a multi-lingual site</a> and how to better target content through <a href="//www.google.com/support/webmasters/bin/answer.py?answer=79812&topic=15262">meta tags</a>. Our users have raised a number of interesting questions about creating websites in different languages, like the one below.<br /> <br /> ‘<a href="//www.blogger.com/profile/12462803572730503354">ganex</a>':<br /> ><i> How does one do for INDIA.</i><br /> ><i> As there are many languages spoken here.</i><br /> ><i> My Site is primarily in English, but my site targets different cities in INDIA.</i><br /> > <i> For Hyderabad - I want in Urdu & Telugu and for Chennai I want in Tamil</i><br /> > <i> for Bengaluru I want in Kannada.</i><br /> > <i> For North I want in Hindi.’</i><br /> <br /> We’d like to introduce the <a href="http://googleajaxsearchapi.blogspot.com/2008/09/introducing-transliteration-api.html">transliteration API</a> for Indic languages (languages spoken in India) in addition to our Ajax API for languages. With this API at your disposal, content creation is simplified because it not only helps integrating transliteration in your websites but also allows users visiting your site to type in Indic languages.<br /> <br /> To include the transliteration API, first you need the AJAX script.<br /> <br /> <i><script type="text/javascript" src="http://www.google.com/jsapi"></></i><br /> <br /> This script tag will load the <code>google.load</code> function, which lets you load the individual Google APIs. For loading Google Transliteration API, call to <code>google.load</code> looks like this:<br /> <br /> <i><script type="text/javascript"><br /> google.load("elements", "1", {<br /> packages: "transliteration"<br /> });<br /></script></i><br /> <br /> When it comes to targeting, don't forget to add meta tags in your local language. And for your questions, we have a new addition to our already existing communication channels like the webmaster help groups and webmaster tools (available in <a href="http://googlewebmastercentral.blogspot.com/2008/05/webmaster-tools-now-in-26-languages.html">26 languages</a>!). We also have our own official <a href="http://www.orkut.co.in/Main#Community.aspx?cmm=65242009">Orkut webmaster community</a>! Here users can share thoughts and discuss webmaster related issues.<br /> <br /> <a href="http://www.orkut.co.in/Main#Community.aspx?cmm=65242009">Sign up</a> for our Orkut community now and if you have any additional thoughts we'd love to hear about them.<br /> <br /> Cheers,<br /> <span class="byline-author">Jayashree and Zareen, Search Quality Team, Google India</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Better targeting your indic language site&url=https://webmasters.googleblog.com/2008/11/better-targeting-your-indic-language.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2008/11/better-targeting-your-indic-language.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2008/11/better-targeting-your-indic-language.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/general%20tips?hl=en' rel='tag'> general tips </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='post' data-id='8671129619318089840' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2008/10/helping-you-break-language-barrier.html?hl=en' itemprop='url' title='Helping you break the language barrier'> Helping you break the language barrier </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, October 14, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> When webmasters put content out on the web it's there for the world to see. Unfortunately, most content on the web is only published in a single language, understandable by only a fraction of the world's population. <br /> <br /> In a continued effort to make the world's information universally accessible, <a href="http://translate.google.com/">Google Translate</a> has a number of tools for you to automatically translate your content into the languages of the world. <br /> <a href="http://translate.google.com/translate_tools"></a><br /> <div style="float: left; height: auto; padding: 0px 0px 0px 0px; width: 35%;"> <a href="http://translate.google.com/translate_tools"> </a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigDB08MUPlHCLrKwTtQVVudBzfT9Ng0DRm4qGwbW47mOph4md9JYzb2vizaHDFw4ouOr6XEgf5RKfbtG41r382zCIkhtUdDd4d-qCeL4ht8qmfuA8QXOjMv1mu4ehw_oTJMekO/s1600-h/translate-my-page.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5257063321355595826" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigDB08MUPlHCLrKwTtQVVudBzfT9Ng0DRm4qGwbW47mOph4md9JYzb2vizaHDFw4ouOr6XEgf5RKfbtG41r382zCIkhtUdDd4d-qCeL4ht8qmfuA8QXOjMv1mu4ehw_oTJMekO/s400/translate-my-page.png" style="cursor: hand; cursor: pointer;" /></a></div> <br /> Users may already be translating your webpage using Google Translate, but you can make it even easier by including our "Translate My Page" gadget, available at <a href="http://translate.google.com/translate_tools">http://translate.google.com/translate_tools</a>. <br /> <br /> The gadget will be rendered in the user's language, so if they come to your page and can't understand anything else, they'll be able to read the gadget, and translate your page into their language. <br /> <br /> Sometimes there may be some content on your page that you don't want us to translate. You can now add <b><span style="color: #38761d; font-family: 'Courier New';">class=notranslate</span></b> to any HTML element to prevent that element from being translated. For example, you may want to do something like: <br /> <blockquote> <b style="color: #38761d;"><span style="font-family: 'Courier New';">Email us at <span class="notranslate">sales at mydomain dot com</span></span></b></blockquote> And if you have an entire page that should not be translated, you can add: <br /> <blockquote> <b style="color: #38761d;"><span style="font-family: 'Courier New';"><meta name="google" value="notranslate"></span></b></blockquote> to the <b style="color: #38761d; font-family: Courier New;"><head></b> of your page and we won't translate any of the content on that page. <br /> <br /> <b>Update on 12/15/2008:</b> <i>We also support:</i><br /> <blockquote> <b style="color: #38761d;"><span style="font-family: 'Courier New';"><meta name="google" content="notranslate"></span></b></blockquote> <i>Thanks to chaoskaizer for pointing this out in the comments. :)</i> <br /> <br /> Lastly, if you want to do some fancier automatic translation integrated directly into your page, check out the <a href="http://googleajaxsearchapi.blogspot.com/2008/03/introducing-ajax-language-api-tools-for.html">AJAX Language API</a> we launched last March. <br /> <br /> With these tools we hope you can more easily make your content available in all the languages we support, including <a href="http://translate.google.com/translate_t?tl=ar" id="g62u">Arabic</a>, <a href="http://translate.google.com/translate_t?tl=bg">Bulgarian</a>, <a href="http://translate.google.com/translate_t?tl=ca">Catalan</a>, <a href="http://translate.google.com/translate_t?tl=zh">Chinese</a>, <a href="http://translate.google.com/translate_t?tl=hr">Croatian</a>, <a href="http://translate.google.com/translate_t?tl=cs">Czech</a>, <a href="http://translate.google.com/translate_t?tl=da">Danish</a>, <a href="http://translate.google.com/translate_t?tl=nl">Dutch</a>, <a href="http://translate.google.com/translate_t?tl=en">English</a>, <a href="http://translate.google.com/translate_t?tl=tl">Filipino</a>, <a href="http://translate.google.com/translate_t?tl=fi">Finnish</a>, <a href="http://translate.google.com/translate_t?tl=fr">French</a>, <a href="http://translate.google.com/translate_t?tl=de">German</a>, <a href="http://translate.google.com/translate_t?tl=el">Greek</a>, <a href="http://translate.google.com/translate_t?tl=iw">Hebrew</a>, <a href="http://translate.google.com/translate_t?tl=hi">Hindi</a>, <a href="http://translate.google.com/translate_t?tl=id">Indonesian</a>, <a href="http://translate.google.com/translate_t?tl=it">Italian</a>, <a href="http://translate.google.com/translate_t?tl=ja">Japanese</a>, <a href="http://translate.google.com/translate_t?tl=ko">Korean</a>, <a href="http://translate.google.com/translate_t?tl=lv">Latvian</a>, <a href="http://translate.google.com/translate_t?tl=lt">Lithuanian</a>, <a href="http://translate.google.com/translate_t?tl=no">Norwegian</a>, <a href="http://translate.google.com/translate_t?tl=pl">Polish</a>, <a href="http://translate.google.com/translate_t?tl=pt">Portuguese</a>, <a href="http://translate.google.com/translate_t?tl=ro">Romanian</a>, <a href="http://translate.google.com/translate_t?tl=ru">Russian</a>, <a href="http://translate.google.com/translate_t?tl=sr">Serbian</a>, <a href="http://translate.google.com/translate_t?tl=sk">Slovak</a>, <a href="http://translate.google.com/translate_t?tl=sl">Slovenian</a>, <a href="http://translate.google.com/translate_t?tl=es">Spanish</a>, <a href="http://translate.google.com/translate_t?tl=sv">Swedish</a>, <a href="http://translate.google.com/translate_t?tl=uk">Ukrainian</a>, and <a href="http://translate.google.com/translate_t?tl=vi">Vietnamese</a>. <br /> <br /> <span class="byline-author">Written by Josh Estelle, Google Translate</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> When webmasters put content out on the web it's there for the world to see. Unfortunately, most content on the web is only published in a single language, understandable by only a fraction of the world's population. <br /> <br /> In a continued effort to make the world's information universally accessible, <a href="http://translate.google.com/">Google Translate</a> has a number of tools for you to automatically translate your content into the languages of the world. <br /> <a href="http://translate.google.com/translate_tools"></a><br /> <div style="float: left; height: auto; padding: 0px 0px 0px 0px; width: 35%;"> <a href="http://translate.google.com/translate_tools"> </a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigDB08MUPlHCLrKwTtQVVudBzfT9Ng0DRm4qGwbW47mOph4md9JYzb2vizaHDFw4ouOr6XEgf5RKfbtG41r382zCIkhtUdDd4d-qCeL4ht8qmfuA8QXOjMv1mu4ehw_oTJMekO/s1600-h/translate-my-page.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5257063321355595826" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigDB08MUPlHCLrKwTtQVVudBzfT9Ng0DRm4qGwbW47mOph4md9JYzb2vizaHDFw4ouOr6XEgf5RKfbtG41r382zCIkhtUdDd4d-qCeL4ht8qmfuA8QXOjMv1mu4ehw_oTJMekO/s400/translate-my-page.png" style="cursor: hand; cursor: pointer;" /></a></div> <br /> Users may already be translating your webpage using Google Translate, but you can make it even easier by including our "Translate My Page" gadget, available at <a href="http://translate.google.com/translate_tools">http://translate.google.com/translate_tools</a>. <br /> <br /> The gadget will be rendered in the user's language, so if they come to your page and can't understand anything else, they'll be able to read the gadget, and translate your page into their language. <br /> <br /> Sometimes there may be some content on your page that you don't want us to translate. You can now add <b><span style="color: #38761d; font-family: 'Courier New';">class=notranslate</span></b> to any HTML element to prevent that element from being translated. For example, you may want to do something like: <br /> <blockquote> <b style="color: #38761d;"><span style="font-family: 'Courier New';">Email us at <span class="notranslate">sales at mydomain dot com</span></span></b></blockquote> And if you have an entire page that should not be translated, you can add: <br /> <blockquote> <b style="color: #38761d;"><span style="font-family: 'Courier New';"><meta name="google" value="notranslate"></span></b></blockquote> to the <b style="color: #38761d; font-family: Courier New;"><head></b> of your page and we won't translate any of the content on that page. <br /> <br /> <b>Update on 12/15/2008:</b> <i>We also support:</i><br /> <blockquote> <b style="color: #38761d;"><span style="font-family: 'Courier New';"><meta name="google" content="notranslate"></span></b></blockquote> <i>Thanks to chaoskaizer for pointing this out in the comments. :)</i> <br /> <br /> Lastly, if you want to do some fancier automatic translation integrated directly into your page, check out the <a href="http://googleajaxsearchapi.blogspot.com/2008/03/introducing-ajax-language-api-tools-for.html">AJAX Language API</a> we launched last March. <br /> <br /> With these tools we hope you can more easily make your content available in all the languages we support, including <a href="http://translate.google.com/translate_t?tl=ar" id="g62u">Arabic</a>, <a href="http://translate.google.com/translate_t?tl=bg">Bulgarian</a>, <a href="http://translate.google.com/translate_t?tl=ca">Catalan</a>, <a href="http://translate.google.com/translate_t?tl=zh">Chinese</a>, <a href="http://translate.google.com/translate_t?tl=hr">Croatian</a>, <a href="http://translate.google.com/translate_t?tl=cs">Czech</a>, <a href="http://translate.google.com/translate_t?tl=da">Danish</a>, <a href="http://translate.google.com/translate_t?tl=nl">Dutch</a>, <a href="http://translate.google.com/translate_t?tl=en">English</a>, <a href="http://translate.google.com/translate_t?tl=tl">Filipino</a>, <a href="http://translate.google.com/translate_t?tl=fi">Finnish</a>, <a href="http://translate.google.com/translate_t?tl=fr">French</a>, <a href="http://translate.google.com/translate_t?tl=de">German</a>, <a href="http://translate.google.com/translate_t?tl=el">Greek</a>, <a href="http://translate.google.com/translate_t?tl=iw">Hebrew</a>, <a href="http://translate.google.com/translate_t?tl=hi">Hindi</a>, <a href="http://translate.google.com/translate_t?tl=id">Indonesian</a>, <a href="http://translate.google.com/translate_t?tl=it">Italian</a>, <a href="http://translate.google.com/translate_t?tl=ja">Japanese</a>, <a href="http://translate.google.com/translate_t?tl=ko">Korean</a>, <a href="http://translate.google.com/translate_t?tl=lv">Latvian</a>, <a href="http://translate.google.com/translate_t?tl=lt">Lithuanian</a>, <a href="http://translate.google.com/translate_t?tl=no">Norwegian</a>, <a href="http://translate.google.com/translate_t?tl=pl">Polish</a>, <a href="http://translate.google.com/translate_t?tl=pt">Portuguese</a>, <a href="http://translate.google.com/translate_t?tl=ro">Romanian</a>, <a href="http://translate.google.com/translate_t?tl=ru">Russian</a>, <a href="http://translate.google.com/translate_t?tl=sr">Serbian</a>, <a href="http://translate.google.com/translate_t?tl=sk">Slovak</a>, <a href="http://translate.google.com/translate_t?tl=sl">Slovenian</a>, <a href="http://translate.google.com/translate_t?tl=es">Spanish</a>, <a href="http://translate.google.com/translate_t?tl=sv">Swedish</a>, <a href="http://translate.google.com/translate_t?tl=uk">Ukrainian</a>, and <a href="http://translate.google.com/translate_t?tl=vi">Vietnamese</a>. <br /> <br /> <span class="byline-author">Written by Josh Estelle, Google Translate</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Helping you break the language barrier&url=https://webmasters.googleblog.com/2008/10/helping-you-break-language-barrier.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2008/10/helping-you-break-language-barrier.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2008/10/helping-you-break-language-barrier.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/products%20and%20services?hl=en' rel='tag'> products and services </a> </span> </div> </div> </div> <div class='post' data-id='3164189883249331947' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2008/08/how-to-start-multilingual-site.html?hl=en' itemprop='url' title='How to start a multilingual site'> How to start a multilingual site </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, August 07, 2008 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Have you ever thought of creating one or several sites in different languages? Let's say you want to start a travel site about backpacking in Europe, and you want to offer your content to English, German, and Spanish speakers. You'll want to keep in mind factors like site structure, geographic as well as language targeting, and content organization.<br /><b id="ecv6"><br />Site structure<br /></b> The first thing you'll want to consider is if it makes sense for you to buy country-specific top-level domains (TLD) for all the countries you plan to serve. So your domains might be ilovebackpacking.co.uk, ichlieberucksackreisen.de, and irdemochilero.es.es. This option is beneficial if you want to target the countries that each TLD is associated with, a method known as geo targeting. Note that this is different from language targeting, which we will get into a little more later. Let's say your German content is specifically for users from Germany and not as relevant for German-speaking users in Austria or Switzerland. In this case, you'd want to register a domain on the <i id="o75o">.de</i> TLD. German users will identify your site as a local one they are more likely to trust. On the other hand, it can be pretty expensive to buy domains on the country-specific TLDs, and it's more of a pain to update and maintain multiple domains. So if your time and resources are limited, consider buying one non-country-specific domain, which hosts all the different versions of your website. In this case, we recommend either of these two options:<br /><ol id="ldss"><li id="ldss0"> Put the content of every language in a different subdomain. For our example, you would have <i id="wiuf">en.example.com</i>, <i id="wiuf0">de.example.com</i>, and <i id="ccvx">es.example.com</i>. </li><li id="ldss1"> Put the content of every language in a different subdirectory. This is easier to handle when updating and maintaining your site. For our example, you would have <i id="yjea">example.com/en/</i>, <i id="yjea0">example.com/de/</i>, and <i id="yjea1">example.com/es/</i>. </li></ol> Matt Cutts wrote a substantial post on <a href="http://www.mattcutts.com/blog/subdomains-and-subdirectories/" id="k8ym" title="subdirectories and subdomains">subdirectories and subdomains</a>, which may help you decide which option to go with.<b id="pphq"><br /><br />Geographic targeting vs. Language targeting<br /></b>As mentioned above, if your content is especially targeted towards a particular region in the world, you can use the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=62399" id="v80d" title="Geographic Target tool in the Webmaster Tools">Set Geographic Target tool in Webmaster Tools</a>. It allows you to set different geographic targets for different subdirectories or subdomains (e.g., <i id="qljf0">/de/</i> for Germany).<br /><br />If you want to reach all speakers of a particular language around the world, you probably don't want to limit yourself to a specific geographic location. This is known as language targeting, and in this case, you don't want to use the geographic target tool.<br /><b id="g5jq"><br />Content organization<br /></b><b id="f:uu"> </b>The same content in different languages is not considered duplicate content. Just make sure you keep things organized. If you follow one of the site structure recommendations mentioned above, this should be pretty straightforward. Avoid mixing languages on each page, as this may confuse Googlebot as well as your users. Keep navigation and content in the same language on each page.<br /><br />If you want to check how many of your pages are recognized in a certain language, you can perform a language-specific site search. For example, if you go to <a title="google.de" href="http://google.de/" id="ci73">google.de</a> and do a site search on google.com, choose the option below the search box to only display German results.<br /><b id="if5c"> <div id="eo.2" style="padding: 1em 0pt; text-align: left;"> <div id="wjfh" style="padding: 1em 0pt; text-align: left;"> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL-cN1SVJ5d6IV_5SjOXX6ApX5BV93377G4zcL17bJ5ejTJbp9wF6mfh5lIGAoPLpp2aoW1c1ZRR5HHOedIe7lSasC2TghCpq3zOADOkhsxmUzXdTetTOG2piF17cP4W975U43/s400/de.gif"> </div> </div> </b>If you have more questions on this topic, you can join our <a href="http://groups.google.com/group/Google_Webmaster_Help/" id="jyf2" title="Webmaster Help Group">Webmaster Help Group</a> to get more advice.<br /><br /><span class="byline-author">Posted by Charlene Perez and Juliane Stiller, Search Quality Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> Have you ever thought of creating one or several sites in different languages? Let's say you want to start a travel site about backpacking in Europe, and you want to offer your content to English, German, and Spanish speakers. You'll want to keep in mind factors like site structure, geographic as well as language targeting, and content organization.<br /><b id="ecv6"><br />Site structure<br /></b> The first thing you'll want to consider is if it makes sense for you to buy country-specific top-level domains (TLD) for all the countries you plan to serve. So your domains might be ilovebackpacking.co.uk, ichlieberucksackreisen.de, and irdemochilero.es.es. This option is beneficial if you want to target the countries that each TLD is associated with, a method known as geo targeting. Note that this is different from language targeting, which we will get into a little more later. Let's say your German content is specifically for users from Germany and not as relevant for German-speaking users in Austria or Switzerland. In this case, you'd want to register a domain on the <i id="o75o">.de</i> TLD. German users will identify your site as a local one they are more likely to trust. On the other hand, it can be pretty expensive to buy domains on the country-specific TLDs, and it's more of a pain to update and maintain multiple domains. So if your time and resources are limited, consider buying one non-country-specific domain, which hosts all the different versions of your website. In this case, we recommend either of these two options:<br /><ol id="ldss"><li id="ldss0"> Put the content of every language in a different subdomain. For our example, you would have <i id="wiuf">en.example.com</i>, <i id="wiuf0">de.example.com</i>, and <i id="ccvx">es.example.com</i>. </li><li id="ldss1"> Put the content of every language in a different subdirectory. This is easier to handle when updating and maintaining your site. For our example, you would have <i id="yjea">example.com/en/</i>, <i id="yjea0">example.com/de/</i>, and <i id="yjea1">example.com/es/</i>. </li></ol> Matt Cutts wrote a substantial post on <a href="http://www.mattcutts.com/blog/subdomains-and-subdirectories/" id="k8ym" title="subdirectories and subdomains">subdirectories and subdomains</a>, which may help you decide which option to go with.<b id="pphq"><br /><br />Geographic targeting vs. Language targeting<br /></b>As mentioned above, if your content is especially targeted towards a particular region in the world, you can use the <a href="//www.google.com/support/webmasters/bin/answer.py?answer=62399" id="v80d" title="Geographic Target tool in the Webmaster Tools">Set Geographic Target tool in Webmaster Tools</a>. It allows you to set different geographic targets for different subdirectories or subdomains (e.g., <i id="qljf0">/de/</i> for Germany).<br /><br />If you want to reach all speakers of a particular language around the world, you probably don't want to limit yourself to a specific geographic location. This is known as language targeting, and in this case, you don't want to use the geographic target tool.<br /><b id="g5jq"><br />Content organization<br /></b><b id="f:uu"> </b>The same content in different languages is not considered duplicate content. Just make sure you keep things organized. If you follow one of the site structure recommendations mentioned above, this should be pretty straightforward. Avoid mixing languages on each page, as this may confuse Googlebot as well as your users. Keep navigation and content in the same language on each page.<br /><br />If you want to check how many of your pages are recognized in a certain language, you can perform a language-specific site search. For example, if you go to <a title="google.de" href="http://google.de/" id="ci73">google.de</a> and do a site search on google.com, choose the option below the search box to only display German results.<br /><b id="if5c"> <div id="eo.2" style="padding: 1em 0pt; text-align: left;"> <div id="wjfh" style="padding: 1em 0pt; text-align: left;"> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL-cN1SVJ5d6IV_5SjOXX6ApX5BV93377G4zcL17bJ5ejTJbp9wF6mfh5lIGAoPLpp2aoW1c1ZRR5HHOedIe7lSasC2TghCpq3zOADOkhsxmUzXdTetTOG2piF17cP4W975U43/s400/de.gif"> </div> </div> </b>If you have more questions on this topic, you can join our <a href="http://groups.google.com/group/Google_Webmaster_Help/" id="jyf2" title="Webmaster Help Group">Webmaster Help Group</a> to get more advice.<br /><br /><span class="byline-author">Posted by Charlene Perez and Juliane Stiller, Search Quality Team</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:How to start a multilingual site&url=https://webmasters.googleblog.com/2008/08/how-to-start-multilingual-site.html?hl=en&via=googlewmc'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://webmasters.googleblog.com/2008/08/how-to-start-multilingual-site.html?hl=en'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://webmasters.googleblog.com/2008/08/how-to-start-multilingual-site.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://webmasters.googleblog.com/search/label/localization?hl=en' rel='tag'> localization </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://webmasters.googleblog.com/?hl=en'> <i class='material-icons'>  </i> </a> <i class='material-icons disabled'>  </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://webmasters.googleblog.com/search/label/localization?updated-max=2008-08-07T09:50:00-07:00&max-results=20&start=16&by-date=false&hl=en' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'>  </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML9'> <div class='widget-content'> <a href="https://www.google.com/webmasters/tools/mobile-friendly/?utm_source=wmc-blog&utm_medium=referral&utm_campaign=blog-nav"><img src="https://lh3.googleusercontent.com/-osGJupx0-HY/VQta1nmaAPI/AAAAAAAACfs/UdMPzubsXFk/w80-h1368-no/blog%2Bpromo.png" align="left" width="80" /></a> Hey! <a href="https://search.google.com/test/mobile-friendly">Check here if your site is mobile-friendly.</a> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML10'> <div class='widget-content'> <div class='searchBox'> <input type='text' title='Search This Blog' placeholder='Search blog ...' /> </div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/accessibility?hl=en'> accessibility </a> <span dir='ltr'> 10 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/advanced?hl=en'> advanced </a> <span dir='ltr'> 195 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/AMP?hl=en'> AMP </a> <span dir='ltr'> 13 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Android?hl=en'> Android </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/API?hl=en'> API </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/apps?hl=en'> apps </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/autocomplete?hl=en'> autocomplete </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/beginner?hl=en'> beginner </a> <span dir='ltr'> 173 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/CAPTCHA?hl=en'> CAPTCHA </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Chrome?hl=en'> Chrome </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/cms?hl=en'> cms </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/crawling%20and%20indexing?hl=en'> crawling and indexing </a> <span dir='ltr'> 158 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/encryption?hl=en'> encryption </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/events?hl=en'> events </a> <span dir='ltr'> 51 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/feedback%20and%20communication?hl=en'> feedback and communication </a> <span dir='ltr'> 83 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/forums?hl=en'> forums </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/general%20tips?hl=en'> general tips </a> <span dir='ltr'> 90 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/geotargeting?hl=en'> geotargeting </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20Assistant?hl=en'> Google Assistant </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20I%2FO?hl=en'> Google I/O </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20Images?hl=en'> Google Images </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20News?hl=en'> Google News </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/hacked%20sites?hl=en'> hacked sites </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/hangout?hl=en'> hangout </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/hreflang?hl=en'> hreflang </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/https?hl=en'> https </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/images?hl=en'> images </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en'> intermediate </a> <span dir='ltr'> 205 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/interstitials?hl=en'> interstitials </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/javascript?hl=en'> javascript </a> <span dir='ltr'> 8 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/job%20search?hl=en'> job search </a> <span dir='ltr'> 2 </span> </li> <li> <span dir='ltr'> localization </span> <span dir='ltr'> 21 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/malware?hl=en'> malware </a> <span dir='ltr'> 6 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/mobile?hl=en'> mobile </a> <span dir='ltr'> 63 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/mobile-friendly?hl=en'> mobile-friendly </a> <span dir='ltr'> 14 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/nohacked?hl=en'> nohacked </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/performance?hl=en'> performance </a> <span dir='ltr'> 17 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/product%20expert?hl=en'> product expert </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/product%20experts?hl=en'> product experts </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/products%20and%20services?hl=en'> products and services </a> <span dir='ltr'> 63 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/questions?hl=en'> questions </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/ranking?hl=en'> ranking </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/recipes?hl=en'> recipes </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/rendering?hl=en'> rendering </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Responsive%20Web%20Design?hl=en'> Responsive Web Design </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/rich%20cards?hl=en'> rich cards </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/rich%20results?hl=en'> rich results </a> <span dir='ltr'> 10 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/search%20console?hl=en'> search console </a> <span dir='ltr'> 35 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/search%20for%20beginners?hl=en'> search for beginners </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/search%20queries?hl=en'> search queries </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/search%20results?hl=en'> search results </a> <span dir='ltr'> 140 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/security?hl=en'> security </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/seo?hl=en'> seo </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/sitemaps?hl=en'> sitemaps </a> <span dir='ltr'> 46 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/speed?hl=en'> speed </a> <span dir='ltr'> 6 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/structured%20data?hl=en'> structured data </a> <span dir='ltr'> 33 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/summit?hl=en'> summit </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/TLDs?hl=en'> TLDs </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/url%20removals?hl=en'> url removals </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/UX?hl=en'> UX </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/verification?hl=en'> verification </a> <span dir='ltr'> 8 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/video?hl=en'> video </a> <span dir='ltr'> 6 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/webmaster%20community?hl=en'> webmaster community </a> <span dir='ltr'> 24 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/webmaster%20forum?hl=en'> webmaster forum </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/webmaster%20guidelines?hl=en'> webmaster guidelines </a> <span dir='ltr'> 57 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/webmaster%20tools?hl=en'> webmaster tools </a> <span dir='ltr'> 177 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/webmasters?hl=en'> webmasters </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/youtube%20channel?hl=en'> youtube channel </a> <span dir='ltr'> 6 </span> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'>  </i> <h2> Archive </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/?hl=en'> 2020 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2020/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/?hl=en'> 2019 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/?hl=en'> 2018 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/?hl=en'> 2017 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/?hl=en'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/?hl=en'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/?hl=en'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/?hl=en'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/?hl=en'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/?hl=en'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/?hl=en'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/?hl=en'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/?hl=en'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/?hl=en'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/?hl=en'> 2006 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="https://googlewebmastercentral.blogspot.com/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Feed</h2> </a> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <div class='widget-content'> <div class='followgooglewrapper'> <script src="https://apis.google.com/js/plusone.js"></script></div> <div class="g-ytsubscribe class='followgooglewrapper'" data-channel="GoogleWebmasterHelp" data-layout="full"></div> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/intent/follow?original_referer=https://googlewebmastercentral.blogspot.com/&screen_name=googlewmc" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @googlewmc</span></button> <script> function sharingPopup (button) { var url = button.getAttribute("data-href"); window.open( url,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); } </script> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <div class='widget-content'> Give us feedback in our <a href="https://support.google.com/webmasters/go/community">Product Forums</a>. </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML8'> <h2 class='title'> Subscribe via email </h2> <div class='widget-content'> <form #nsubmit="window.open('https://www.feedburner.com/fb/a/emailverifySubmit?feedId=1092589', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" action="https://www.feedburner.com/fb/a/emailverify" style="border:1px solid #ccc;padding:3px;text-align:center;" target="popupwindow" method="post"><p>Enter your email address:</p><p><input style="width:140px" name="email" type="text"/></p><input value="https://feeds.feedburner.com/~e?ffid=1092589" name="url" type="hidden"/><input value="Official Google Webmaster Central Blog" name="title" type="hidden"/><input value="en_US" name="loc" type="hidden"/><input value="Subscribe" type="submit"/><p>Delivered by <a href="https://www.feedburner.com" target="_blank">FeedBurner</a></p></form> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/60983134-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY4YzuxoOxYZ4WT9-Tl_S6u720qceA:1739814990362';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d32069983','//webmasters.googleblog.com/search/label/localization?hl\x3den','32069983'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '32069983', 'title': 'Official Google Webmaster Central Blog', 'url': 'https://webmasters.googleblog.com/search/label/localization?hl\x3den', 'canonicalUrl': 'https://webmasters.googleblog.com/search/label/localization', 'homepageUrl': 'https://webmasters.googleblog.com/?hl\x3den', 'searchUrl': 'https://webmasters.googleblog.com/search', 'canonicalHomepageUrl': 'https://webmasters.googleblog.com/', 'blogspotFaviconUrl': 'https://webmasters.googleblog.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': true, 'enabledCommentProfileImages': false, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'UA-18009-4', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Webmaster Central Blog - Atom\x22 href\x3d\x22https://webmasters.googleblog.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Official Google Webmaster Central Blog - RSS\x22 href\x3d\x22https://webmasters.googleblog.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Webmaster Central Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/32069983/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/4b890f0df4aad4c4', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'searchLabel': 'localization', 'pageName': 'localization', 'pageTitle': 'Official Google Webmaster Central Blog: localization', 'metaDescription': 'Official news on crawling and indexing sites for the Google index'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Official Google Webmaster Central Blog', 'description': 'Official news on crawling and indexing sites for the Google index', 'url': 'https://webmasters.googleblog.com/search/label/localization?hl\x3den', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'localization', 'resultsMessage': 'Showing posts with the label localization', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3elocalization\x3c/span\x3e'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'navMessage': 'Showing posts with label \x3cb\x3elocalization\x3c/b\x3e. \x3ca href\x3d\x22https://webmasters.googleblog.com/\x22\x3eShow all posts\x3c/a\x3e'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML9', 'sidebar-top', document.getElementById('HTML9'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML10', 'sidebar-top', document.getElementById('HTML10'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-bottom', document.getElementById('HTML8'), {}, 'displayModeFull')); </script> </body> </html>