CINXE.COM

Official Google Webmaster Central Blog: February 2014

<!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: February 2014 </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/2014/02/' 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/2014/02/' 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/2014/02/' 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&amp;zx=22add307-8ae0-4cef-98df-8ba66e3c3292' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=32069983&amp;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='4561215729262967185' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2014/02/3tipstofindhacking.html?hl=en' itemprop='url' title='3 tips to find hacking on your site, and ways to prevent and fix it'> 3 tips to find hacking on your site, and ways to prevent and fix it </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, February 27, 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 /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7lOuvrwO7UFJ16Xlsn6dsFrt8UeuWFaNk6OBDykmCEXnaVcd4airj9X6bTKqa2467c2ebfV643bYjPxscJtTIdcZ1bxeZ1emMGCiVjv6ORveJWB0xFxy1loMQmCLIZhXVQGv/s1600/example-compromised-en.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7lOuvrwO7UFJ16Xlsn6dsFrt8UeuWFaNk6OBDykmCEXnaVcd4airj9X6bTKqa2467c2ebfV643bYjPxscJtTIdcZ1bxeZ1emMGCiVjv6ORveJWB0xFxy1loMQmCLIZhXVQGv/s1600/example-compromised-en.png" width="400" /></a></div> <br /> Google shows this message in search results for <a href="https://support.google.com/websearch/answer/190597" target="_blank">sites that we believe may have been compromised</a>.You might not think your site is a target for hackers, but it's surprisingly common. Hackers target large numbers of sites all over the web in order to exploit the sites' users or reputation.<br /> <br /> One common way hackers take advantage of vulnerable sites is by adding spammy pages. These spammy pages are then used for various purposes, such as redirecting users to undesired or harmful destinations. For example, we&#8217;ve recently seen an increase in hacked sites redirecting users to fake online shopping sites.<br /> <br /> Once you recognize that your website may have been hacked, it&#8217;s important to diagnose and fix the problem as soon as possible. We want webmasters to keep their sites secure in order to protect users from spammy or harmful content.<br /> <br /> <h4 style="text-align: left;"> 3 tips to help you find hacked content on your site</h4> <ol style="text-align: left;" style="font-weight: bold;"> <li><b><i>Check your site for suspicious URLs or directories</i></b><br />Keep an eye out for any suspicious activity on your site by performing a <a href="https://support.google.com/webmasters/answer/35256" target="_blank">&#8220;site:&#8221; search</a> of your site in Google, such as [site:example.com]. Are there any suspicious URLs or directories that you do not recognize?<br /><br />You can also set up a <a href="//www.google.com/alerts" target="_blank">Google Alert</a> for your site. For example, if you set a Google Alert for [site:example.com (viagra|cialis|casino|payday loans)], you&#8217;ll receive an email when these keywords are detected on your site.<br /><br /></li> <li><b><i>Look for unnatural queries on the Search Queries page in Webmaster Tools</i></b><br />The <a href="https://support.google.com/webmasters/answer/35252" target="_blank">Search Queries</a> page shows Google Web Search queries that have returned URLs from your site. Look for unexpected queries as it can be an indication of hacked content on your site.<br /><br />Don&#8217;t be quick to dismiss queries in different languages. This may be the result of spammy pages in other languages placed on your website.<br /><br /> <br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM-td34xVgHJ2iF071HMkFSh19uWY7Ep0xfa8bXrDrQyRg2RWwOOyBrh5xfm4veOJoCS1kpN9OrKenJCuXo53sT84lb-91otX_RwWGydSzDQG4Mum2U7rMP3SBlKUwW2DEoQm1/s1600/hackedsearchquery.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM-td34xVgHJ2iF071HMkFSh19uWY7Ep0xfa8bXrDrQyRg2RWwOOyBrh5xfm4veOJoCS1kpN9OrKenJCuXo53sT84lb-91otX_RwWGydSzDQG4Mum2U7rMP3SBlKUwW2DEoQm1/s320/hackedsearchquery.png" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">Example of an English site hacked with Japanese content.</td></tr> </tbody></table> </li> <li><i><b>Enable email forwarding in Webmaster Tools</b></i><br />Google will send you a message if we detect that your site may be compromised. Messages appear in Webmaster Tools&#8217; Message Center but it's a best practice to also <a href="https://support.google.com/webmasters/answer/140528" target="_blank">forward these messages to your email</a>. Keep in mind that Google won&#8217;t be able to detect all kinds of hacked content, but we hope our notifications will help you catch things you may have missed.</li> </ol> <br /> <h4 style="text-align: left;"> Tips to fix and prevent hacking</h4> <div style="text-align: left;"> </div> <ul style="text-align: left;"> <li><b><i>Stay informed</i></b><br />The <a href="http://googlewebmastercentral.blogspot.com/2013/10/easier-recovery-for-hacked-sites.html" target="_blank">Security Issues</a> section in Webmaster Tools will show you hacked pages that we detected on your site. We also provide <a href="//www.google.com/webmasters/hacked/" target="_blank">detailed information to help you fix your hacked site</a>. Make sure to read through this documentation so you can quickly and effectively fix your site.</li> <br /> <li><b><i>Protect your site from potential attacks</i></b><br />It's better to prevent sites from being hacked than to clean up hacked content. Hackers will often take advantage of security vulnerabilities on commonly used website management software. Here are some tips to keep your site safe from hackers:</li> <br /> <ul> <li>Always keep the software that runs your website up-to-date.</li> <li>If your website management software tools offer security announcements, sign up to get the latest updates.</li> <li>If the software for your website is managed by your hosting provider, try to choose a provider that you can trust to maintain the security of your site.</li> </ul> </ul> <br /> We hope this post makes it easier for you to identify, fix, and prevent hacked spam on your site. If you have any questions, feel free to post in the comments, or drop by the <a href="https://productforums.google.com/forum/#!categories/webmasters/malware--hacked-sites" target="_blank">Google Webmaster Help Forum</a>.<br /> <br /> If you find suspicious sites in Google search results, please report them using <a href="https://www.google.com/webmasters/tools/spamreport" target="_blank">the Spam Report tool</a>.<br /> <br /> <span class="byline-author">Posted by Megumi Hitomi, Japanese Search Quality Team</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 /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7lOuvrwO7UFJ16Xlsn6dsFrt8UeuWFaNk6OBDykmCEXnaVcd4airj9X6bTKqa2467c2ebfV643bYjPxscJtTIdcZ1bxeZ1emMGCiVjv6ORveJWB0xFxy1loMQmCLIZhXVQGv/s1600/example-compromised-en.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv7lOuvrwO7UFJ16Xlsn6dsFrt8UeuWFaNk6OBDykmCEXnaVcd4airj9X6bTKqa2467c2ebfV643bYjPxscJtTIdcZ1bxeZ1emMGCiVjv6ORveJWB0xFxy1loMQmCLIZhXVQGv/s1600/example-compromised-en.png" width="400" /></a></div> <br /> Google shows this message in search results for <a href="https://support.google.com/websearch/answer/190597" target="_blank">sites that we believe may have been compromised</a>.You might not think your site is a target for hackers, but it's surprisingly common. Hackers target large numbers of sites all over the web in order to exploit the sites' users or reputation.<br /> <br /> One common way hackers take advantage of vulnerable sites is by adding spammy pages. These spammy pages are then used for various purposes, such as redirecting users to undesired or harmful destinations. For example, we&#8217;ve recently seen an increase in hacked sites redirecting users to fake online shopping sites.<br /> <br /> Once you recognize that your website may have been hacked, it&#8217;s important to diagnose and fix the problem as soon as possible. We want webmasters to keep their sites secure in order to protect users from spammy or harmful content.<br /> <br /> <h4 style="text-align: left;"> 3 tips to help you find hacked content on your site</h4> <ol style="text-align: left;" style="font-weight: bold;"> <li><b><i>Check your site for suspicious URLs or directories</i></b><br />Keep an eye out for any suspicious activity on your site by performing a <a href="https://support.google.com/webmasters/answer/35256" target="_blank">&#8220;site:&#8221; search</a> of your site in Google, such as [site:example.com]. Are there any suspicious URLs or directories that you do not recognize?<br /><br />You can also set up a <a href="//www.google.com/alerts" target="_blank">Google Alert</a> for your site. For example, if you set a Google Alert for [site:example.com (viagra|cialis|casino|payday loans)], you&#8217;ll receive an email when these keywords are detected on your site.<br /><br /></li> <li><b><i>Look for unnatural queries on the Search Queries page in Webmaster Tools</i></b><br />The <a href="https://support.google.com/webmasters/answer/35252" target="_blank">Search Queries</a> page shows Google Web Search queries that have returned URLs from your site. Look for unexpected queries as it can be an indication of hacked content on your site.<br /><br />Don&#8217;t be quick to dismiss queries in different languages. This may be the result of spammy pages in other languages placed on your website.<br /><br /> <br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM-td34xVgHJ2iF071HMkFSh19uWY7Ep0xfa8bXrDrQyRg2RWwOOyBrh5xfm4veOJoCS1kpN9OrKenJCuXo53sT84lb-91otX_RwWGydSzDQG4Mum2U7rMP3SBlKUwW2DEoQm1/s1600/hackedsearchquery.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM-td34xVgHJ2iF071HMkFSh19uWY7Ep0xfa8bXrDrQyRg2RWwOOyBrh5xfm4veOJoCS1kpN9OrKenJCuXo53sT84lb-91otX_RwWGydSzDQG4Mum2U7rMP3SBlKUwW2DEoQm1/s320/hackedsearchquery.png" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">Example of an English site hacked with Japanese content.</td></tr> </tbody></table> </li> <li><i><b>Enable email forwarding in Webmaster Tools</b></i><br />Google will send you a message if we detect that your site may be compromised. Messages appear in Webmaster Tools&#8217; Message Center but it's a best practice to also <a href="https://support.google.com/webmasters/answer/140528" target="_blank">forward these messages to your email</a>. Keep in mind that Google won&#8217;t be able to detect all kinds of hacked content, but we hope our notifications will help you catch things you may have missed.</li> </ol> <br /> <h4 style="text-align: left;"> Tips to fix and prevent hacking</h4> <div style="text-align: left;"> </div> <ul style="text-align: left;"> <li><b><i>Stay informed</i></b><br />The <a href="http://googlewebmastercentral.blogspot.com/2013/10/easier-recovery-for-hacked-sites.html" target="_blank">Security Issues</a> section in Webmaster Tools will show you hacked pages that we detected on your site. We also provide <a href="//www.google.com/webmasters/hacked/" target="_blank">detailed information to help you fix your hacked site</a>. Make sure to read through this documentation so you can quickly and effectively fix your site.</li> <br /> <li><b><i>Protect your site from potential attacks</i></b><br />It's better to prevent sites from being hacked than to clean up hacked content. Hackers will often take advantage of security vulnerabilities on commonly used website management software. Here are some tips to keep your site safe from hackers:</li> <br /> <ul> <li>Always keep the software that runs your website up-to-date.</li> <li>If your website management software tools offer security announcements, sign up to get the latest updates.</li> <li>If the software for your website is managed by your hosting provider, try to choose a provider that you can trust to maintain the security of your site.</li> </ul> </ul> <br /> We hope this post makes it easier for you to identify, fix, and prevent hacked spam on your site. If you have any questions, feel free to post in the comments, or drop by the <a href="https://productforums.google.com/forum/#!categories/webmasters/malware--hacked-sites" target="_blank">Google Webmaster Help Forum</a>.<br /> <br /> If you find suspicious sites in Google search results, please report them using <a href="https://www.google.com/webmasters/tools/spamreport" target="_blank">the Spam Report tool</a>.<br /> <br /> <span class="byline-author">Posted by Megumi Hitomi, Japanese Search Quality Team</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:3 tips to find hacking on your site, and ways to prevent and fix it&url=https://webmasters.googleblog.com/2014/02/3tipstofindhacking.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/02/3tipstofindhacking.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/02/3tipstofindhacking.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/beginner?hl=en' rel='tag'> beginner </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/hacked%20sites?hl=en' rel='tag'> hacked sites </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en' rel='tag'> intermediate </a> </span> </div> </div> </div> <div class='post' data-id='3905409442946567916' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2014/02/infinite-scroll-search-friendly.html?hl=en' itemprop='url' title='Infinite scroll search-friendly recommendations'> Infinite scroll search-friendly recommendations </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, February 13, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> Webmaster Level: Advanced <br> <br> Your site&#8217;s news feed or pinboard might use <a href="http://www.infinite-scroll.com/">infinite scroll</a>&#8212;much to your users&#8217; delight! When it comes to delighting Googlebot, however, that can be another story. With infinite scroll, crawlers cannot always emulate manual user behavior--like scrolling or clicking a button to load more items--so they don't always access all individual items in the feed or gallery. If crawlers can&#8217;t access your content, it&#8217;s unlikely to surface in search results. <br> <br> To make sure that search engines can crawl individual items linked from an infinite scroll page, make sure that you or your content management system produces a paginated series (component pages) to go along with your infinite scroll. <br> <br> <div style="text-align:center"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxv22hPDeKPgyhhhzXVMddplJcLP5hX9gys0TKEQJxlZExNDEwcOYBC4iUeR9_ewwWLXzUu_xyFS3UyfvMDOGbvcxmOJ7PaY4Z6EaYEYxZ26KANtsEgCM6kbWfQMr1m5cwFtcD/s1600/http_2.bp.blogspot.com_-WY4bwmCkw6w_Uvzas5kMviI_AAAAAAAAA1g_MiQvyj7U78E_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B6.45.34%252BAM.png" imageanchor="1" ><img border="0" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxv22hPDeKPgyhhhzXVMddplJcLP5hX9gys0TKEQJxlZExNDEwcOYBC4iUeR9_ewwWLXzUu_xyFS3UyfvMDOGbvcxmOJ7PaY4Z6EaYEYxZ26KANtsEgCM6kbWfQMr1m5cwFtcD/s400/http_2.bp.blogspot.com_-WY4bwmCkw6w_Uvzas5kMviI_AAAAAAAAA1g_MiQvyj7U78E_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B6.45.34%252BAM.png" width="400" /></a> <br><i> Infinite scroll page is made &#8220;search-friendly&#8221; when converted to a paginated series -- each component page has a similar &lt;title&gt; declared in the &lt;head&gt;.</i></div> <br> You can see this type of behavior in action in the <a href="http://scrollsample.appspot.com/items">infinite scroll with pagination demo</a> created by Webmaster Trends Analyst, <a href="https://plus.google.com/u/0/+JohnMueller/posts">John Mueller</a>. The demo illustrates some key search-engine friendly points:<ul><li>Coverage: All individual items are accessible. With traditional infinite scroll, individual items displayed after the initial page load aren&#8217;t discoverable to crawlers.</li><li>No overlap: Each item is listed only once in the paginated series (i.e., no duplication of items).</li></ul> <strong>Search-friendly recommendations for infinite scroll</strong><ol><li>Before you start:<ul><li>Chunk your infinite-scroll page content into component pages that can be accessed when JavaScript is disabled.</li><li>Determine how much content to include on each page.<ul><li>Be sure that if a searcher came directly to this page, they could easily find the exact item they wanted (e.g., without lots of scrolling before locating the desired content).</li><li>Maintain reasonable page load time.</li></ul></li><li>Divide content so that there&#8217;s no overlap between component pages in the series (with the exception of buffering).</li></ul></li> <br> <div style="text-align:center"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUFlSN6kz7riZ9aEP3kYc5mzKupa2TH3I8fdv-H7IaaGbejxGu7D2F_8I8fFOL2iGgk7O5U_e4AU-2QKZzWaWI6J_fZO70MjvGYpI6k7dghd6xHYV7PAWnoJmYq86gEjl_vSR6/s1600/http_1.bp.blogspot.com_-bj7Db41P9_I_UvyeGuX7jdI_AAAAAAAAA1Q_1cEWSvKAUfA_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B2.26.51%252BAM.png" imageanchor="1" ><img border="0" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUFlSN6kz7riZ9aEP3kYc5mzKupa2TH3I8fdv-H7IaaGbejxGu7D2F_8I8fFOL2iGgk7O5U_e4AU-2QKZzWaWI6J_fZO70MjvGYpI6k7dghd6xHYV7PAWnoJmYq86gEjl_vSR6/s400/http_1.bp.blogspot.com_-bj7Db41P9_I_UvyeGuX7jdI_AAAAAAAAA1Q_1cEWSvKAUfA_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B2.26.51%252BAM.png" width="400" /></a> <br><i>The example on the left is search-friendly, the right example isn&#8217;t -- the right example would cause crawling and indexing of duplicative content.</i></div> <br> <li>Structure URLs for infinite scroll search engine processing. <ul><li>Each component page contains a full URL. We recommend full URLs in this situation to minimize potential for configuration error.<ul><li>Good: <code>example.com/category?name=fun-items&page=1</code></li><li>Good: <code>example.com/fun-items?lastid=567</code></li><li>Less optimal: <code>example.com/fun-items#1</code></li><li>Test that each component page (the URL) works to take anyone directly to the content and is accessible/referenceable in a browser without the same cookie or user history.</li></ul></li><li>Any key/value URL parameters should follow these recommendations:<ul><li>Be sure the URL shows conceptually the same content two weeks from now.<ul> <li>Avoid relative-time based URL parameters: <br><code>example.com/category/page.php?name=fun-items&<span style="font-weight:bold; color:#FF0040">days-ago=3</span></code></li></ul> <li>Create parameters that can surface valuable content to searchers.<br> <ul><li>Avoid non-searcher valuable parameters as the primary method to access content: <br><code>example.com/fun-places?<span style="font-weight:bold; color:#FF0040">radius=5&lat=40.71&long=-73.40</span></code></li></ul></li></ul></ul></li> <br> <li>Implement <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history">replaceState/pushState</a> on the infinite scroll page. (The decision to use one or both is up to you and your site&#8217;s user behavior). That said, we recommend including pushState (by itself, or in conjunction with replaceState) for the following:<ul><li>Any user action that resembles a click or actively turning a page.</li> <li>To provide users with the ability to serially backup through the most recently paginated content.</li></ul></li> <br> <li>Test!<ul><li>Check that page values adjust as the user scrolls up or down. John Mueller&#8217;s <a href="http://scrollsample.appspot.com/items">infinite-scroll-with-pagination site</a> demonstrates the scrolling up/down behavior.</li> <li>Verify that pages that are out-of-bounds in the series return a 404 response (i.e., <code>example.com/category?name=fun-items&page=999</code> should return a 404 response if there are only 998 pages of content).</li> <li>Investigate potential <a href="http://www.nngroup.com/articles/infinite-scrolling/">usability implications introduced by your infinite scroll implementation</a>.</li> </ul> </li> </ol> <span class="byline-author">Written, reviewed, or coded by <a href="https://plus.google.com/+JohnMueller?rel=author">John Mueller</a>, <a href="https://plus.google.com/+MaileOhye?rel=author">Maile Ohye</a>, and <a href="https://plus.google.com/112272126277656534067?rel=author">Joachim Kupke</a></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> <br> Your site&#8217;s news feed or pinboard might use <a href="http://www.infinite-scroll.com/">infinite scroll</a>&#8212;much to your users&#8217; delight! When it comes to delighting Googlebot, however, that can be another story. With infinite scroll, crawlers cannot always emulate manual user behavior--like scrolling or clicking a button to load more items--so they don't always access all individual items in the feed or gallery. If crawlers can&#8217;t access your content, it&#8217;s unlikely to surface in search results. <br> <br> To make sure that search engines can crawl individual items linked from an infinite scroll page, make sure that you or your content management system produces a paginated series (component pages) to go along with your infinite scroll. <br> <br> <div style="text-align:center"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxv22hPDeKPgyhhhzXVMddplJcLP5hX9gys0TKEQJxlZExNDEwcOYBC4iUeR9_ewwWLXzUu_xyFS3UyfvMDOGbvcxmOJ7PaY4Z6EaYEYxZ26KANtsEgCM6kbWfQMr1m5cwFtcD/s1600/http_2.bp.blogspot.com_-WY4bwmCkw6w_Uvzas5kMviI_AAAAAAAAA1g_MiQvyj7U78E_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B6.45.34%252BAM.png" imageanchor="1" ><img border="0" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxv22hPDeKPgyhhhzXVMddplJcLP5hX9gys0TKEQJxlZExNDEwcOYBC4iUeR9_ewwWLXzUu_xyFS3UyfvMDOGbvcxmOJ7PaY4Z6EaYEYxZ26KANtsEgCM6kbWfQMr1m5cwFtcD/s400/http_2.bp.blogspot.com_-WY4bwmCkw6w_Uvzas5kMviI_AAAAAAAAA1g_MiQvyj7U78E_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B6.45.34%252BAM.png" width="400" /></a> <br><i> Infinite scroll page is made &#8220;search-friendly&#8221; when converted to a paginated series -- each component page has a similar &lt;title&gt; declared in the &lt;head&gt;.</i></div> <br> You can see this type of behavior in action in the <a href="http://scrollsample.appspot.com/items">infinite scroll with pagination demo</a> created by Webmaster Trends Analyst, <a href="https://plus.google.com/u/0/+JohnMueller/posts">John Mueller</a>. The demo illustrates some key search-engine friendly points:<ul><li>Coverage: All individual items are accessible. With traditional infinite scroll, individual items displayed after the initial page load aren&#8217;t discoverable to crawlers.</li><li>No overlap: Each item is listed only once in the paginated series (i.e., no duplication of items).</li></ul> <strong>Search-friendly recommendations for infinite scroll</strong><ol><li>Before you start:<ul><li>Chunk your infinite-scroll page content into component pages that can be accessed when JavaScript is disabled.</li><li>Determine how much content to include on each page.<ul><li>Be sure that if a searcher came directly to this page, they could easily find the exact item they wanted (e.g., without lots of scrolling before locating the desired content).</li><li>Maintain reasonable page load time.</li></ul></li><li>Divide content so that there&#8217;s no overlap between component pages in the series (with the exception of buffering).</li></ul></li> <br> <div style="text-align:center"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUFlSN6kz7riZ9aEP3kYc5mzKupa2TH3I8fdv-H7IaaGbejxGu7D2F_8I8fFOL2iGgk7O5U_e4AU-2QKZzWaWI6J_fZO70MjvGYpI6k7dghd6xHYV7PAWnoJmYq86gEjl_vSR6/s1600/http_1.bp.blogspot.com_-bj7Db41P9_I_UvyeGuX7jdI_AAAAAAAAA1Q_1cEWSvKAUfA_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B2.26.51%252BAM.png" imageanchor="1" ><img border="0" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUFlSN6kz7riZ9aEP3kYc5mzKupa2TH3I8fdv-H7IaaGbejxGu7D2F_8I8fFOL2iGgk7O5U_e4AU-2QKZzWaWI6J_fZO70MjvGYpI6k7dghd6xHYV7PAWnoJmYq86gEjl_vSR6/s400/http_1.bp.blogspot.com_-bj7Db41P9_I_UvyeGuX7jdI_AAAAAAAAA1Q_1cEWSvKAUfA_s1600_Screen%252BShot%252B2014-02-13%252Bat%252B2.26.51%252BAM.png" width="400" /></a> <br><i>The example on the left is search-friendly, the right example isn&#8217;t -- the right example would cause crawling and indexing of duplicative content.</i></div> <br> <li>Structure URLs for infinite scroll search engine processing. <ul><li>Each component page contains a full URL. We recommend full URLs in this situation to minimize potential for configuration error.<ul><li>Good: <code>example.com/category?name=fun-items&page=1</code></li><li>Good: <code>example.com/fun-items?lastid=567</code></li><li>Less optimal: <code>example.com/fun-items#1</code></li><li>Test that each component page (the URL) works to take anyone directly to the content and is accessible/referenceable in a browser without the same cookie or user history.</li></ul></li><li>Any key/value URL parameters should follow these recommendations:<ul><li>Be sure the URL shows conceptually the same content two weeks from now.<ul> <li>Avoid relative-time based URL parameters: <br><code>example.com/category/page.php?name=fun-items&<span style="font-weight:bold; color:#FF0040">days-ago=3</span></code></li></ul> <li>Create parameters that can surface valuable content to searchers.<br> <ul><li>Avoid non-searcher valuable parameters as the primary method to access content: <br><code>example.com/fun-places?<span style="font-weight:bold; color:#FF0040">radius=5&lat=40.71&long=-73.40</span></code></li></ul></li></ul></ul></li> <br> <li>Implement <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history">replaceState/pushState</a> on the infinite scroll page. (The decision to use one or both is up to you and your site&#8217;s user behavior). That said, we recommend including pushState (by itself, or in conjunction with replaceState) for the following:<ul><li>Any user action that resembles a click or actively turning a page.</li> <li>To provide users with the ability to serially backup through the most recently paginated content.</li></ul></li> <br> <li>Test!<ul><li>Check that page values adjust as the user scrolls up or down. John Mueller&#8217;s <a href="http://scrollsample.appspot.com/items">infinite-scroll-with-pagination site</a> demonstrates the scrolling up/down behavior.</li> <li>Verify that pages that are out-of-bounds in the series return a 404 response (i.e., <code>example.com/category?name=fun-items&page=999</code> should return a 404 response if there are only 998 pages of content).</li> <li>Investigate potential <a href="http://www.nngroup.com/articles/infinite-scrolling/">usability implications introduced by your infinite scroll implementation</a>.</li> </ul> </li> </ol> <span class="byline-author">Written, reviewed, or coded by <a href="https://plus.google.com/+JohnMueller?rel=author">John Mueller</a>, <a href="https://plus.google.com/+MaileOhye?rel=author">Maile Ohye</a>, and <a href="https://plus.google.com/112272126277656534067?rel=author">Joachim Kupke</a></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:Infinite scroll search-friendly recommendations&url=https://webmasters.googleblog.com/2014/02/infinite-scroll-search-friendly.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/02/infinite-scroll-search-friendly.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/02/infinite-scroll-search-friendly.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> </span> </div> </div> </div> <div class='post' data-id='1240214144637781020' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2014/02/faceted-navigation-best-and-5-of-worst.html?hl=en' itemprop='url' title='Faceted navigation best (and 5 of the worst) practices'> Faceted navigation best (and 5 of the worst) practices </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, February 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"> Webmaster Level: Advanced<br /> Faceted navigation, such as filtering by color or price range, can be helpful for your visitors, but it&#8217;s often not search-friendly since it creates many combinations of URLs with <a href="https://support.google.com/webmasters/answer/66359">duplicative content</a>. With duplicative URLs, search engines may not crawl new or updated unique content as quickly, and/or they may not index a page accurately because indexing signals are diluted between the duplicate versions. To reduce these issues and help faceted navigation sites become as search-friendly as possible, we&#8217;d like to: <br /> <ul> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#background">Provide background and potential issues with faceted navigation</a></li> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#worst-practices">Highlight worst practices</a></li> <li>Share best practices<ul> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#new-sites">New faceted navigation implementations or redesigns</a></li> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#existing-sites">Existing faceted navigation implementations</a></li> </ul> </li> </ul> <br /> <br /> <div> <a href="https://3.bp.blogspot.com/-0rFqfEsodFo/WMKUSSzPsVI/AAAAAAAAgvM/mtzgbkVfc6QnlbbmGaZolgVSEeIUuPgrQCLcB/s1600/http_2.bp.blogspot.com_-wMNUS_SFP-c_UvpKkNugQFI_AAAAAAAAAxM_wJ_XEK26YY4_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.06.14%252BAM.png" imageanchor="1"><img border="0" height="253" src="https://3.bp.blogspot.com/-0rFqfEsodFo/WMKUSSzPsVI/AAAAAAAAgvM/mtzgbkVfc6QnlbbmGaZolgVSEeIUuPgrQCLcB/s400/http_2.bp.blogspot.com_-wMNUS_SFP-c_UvpKkNugQFI_AAAAAAAAAxM_wJ_XEK26YY4_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.06.14%252BAM.png" width="400" /></a> <br /> <i>Selecting filters with faceted navigation can cause many URL combinations, such as <code>http://www.example.com/category.php?category=gummy-candies&amp;price=5-10&amp;price=over-10</code></i></div> <h4> <a href="https://www.blogger.com/null" id="background">Background</a></h4> <blockquote> In an ideal state, unique content -- whether an individual product/article or a category of products/articles -- &nbsp;would have only one accessible URL. This URL would have a clear click path, or route to the content from within the site, accessible by clicking from the homepage or a category page. <br /> <b>Ideal for searchers and Google Search</b><br /> <ul> <li>Clear path that reaches all individual product/article pages<br /><br /> <div style="text-align: center;"> <a href="https://3.bp.blogspot.com/-kmYduLRPyCA/WMKmufKl3OI/AAAAAAAAgvc/ZwNaOgwdGDETzmYO5MSbIJaUe5K6RzMaACLcB/s1600/http_1.bp.blogspot.com_-AZEuh10fZfk_UvpRq6KA3mI_AAAAAAAAAxc_3-FQWFvC1vg_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.36.22%252BAM.png" imageanchor="1"><img border="0" height="229" src="https://3.bp.blogspot.com/-kmYduLRPyCA/WMKmufKl3OI/AAAAAAAAgvc/ZwNaOgwdGDETzmYO5MSbIJaUe5K6RzMaACLcB/s400/http_1.bp.blogspot.com_-AZEuh10fZfk_UvpRq6KA3mI_AAAAAAAAAxc_3-FQWFvC1vg_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.36.22%252BAM.png" width="400" /></a> <br /> <i>On the left is potential user navigation on the site (i.e., the click path), on the right are the pages accessed.</i></div> <br /> </li> <li>One representative URL for category page<br /> <code><span style="color: #298a08;">http://www.example.com/category.php?category=gummy-candies</span></code><br /> <br /> <div style="text-align: center;"> <a href="https://4.bp.blogspot.com/-GGDSezKjLsA/WMKne4VrM4I/AAAAAAAAgvg/Twathxzjxc0n7rxd7YFzFMURhhqr3oZiQCLcB/s1600/http_2.bp.blogspot.com_-5t9pgdMSdbU_UvpTiMOmz8I_AAAAAAAAAxo_3BtVorU7PoY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.44.20%252BAM.png" imageanchor="1"><img border="0" height="305" src="https://4.bp.blogspot.com/-GGDSezKjLsA/WMKne4VrM4I/AAAAAAAAgvg/Twathxzjxc0n7rxd7YFzFMURhhqr3oZiQCLcB/s400/http_2.bp.blogspot.com_-5t9pgdMSdbU_UvpTiMOmz8I_AAAAAAAAAxo_3BtVorU7PoY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.44.20%252BAM.png" width="400" /></a> <br /> <i>Category page for gummy candies</i></div> <br /> </li> <li>One representative URL for individual product page<br /> <code><span style="color: #298a08;">http://www.example.com/product.php?item=swedish-fish</span></code><br /> <div style="text-align: center;"> <br /> <i>Product page for swedish fish</i></div> </li> </ul> <b>Undesirable duplication caused with faceted navigation</b><br /> <ul> <li>Numerous URLs for the same article/product<br /> <br /><div style="text-align: center;"> <table><colgroup><col width="50%"></col><col width="50%"></col></colgroup><tbody> <tr><td><b>Canonical</b></td><td><b>Duplicate</b></td></tr> <tr><td><code>example.com/product.php? <span style="color: #ff8000;">item=swedish-fish</span></code></td> <td><code>example.com/product.php? <span style="color: #ff8000;">item=swedish-fish&amp;category=gummy-candies&amp;price=5-10</span></code></td></tr> <tr><td><a href="https://4.bp.blogspot.com/-QIZo9JrwlEE/WMKpVby4_CI/AAAAAAAAgvw/2yaMzPSwL9IohoBA2ttWXv8fx_ybySkNwCLcB/s1600/http_3.bp.blogspot.com_-1mPTxa6EBG0_UvqXNfl-g4I_AAAAAAAAAyg_XTnfuV3A7CY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B1.32.51%252BPM.png" imageanchor="1"><img border="0" height="295" src="https://4.bp.blogspot.com/-QIZo9JrwlEE/WMKpVby4_CI/AAAAAAAAgvw/2yaMzPSwL9IohoBA2ttWXv8fx_ybySkNwCLcB/s400/http_3.bp.blogspot.com_-1mPTxa6EBG0_UvqXNfl-g4I_AAAAAAAAAyg_XTnfuV3A7CY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B1.32.51%252BPM.png" width="400" /></a> </td><td></td></tr> </tbody></table> <i>Same product page for swedish fish can be available on multiple URLs.</i> </div> <br /> </li> <li>Numerous category pages that provide little or no value to searchers and search engines) <br /> <br /> <div style="text-align: center;"> <table><colgroup><col width="10%"></col><col width="45%"></col><col width="45%"></col></colgroup> <tbody> <tr><td valign="top"><b>URL</b></td> <td><code>example.com/category.php? <span style="color: #ff8000;">category=gummy-candies&amp;taste=sour&amp;price=5-10</span></code></td> <td><code>example.com/category.php? <span style="color: #ff8000;">category=gummy-candies&amp;taste=sour&amp;price=over-10</span></code></td> </tr> <tr><td valign="top"></td> <td><a href="https://4.bp.blogspot.com/-0__f9QY46cw/WMKqR_uSW0I/AAAAAAAAgv4/8JGDSzn_MiQzKQgGU1JxOOJZRXBevNBWgCLcB/s1600/http_2.bp.blogspot.com_--kyIjx1vZoo_Uvq5cSfjKkI_AAAAAAAAAzE_cb_QennUxwo_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B3.58.50%252BPM.png" imageanchor="1"><img border="0" height="291" src="https://4.bp.blogspot.com/-0__f9QY46cw/WMKqR_uSW0I/AAAAAAAAgv4/8JGDSzn_MiQzKQgGU1JxOOJZRXBevNBWgCLcB/s400/http_2.bp.blogspot.com_--kyIjx1vZoo_Uvq5cSfjKkI_AAAAAAAAAzE_cb_QennUxwo_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B3.58.50%252BPM.png" width="400" /></a> </td><td></td></tr> <tr><td valign="top"><b>Issues</b></td> <td align="left"><ul> <li>No added value to Google searchers given users rarely search for [sour gummy candy price five to ten dollars]. </li> <li>No added value for search engine crawlers that discover same item ("fruit salad") from parent category pages (either &#8220;gummy candies&#8221; or &#8220;sour gummy candies&#8221;).</li> <li>Negative value to site owner who may have indexing signals diluted between numerous versions of the same category.</li> <li>Negative value to site owner with respect to serving bandwidth and losing crawler capacity to duplicative content rather than new or updated pages.</li> </ul> </td> <td align="left"><ul align="top"> <li>No value for search engines (should have <a href="https://support.google.com/webmasters/answer/40132">404 response code</a>).</li> <li>Negative value to searchers.</li> </ul> </td></tr> </tbody></table> </div> </li> </ul> </blockquote> <h4 id="worst-practices"> Worst (search un-friendly) practices for faceted navigation</h4> <blockquote> <b><i>Worst practice #1: Non-standard URL encoding for parameters, like commas or brackets, instead of &#8220;key=value&amp;&#8221; pairs. </i></b> <br /> <blockquote> Worst practices:<br /> <ul> <li><code>example.com/category?<span style="color: #ff0040; font-weight: bold;">[</span>category:gummy-candy<span style="color: #ff0040; font-weight: bold;">][</span>sort:price-low-to-high<span style="color: #ff0040; font-weight: bold;">][</span>sid:789<span style="color: #ff0040; font-weight: bold;">]</span></code></li> <ul> <li>key=value pairs marked with : rather than = </li> <li>multiple parameters appended with [ ] rather than &amp;</li> </ul> <li><code>example.com/category?category<span style="color: #ff0040; font-weight: bold;">,</span>gummy-candy<span style="color: #ff0040; font-weight: bold;">,,</span>sort<span style="color: #ff0040; font-weight: bold;">,</span>lowtohigh<span style="color: #ff0040; font-weight: bold;">,,</span>sid<span style="color: #ff0040; font-weight: bold;">,</span>789</code></li> <ul> <li>key=value pairs marked with a , rather than =</li> <li>multiple parameters appended with ,, rather than &amp;</li> </ul> </ul> Best practice:<br /> <blockquote> <code>example.com/category?<span style="color: #298a08; font-weight: bold;">category=gummy-candy&amp;sort=low-to-high&amp;sid=789</span></code></blockquote> While humans may be able to decode odd URL parameters, such as &#8220;,,&#8221;, crawlers have difficulty interpreting URL parameters when they&#8217;re implemented in a non-standard fashion. Software engineer on Google&#8217;s Crawling Team, Mehmet Aktuna, says &#8220;Using non-standard encoding is just asking for trouble.&#8221; Instead, connect key=value pairs with an equal sign (=) and append multiple parameters with an ampersand (&amp;).</blockquote> <i><b>Worst practice #2: Using directories or file paths rather than parameters to list values that don&#8217;t change page content.</b></i> <br /> <blockquote> Worst practice:<br /> <blockquote> <code>example.com/c123<span style="color: #ff0040; font-weight: bold;">/s789/</span>product?swedish-fish</code><br /> (where /c123/ is a category, /s789/ is a sessionID that doesn&#8217;t change page content) </blockquote> Good practice:<br /> <blockquote> <code>example.com<span style="color: #ff8000; font-weight: bold;">/gummy-candy/</span>product?item=swedish-fish&amp;<span style="color: #298a08; font-weight: bold;">sid=789</span></code> (the directory, /gummy-candy/,changes the page content in a meaningful way) </blockquote> Best practice:<br /> <blockquote> <code>example.com/product?item=swedish-fish&amp;<span style="color: #298a08; font-weight: bold;">category=gummy-candy&amp;sid=789</span></code> (URL parameters allow more flexibility for search engines to determine how to crawl efficiently)</blockquote> It&#8217;s difficult for automated programs, like search engine crawlers, to differentiate useful values (e.g., &#8220;gummy-candy&#8221;) from the useless ones (e.g., &#8220;sessionID&#8221;) when values are placed directly in the path. On the other hand, URL parameters provide flexibility for search engines to quickly test and determine when a given value doesn&#8217;t require the crawler access all variations. <br /> Common values that don&#8217;t change page content and should be listed as URL parameters include:<br /> <ul> <li>Session IDs</li> <li>Tracking IDs</li> <li>Referrer IDs</li> <li>Timestamp</li> </ul> </blockquote> <i><b>Worst practice #3: Converting user-generated values into (possibly infinite) URL parameters that are crawlable and indexable, but not useful in search results.</b></i> <br /> <blockquote> Worst practices (e.g., user-generated values like longitude/latitude or &#8220;days ago&#8221; as crawlable and indexable URLs):<br /> <ul> <li><code>example.com/find-a-doctor?<span style="color: #ff0040; font-weight: bold;">radius=15&amp;latitude=40.7565068&amp;longitude=-73.9668408</span></code></li> <li><code>example.com/article?category=health&amp;<span style="color: #ff0040; font-weight: bold;">days-ago=7</span></code><br /> </li> </ul> Best practices:<br /> <ul> <li><code>example.com/find-a-doctor?<span style="color: #298a08; font-weight: bold;">city=san-francisco&amp;neighborhood=soma</span></code></li> <li><code>example.com/articles?category=health&amp;<span style="color: #298a08; font-weight: bold;">date=january-10-2014</span></code></li> </ul> Rather than allow user-generated values to create crawlable URLs &nbsp;-- which leads to infinite possibilities with very little value to searchers -- perhaps publish category pages for the most popular values, then include additional information so the page provides more value than an ordinary search results page. Alternatively, consider placing user-generated values in a separate directory and then robots.txt disallow crawling of that directory.<br /> <ul> <li><code>example.com<span style="color: #298a08; font-weight: bold;">/filtering/</span>find-a-doctor?radius=15&amp;latitude=40.7565068&amp;longitude=-73.9668408</code></li> <li><code>example.com<span style="color: #298a08; font-weight: bold;">/filtering/</span>articles?category=health&amp;days-ago=7</code></li> </ul> with robots.txt:<br /> <blockquote> <code>User-agent: *<br />Disallow: <span style="color: #298a08; font-weight: bold;">/filtering/</span></code></blockquote> </blockquote> <i><b>Worst practice #4: Appending URL parameters without logic.</b></i> <br /> <blockquote> Worst practices: <br /> <ul> <li><code>example.com<span style="color: #ff0040; font-weight: bold;">/gummy-candy/lollipops/gummy-candy/</span>gummy-candy/product?swedish-fish</code></li> <li><code>example.com/product?<span style="color: #ff0040; font-weight: bold;">cat=gummy-candy&amp;cat=lollipops&amp;cat=gummy-candy</span>&amp;cat=gummy-candy&amp;item=swedish-fish</code></li> </ul> Better practice:<br /> <blockquote> <code>example.com<span style="color: #ff8000; font-weight: bold;">/gummy-candy/</span>product?item=swedish-fish</code></blockquote> Best practice:<br /> <blockquote> <code>example.com/product?<span style="color: #298a08; font-weight: bold;">item=swedish-fish&amp;category=gummy-candy</span></code></blockquote> Extraneous URL parameters only increase duplication, causing less efficient crawling and indexing. Therefore, consider stripping unnecessary URL parameters and performing your site&#8217;s &#8220;internal housekeeping&#8221; &nbsp;before generating the URL. If many parameters are required for the user session, perhaps hide the information in a cookie rather than continually append values like <code>cat=gummy-candy&amp;cat=lollipops&amp;cat=gummy-candy&amp;</code> ...</blockquote> <i><b>Worst practice #5: Offering further refinement (filtering) when there are zero results.</b></i> <br /> <blockquote> Worst practice:<br /> <blockquote> Allowing users to select filters when zero items exist for the refinement. </blockquote> <div style="text-align: center;"> <!-- <a href="http://1.bp.blogspot.com/-pG5Zeo0fUrI/UvrgVOpsQxI/AAAAAAAAAzw/O8K0C2wIOTU/s1600/Screen+Shot+2014-02-11+at+6.45.00+PM.png" imageanchor="1" ><img border="0" src="https://1.bp.blogspot.com/-pG5Zeo0fUrI/UvrgVOpsQxI/AAAAAAAAAzw/O8K0C2wIOTU/s320/Screen+Shot+2014-02-11+at+6.45.00+PM.png"></a> --> <i>Refinement to a page with zero results (e.g., <code>price=over-10</code>) is allowed even though it frustrates users and causes unnecessary issues for search engines.</i></div> Best practice<br /> <blockquote> Only create links/URLs when it&#8217;s a valid user-selection (items exist). With zero items, grey out filtering options. To further improve usability, consider adding item counts next to each filter.</blockquote> </blockquote> </blockquote> <div style="text-align: center;"> <!-- <a href="http://1.bp.blogspot.com/-ZaRbGq8YLHI/UvrgqK_zf4I/AAAAAAAAAz4/YPLYH2ZepGE/s1600/Screen+Shot+2014-02-11+at+6.46.26+PM.png" imageanchor="1" ><img border="0" src="https://1.bp.blogspot.com/-ZaRbGq8YLHI/UvrgqK_zf4I/AAAAAAAAAz4/YPLYH2ZepGE/s320/Screen+Shot+2014-02-11+at+6.46.26+PM.png"></a> --> <i>Refinement to a page with zero results (e.g., <code>price=over-10</code>) isn&#8217;t allowed, preventing users from making an unnecessary click and search engine crawlers from accessing a non-useful page.</i></div> Prevent useless URLs and minimize the crawl space by only creating URLs when products exist. This helps users to stay engaged on your site (fewer clicks on the back button when no products exist), and helps minimize potential URLs known to crawlers. Furthermore, if a page isn&#8217;t just temporarily out-of-stock, but is unlikely to ever contain useful content, consider returning a <a href="https://support.google.com/webmasters/answer/40132">404 status code</a>. With the 404 response, you can include a helpful message to users with more navigation options or a search box to find related products.<br /> <h4 id="new-sites"> Best practices for new faceted navigation implementations or redesigns</h4> <blockquote> New sites that are considering implementing faceted navigation have several options to optimize the &#8220;crawl space&#8221; (the totality of URLs on your site known to Googlebot) for unique content pages, reduce crawling of duplicative pages, and consolidate indexing signals.<br /> <ul> <li>Determine which URL parameters are required for search engines to crawl every individual content page (i.e., determine what parameters are required to create at least one click-path to each item). Required parameters may include <code>item-id</code>, <code>category-id</code>, <code>page</code>, etc.</li> <li>Determine which parameters would be valuable to searchers and their queries, and which would likely only cause duplication with unnecessary crawling or indexing. In the candy store example, I may find the URL parameter &#8220;<code>taste</code>&#8221; to be valuable to searchers for queries like [sour gummy candies] which could show the result <code>example.com/category.php?category=gummy-candies&amp;taste=sour</code>. However, I may consider the parameter &#8220;<code>price</code>&#8221; to only cause duplication, such as <code>category=gummy-candies&amp;taste=sour&amp;price=over-10</code>. Other common examples:</li> <ul> <li>Valuable parameters to searchers: <code>item-id</code>, <code>category-id</code>, <code>name</code>, <code>brand</code>...</li> <li>Unnecessary parameters: <code>session-id</code>, <code>price-range</code>...</li> </ul> <li>Consider implementing one of several configuration options for URLs that contain unnecessary parameters. Just make sure that the unnecessary URL parameters are never required in a crawler or user&#8217;s click path to reach each individual product! <ul><br /> <li>Option 1: rel="nofollow" internal links<blockquote> Make all unnecessary URLs links <a href="https://support.google.com/webmasters/answer/96569">rel=&#8220;nofollow</a>.&#8221; This option minimizes the crawler&#8217;s discovery of unnecessary URLs and therefore reduces the potentially explosive crawl space (URLs known to the crawler) that can occur with faceted navigation. rel=&#8221;nofollow&#8221; doesn&#8217;t prevent the unnecessary URLs from being crawled (only a robots.txt disallow prevents crawling). By allowing them to be crawled, however, you can consolidate indexing signals from the unnecessary URLs with a searcher-valuable URL by adding rel=&#8221;canonical&#8221; from the unnecessary URL to a superset URL (e.g. <code>example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>price=5-10</b></code> can specify a <code>rel=&#8221;canonical&#8221;</code> to the superset sour gummy candies view-all page at <code>example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>page=all</b></code>).</blockquote> </li> <li>Option 2: Robots.txt disallow<blockquote> For URLs with unnecessary parameters, include a <code>/filtering/</code>directory that will be robots.txt disallow&#8217;d. This lets all search engines freely crawl good content, but will prevent crawling of the unwanted URLs. For instance, if my valuable parameters were item, category, and taste, and my unnecessary parameters were session-id and price. I may have the URL:<br /> <code>example.com/category.php?category=gummy-candies</code><br /> which could link to another URL valuable parameter such as taste:<br /> <code>example.com/category.php?category=gummy-candies&amp;taste=sour</code>. <br /> but for the unnecessary parameters, such as price, the URL includes a predefined directory, <code>/filtering/</code>:<br /> <code>example.com/filtering/category.php?category=gummy-candies&amp;price=5-10</code> <br /> which is then robots.txt disallowed<br /> <blockquote> <code>User-agent: *<br />Disallow: /filtering/</code> </blockquote> </blockquote> </li> <li>Option 3: Separate hosts<blockquote> If you&#8217;re not using a CDN (sites using CDNs don&#8217;t have this flexibility easily available in Webmaster Tools), consider placing any URLs with unnecessary parameters on a separate host -- for example, creating main host <code>www.example.com</code> and secondary host, <code>www2.example.com</code>. On the secondary host (www2), set the <a href="http://support.google.com/webmasters/answer/48620">Crawl rate in Webmaster Tools</a> to &#8220;low&#8221; while keeping the main host&#8217;s crawl rate as high as possible. This would allow for more full crawling of the main host URLs and reduces Googlebot&#8217;s focus on your unnecessary URLs. <br /> <ul> <li>Be sure there remains at least one click path to all items on the main host.</li> <li>If you&#8217;d like to consolidate indexing signals, consider adding rel=&#8221;canonical&#8221; from the secondary host to a superset URL on the main host (e.g. <code>www2.example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>price=5-10</b></code> may specify a rel=&#8221;canonical&#8221; to the superset &#8220;sour gummy candies&#8221; view-all page, <code>www.example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>page=all</b></code>).</li> </ul> </blockquote> </li> </ul> </li> </ul> <ul> <li>Prevent clickable links when no products exist for the category/filter.</li> <li>Add logic to the display of URL parameters.</li> <ul> <li>Remove unnecessary parameters rather than continuously append values.</li> <ul> <li>Avoid <br /><code>example.com/product?<span style="color: #ff0040; font-weight: bold;">cat=gummy-candy&amp;cat=lollipops</span>&amp;cat=gummy-candy&amp;item=swedish-fish</code>)</li> </ul> <li>Help the searcher experience by keeping a consistent parameter order based on searcher-valuable parameters listed first (as the URL may be visible in search results) and searcher-irrelevant parameters last (e.g., session ID).</li> <ul> <li>Avoid <br /><code>example.com/category.php?<span style="color: #ff8000; font-weight: bold;">session-id=123&amp;tracking-id=456</span>&amp;category=gummy-candies&amp;taste=sour</code></li> </ul> </ul> <li>Improve indexing of individual content pages with <a href="https://support.google.com/webmasters/answer/139394">rel=&#8221;canonical&#8221;</a> to the preferred version of a page. rel=&#8221;canonical&#8221; can be used across hostnames or domains.</li> <li>Improve indexing of paginated content (such as page=1 and page=2 of the category &#8220;gummy candies&#8221;) by either:</li> <ul> <li>Adding rel=&#8221;canonical&#8221; from individual component pages in the series to the category&#8217;s &#8220;view-all&#8221; page (e.g. page=1, page=2, and page=3 of &#8220;gummy candies&#8221; with rel=&#8221;canonical&#8221; to <code>category=gummy-candies&amp;page=all</code>) while making sure that it&#8217;s still a good searcher experience (e.g., the page loads quickly).</li> </ul> <li>Be sure that if using JavaScript to dynamically sort/filter/hide content without updating the URL, there still exists URLs on your site that searchers would find valuable, such as main category and product pages that can be crawled and indexed. For instance, avoid using only the homepage (i.e., one URL) for your entire site with JavaScript to dynamically change content with user navigation -- &nbsp;this would unfortunately provide searchers with only one URL to reach all of your content. Also, check that performance isn&#8217;t negatively affected with dynamic filtering, as this could undermine the user experience.</li> <li>Include only canonical URLs in <a href="https://support.google.com/webmasters/answer/156184">Sitemaps</a>.</li> </ul> </blockquote> <h4 id="existing-sites"> Best practices for existing sites with faceted navigation</h4> <blockquote> First, know that the best practices listed above (e.g., rel=&#8221;nofollow&#8221; for unnecessary URLs) still apply if/when you&#8217;re able to implement a larger redesign. Otherwise, with existing faceted navigation, it&#8217;s likely that a large crawl space was already discovered by search engines. Therefore, focus on reducing further growth of unnecessary pages crawled by Googlebot and consolidating indexing signals.<br /> <ul> <li>Use parameters (when possible) with standard encoding and key=value pairs.</li> <li>Verify that values that don&#8217;t change page content, such as session IDs, are implemented as standard key=value pairs, not directories</li> <li>Prevent clickable anchors when products exist for the category/filter (i.e., don&#8217;t allow clicks or URLs to be created when no items exist for the filter) </li> <li>Add logic to the display of URL parameters</li> <ul> <li>Remove unnecessary parameters rather than continuously append values (e.g., avoid <code>example.com/product?<span style="color: #ff0040; font-weight: bold;">cat=gummy-candy&amp;cat=lollipops</span>&amp;cat=gummy-candy&amp;item=swedish-fish</code>)</li> </ul> <li>Help the searcher experience by keeping a consistent parameter order based on searcher-valuable parameters listed first (as the URL may be visible in search results) and searcher-irrelevant parameters last (e.g., avoid <code>example.com/category?<span style="color: #ff8000; font-weight: bold;">session-id=123&amp;tracking-id=456</span>&amp;category=gummy-candies&amp;taste=sour&amp;</code> in favor of <code>example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<span style="color: #ff8000; font-weight: bold;">session-id=123&amp;tracking-id=456</span></code>)</li> <li>Configure <a href="https://support.google.com/webmasters/answer/1235687">Webmaster Tools URL Parameters</a> if you have strong understanding of the URL parameter behavior on your site (make sure that there is still a clear click path to each individual item/article). For instance, with URL Parameters in Webmaster Tools, you can list the parameter name, the parameters effect on the page content, and how you&#8217;d like Googlebot to crawl URLs containing the parameter.<br /> <br /><div style="text-align: center;"> <a href="https://1.bp.blogspot.com/-nWkuSOy0_pM/WMKr9VHnOBI/AAAAAAAAgwE/VHdohAuElJA3RhTq5KMsNyVuMIkDqBbnwCLcB/s1600/http_2.bp.blogspot.com_-hMY39qOiPxE_UvrwgEMEMXI_AAAAAAAAA0I_GYEtZecJxyE_s1600_Screen%252BShot%252B2014-02-04%252Bat%252B7.28.52%252BPM.png" imageanchor="1"><img border="0" height="145" src="https://1.bp.blogspot.com/-nWkuSOy0_pM/WMKr9VHnOBI/AAAAAAAAgwE/VHdohAuElJA3RhTq5KMsNyVuMIkDqBbnwCLcB/s400/http_2.bp.blogspot.com_-hMY39qOiPxE_UvrwgEMEMXI_AAAAAAAAA0I_GYEtZecJxyE_s1600_Screen%252BShot%252B2014-02-04%252Bat%252B7.28.52%252BPM.png" width="400" /></a> <br /> <i>URL Parameters in Webmaster Tools allows the site owner to provide information about the site&#8217;s parameters and recommendations for Googlebot&#8217;s behavior.</i></div> </li> <br /> <li>Be sure that if using JavaScript to dynamically sort/filter/hide content without updating the URL, there still exists URLs on your site that searchers would find valuable, such as main category and product pages that can be crawled and indexed. For instance, avoid using only the homepage (i.e., one URL) for your entire site with JavaScript to dynamically change content with user navigation -- &nbsp;this would unfortunately provide searchers with only one URL to reach all of your content. Also, check that performance isn&#8217;t negatively affected with dynamic filtering, as this could undermine the user experience.</li> <li>Improve indexing of individual content pages with <a href="https://support.google.com/webmasters/answer/139394">rel=&#8221;canonical&#8221;</a> to the preferred version of a page. rel=&#8221;canonical&#8221; can be used across hostnames or domains.</li> <li>Improve indexing of paginated content (such as page=1 and page=2 of the category &#8220;gummy candies&#8221;) by either:</li> <ul> <li>Adding rel=&#8221;canonical&#8221; from individual component pages in the series to the category&#8217;s &#8220;view-all&#8221; page (e.g. page=1, page=2, and page=3 of &#8220;gummy candies&#8221; with rel=&#8221;canonical&#8221; to <code>category=gummy-candies&amp;page=all</code>) while making sure that it&#8217;s still a good searcher experience (e.g., the page loads quickly).</li> </ul> <li>Include only canonical URLs in <a href="https://support.google.com/webmasters/answer/156184">Sitemaps</a>.</li> </ul> </blockquote> Remember that commonly, the simpler you can keep it, the better. Questions? Please ask in our <a href="https://productforums.google.com/forum/#!categories/webmasters/crawling-indexing--ranking">Webmaster discussion forum</a>.<br /> <br /> <span class="byline-author">Written by <a href="https://plus.google.com/u/0/+MaileOhye/posts">Maile Ohye</a>, Developer Programs Tech Lead, and Mehmet Aktuna, Crawl Team</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: Advanced<br /> Faceted navigation, such as filtering by color or price range, can be helpful for your visitors, but it&#8217;s often not search-friendly since it creates many combinations of URLs with <a href="https://support.google.com/webmasters/answer/66359">duplicative content</a>. With duplicative URLs, search engines may not crawl new or updated unique content as quickly, and/or they may not index a page accurately because indexing signals are diluted between the duplicate versions. To reduce these issues and help faceted navigation sites become as search-friendly as possible, we&#8217;d like to: <br /> <ul> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#background">Provide background and potential issues with faceted navigation</a></li> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#worst-practices">Highlight worst practices</a></li> <li>Share best practices<ul> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#new-sites">New faceted navigation implementations or redesigns</a></li> <li><a href="https://www.blogger.com/blogger.g?blogID=32069983#existing-sites">Existing faceted navigation implementations</a></li> </ul> </li> </ul> <br /> <br /> <div> <a href="https://3.bp.blogspot.com/-0rFqfEsodFo/WMKUSSzPsVI/AAAAAAAAgvM/mtzgbkVfc6QnlbbmGaZolgVSEeIUuPgrQCLcB/s1600/http_2.bp.blogspot.com_-wMNUS_SFP-c_UvpKkNugQFI_AAAAAAAAAxM_wJ_XEK26YY4_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.06.14%252BAM.png" imageanchor="1"><img border="0" height="253" src="https://3.bp.blogspot.com/-0rFqfEsodFo/WMKUSSzPsVI/AAAAAAAAgvM/mtzgbkVfc6QnlbbmGaZolgVSEeIUuPgrQCLcB/s400/http_2.bp.blogspot.com_-wMNUS_SFP-c_UvpKkNugQFI_AAAAAAAAAxM_wJ_XEK26YY4_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.06.14%252BAM.png" width="400" /></a> <br /> <i>Selecting filters with faceted navigation can cause many URL combinations, such as <code>http://www.example.com/category.php?category=gummy-candies&amp;price=5-10&amp;price=over-10</code></i></div> <h4> <a href="https://www.blogger.com/null" id="background">Background</a></h4> <blockquote> In an ideal state, unique content -- whether an individual product/article or a category of products/articles -- &nbsp;would have only one accessible URL. This URL would have a clear click path, or route to the content from within the site, accessible by clicking from the homepage or a category page. <br /> <b>Ideal for searchers and Google Search</b><br /> <ul> <li>Clear path that reaches all individual product/article pages<br /><br /> <div style="text-align: center;"> <a href="https://3.bp.blogspot.com/-kmYduLRPyCA/WMKmufKl3OI/AAAAAAAAgvc/ZwNaOgwdGDETzmYO5MSbIJaUe5K6RzMaACLcB/s1600/http_1.bp.blogspot.com_-AZEuh10fZfk_UvpRq6KA3mI_AAAAAAAAAxc_3-FQWFvC1vg_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.36.22%252BAM.png" imageanchor="1"><img border="0" height="229" src="https://3.bp.blogspot.com/-kmYduLRPyCA/WMKmufKl3OI/AAAAAAAAgvc/ZwNaOgwdGDETzmYO5MSbIJaUe5K6RzMaACLcB/s400/http_1.bp.blogspot.com_-AZEuh10fZfk_UvpRq6KA3mI_AAAAAAAAAxc_3-FQWFvC1vg_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.36.22%252BAM.png" width="400" /></a> <br /> <i>On the left is potential user navigation on the site (i.e., the click path), on the right are the pages accessed.</i></div> <br /> </li> <li>One representative URL for category page<br /> <code><span style="color: #298a08;">http://www.example.com/category.php?category=gummy-candies</span></code><br /> <br /> <div style="text-align: center;"> <a href="https://4.bp.blogspot.com/-GGDSezKjLsA/WMKne4VrM4I/AAAAAAAAgvg/Twathxzjxc0n7rxd7YFzFMURhhqr3oZiQCLcB/s1600/http_2.bp.blogspot.com_-5t9pgdMSdbU_UvpTiMOmz8I_AAAAAAAAAxo_3BtVorU7PoY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.44.20%252BAM.png" imageanchor="1"><img border="0" height="305" src="https://4.bp.blogspot.com/-GGDSezKjLsA/WMKne4VrM4I/AAAAAAAAgvg/Twathxzjxc0n7rxd7YFzFMURhhqr3oZiQCLcB/s400/http_2.bp.blogspot.com_-5t9pgdMSdbU_UvpTiMOmz8I_AAAAAAAAAxo_3BtVorU7PoY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B8.44.20%252BAM.png" width="400" /></a> <br /> <i>Category page for gummy candies</i></div> <br /> </li> <li>One representative URL for individual product page<br /> <code><span style="color: #298a08;">http://www.example.com/product.php?item=swedish-fish</span></code><br /> <div style="text-align: center;"> <br /> <i>Product page for swedish fish</i></div> </li> </ul> <b>Undesirable duplication caused with faceted navigation</b><br /> <ul> <li>Numerous URLs for the same article/product<br /> <br /><div style="text-align: center;"> <table><colgroup><col width="50%"></col><col width="50%"></col></colgroup><tbody> <tr><td><b>Canonical</b></td><td><b>Duplicate</b></td></tr> <tr><td><code>example.com/product.php? <span style="color: #ff8000;">item=swedish-fish</span></code></td> <td><code>example.com/product.php? <span style="color: #ff8000;">item=swedish-fish&amp;category=gummy-candies&amp;price=5-10</span></code></td></tr> <tr><td><a href="https://4.bp.blogspot.com/-QIZo9JrwlEE/WMKpVby4_CI/AAAAAAAAgvw/2yaMzPSwL9IohoBA2ttWXv8fx_ybySkNwCLcB/s1600/http_3.bp.blogspot.com_-1mPTxa6EBG0_UvqXNfl-g4I_AAAAAAAAAyg_XTnfuV3A7CY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B1.32.51%252BPM.png" imageanchor="1"><img border="0" height="295" src="https://4.bp.blogspot.com/-QIZo9JrwlEE/WMKpVby4_CI/AAAAAAAAgvw/2yaMzPSwL9IohoBA2ttWXv8fx_ybySkNwCLcB/s400/http_3.bp.blogspot.com_-1mPTxa6EBG0_UvqXNfl-g4I_AAAAAAAAAyg_XTnfuV3A7CY_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B1.32.51%252BPM.png" width="400" /></a> </td><td></td></tr> </tbody></table> <i>Same product page for swedish fish can be available on multiple URLs.</i> </div> <br /> </li> <li>Numerous category pages that provide little or no value to searchers and search engines) <br /> <br /> <div style="text-align: center;"> <table><colgroup><col width="10%"></col><col width="45%"></col><col width="45%"></col></colgroup> <tbody> <tr><td valign="top"><b>URL</b></td> <td><code>example.com/category.php? <span style="color: #ff8000;">category=gummy-candies&amp;taste=sour&amp;price=5-10</span></code></td> <td><code>example.com/category.php? <span style="color: #ff8000;">category=gummy-candies&amp;taste=sour&amp;price=over-10</span></code></td> </tr> <tr><td valign="top"></td> <td><a href="https://4.bp.blogspot.com/-0__f9QY46cw/WMKqR_uSW0I/AAAAAAAAgv4/8JGDSzn_MiQzKQgGU1JxOOJZRXBevNBWgCLcB/s1600/http_2.bp.blogspot.com_--kyIjx1vZoo_Uvq5cSfjKkI_AAAAAAAAAzE_cb_QennUxwo_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B3.58.50%252BPM.png" imageanchor="1"><img border="0" height="291" src="https://4.bp.blogspot.com/-0__f9QY46cw/WMKqR_uSW0I/AAAAAAAAgv4/8JGDSzn_MiQzKQgGU1JxOOJZRXBevNBWgCLcB/s400/http_2.bp.blogspot.com_--kyIjx1vZoo_Uvq5cSfjKkI_AAAAAAAAAzE_cb_QennUxwo_s1600_Screen%252BShot%252B2014-02-11%252Bat%252B3.58.50%252BPM.png" width="400" /></a> </td><td></td></tr> <tr><td valign="top"><b>Issues</b></td> <td align="left"><ul> <li>No added value to Google searchers given users rarely search for [sour gummy candy price five to ten dollars]. </li> <li>No added value for search engine crawlers that discover same item ("fruit salad") from parent category pages (either &#8220;gummy candies&#8221; or &#8220;sour gummy candies&#8221;).</li> <li>Negative value to site owner who may have indexing signals diluted between numerous versions of the same category.</li> <li>Negative value to site owner with respect to serving bandwidth and losing crawler capacity to duplicative content rather than new or updated pages.</li> </ul> </td> <td align="left"><ul align="top"> <li>No value for search engines (should have <a href="https://support.google.com/webmasters/answer/40132">404 response code</a>).</li> <li>Negative value to searchers.</li> </ul> </td></tr> </tbody></table> </div> </li> </ul> </blockquote> <h4 id="worst-practices"> Worst (search un-friendly) practices for faceted navigation</h4> <blockquote> <b><i>Worst practice #1: Non-standard URL encoding for parameters, like commas or brackets, instead of &#8220;key=value&amp;&#8221; pairs. </i></b> <br /> <blockquote> Worst practices:<br /> <ul> <li><code>example.com/category?<span style="color: #ff0040; font-weight: bold;">[</span>category:gummy-candy<span style="color: #ff0040; font-weight: bold;">][</span>sort:price-low-to-high<span style="color: #ff0040; font-weight: bold;">][</span>sid:789<span style="color: #ff0040; font-weight: bold;">]</span></code></li> <ul> <li>key=value pairs marked with : rather than = </li> <li>multiple parameters appended with [ ] rather than &amp;</li> </ul> <li><code>example.com/category?category<span style="color: #ff0040; font-weight: bold;">,</span>gummy-candy<span style="color: #ff0040; font-weight: bold;">,,</span>sort<span style="color: #ff0040; font-weight: bold;">,</span>lowtohigh<span style="color: #ff0040; font-weight: bold;">,,</span>sid<span style="color: #ff0040; font-weight: bold;">,</span>789</code></li> <ul> <li>key=value pairs marked with a , rather than =</li> <li>multiple parameters appended with ,, rather than &amp;</li> </ul> </ul> Best practice:<br /> <blockquote> <code>example.com/category?<span style="color: #298a08; font-weight: bold;">category=gummy-candy&amp;sort=low-to-high&amp;sid=789</span></code></blockquote> While humans may be able to decode odd URL parameters, such as &#8220;,,&#8221;, crawlers have difficulty interpreting URL parameters when they&#8217;re implemented in a non-standard fashion. Software engineer on Google&#8217;s Crawling Team, Mehmet Aktuna, says &#8220;Using non-standard encoding is just asking for trouble.&#8221; Instead, connect key=value pairs with an equal sign (=) and append multiple parameters with an ampersand (&amp;).</blockquote> <i><b>Worst practice #2: Using directories or file paths rather than parameters to list values that don&#8217;t change page content.</b></i> <br /> <blockquote> Worst practice:<br /> <blockquote> <code>example.com/c123<span style="color: #ff0040; font-weight: bold;">/s789/</span>product?swedish-fish</code><br /> (where /c123/ is a category, /s789/ is a sessionID that doesn&#8217;t change page content) </blockquote> Good practice:<br /> <blockquote> <code>example.com<span style="color: #ff8000; font-weight: bold;">/gummy-candy/</span>product?item=swedish-fish&amp;<span style="color: #298a08; font-weight: bold;">sid=789</span></code> (the directory, /gummy-candy/,changes the page content in a meaningful way) </blockquote> Best practice:<br /> <blockquote> <code>example.com/product?item=swedish-fish&amp;<span style="color: #298a08; font-weight: bold;">category=gummy-candy&amp;sid=789</span></code> (URL parameters allow more flexibility for search engines to determine how to crawl efficiently)</blockquote> It&#8217;s difficult for automated programs, like search engine crawlers, to differentiate useful values (e.g., &#8220;gummy-candy&#8221;) from the useless ones (e.g., &#8220;sessionID&#8221;) when values are placed directly in the path. On the other hand, URL parameters provide flexibility for search engines to quickly test and determine when a given value doesn&#8217;t require the crawler access all variations. <br /> Common values that don&#8217;t change page content and should be listed as URL parameters include:<br /> <ul> <li>Session IDs</li> <li>Tracking IDs</li> <li>Referrer IDs</li> <li>Timestamp</li> </ul> </blockquote> <i><b>Worst practice #3: Converting user-generated values into (possibly infinite) URL parameters that are crawlable and indexable, but not useful in search results.</b></i> <br /> <blockquote> Worst practices (e.g., user-generated values like longitude/latitude or &#8220;days ago&#8221; as crawlable and indexable URLs):<br /> <ul> <li><code>example.com/find-a-doctor?<span style="color: #ff0040; font-weight: bold;">radius=15&amp;latitude=40.7565068&amp;longitude=-73.9668408</span></code></li> <li><code>example.com/article?category=health&amp;<span style="color: #ff0040; font-weight: bold;">days-ago=7</span></code><br /> </li> </ul> Best practices:<br /> <ul> <li><code>example.com/find-a-doctor?<span style="color: #298a08; font-weight: bold;">city=san-francisco&amp;neighborhood=soma</span></code></li> <li><code>example.com/articles?category=health&amp;<span style="color: #298a08; font-weight: bold;">date=january-10-2014</span></code></li> </ul> Rather than allow user-generated values to create crawlable URLs &nbsp;-- which leads to infinite possibilities with very little value to searchers -- perhaps publish category pages for the most popular values, then include additional information so the page provides more value than an ordinary search results page. Alternatively, consider placing user-generated values in a separate directory and then robots.txt disallow crawling of that directory.<br /> <ul> <li><code>example.com<span style="color: #298a08; font-weight: bold;">/filtering/</span>find-a-doctor?radius=15&amp;latitude=40.7565068&amp;longitude=-73.9668408</code></li> <li><code>example.com<span style="color: #298a08; font-weight: bold;">/filtering/</span>articles?category=health&amp;days-ago=7</code></li> </ul> with robots.txt:<br /> <blockquote> <code>User-agent: *<br />Disallow: <span style="color: #298a08; font-weight: bold;">/filtering/</span></code></blockquote> </blockquote> <i><b>Worst practice #4: Appending URL parameters without logic.</b></i> <br /> <blockquote> Worst practices: <br /> <ul> <li><code>example.com<span style="color: #ff0040; font-weight: bold;">/gummy-candy/lollipops/gummy-candy/</span>gummy-candy/product?swedish-fish</code></li> <li><code>example.com/product?<span style="color: #ff0040; font-weight: bold;">cat=gummy-candy&amp;cat=lollipops&amp;cat=gummy-candy</span>&amp;cat=gummy-candy&amp;item=swedish-fish</code></li> </ul> Better practice:<br /> <blockquote> <code>example.com<span style="color: #ff8000; font-weight: bold;">/gummy-candy/</span>product?item=swedish-fish</code></blockquote> Best practice:<br /> <blockquote> <code>example.com/product?<span style="color: #298a08; font-weight: bold;">item=swedish-fish&amp;category=gummy-candy</span></code></blockquote> Extraneous URL parameters only increase duplication, causing less efficient crawling and indexing. Therefore, consider stripping unnecessary URL parameters and performing your site&#8217;s &#8220;internal housekeeping&#8221; &nbsp;before generating the URL. If many parameters are required for the user session, perhaps hide the information in a cookie rather than continually append values like <code>cat=gummy-candy&amp;cat=lollipops&amp;cat=gummy-candy&amp;</code> ...</blockquote> <i><b>Worst practice #5: Offering further refinement (filtering) when there are zero results.</b></i> <br /> <blockquote> Worst practice:<br /> <blockquote> Allowing users to select filters when zero items exist for the refinement. </blockquote> <div style="text-align: center;"> <!-- <a href="http://1.bp.blogspot.com/-pG5Zeo0fUrI/UvrgVOpsQxI/AAAAAAAAAzw/O8K0C2wIOTU/s1600/Screen+Shot+2014-02-11+at+6.45.00+PM.png" imageanchor="1" ><img border="0" src="https://1.bp.blogspot.com/-pG5Zeo0fUrI/UvrgVOpsQxI/AAAAAAAAAzw/O8K0C2wIOTU/s320/Screen+Shot+2014-02-11+at+6.45.00+PM.png"></a> --> <i>Refinement to a page with zero results (e.g., <code>price=over-10</code>) is allowed even though it frustrates users and causes unnecessary issues for search engines.</i></div> Best practice<br /> <blockquote> Only create links/URLs when it&#8217;s a valid user-selection (items exist). With zero items, grey out filtering options. To further improve usability, consider adding item counts next to each filter.</blockquote> </blockquote> </blockquote> <div style="text-align: center;"> <!-- <a href="http://1.bp.blogspot.com/-ZaRbGq8YLHI/UvrgqK_zf4I/AAAAAAAAAz4/YPLYH2ZepGE/s1600/Screen+Shot+2014-02-11+at+6.46.26+PM.png" imageanchor="1" ><img border="0" src="https://1.bp.blogspot.com/-ZaRbGq8YLHI/UvrgqK_zf4I/AAAAAAAAAz4/YPLYH2ZepGE/s320/Screen+Shot+2014-02-11+at+6.46.26+PM.png"></a> --> <i>Refinement to a page with zero results (e.g., <code>price=over-10</code>) isn&#8217;t allowed, preventing users from making an unnecessary click and search engine crawlers from accessing a non-useful page.</i></div> Prevent useless URLs and minimize the crawl space by only creating URLs when products exist. This helps users to stay engaged on your site (fewer clicks on the back button when no products exist), and helps minimize potential URLs known to crawlers. Furthermore, if a page isn&#8217;t just temporarily out-of-stock, but is unlikely to ever contain useful content, consider returning a <a href="https://support.google.com/webmasters/answer/40132">404 status code</a>. With the 404 response, you can include a helpful message to users with more navigation options or a search box to find related products.<br /> <h4 id="new-sites"> Best practices for new faceted navigation implementations or redesigns</h4> <blockquote> New sites that are considering implementing faceted navigation have several options to optimize the &#8220;crawl space&#8221; (the totality of URLs on your site known to Googlebot) for unique content pages, reduce crawling of duplicative pages, and consolidate indexing signals.<br /> <ul> <li>Determine which URL parameters are required for search engines to crawl every individual content page (i.e., determine what parameters are required to create at least one click-path to each item). Required parameters may include <code>item-id</code>, <code>category-id</code>, <code>page</code>, etc.</li> <li>Determine which parameters would be valuable to searchers and their queries, and which would likely only cause duplication with unnecessary crawling or indexing. In the candy store example, I may find the URL parameter &#8220;<code>taste</code>&#8221; to be valuable to searchers for queries like [sour gummy candies] which could show the result <code>example.com/category.php?category=gummy-candies&amp;taste=sour</code>. However, I may consider the parameter &#8220;<code>price</code>&#8221; to only cause duplication, such as <code>category=gummy-candies&amp;taste=sour&amp;price=over-10</code>. Other common examples:</li> <ul> <li>Valuable parameters to searchers: <code>item-id</code>, <code>category-id</code>, <code>name</code>, <code>brand</code>...</li> <li>Unnecessary parameters: <code>session-id</code>, <code>price-range</code>...</li> </ul> <li>Consider implementing one of several configuration options for URLs that contain unnecessary parameters. Just make sure that the unnecessary URL parameters are never required in a crawler or user&#8217;s click path to reach each individual product! <ul><br /> <li>Option 1: rel="nofollow" internal links<blockquote> Make all unnecessary URLs links <a href="https://support.google.com/webmasters/answer/96569">rel=&#8220;nofollow</a>.&#8221; This option minimizes the crawler&#8217;s discovery of unnecessary URLs and therefore reduces the potentially explosive crawl space (URLs known to the crawler) that can occur with faceted navigation. rel=&#8221;nofollow&#8221; doesn&#8217;t prevent the unnecessary URLs from being crawled (only a robots.txt disallow prevents crawling). By allowing them to be crawled, however, you can consolidate indexing signals from the unnecessary URLs with a searcher-valuable URL by adding rel=&#8221;canonical&#8221; from the unnecessary URL to a superset URL (e.g. <code>example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>price=5-10</b></code> can specify a <code>rel=&#8221;canonical&#8221;</code> to the superset sour gummy candies view-all page at <code>example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>page=all</b></code>).</blockquote> </li> <li>Option 2: Robots.txt disallow<blockquote> For URLs with unnecessary parameters, include a <code>/filtering/</code>directory that will be robots.txt disallow&#8217;d. This lets all search engines freely crawl good content, but will prevent crawling of the unwanted URLs. For instance, if my valuable parameters were item, category, and taste, and my unnecessary parameters were session-id and price. I may have the URL:<br /> <code>example.com/category.php?category=gummy-candies</code><br /> which could link to another URL valuable parameter such as taste:<br /> <code>example.com/category.php?category=gummy-candies&amp;taste=sour</code>. <br /> but for the unnecessary parameters, such as price, the URL includes a predefined directory, <code>/filtering/</code>:<br /> <code>example.com/filtering/category.php?category=gummy-candies&amp;price=5-10</code> <br /> which is then robots.txt disallowed<br /> <blockquote> <code>User-agent: *<br />Disallow: /filtering/</code> </blockquote> </blockquote> </li> <li>Option 3: Separate hosts<blockquote> If you&#8217;re not using a CDN (sites using CDNs don&#8217;t have this flexibility easily available in Webmaster Tools), consider placing any URLs with unnecessary parameters on a separate host -- for example, creating main host <code>www.example.com</code> and secondary host, <code>www2.example.com</code>. On the secondary host (www2), set the <a href="http://support.google.com/webmasters/answer/48620">Crawl rate in Webmaster Tools</a> to &#8220;low&#8221; while keeping the main host&#8217;s crawl rate as high as possible. This would allow for more full crawling of the main host URLs and reduces Googlebot&#8217;s focus on your unnecessary URLs. <br /> <ul> <li>Be sure there remains at least one click path to all items on the main host.</li> <li>If you&#8217;d like to consolidate indexing signals, consider adding rel=&#8221;canonical&#8221; from the secondary host to a superset URL on the main host (e.g. <code>www2.example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>price=5-10</b></code> may specify a rel=&#8221;canonical&#8221; to the superset &#8220;sour gummy candies&#8221; view-all page, <code>www.example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<b>page=all</b></code>).</li> </ul> </blockquote> </li> </ul> </li> </ul> <ul> <li>Prevent clickable links when no products exist for the category/filter.</li> <li>Add logic to the display of URL parameters.</li> <ul> <li>Remove unnecessary parameters rather than continuously append values.</li> <ul> <li>Avoid <br /><code>example.com/product?<span style="color: #ff0040; font-weight: bold;">cat=gummy-candy&amp;cat=lollipops</span>&amp;cat=gummy-candy&amp;item=swedish-fish</code>)</li> </ul> <li>Help the searcher experience by keeping a consistent parameter order based on searcher-valuable parameters listed first (as the URL may be visible in search results) and searcher-irrelevant parameters last (e.g., session ID).</li> <ul> <li>Avoid <br /><code>example.com/category.php?<span style="color: #ff8000; font-weight: bold;">session-id=123&amp;tracking-id=456</span>&amp;category=gummy-candies&amp;taste=sour</code></li> </ul> </ul> <li>Improve indexing of individual content pages with <a href="https://support.google.com/webmasters/answer/139394">rel=&#8221;canonical&#8221;</a> to the preferred version of a page. rel=&#8221;canonical&#8221; can be used across hostnames or domains.</li> <li>Improve indexing of paginated content (such as page=1 and page=2 of the category &#8220;gummy candies&#8221;) by either:</li> <ul> <li>Adding rel=&#8221;canonical&#8221; from individual component pages in the series to the category&#8217;s &#8220;view-all&#8221; page (e.g. page=1, page=2, and page=3 of &#8220;gummy candies&#8221; with rel=&#8221;canonical&#8221; to <code>category=gummy-candies&amp;page=all</code>) while making sure that it&#8217;s still a good searcher experience (e.g., the page loads quickly).</li> </ul> <li>Be sure that if using JavaScript to dynamically sort/filter/hide content without updating the URL, there still exists URLs on your site that searchers would find valuable, such as main category and product pages that can be crawled and indexed. For instance, avoid using only the homepage (i.e., one URL) for your entire site with JavaScript to dynamically change content with user navigation -- &nbsp;this would unfortunately provide searchers with only one URL to reach all of your content. Also, check that performance isn&#8217;t negatively affected with dynamic filtering, as this could undermine the user experience.</li> <li>Include only canonical URLs in <a href="https://support.google.com/webmasters/answer/156184">Sitemaps</a>.</li> </ul> </blockquote> <h4 id="existing-sites"> Best practices for existing sites with faceted navigation</h4> <blockquote> First, know that the best practices listed above (e.g., rel=&#8221;nofollow&#8221; for unnecessary URLs) still apply if/when you&#8217;re able to implement a larger redesign. Otherwise, with existing faceted navigation, it&#8217;s likely that a large crawl space was already discovered by search engines. Therefore, focus on reducing further growth of unnecessary pages crawled by Googlebot and consolidating indexing signals.<br /> <ul> <li>Use parameters (when possible) with standard encoding and key=value pairs.</li> <li>Verify that values that don&#8217;t change page content, such as session IDs, are implemented as standard key=value pairs, not directories</li> <li>Prevent clickable anchors when products exist for the category/filter (i.e., don&#8217;t allow clicks or URLs to be created when no items exist for the filter) </li> <li>Add logic to the display of URL parameters</li> <ul> <li>Remove unnecessary parameters rather than continuously append values (e.g., avoid <code>example.com/product?<span style="color: #ff0040; font-weight: bold;">cat=gummy-candy&amp;cat=lollipops</span>&amp;cat=gummy-candy&amp;item=swedish-fish</code>)</li> </ul> <li>Help the searcher experience by keeping a consistent parameter order based on searcher-valuable parameters listed first (as the URL may be visible in search results) and searcher-irrelevant parameters last (e.g., avoid <code>example.com/category?<span style="color: #ff8000; font-weight: bold;">session-id=123&amp;tracking-id=456</span>&amp;category=gummy-candies&amp;taste=sour&amp;</code> in favor of <code>example.com/category.php?category=gummy-candies&amp;taste=sour&amp;<span style="color: #ff8000; font-weight: bold;">session-id=123&amp;tracking-id=456</span></code>)</li> <li>Configure <a href="https://support.google.com/webmasters/answer/1235687">Webmaster Tools URL Parameters</a> if you have strong understanding of the URL parameter behavior on your site (make sure that there is still a clear click path to each individual item/article). For instance, with URL Parameters in Webmaster Tools, you can list the parameter name, the parameters effect on the page content, and how you&#8217;d like Googlebot to crawl URLs containing the parameter.<br /> <br /><div style="text-align: center;"> <a href="https://1.bp.blogspot.com/-nWkuSOy0_pM/WMKr9VHnOBI/AAAAAAAAgwE/VHdohAuElJA3RhTq5KMsNyVuMIkDqBbnwCLcB/s1600/http_2.bp.blogspot.com_-hMY39qOiPxE_UvrwgEMEMXI_AAAAAAAAA0I_GYEtZecJxyE_s1600_Screen%252BShot%252B2014-02-04%252Bat%252B7.28.52%252BPM.png" imageanchor="1"><img border="0" height="145" src="https://1.bp.blogspot.com/-nWkuSOy0_pM/WMKr9VHnOBI/AAAAAAAAgwE/VHdohAuElJA3RhTq5KMsNyVuMIkDqBbnwCLcB/s400/http_2.bp.blogspot.com_-hMY39qOiPxE_UvrwgEMEMXI_AAAAAAAAA0I_GYEtZecJxyE_s1600_Screen%252BShot%252B2014-02-04%252Bat%252B7.28.52%252BPM.png" width="400" /></a> <br /> <i>URL Parameters in Webmaster Tools allows the site owner to provide information about the site&#8217;s parameters and recommendations for Googlebot&#8217;s behavior.</i></div> </li> <br /> <li>Be sure that if using JavaScript to dynamically sort/filter/hide content without updating the URL, there still exists URLs on your site that searchers would find valuable, such as main category and product pages that can be crawled and indexed. For instance, avoid using only the homepage (i.e., one URL) for your entire site with JavaScript to dynamically change content with user navigation -- &nbsp;this would unfortunately provide searchers with only one URL to reach all of your content. Also, check that performance isn&#8217;t negatively affected with dynamic filtering, as this could undermine the user experience.</li> <li>Improve indexing of individual content pages with <a href="https://support.google.com/webmasters/answer/139394">rel=&#8221;canonical&#8221;</a> to the preferred version of a page. rel=&#8221;canonical&#8221; can be used across hostnames or domains.</li> <li>Improve indexing of paginated content (such as page=1 and page=2 of the category &#8220;gummy candies&#8221;) by either:</li> <ul> <li>Adding rel=&#8221;canonical&#8221; from individual component pages in the series to the category&#8217;s &#8220;view-all&#8221; page (e.g. page=1, page=2, and page=3 of &#8220;gummy candies&#8221; with rel=&#8221;canonical&#8221; to <code>category=gummy-candies&amp;page=all</code>) while making sure that it&#8217;s still a good searcher experience (e.g., the page loads quickly).</li> </ul> <li>Include only canonical URLs in <a href="https://support.google.com/webmasters/answer/156184">Sitemaps</a>.</li> </ul> </blockquote> Remember that commonly, the simpler you can keep it, the better. Questions? Please ask in our <a href="https://productforums.google.com/forum/#!categories/webmasters/crawling-indexing--ranking">Webmaster discussion forum</a>.<br /> <br /> <span class="byline-author">Written by <a href="https://plus.google.com/u/0/+MaileOhye/posts">Maile Ohye</a>, Developer Programs Tech Lead, and Mehmet Aktuna, Crawl Team</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:Faceted navigation best (and 5 of the worst) practices&url=https://webmasters.googleblog.com/2014/02/faceted-navigation-best-and-5-of-worst.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/02/faceted-navigation-best-and-5-of-worst.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/02/faceted-navigation-best-and-5-of-worst.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> </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'> &#59530; </i> </a> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://webmasters.googleblog.com/search?updated-max=2014-04-30T02:06:00-07:00&max-results=7&reverse-paginate=true&hl=en' id='Blog1_blog-pager-newer-link' title='Newer Posts'> <i class='material-icons'> &#58820; </i> </a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://webmasters.googleblog.com/search?updated-max=2014-02-12T03:33:00-08:00&max-results=7&hl=en' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'> &#58824; </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'> &#58821; </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> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/localization?hl=en'> localization </a> <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'> &#58055; </i> <h2> Archive </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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 collapsed'> <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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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 expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'> &#58823; </i> &#160; </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 expanded'> <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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </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/&amp;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'] = 'AOuZoY6CJbukEIIr-VpxEyxrv7PknJ2T4Q:1739801373612';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d32069983','//webmasters.googleblog.com/2014/02/?hl\x3den','32069983'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '32069983', 'title': 'Official Google Webmaster Central Blog', 'url': 'https://webmasters.googleblog.com/2014/02/?hl\x3den', 'canonicalUrl': 'https://webmasters.googleblog.com/2014/02/', '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': 'archive', 'pageName': 'February 2014', 'pageTitle': 'Official Google Webmaster Central Blog: February 2014', '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/2014/02/?hl\x3den', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': true, 'isLabelSearch': false, 'archive': {'year': 2014, 'month': 2, 'rangeMessage': 'Showing posts from February, 2014'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false}, '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>

Pages: 1 2 3 4 5 6 7 8 9 10