CINXE.COM
Official Google Webmaster Central Blog: August 2015
<!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: August 2015 </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/2015/08/' 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/2015/08/' 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/2015/08/' property='og:url'/> <meta content='Official Google Webmaster Central Blog' property='og:title'/> <meta content='Official news on crawling and indexing sites for the Google index' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { display: inline-block; background-size: contain; z-index: 1; height: 46px; overflow: hidden; margin-top: 4px; margin-right: 8px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner .google-logo { height: 40px; margin-top: 3px; } .header-inner .google-logo img { height: 42px; } .header-title h2 { font-size: 32px; line-height: 40px; } .header-desc { bottom: 24px; position: absolute; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <script type='text/javascript'> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-18009-4', 'auto', 'blogger'); ga('blogger.send', 'pageview'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=32069983&zx=8855dad6-3029-4476-9a6a-423344a04200' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=32069983&zx=8855dad6-3029-4476-9a6a-423344a04200' 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='8220559803998862484' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2015/08/with-new-search-analytics-api-its-now.html?hl=en' itemprop='url' title='An update on CSV download scripts'> An update on CSV download scripts </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, August 31, 2015 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>With the <a href="//googlewebmastercentral.blogspot.com/2015/08/introducing-search-analytics-api.html">new Search Analytics API</a>, it's now time to gradually say goodbye to the <a href="//googlewebmastercentral.blogspot.com/2011/12/download-search-queries-data-using.html">old CSV download scripts</a> for information on queries & rankings. We'll be turning off access to these downloads on October 20, 2015. </p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5UfBjVSjQN2ftmR0QYYbZ0OE-4XuFAfamCkDwLgwiVQ_tmBYKiXa9t7QXpJHFaGXMY1hqIp-sYIDkreqQtqMCEY_qsH31q_h0F-g8DSPdtVVtLCYP_d2ee8KOBSBN1NFMN87P/s1600/api-csv-selfie.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5UfBjVSjQN2ftmR0QYYbZ0OE-4XuFAfamCkDwLgwiVQ_tmBYKiXa9t7QXpJHFaGXMY1hqIp-sYIDkreqQtqMCEY_qsH31q_h0F-g8DSPdtVVtLCYP_d2ee8KOBSBN1NFMN87P/s540/api-csv-selfie.png" /></a></p> <p>These download scripts have helped various sites & tools to get information on queries, impressions, clicks, and rankings over the years. However, they didn't use the <a href="https://support.google.com/webmasters/answer/6155685?hl=en">new Search Analytics</a> data, and relied on the deprecated Client Login API.</p> <p>Farewell, CSV downloads, you've served us (and many webmasters!) well, but it's time to move on. We're already seeing lots of usage with the new API. Are you already doing something neat with the API? Let us know in the comments!</p> <span class="byline-author">Posted by <a href="//plus.google.com/+johnmueller?rel=rel">John Mueller</a>, Webmaster Trends (and query, impression, & click trends) Analyst</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>With the <a href="//googlewebmastercentral.blogspot.com/2015/08/introducing-search-analytics-api.html">new Search Analytics API</a>, it's now time to gradually say goodbye to the <a href="//googlewebmastercentral.blogspot.com/2011/12/download-search-queries-data-using.html">old CSV download scripts</a> for information on queries & rankings. We'll be turning off access to these downloads on October 20, 2015. </p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5UfBjVSjQN2ftmR0QYYbZ0OE-4XuFAfamCkDwLgwiVQ_tmBYKiXa9t7QXpJHFaGXMY1hqIp-sYIDkreqQtqMCEY_qsH31q_h0F-g8DSPdtVVtLCYP_d2ee8KOBSBN1NFMN87P/s1600/api-csv-selfie.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5UfBjVSjQN2ftmR0QYYbZ0OE-4XuFAfamCkDwLgwiVQ_tmBYKiXa9t7QXpJHFaGXMY1hqIp-sYIDkreqQtqMCEY_qsH31q_h0F-g8DSPdtVVtLCYP_d2ee8KOBSBN1NFMN87P/s540/api-csv-selfie.png" /></a></p> <p>These download scripts have helped various sites & tools to get information on queries, impressions, clicks, and rankings over the years. However, they didn't use the <a href="https://support.google.com/webmasters/answer/6155685?hl=en">new Search Analytics</a> data, and relied on the deprecated Client Login API.</p> <p>Farewell, CSV downloads, you've served us (and many webmasters!) well, but it's time to move on. We're already seeing lots of usage with the new API. Are you already doing something neat with the API? Let us know in the comments!</p> <span class="byline-author">Posted by <a href="//plus.google.com/+johnmueller?rel=rel">John Mueller</a>, Webmaster Trends (and query, impression, & click trends) Analyst</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:An update on CSV download scripts&url=https://webmasters.googleblog.com/2015/08/with-new-search-analytics-api-its-now.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/2015/08/with-new-search-analytics-api-its-now.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/2015/08/with-new-search-analytics-api-its-now.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/API?hl=en' rel='tag'> API </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/search%20console?hl=en' rel='tag'> search console </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/search%20queries?hl=en' rel='tag'> search queries </a> </span> </div> </div> </div> <div class='post' data-id='2547443833046475307' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html?hl=en' itemprop='url' title='#NoHacked: Fixing the Injected Gibberish URL Hack'> #NoHacked: Fixing the Injected Gibberish URL Hack </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, August 24, 2015 </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"> Today in our #NoHacked campaign, we’ll be discussing how to fix the injected gibberish URL hack we wrote about last week. Even if your site is not infected with this specific type of hack, many of these steps can be helpful for fixing other types of hacks. Follow along with discussions on <a href="http://twitter.com/googlewmc">Twitter</a> and <a href="//google.com/+googlewebmasters">Google+</a> using the #NoHacked tag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html">Part 1</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-how-to-recognise-and-protect.html">Part 2</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-using-two-factor.html">Part 3</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html">Part 4</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQzfESPYxlP7z94wS9BZf1qrLeKvnBRoQteY20rFYEYNv1FXhetJxmvfl0tnPY33iBJxquQRyen0dj0LIYdlIlE6GZPy7CRGM8sUCeww3n_N9sYBG80NdIAZ4W0s3pITLlPGAl/s1600/Fixing+Injected+URL+Hacking.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQzfESPYxlP7z94wS9BZf1qrLeKvnBRoQteY20rFYEYNv1FXhetJxmvfl0tnPY33iBJxquQRyen0dj0LIYdlIlE6GZPy7CRGM8sUCeww3n_N9sYBG80NdIAZ4W0s3pITLlPGAl/s640/Fixing+Injected+URL+Hacking.png" width="640" /></a></div> <ul left="" style="list-style-type: none;" text-align:=""> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#TempOffline">Temporarily Take your Site Offline</a></b></li> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#TreatingSite">Treating your Site</a></b></li> <ul style="list-style-type: none;"> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#Checkhtaccess">Checking your .htaccess file</a></i></li> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#IDMalicious">Identifying other malicious files</a></i></li> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#RemoveMalicious">Removing malicious content</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#IDVulnerability">Identifying and Fixing the Vulnerability</a></b></li> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#NextSteps">Next Steps</a></b></li> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#Appendix">Appendix</a></b></li> </ul> <div> <b><br /></b></div> <div> <b><br /></b></div> <b id="TempOffline">Temporarily Take your Site Offline</b><br /> <br /> Taking your site offline temporarily will prevent your site’s visitors from going to hacked pages and give you time to properly fix your site. If you keep your site online, you run the risk of getting compromised again as you clean up your site.<br /> <br /> <b id="TreatingSite">Treating your Site</b><br /> <br /> The next few steps require you to be comfortable making technical changes to your site. If you aren’t familiar or comfortable enough with your site to make these changes, it might be best to consult with or hire someone who is. However, reading through these steps will still be helpful.<br /> <br /> Before you start fixing your site, we advise that you back up your site. (This backed up version will still contain hacked content and should only be used if you accidentally remove a critical file.) If you’re unsure how to back up your site, ask your hosting provider for assistance or consult your content management system (CMS) documentation. As you work through the steps, any time you remove a file, make sure to keep a copy of the file as well.<br /> <br /> <i id="Checkhtaccess">Checking your .htaccess file</i><br /> <br /> In order to manipulate your site, this type of hack creates or alters the contents of your <a href="https://en.wikipedia.org/wiki/.htaccess">.htaccess file</a>. If you’re not sure where to find your .htaccess file, consult your server or CMS documentation.<br /> <br /> Check the contents of your .htaccess file for any suspicious content. If you’re not sure how to interpret the contents of the .htaccess file, you can read about it on the <a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html">Apache.org</a> documentation, ask in a help forum, or you can consult an expert. Here is an example of a .htaccess modified by this hack:<br /> <div style="text-align: left;"> </div> <code> </code> <br /> <ul style="list-style-type: none;"><code> <li><IfModule mod_rewrite.c> </li> <li> RewriteEngine On </li> <li> <span style="color: red;">#Visitors that visit your site from Google will be redirected</span> </li> <li> RewriteCond %{HTTP_REFERER} google\.com </li> <li> <span style="color: red;">#Visitors are redirected to a malicious PHP file called happypuppy.php </span></li> <li> RewriteRule (.*pf.*) /happypuppy.php?q=$1 [L] </li> <li></IfModule></li> </code></ul> <code> </code> <br /> <i id="IDMalicious">Identifying other malicious files</i><br /> <br /> The most common types of files that are modified or injected by this hack are JavaScript and PHP files. Hackers typically take two approaches: The first is to insert new PHP or JavaScript files on your server. The inserted files can sometimes be named something very similar to a legitimate file on your site like wp-cache.php versus the legitimate file wp_cache.php. The second approach is to alter legitimate files on your server and insert malicious content into these files. For example, if you have a template or plugin JavaScript file on your site, hackers might add malicious JavaScript to the file.<br /> <br /> For example, on <a href="http://www.example.com/">www.example.com</a> a malicious file named happypuppy.php, identified earlier in the .htaccess file, was injected into a folder on the site. However, the hackers also corrupted a legitimate JavaScript file called json2.js by adding malicious code to the file. Here is an example of a corrupted json2.js file. The malicious code is highlighted in red and has been added to the very bottom of the json2.js file:<br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNqFmKzp_-S27dE6CugmBblVlHsk9RHOWMxa_Dpu63UaqAofhWmES1eR1oiwCx-f5agtklaRZxWipdt6xtSsfUZ7JeW5AuglZNFlsTJyXtRH6M_Gzxq3EXyz4eazvJPzhN6UVh/s1600/Corrupt+json2.min.js+file.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNqFmKzp_-S27dE6CugmBblVlHsk9RHOWMxa_Dpu63UaqAofhWmES1eR1oiwCx-f5agtklaRZxWipdt6xtSsfUZ7JeW5AuglZNFlsTJyXtRH6M_Gzxq3EXyz4eazvJPzhN6UVh/s640/Corrupt+json2.min.js+file.png" width="640" /></a><br /> To effectively track down malicious files, you’ll need to understand the function of the JavaScript and PHP files on your site. You might need to consult your CMS documentation to help you. Once you know what the files do, you should have an easier time tracking down malicious files that don’t belong on your site.<br /> <br /> Also, check your site for any recently modified files. Template files that have been modified recently should be thoroughly investigated. Tools that can help you interpret obfuscated PHP files can be found in the Appendix.<br /> <br /> <i id="RemoveMalicious">Removing malicious content</i><br /> <br /> As mentioned previously, back up the contents of your site appropriately before you remove or alter any files. If you regularly make backups for your site, cleaning up your site might be as easy as restoring a clean backed-up version.<br /> <br /> However, if you do not regularly back up your site, you have a few alternatives. First, delete any malicious files that have been inserted on your site. For example, on www.example.com, you would delete the happypuppy.php file. For corrupted PHP or JavaScript files like json2.js, you’ll have to upload a clean version of those files to your site. If you use a CMS, consider reloading a fresh copy of the core CMS and plugin files on your site.<br /> <br /> <b id="IDVulnerability">Identifying and Fixing the Vulnerability</b><br /> <br /> Once you’ve removed the malicious file, you’ll want to track down and fix the vulnerability that allowed your site to be compromised, or you risk your site being hacked again. The vulnerability could be anything from a stolen password to outdated web software. Consult <a href="https://support.google.com/webmasters/answer/3013681">Google Webmaster Hacked Help</a> for ways to identify and fix the vulnerability. If you’re unable to figure out how your site was compromised, you should change your passwords for all your login credentials,update all your web software, and seriously consider getting more help to make sure everything is ok.<br /> <br /> <b id="NextSteps">Next Steps</b><br /> <br /> Once you’re done cleaning your site, use the Fetch as Google tool to check if the hacked pages still appear to Google. You'll need to bring your site back online to test with Fetch as Google. Don’t forget to check your home page for hacked content as well. If the hacked content is gone, then, congratulations, your site should be clean! If the Fetch as Google tool is still seeing hacked content on those hacked pages, you still have work to do. Check again for any malicious PHP or JavaScript files you might have missed.<br /> <br /> Bring your site back online as soon as you’re sure your site is clean and the vulnerability has been fixed. If there was a <a href="https://support.google.com/webmasters/answer/2604824">manual action</a> on your site, you’ll want to file a <a href="https://support.google.com/webmasters/answer/35843">reconsideration request</a> in Search Console. Also, think about ways to protect your site from future attacks. You can read more about how to secure your site from future attacks in the <a href="//www.google.com/webmasters/hacked/">Google Hacked Webmaster Help Center</a>.<br /> <br /> We hope this post has helped you gain a better understanding of how to fix your site from the injected gibberish URL hack. Be sure to follow our social campaigns and share any tips or tricks you might have about staying safe on the web with the #nohacked hashtag.<br /> <br /> If you have any additional questions, you can post in the <a href="https://productforums.google.com/forum/#!forum/webmasters">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> on August 26.<br /> <br /> <b id="Appendix">Appendix</b><br /> <br /> <i>These are tools that may be useful. Google doesn't run or support them.</i><br /> <br /> <b><a href="http://ddecode.com/phpdecoder/">PHP Decoder,</a> <a href="http://www.unphp.net/">UnPHP</a></b>: Hackers will often distort PHP files to make them harder to read. Use these tools to clean up the PHP files so you understand better what the PHP file is doing.<br /> <br /> <span class="byline-author">Posted by: Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Today in our #NoHacked campaign, we’ll be discussing how to fix the injected gibberish URL hack we wrote about last week. Even if your site is not infected with this specific type of hack, many of these steps can be helpful for fixing other types of hacks. Follow along with discussions on <a href="http://twitter.com/googlewmc">Twitter</a> and <a href="//google.com/+googlewebmasters">Google+</a> using the #NoHacked tag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html">Part 1</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-how-to-recognise-and-protect.html">Part 2</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-using-two-factor.html">Part 3</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html">Part 4</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQzfESPYxlP7z94wS9BZf1qrLeKvnBRoQteY20rFYEYNv1FXhetJxmvfl0tnPY33iBJxquQRyen0dj0LIYdlIlE6GZPy7CRGM8sUCeww3n_N9sYBG80NdIAZ4W0s3pITLlPGAl/s1600/Fixing+Injected+URL+Hacking.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQzfESPYxlP7z94wS9BZf1qrLeKvnBRoQteY20rFYEYNv1FXhetJxmvfl0tnPY33iBJxquQRyen0dj0LIYdlIlE6GZPy7CRGM8sUCeww3n_N9sYBG80NdIAZ4W0s3pITLlPGAl/s640/Fixing+Injected+URL+Hacking.png" width="640" /></a></div> <ul left="" style="list-style-type: none;" text-align:=""> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#TempOffline">Temporarily Take your Site Offline</a></b></li> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#TreatingSite">Treating your Site</a></b></li> <ul style="list-style-type: none;"> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#Checkhtaccess">Checking your .htaccess file</a></i></li> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#IDMalicious">Identifying other malicious files</a></i></li> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#RemoveMalicious">Removing malicious content</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#IDVulnerability">Identifying and Fixing the Vulnerability</a></b></li> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#NextSteps">Next Steps</a></b></li> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-fixing-injected-gibberish-url_24.html#Appendix">Appendix</a></b></li> </ul> <div> <b><br /></b></div> <div> <b><br /></b></div> <b id="TempOffline">Temporarily Take your Site Offline</b><br /> <br /> Taking your site offline temporarily will prevent your site’s visitors from going to hacked pages and give you time to properly fix your site. If you keep your site online, you run the risk of getting compromised again as you clean up your site.<br /> <br /> <b id="TreatingSite">Treating your Site</b><br /> <br /> The next few steps require you to be comfortable making technical changes to your site. If you aren’t familiar or comfortable enough with your site to make these changes, it might be best to consult with or hire someone who is. However, reading through these steps will still be helpful.<br /> <br /> Before you start fixing your site, we advise that you back up your site. (This backed up version will still contain hacked content and should only be used if you accidentally remove a critical file.) If you’re unsure how to back up your site, ask your hosting provider for assistance or consult your content management system (CMS) documentation. As you work through the steps, any time you remove a file, make sure to keep a copy of the file as well.<br /> <br /> <i id="Checkhtaccess">Checking your .htaccess file</i><br /> <br /> In order to manipulate your site, this type of hack creates or alters the contents of your <a href="https://en.wikipedia.org/wiki/.htaccess">.htaccess file</a>. If you’re not sure where to find your .htaccess file, consult your server or CMS documentation.<br /> <br /> Check the contents of your .htaccess file for any suspicious content. If you’re not sure how to interpret the contents of the .htaccess file, you can read about it on the <a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html">Apache.org</a> documentation, ask in a help forum, or you can consult an expert. Here is an example of a .htaccess modified by this hack:<br /> <div style="text-align: left;"> </div> <code> </code> <br /> <ul style="list-style-type: none;"><code> <li><IfModule mod_rewrite.c> </li> <li> RewriteEngine On </li> <li> <span style="color: red;">#Visitors that visit your site from Google will be redirected</span> </li> <li> RewriteCond %{HTTP_REFERER} google\.com </li> <li> <span style="color: red;">#Visitors are redirected to a malicious PHP file called happypuppy.php </span></li> <li> RewriteRule (.*pf.*) /happypuppy.php?q=$1 [L] </li> <li></IfModule></li> </code></ul> <code> </code> <br /> <i id="IDMalicious">Identifying other malicious files</i><br /> <br /> The most common types of files that are modified or injected by this hack are JavaScript and PHP files. Hackers typically take two approaches: The first is to insert new PHP or JavaScript files on your server. The inserted files can sometimes be named something very similar to a legitimate file on your site like wp-cache.php versus the legitimate file wp_cache.php. The second approach is to alter legitimate files on your server and insert malicious content into these files. For example, if you have a template or plugin JavaScript file on your site, hackers might add malicious JavaScript to the file.<br /> <br /> For example, on <a href="http://www.example.com/">www.example.com</a> a malicious file named happypuppy.php, identified earlier in the .htaccess file, was injected into a folder on the site. However, the hackers also corrupted a legitimate JavaScript file called json2.js by adding malicious code to the file. Here is an example of a corrupted json2.js file. The malicious code is highlighted in red and has been added to the very bottom of the json2.js file:<br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNqFmKzp_-S27dE6CugmBblVlHsk9RHOWMxa_Dpu63UaqAofhWmES1eR1oiwCx-f5agtklaRZxWipdt6xtSsfUZ7JeW5AuglZNFlsTJyXtRH6M_Gzxq3EXyz4eazvJPzhN6UVh/s1600/Corrupt+json2.min.js+file.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNqFmKzp_-S27dE6CugmBblVlHsk9RHOWMxa_Dpu63UaqAofhWmES1eR1oiwCx-f5agtklaRZxWipdt6xtSsfUZ7JeW5AuglZNFlsTJyXtRH6M_Gzxq3EXyz4eazvJPzhN6UVh/s640/Corrupt+json2.min.js+file.png" width="640" /></a><br /> To effectively track down malicious files, you’ll need to understand the function of the JavaScript and PHP files on your site. You might need to consult your CMS documentation to help you. Once you know what the files do, you should have an easier time tracking down malicious files that don’t belong on your site.<br /> <br /> Also, check your site for any recently modified files. Template files that have been modified recently should be thoroughly investigated. Tools that can help you interpret obfuscated PHP files can be found in the Appendix.<br /> <br /> <i id="RemoveMalicious">Removing malicious content</i><br /> <br /> As mentioned previously, back up the contents of your site appropriately before you remove or alter any files. If you regularly make backups for your site, cleaning up your site might be as easy as restoring a clean backed-up version.<br /> <br /> However, if you do not regularly back up your site, you have a few alternatives. First, delete any malicious files that have been inserted on your site. For example, on www.example.com, you would delete the happypuppy.php file. For corrupted PHP or JavaScript files like json2.js, you’ll have to upload a clean version of those files to your site. If you use a CMS, consider reloading a fresh copy of the core CMS and plugin files on your site.<br /> <br /> <b id="IDVulnerability">Identifying and Fixing the Vulnerability</b><br /> <br /> Once you’ve removed the malicious file, you’ll want to track down and fix the vulnerability that allowed your site to be compromised, or you risk your site being hacked again. The vulnerability could be anything from a stolen password to outdated web software. Consult <a href="https://support.google.com/webmasters/answer/3013681">Google Webmaster Hacked Help</a> for ways to identify and fix the vulnerability. If you’re unable to figure out how your site was compromised, you should change your passwords for all your login credentials,update all your web software, and seriously consider getting more help to make sure everything is ok.<br /> <br /> <b id="NextSteps">Next Steps</b><br /> <br /> Once you’re done cleaning your site, use the Fetch as Google tool to check if the hacked pages still appear to Google. You'll need to bring your site back online to test with Fetch as Google. Don’t forget to check your home page for hacked content as well. If the hacked content is gone, then, congratulations, your site should be clean! If the Fetch as Google tool is still seeing hacked content on those hacked pages, you still have work to do. Check again for any malicious PHP or JavaScript files you might have missed.<br /> <br /> Bring your site back online as soon as you’re sure your site is clean and the vulnerability has been fixed. If there was a <a href="https://support.google.com/webmasters/answer/2604824">manual action</a> on your site, you’ll want to file a <a href="https://support.google.com/webmasters/answer/35843">reconsideration request</a> in Search Console. Also, think about ways to protect your site from future attacks. You can read more about how to secure your site from future attacks in the <a href="//www.google.com/webmasters/hacked/">Google Hacked Webmaster Help Center</a>.<br /> <br /> We hope this post has helped you gain a better understanding of how to fix your site from the injected gibberish URL hack. Be sure to follow our social campaigns and share any tips or tricks you might have about staying safe on the web with the #nohacked hashtag.<br /> <br /> If you have any additional questions, you can post in the <a href="https://productforums.google.com/forum/#!forum/webmasters">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> on August 26.<br /> <br /> <b id="Appendix">Appendix</b><br /> <br /> <i>These are tools that may be useful. Google doesn't run or support them.</i><br /> <br /> <b><a href="http://ddecode.com/phpdecoder/">PHP Decoder,</a> <a href="http://www.unphp.net/">UnPHP</a></b>: Hackers will often distort PHP files to make them harder to read. Use these tools to clean up the PHP files so you understand better what the PHP file is doing.<br /> <br /> <span class="byline-author">Posted by: Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:#NoHacked: Fixing the Injected Gibberish URL Hack&url=https://webmasters.googleblog.com/2015/08/nohacked-fixing-injected-gibberish-url_24.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/2015/08/nohacked-fixing-injected-gibberish-url_24.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/2015/08/nohacked-fixing-injected-gibberish-url_24.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='2915601100188261393' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2015/08/nohacked-identifying-and-diagnosing.html?hl=en' itemprop='url' title='#NoHacked: Identifying and Diagnosing Injected Gibberish URL Hacking'> #NoHacked: Identifying and Diagnosing Injected Gibberish URL Hacking </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, August 17, 2015 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> Today in our #NoHacked campaign, we’ll be discussing how to identify and diagnose a trending hack. Even if your site is not infected with this specific type of hack, many of these steps can be helpful for other types of hacks. Next week, we’ll be following up with a post about fixing this hack. Follow along with discussions on <a href="http://twitter.com/googlewmc">Twitter</a> and <a href="//google.com/+googlewebmasters">Google+</a> using the #NoHacked tag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html">Part 1</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-how-to-recognise-and-protect.html">Part 2</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-using-two-factor.html">Part 3</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <ul list-style:none="" style="list-style-type: none; text-align: left;"> <li><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#IDSymptoms"><b>Identifying Symptoms</b></a></li> <ul style="list-style-type: none;"> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Gibberish">Gibberish pages</a></i></li> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Cloaking">Cloaking</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Monitoring">Monitoring your Site</a></b></li> <ul style="list-style-type: none;"> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Surge">Looking for a surge in website traffic</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Tracking">Tracking your site appearance in search results</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Alerts">Signing up for alerts from Google</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Diagnosing">Diagnosing your Site</a></b></li> <ul style="list-style-type: none;"> <li> <i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Tools">Gathering tools that can help</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#HackedPages">Checking for hacked pages</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#CloakingonHackedPages">Checking for cloaking on hacked pages</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Appendix">Appendix</a></b></li> </ul> </div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gtekofNQ_ORiabPkge9tDZnFVUXNJJ-FUDhwXnk7YkDrDPusID1hSyldRScUxqY2NtqMJyC0KjlxMC_DRjLlVSYQ2YletcNiO_zT7hsqO7pAWLsGDHh92ynn2H6UPuUYMmaq/s1600/%2523Nohacked+Injected+URL+Pt1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gtekofNQ_ORiabPkge9tDZnFVUXNJJ-FUDhwXnk7YkDrDPusID1hSyldRScUxqY2NtqMJyC0KjlxMC_DRjLlVSYQ2YletcNiO_zT7hsqO7pAWLsGDHh92ynn2H6UPuUYMmaq/s640/%2523Nohacked+Injected+URL+Pt1.png" width="640" /></a><br /> <b></b><br /> <h4 id="IDSymptoms"> <b>Identifying Symptoms</b></h4> <br /> <span id="Gibberish"><i>Gibberish pages</i></span></div> <br /> <span style="font-weight: normal;">The hallmark of this type of hacking is spammy pages that appear to be added to the site. These pages contain keyword-rich gibberish text, links, and images in order to manipulate search engines. For example, the hack creates pages like <a href="http://www.example.com/pf/download-2012-free-full-crack.html">www.example.com/pf/download-2012-free-full-crack.html</a> which contain gibberish content like below:</span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCYaNqv9GjjDLCO2tEHucBXQuWlWCH5szwcljWFUeM2PYK14SYiwvdm05dAoopo367ipwTfruBo8yRg_cOFxCIB5JOaAnuLQmfYN5x3JHPiAHk_3bAVASKtkp8KG5RT4_adgOF/s1600/nohacked+example+page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCYaNqv9GjjDLCO2tEHucBXQuWlWCH5szwcljWFUeM2PYK14SYiwvdm05dAoopo367ipwTfruBo8yRg_cOFxCIB5JOaAnuLQmfYN5x3JHPiAHk_3bAVASKtkp8KG5RT4_adgOF/s640/nohacked+example+page.png" width="640" /></a></div> <i id="Cloaking"> Cloaking</i><br /> <br /> This hack often uses <a href="https://support.google.com/webmasters/answer/66355?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">cloaking</a> to avoid webmasters from detecting it. Cloaking refers to the practice of presenting different content or URLs to webmasters, visitors, and search engines. For example, the webmaster of the site might be shown an empty or HTTP 404 page which would lead the webmaster to believe the hack is no longer present. However, users who visit the page from search results will still be redirected to spammy pages, and search engines that crawl the site will still be presented with gibberish content.<br /> <br /> <h4 id="Monitoring"><b>Monitoring your Site</b></h4><br /> Properly monitoring your site for hacking allows you to remedy the hack more quickly and minimize damage the hack might cause. There are several ways you can monitor your site for this particular hack.<br /> <br /> <i id="Surge"> Looking for a surge in website traffic</i> <br /> <br /> Because this hack creates many keyword heavy URLs that are crawled by search engines, check to see if there was any recent, unexpected surges in traffic. If you do see a surge, use the <a href="https://www.google.com/webmasters/tools/search-analytics?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Search Analytics tool</a> in Search Console to investigate whether or not hacked pages are the source of the unusual website traffic.<br /> <br /> <i id="Tracking"> Tracking your site appearance in search results</i> <br /> <br /> Periodically checking how your site appears in search results is good practice for all webmasters. It also allows you to spot symptoms of hacking. You can check your site in Google by using the <a href="https://support.google.com/websearch/answer/2466433?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">site: operator</a> on your site (i.e. search for site:example.com). If you see any gibberish links associated with your site or a label that says “This site may be hacked.”, your site might have been compromised. <br /> <br /> <i id="Alerts"> Signing up for alerts from Google</i><br /> <br /> We recommend you sign up for <a href="//google.com/webmasters/tools/?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Search Console</a>. In Search Console, you can check if Google has detected any hacked pages on your site by looking in the <a href="https://support.google.com/webmasters/answer/2604824?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Manual Actions Viewer</a> or <a href="https://www.google.com/webmasters/tools/security-issues?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Security Issues</a> report. Search Console will also message you if Google has detected any hacked pages on your site.<br /> <br /> Also, we recommend you set up <a href="//google.com/alerts?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Google Alerts</a> for your site. Google Alerts will email you if Google finds new results for a search query. For example, you can set up a Google Alert for your site in conjunction with <a href="https://www.google.com/search?q=common+spam+terms">common spammy terms</a> like [site:example.com cheap software]. If you receive an email that Google has returned a new query for that term, you should immediately check what pages on your site are triggering that alert.<br /> <br /> <h4 id="Diagnosing"><b>Diagnosing your Site</b></h4><br /> <i id="Tools"> Gathering tools that can help</i> <br /> <br /> In Search Console, you have access to the <a href="https://support.google.com/webmasters/answer/6066468?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Fetch as Google tool</a> in Search Console. The Fetch as Google tool allows you to see a page as Google sees it. This will help you to identify cloaked hacked pages. Additional tools from others, both paid and free, are listed in the appendix to this post.<br /> <br /> <i id="HackedPages"> Checking for hacked pages</i> <br /> <br /> If you’re not sure if there is hacked content on your site, the <a href="https://support.google.com/webmasters/troubleshooter/6155978?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Google Hacked Troubleshooter</a> can walk you through some basic checks. For this type of hack, you’ll want to perform a site: search on your site. Look for suspicious pages and URLs loaded with strange keywords in the search results. If you have a large number of pages on your site, you might need to try a more targeted query. <a href="https://www.google.com/search?q=common+spam+terms">Find common spam terms</a> and append them to your site: search query like [site:example.com cheap software]. Try this with several spammy terms to see if any results show up.<br /> <br /> <i id="CloakingonHackedPages"> Checking for cloaking on hacked pages</i> <br /> <br /> Because this type of hacking employs cloaking to prevent accurate detection, it’s very important that you use the Fetch as Google tool in Search Console to check the spammy pages you found in the previous step. Remember, cloaked pages can show you an HTTP 404 page that tricks you into thinking the hack is fixed even if the page is still live. You should also use Fetch as Google on your homepage as well. This type of hack often adds text or links to the homepage.<br /> <br /> We hope this post has given you a better idea of how to identify and diagnose hacks that inject gibberish URLs on your site. Tune in next week where we’ll be explaining how to remove this hack from your site. Be sure to follow our social campaigns and share any tips or tricks you might have about staying safe on the web with the #NoHacked hashtag.<br /> <br /> If you have any additional questions, you can post in the <a href="https://support.google.com/webmasters/go/community?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <span id="goog_424353634"></span><a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> <span id="goog_424353635"></span>on August 26.<br /> <br /> <h4 id="Appendix">Appendix</h4><br /> <i>These are tools that scan your site and may be able to find problematic content. Other than VirusTotal, Google doesn't run or support them.</i><br /> <br /> <a href="https://www.virustotal.com/">Virus Total</a>, <a href="http://aw-snap.info/">Aw-snap.info</a>, <a href="https://sitecheck.sucuri.net/">Sucuri Site Check</a>, <a href="https://wepawet.iseclab.org/">Wepawet</a>: These are tools that may be able to scan your site for problematic content. Keep in mind that these scanners can’t guarantee that they will identify every type of problematic content.<br /> <br /> <span class="byline-author">Posted by Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> Today in our #NoHacked campaign, we’ll be discussing how to identify and diagnose a trending hack. Even if your site is not infected with this specific type of hack, many of these steps can be helpful for other types of hacks. Next week, we’ll be following up with a post about fixing this hack. Follow along with discussions on <a href="http://twitter.com/googlewmc">Twitter</a> and <a href="//google.com/+googlewebmasters">Google+</a> using the #NoHacked tag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html">Part 1</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-how-to-recognise-and-protect.html">Part 2</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-using-two-factor.html">Part 3</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <ul list-style:none="" style="list-style-type: none; text-align: left;"> <li><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#IDSymptoms"><b>Identifying Symptoms</b></a></li> <ul style="list-style-type: none;"> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Gibberish">Gibberish pages</a></i></li> <li><i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Cloaking">Cloaking</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Monitoring">Monitoring your Site</a></b></li> <ul style="list-style-type: none;"> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Surge">Looking for a surge in website traffic</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Tracking">Tracking your site appearance in search results</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Alerts">Signing up for alerts from Google</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Diagnosing">Diagnosing your Site</a></b></li> <ul style="list-style-type: none;"> <li> <i><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Tools">Gathering tools that can help</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#HackedPages">Checking for hacked pages</a></i></li> <li><i> <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#CloakingonHackedPages">Checking for cloaking on hacked pages</a></i></li> </ul> <li><b><a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-identifying-and-diagnosing.html#Appendix">Appendix</a></b></li> </ul> </div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gtekofNQ_ORiabPkge9tDZnFVUXNJJ-FUDhwXnk7YkDrDPusID1hSyldRScUxqY2NtqMJyC0KjlxMC_DRjLlVSYQ2YletcNiO_zT7hsqO7pAWLsGDHh92ynn2H6UPuUYMmaq/s1600/%2523Nohacked+Injected+URL+Pt1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gtekofNQ_ORiabPkge9tDZnFVUXNJJ-FUDhwXnk7YkDrDPusID1hSyldRScUxqY2NtqMJyC0KjlxMC_DRjLlVSYQ2YletcNiO_zT7hsqO7pAWLsGDHh92ynn2H6UPuUYMmaq/s640/%2523Nohacked+Injected+URL+Pt1.png" width="640" /></a><br /> <b></b><br /> <h4 id="IDSymptoms"> <b>Identifying Symptoms</b></h4> <br /> <span id="Gibberish"><i>Gibberish pages</i></span></div> <br /> <span style="font-weight: normal;">The hallmark of this type of hacking is spammy pages that appear to be added to the site. These pages contain keyword-rich gibberish text, links, and images in order to manipulate search engines. For example, the hack creates pages like <a href="http://www.example.com/pf/download-2012-free-full-crack.html">www.example.com/pf/download-2012-free-full-crack.html</a> which contain gibberish content like below:</span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCYaNqv9GjjDLCO2tEHucBXQuWlWCH5szwcljWFUeM2PYK14SYiwvdm05dAoopo367ipwTfruBo8yRg_cOFxCIB5JOaAnuLQmfYN5x3JHPiAHk_3bAVASKtkp8KG5RT4_adgOF/s1600/nohacked+example+page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCYaNqv9GjjDLCO2tEHucBXQuWlWCH5szwcljWFUeM2PYK14SYiwvdm05dAoopo367ipwTfruBo8yRg_cOFxCIB5JOaAnuLQmfYN5x3JHPiAHk_3bAVASKtkp8KG5RT4_adgOF/s640/nohacked+example+page.png" width="640" /></a></div> <i id="Cloaking"> Cloaking</i><br /> <br /> This hack often uses <a href="https://support.google.com/webmasters/answer/66355?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">cloaking</a> to avoid webmasters from detecting it. Cloaking refers to the practice of presenting different content or URLs to webmasters, visitors, and search engines. For example, the webmaster of the site might be shown an empty or HTTP 404 page which would lead the webmaster to believe the hack is no longer present. However, users who visit the page from search results will still be redirected to spammy pages, and search engines that crawl the site will still be presented with gibberish content.<br /> <br /> <h4 id="Monitoring"><b>Monitoring your Site</b></h4><br /> Properly monitoring your site for hacking allows you to remedy the hack more quickly and minimize damage the hack might cause. There are several ways you can monitor your site for this particular hack.<br /> <br /> <i id="Surge"> Looking for a surge in website traffic</i> <br /> <br /> Because this hack creates many keyword heavy URLs that are crawled by search engines, check to see if there was any recent, unexpected surges in traffic. If you do see a surge, use the <a href="https://www.google.com/webmasters/tools/search-analytics?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Search Analytics tool</a> in Search Console to investigate whether or not hacked pages are the source of the unusual website traffic.<br /> <br /> <i id="Tracking"> Tracking your site appearance in search results</i> <br /> <br /> Periodically checking how your site appears in search results is good practice for all webmasters. It also allows you to spot symptoms of hacking. You can check your site in Google by using the <a href="https://support.google.com/websearch/answer/2466433?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">site: operator</a> on your site (i.e. search for site:example.com). If you see any gibberish links associated with your site or a label that says “This site may be hacked.”, your site might have been compromised. <br /> <br /> <i id="Alerts"> Signing up for alerts from Google</i><br /> <br /> We recommend you sign up for <a href="//google.com/webmasters/tools/?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Search Console</a>. In Search Console, you can check if Google has detected any hacked pages on your site by looking in the <a href="https://support.google.com/webmasters/answer/2604824?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Manual Actions Viewer</a> or <a href="https://www.google.com/webmasters/tools/security-issues?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Security Issues</a> report. Search Console will also message you if Google has detected any hacked pages on your site.<br /> <br /> Also, we recommend you set up <a href="//google.com/alerts?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Google Alerts</a> for your site. Google Alerts will email you if Google finds new results for a search query. For example, you can set up a Google Alert for your site in conjunction with <a href="https://www.google.com/search?q=common+spam+terms">common spammy terms</a> like [site:example.com cheap software]. If you receive an email that Google has returned a new query for that term, you should immediately check what pages on your site are triggering that alert.<br /> <br /> <h4 id="Diagnosing"><b>Diagnosing your Site</b></h4><br /> <i id="Tools"> Gathering tools that can help</i> <br /> <br /> In Search Console, you have access to the <a href="https://support.google.com/webmasters/answer/6066468?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Fetch as Google tool</a> in Search Console. The Fetch as Google tool allows you to see a page as Google sees it. This will help you to identify cloaked hacked pages. Additional tools from others, both paid and free, are listed in the appendix to this post.<br /> <br /> <i id="HackedPages"> Checking for hacked pages</i> <br /> <br /> If you’re not sure if there is hacked content on your site, the <a href="https://support.google.com/webmasters/troubleshooter/6155978?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Google Hacked Troubleshooter</a> can walk you through some basic checks. For this type of hack, you’ll want to perform a site: search on your site. Look for suspicious pages and URLs loaded with strange keywords in the search results. If you have a large number of pages on your site, you might need to try a more targeted query. <a href="https://www.google.com/search?q=common+spam+terms">Find common spam terms</a> and append them to your site: search query like [site:example.com cheap software]. Try this with several spammy terms to see if any results show up.<br /> <br /> <i id="CloakingonHackedPages"> Checking for cloaking on hacked pages</i> <br /> <br /> Because this type of hacking employs cloaking to prevent accurate detection, it’s very important that you use the Fetch as Google tool in Search Console to check the spammy pages you found in the previous step. Remember, cloaked pages can show you an HTTP 404 page that tricks you into thinking the hack is fixed even if the page is still live. You should also use Fetch as Google on your homepage as well. This type of hack often adds text or links to the homepage.<br /> <br /> We hope this post has given you a better idea of how to identify and diagnose hacks that inject gibberish URLs on your site. Tune in next week where we’ll be explaining how to remove this hack from your site. Be sure to follow our social campaigns and share any tips or tricks you might have about staying safe on the web with the #NoHacked hashtag.<br /> <br /> If you have any additional questions, you can post in the <a href="https://support.google.com/webmasters/go/community?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <span id="goog_424353634"></span><a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> <span id="goog_424353635"></span>on August 26.<br /> <br /> <h4 id="Appendix">Appendix</h4><br /> <i>These are tools that scan your site and may be able to find problematic content. Other than VirusTotal, Google doesn't run or support them.</i><br /> <br /> <a href="https://www.virustotal.com/">Virus Total</a>, <a href="http://aw-snap.info/">Aw-snap.info</a>, <a href="https://sitecheck.sucuri.net/">Sucuri Site Check</a>, <a href="https://wepawet.iseclab.org/">Wepawet</a>: These are tools that may be able to scan your site for problematic content. Keep in mind that these scanners can’t guarantee that they will identify every type of problematic content.<br /> <br /> <span class="byline-author">Posted by Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:#NoHacked: Identifying and Diagnosing Injected Gibberish URL Hacking&url=https://webmasters.googleblog.com/2015/08/nohacked-identifying-and-diagnosing.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/2015/08/nohacked-identifying-and-diagnosing.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/2015/08/nohacked-identifying-and-diagnosing.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='6050103138223173451' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2015/08/nohacked-using-two-factor.html?hl=en' itemprop='url' title='#NoHacked: Using two-factor authentication to protect your site'> #NoHacked: Using two-factor authentication to protect your site </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, August 10, 2015 </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"> Today in our #nohacked campaign, we’ll be talking about two-factor authentication. Follow along with discussions on <a href="https://twitter.com/googlewmc">Twitter</a> and <a href="https://plus.google.com/+GoogleWebmasters">Google+</a> using the #NoHacked tag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html">Part 1</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-how-to-recognise-and-protect.html">Part 2</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsJoPCl8UdmMFBSf9kKPlygGeRqYaKMNci1APOz_nIpw8Xm6lQ1_p4MC9uoRVxD71f1McOWiBTnTxuBWQU7XR72bbtuAGOmuMdnIxtFGnuMqbTC_nhUMAbBkQ-qAHNQZCn8U_g/s1600/%2523nohacked+2fa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsJoPCl8UdmMFBSf9kKPlygGeRqYaKMNci1APOz_nIpw8Xm6lQ1_p4MC9uoRVxD71f1McOWiBTnTxuBWQU7XR72bbtuAGOmuMdnIxtFGnuMqbTC_nhUMAbBkQ-qAHNQZCn8U_g/s640/%2523nohacked+2fa.png" width="640" /></a></div> There was once a time when having a relatively strong password or answering a security question was a reasonable way to protect your online accounts. However, according to <a href="https://www.stopbadware.org/files/compromised-websites-an-owners-perspective.pdf">a study from Stop Badware</a>, stolen credentials is a common way for hackers to compromise websites. Additionally, even reputable sites can fall victim to hacking, potentially exposing your personal data like passwords to attackers.<br /> <br /> Fortunately, two-factor authentication can help you keep your accounts safer. Two-factor authentication relies on an additional source of verification, in conjunction with your password, to access your account. You might have used two-factor authentication before if you have ever been prompted for a code from your phone when logging into a social media site or from a chip card reader when logging into a bank account. Two-factor authentication makes it more difficult for someone to log into your account even if they have stolen your password.<br /> <br /> As a website owner, you should enable two-factor authentication on your accounts where possible. A compromised account can cause you to lose important personal data and valuable reputation for your site. Two-factor authentication can give you the ease of mind that your accounts and data are safer. <br /> <br /> Google currently offers <a href="https://www.google.com/landing/2step/">2-Step Verification</a> for all of its accounts, including accounts from Google Apps domains. You can use your phone, a hardware token like a <a href="https://support.google.com/accounts/answer/6103523">Security Key</a>, or the <a href="https://support.google.com/accounts/answer/1066447">Google Authenticator app</a> to verify your account. These options give you flexibility when traveling or when you don’t have access to the mobile network.<br /> <br /> If your hosting provider, <a href="https://en.wikipedia.org/wiki/List_of_content_management_systems">Content Management System</a> (CMS), or any type of platform you use for managing your site doesn’t offer two-factor authentication, ask their customer support for an option to use two-factor authentication in the future.They can build two-factor authentication into their own platforms using <a href="https://github.com/google/google-authenticator">Google’s open source code</a>. If your platform or hoster doesn’t provide strong protection against unauthorized access consider hosting your content elsewhere. You can see a list of websites that support two-factor authentication, including what types of authentication options they offer, at <a href="https://twofactorauth.org/">https://twofactorauth.org/</a>.<br /> <br /> If you have any additional questions, you can post in the <a href="https://support.google.com/webmasters/go/community?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> on August 26.<br /> <br /> <span class="byline-author">Posted by: Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Today in our #nohacked campaign, we’ll be talking about two-factor authentication. Follow along with discussions on <a href="https://twitter.com/googlewmc">Twitter</a> and <a href="https://plus.google.com/+GoogleWebmasters">Google+</a> using the #NoHacked tag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html">Part 1</a>, <a href="http://googlewebmastercentral.blogspot.com/2015/08/nohacked-how-to-recognise-and-protect.html">Part 2</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsJoPCl8UdmMFBSf9kKPlygGeRqYaKMNci1APOz_nIpw8Xm6lQ1_p4MC9uoRVxD71f1McOWiBTnTxuBWQU7XR72bbtuAGOmuMdnIxtFGnuMqbTC_nhUMAbBkQ-qAHNQZCn8U_g/s1600/%2523nohacked+2fa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsJoPCl8UdmMFBSf9kKPlygGeRqYaKMNci1APOz_nIpw8Xm6lQ1_p4MC9uoRVxD71f1McOWiBTnTxuBWQU7XR72bbtuAGOmuMdnIxtFGnuMqbTC_nhUMAbBkQ-qAHNQZCn8U_g/s640/%2523nohacked+2fa.png" width="640" /></a></div> There was once a time when having a relatively strong password or answering a security question was a reasonable way to protect your online accounts. However, according to <a href="https://www.stopbadware.org/files/compromised-websites-an-owners-perspective.pdf">a study from Stop Badware</a>, stolen credentials is a common way for hackers to compromise websites. Additionally, even reputable sites can fall victim to hacking, potentially exposing your personal data like passwords to attackers.<br /> <br /> Fortunately, two-factor authentication can help you keep your accounts safer. Two-factor authentication relies on an additional source of verification, in conjunction with your password, to access your account. You might have used two-factor authentication before if you have ever been prompted for a code from your phone when logging into a social media site or from a chip card reader when logging into a bank account. Two-factor authentication makes it more difficult for someone to log into your account even if they have stolen your password.<br /> <br /> As a website owner, you should enable two-factor authentication on your accounts where possible. A compromised account can cause you to lose important personal data and valuable reputation for your site. Two-factor authentication can give you the ease of mind that your accounts and data are safer. <br /> <br /> Google currently offers <a href="https://www.google.com/landing/2step/">2-Step Verification</a> for all of its accounts, including accounts from Google Apps domains. You can use your phone, a hardware token like a <a href="https://support.google.com/accounts/answer/6103523">Security Key</a>, or the <a href="https://support.google.com/accounts/answer/1066447">Google Authenticator app</a> to verify your account. These options give you flexibility when traveling or when you don’t have access to the mobile network.<br /> <br /> If your hosting provider, <a href="https://en.wikipedia.org/wiki/List_of_content_management_systems">Content Management System</a> (CMS), or any type of platform you use for managing your site doesn’t offer two-factor authentication, ask their customer support for an option to use two-factor authentication in the future.They can build two-factor authentication into their own platforms using <a href="https://github.com/google/google-authenticator">Google’s open source code</a>. If your platform or hoster doesn’t provide strong protection against unauthorized access consider hosting your content elsewhere. You can see a list of websites that support two-factor authentication, including what types of authentication options they offer, at <a href="https://twofactorauth.org/">https://twofactorauth.org/</a>.<br /> <br /> If you have any additional questions, you can post in the <a href="https://support.google.com/webmasters/go/community?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> on August 26.<br /> <br /> <span class="byline-author">Posted by: Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:#NoHacked: Using two-factor authentication to protect your site&url=https://webmasters.googleblog.com/2015/08/nohacked-using-two-factor.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/2015/08/nohacked-using-two-factor.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/2015/08/nohacked-using-two-factor.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='post' data-id='2866139104980074237' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2015/08/introducing-search-analytics-api.html?hl=en' itemprop='url' title='Introducing the Search Analytics API'> Introducing the Search Analytics API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, August 05, 2015 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>With the great feedback from the <a href="https://support.google.com/webmasters/answer/6155685?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">Search Analytics</a> feature in Google Search Console, we've decided to make this data accessible for developers via API. We hope that the <a href="https://developers.google.com/webmaster-tools/v3/searchanalytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">Search Analytics API</a> will help you to bake search performance data into your apps and tools. </p> <p>If you've used any of Google’s other APIs, or maybe one of the existing Search Console APIs, then getting started will be easy! The <a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">how-to page</a> has examples in Python that you can use as recipes for your own programs. For example, you can use the API to:</p> <ul><li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#verify--the-presence-of-data">Verify the presence of data</a> (what's the most recent date you can request?)</li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-queries-sorted-by-click-count-descending">Top 10 queries by click count</a></li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-pages-sorted-by-click-count-descending">Top 10 pages</a></li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-queries-in-india-sorted-by-click-count-descending">Top 10 queries in India</a></li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-mobile-queries-in-india-sorted-by-click-count-descending">Top 10 mobile queries in India</a></li></ul> <p>What will you cook up with the new API? We're curious to see how new tools and apps that use this API will satisfy the hunger for even more information about your site's performance in Google Search! If you've integrated this API into a tool, we'd love to hear about it in the comments. If you've run into any questions about the API, feel free to drop by our <a href="https://support.google.com/webmasters/go/community?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">webmaster help forum</a>.</p> <br> <span class="byline-author">Posted by <a href="http://google.it/+johnmueller?rel=next&utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">John Mueller</a>, Webmaster Trends Analyst, Google Switzerland</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>With the great feedback from the <a href="https://support.google.com/webmasters/answer/6155685?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">Search Analytics</a> feature in Google Search Console, we've decided to make this data accessible for developers via API. We hope that the <a href="https://developers.google.com/webmaster-tools/v3/searchanalytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">Search Analytics API</a> will help you to bake search performance data into your apps and tools. </p> <p>If you've used any of Google’s other APIs, or maybe one of the existing Search Console APIs, then getting started will be easy! The <a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">how-to page</a> has examples in Python that you can use as recipes for your own programs. For example, you can use the API to:</p> <ul><li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#verify--the-presence-of-data">Verify the presence of data</a> (what's the most recent date you can request?)</li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-queries-sorted-by-click-count-descending">Top 10 queries by click count</a></li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-pages-sorted-by-click-count-descending">Top 10 pages</a></li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-queries-in-india-sorted-by-click-count-descending">Top 10 queries in India</a></li> <li><a href="https://developers.google.com/webmaster-tools/v3/how-tos/search_analytics?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api#top-10-mobile-queries-in-india-sorted-by-click-count-descending">Top 10 mobile queries in India</a></li></ul> <p>What will you cook up with the new API? We're curious to see how new tools and apps that use this API will satisfy the hunger for even more information about your site's performance in Google Search! If you've integrated this API into a tool, we'd love to hear about it in the comments. If you've run into any questions about the API, feel free to drop by our <a href="https://support.google.com/webmasters/go/community?utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">webmaster help forum</a>.</p> <br> <span class="byline-author">Posted by <a href="http://google.it/+johnmueller?rel=next&utm_source=tsq2apipost&utm_medium=blog&utm_campaign=tsq2api">John Mueller</a>, Webmaster Trends Analyst, Google Switzerland</span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:Introducing the Search Analytics API&url=https://webmasters.googleblog.com/2015/08/introducing-search-analytics-api.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/2015/08/introducing-search-analytics-api.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/2015/08/introducing-search-analytics-api.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/API?hl=en' rel='tag'> API </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/search%20console?hl=en' rel='tag'> search console </a> , <a class='label' href='https://webmasters.googleblog.com/search/label/search%20queries?hl=en' rel='tag'> search queries </a> </span> </div> </div> </div> <div class='post' data-id='915676236780326491' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://webmasters.googleblog.com/2015/08/nohacked-how-to-recognise-and-protect.html?hl=en' itemprop='url' title='#NoHacked: How to recognise and protect yourself against social engineering'> #NoHacked: How to recognise and protect yourself against social engineering </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, August 03, 2015 </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"> Today in our #NoHacked campaign, we’ll be talking about social engineering. Follow along with discussions on <a href="http://twitter.com/googlewmc">Twitter</a> and <a href="//google.com/+googlewebmasters">Google+</a> using the #nohacked hashtag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Part 1</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivk-jR2Y62zdwInVbraWeMJKKMI6799YcXkbVIHXD0DmZkCiOopHYW0XspcDtUkDcd1QAJns4gCLl6I5pnOloDadc1kxNqcbSY64BLRf7SZ1gG5beCaMfg6_LAB3_-7uRPPtfk/s1600/%2523nohacked+social+engineering.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivk-jR2Y62zdwInVbraWeMJKKMI6799YcXkbVIHXD0DmZkCiOopHYW0XspcDtUkDcd1QAJns4gCLl6I5pnOloDadc1kxNqcbSY64BLRf7SZ1gG5beCaMfg6_LAB3_-7uRPPtfk/s640/%2523nohacked+social+engineering.png" width="640" /></a></div> If you’ve spent some time on the web, you have more than likely encountered some form of <a href="https://en.wikipedia.org/wiki/Social_engineering_(security)">social engineering</a>. Social engineering attempts to extract confidential information from you by manipulating or tricking you in some way.<br /> <br /> <b>Phishing</b><br /> <br /> You might be familiar with phishing, one of the most common forms of social engineering. Phishing sites and emails mimic legitimate sites and trick you into entering confidential information like your username and password into these sites. A <a href="http://research.google.com/pubs/pub43469.html?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">recent study from Google</a> found that some phishing sites can trick victims 45% of the time! Once a phishing site has your information, the information will either be sold or be used to manipulate your accounts. the owners will either sell it or use it to manipulate your accounts.<br /> <br /> <b>Other Forms of Social Engineering </b><br /> <br /> As a site owner, phishing isn’t the only form of social engineering that you need to watch out for. One other form of social engineering comes from the software and tools used on your site. If you download or use any <a href="https://en.wikipedia.org/wiki/Content_management_system">Content Management System</a> (CMS), plug-ins, or add-ons, make sure that they come from reputable sources like directly from the developer’s site. Software from non-reputable sites can contain malicious exploits that allow hackers to gain access to your site.<br /> <br /> For example, Webmaster Wanda was recently hired by Brandon’s Pet Palace to help create a site. After sketching some designs, Wanda starts compiling the software she needs to build the site. However, she finds out that Photo Frame Beautifier, one of her favorite plug-ins, has been taken off the official CMS plug-in site and that the developer has decided to stop supporting the plug-in. She does a quick search and finds a site that offers an archive of old plug-ins. She downloads the plug-in and uses it to finish the site. Two months later, a notification in Search Console notifies Wanda that her client’s site has been hacked. She quickly scrambles to fix the hacked content and finds the source of the compromise. It turns out the Photo Frame Beautifier plug-in was modified by a third party to allow malicious parties to access the site. She removed the plug-in, fixed the hacked content, secured her site from future attacks, and filed a reconsideration request in Search Console. As you can see, an inadvertent oversight by Wanda led to her client's site being compromised.<br /> <br /> <b>Protecting Yourself from Social Engineering Attacks</b><br /> <br /> Social engineering is effective because it’s not obvious that there’s something wrong with what you’re doing. However, there are a few basic things you can do protect yourself from social engineering.<br /> <ul style="text-align: left;"> <li><b>Stay vigilant:</b> Whenever you enter confidential information online or install website software, have a healthy dose of skepticism. Check URLs to make sure you’re not typing confidential information into malicious sites. When installing website software make sure the software is coming from known, reputable sources like the developer’s site. </li> <li><b>Use two-factor authentication:</b> Two-factor authentication like Google’s <a href="https://www.google.com/landing/2step/?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">2-Step Verification</a> adds another layer of security that helps protect your account even if your password has been stolen. You should use two-factor authentication on all accounts where possible. We’ll be talking more in-depth next week about the benefits of two-factor authentication. </li> </ul> Additional resources about social engineering:<br /> <div> <ul style="text-align: left;"> <li>Learn more about <a href="https://support.google.com/accounts/answer/75061?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">how to protect yourself from phishing attacks</a> </li> <li><a href="https://www.google.com/safebrowsing/report_phish/?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Report a Phishing Page</a></li> <li><a href="https://support.google.com/faqs/answer/2952493?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Avoid and report Google scams</a> </li> <li><a href="https://support.google.com/wallet/answer/105822?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Identify "phishing" and "spoofing" emails</a> </li> </ul> <br /> If you have any additional questions, you can post in the <a href="https://support.google.com/webmasters/go/community?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> on August 26.<br /> <br /> <span class="byline-author">Posted by: Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Today in our #NoHacked campaign, we’ll be talking about social engineering. Follow along with discussions on <a href="http://twitter.com/googlewmc">Twitter</a> and <a href="//google.com/+googlewebmasters">Google+</a> using the #nohacked hashtag. (<a href="http://googlewebmastercentral.blogspot.com/2015/07/nohacked-how-to-avoid-being-target-of.html?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Part 1</a>)<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivk-jR2Y62zdwInVbraWeMJKKMI6799YcXkbVIHXD0DmZkCiOopHYW0XspcDtUkDcd1QAJns4gCLl6I5pnOloDadc1kxNqcbSY64BLRf7SZ1gG5beCaMfg6_LAB3_-7uRPPtfk/s1600/%2523nohacked+social+engineering.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivk-jR2Y62zdwInVbraWeMJKKMI6799YcXkbVIHXD0DmZkCiOopHYW0XspcDtUkDcd1QAJns4gCLl6I5pnOloDadc1kxNqcbSY64BLRf7SZ1gG5beCaMfg6_LAB3_-7uRPPtfk/s640/%2523nohacked+social+engineering.png" width="640" /></a></div> If you’ve spent some time on the web, you have more than likely encountered some form of <a href="https://en.wikipedia.org/wiki/Social_engineering_(security)">social engineering</a>. Social engineering attempts to extract confidential information from you by manipulating or tricking you in some way.<br /> <br /> <b>Phishing</b><br /> <br /> You might be familiar with phishing, one of the most common forms of social engineering. Phishing sites and emails mimic legitimate sites and trick you into entering confidential information like your username and password into these sites. A <a href="http://research.google.com/pubs/pub43469.html?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">recent study from Google</a> found that some phishing sites can trick victims 45% of the time! Once a phishing site has your information, the information will either be sold or be used to manipulate your accounts. the owners will either sell it or use it to manipulate your accounts.<br /> <br /> <b>Other Forms of Social Engineering </b><br /> <br /> As a site owner, phishing isn’t the only form of social engineering that you need to watch out for. One other form of social engineering comes from the software and tools used on your site. If you download or use any <a href="https://en.wikipedia.org/wiki/Content_management_system">Content Management System</a> (CMS), plug-ins, or add-ons, make sure that they come from reputable sources like directly from the developer’s site. Software from non-reputable sites can contain malicious exploits that allow hackers to gain access to your site.<br /> <br /> For example, Webmaster Wanda was recently hired by Brandon’s Pet Palace to help create a site. After sketching some designs, Wanda starts compiling the software she needs to build the site. However, she finds out that Photo Frame Beautifier, one of her favorite plug-ins, has been taken off the official CMS plug-in site and that the developer has decided to stop supporting the plug-in. She does a quick search and finds a site that offers an archive of old plug-ins. She downloads the plug-in and uses it to finish the site. Two months later, a notification in Search Console notifies Wanda that her client’s site has been hacked. She quickly scrambles to fix the hacked content and finds the source of the compromise. It turns out the Photo Frame Beautifier plug-in was modified by a third party to allow malicious parties to access the site. She removed the plug-in, fixed the hacked content, secured her site from future attacks, and filed a reconsideration request in Search Console. As you can see, an inadvertent oversight by Wanda led to her client's site being compromised.<br /> <br /> <b>Protecting Yourself from Social Engineering Attacks</b><br /> <br /> Social engineering is effective because it’s not obvious that there’s something wrong with what you’re doing. However, there are a few basic things you can do protect yourself from social engineering.<br /> <ul style="text-align: left;"> <li><b>Stay vigilant:</b> Whenever you enter confidential information online or install website software, have a healthy dose of skepticism. Check URLs to make sure you’re not typing confidential information into malicious sites. When installing website software make sure the software is coming from known, reputable sources like the developer’s site. </li> <li><b>Use two-factor authentication:</b> Two-factor authentication like Google’s <a href="https://www.google.com/landing/2step/?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">2-Step Verification</a> adds another layer of security that helps protect your account even if your password has been stolen. You should use two-factor authentication on all accounts where possible. We’ll be talking more in-depth next week about the benefits of two-factor authentication. </li> </ul> Additional resources about social engineering:<br /> <div> <ul style="text-align: left;"> <li>Learn more about <a href="https://support.google.com/accounts/answer/75061?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">how to protect yourself from phishing attacks</a> </li> <li><a href="https://www.google.com/safebrowsing/report_phish/?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Report a Phishing Page</a></li> <li><a href="https://support.google.com/faqs/answer/2952493?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Avoid and report Google scams</a> </li> <li><a href="https://support.google.com/wallet/answer/105822?utm_source=nohacked2post&utm_medium=blog&utm_campaign=nohacked">Identify "phishing" and "spoofing" emails</a> </li> </ul> <br /> If you have any additional questions, you can post in the <a href="https://support.google.com/webmasters/go/community?utm_source=nohacked4post&utm_medium=blog&utm_campaign=nohacked">Webmaster Help Forums</a> where a community of webmasters can help answer your questions. You can also join our <a href="https://plus.google.com/events/csqjnqe8vl28qbn526makjecobc">Hangout on Air about Security</a> on August 26.<br /> <br /> <span class="byline-author">Posted by: Eric Kuan, Webmaster Relations Specialist & Yuan Niu, Webspam Analyst</span></div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Webmaster Central Blog:#NoHacked: How to recognise and protect yourself against social engineering&url=https://webmasters.googleblog.com/2015/08/nohacked-how-to-recognise-and-protect.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/2015/08/nohacked-how-to-recognise-and-protect.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/2015/08/nohacked-how-to-recognise-and-protect.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://webmasters.googleblog.com/?hl=en'> <i class='material-icons'>  </i> </a> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://webmasters.googleblog.com/search?updated-max=2015-11-09T03:05:00-08:00&max-results=7&reverse-paginate=true&hl=en' id='Blog1_blog-pager-newer-link' title='Newer Posts'> <i class='material-icons'>  </i> </a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://webmasters.googleblog.com/search?updated-max=2015-08-03T10:53:00-07:00&max-results=7&hl=en' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'>  </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML9'> <div class='widget-content'> <a href="https://www.google.com/webmasters/tools/mobile-friendly/?utm_source=wmc-blog&utm_medium=referral&utm_campaign=blog-nav"><img src="https://lh3.googleusercontent.com/-osGJupx0-HY/VQta1nmaAPI/AAAAAAAACfs/UdMPzubsXFk/w80-h1368-no/blog%2Bpromo.png" align="left" width="80" /></a> Hey! <a href="https://search.google.com/test/mobile-friendly">Check here if your site is mobile-friendly.</a> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML10'> <div class='widget-content'> <div class='searchBox'> <input type='text' title='Search This Blog' placeholder='Search blog ...' /> </div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/accessibility?hl=en'> accessibility </a> <span dir='ltr'> 10 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/advanced?hl=en'> advanced </a> <span dir='ltr'> 195 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/AMP?hl=en'> AMP </a> <span dir='ltr'> 13 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Android?hl=en'> Android </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/API?hl=en'> API </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/apps?hl=en'> apps </a> <span dir='ltr'> 7 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/autocomplete?hl=en'> autocomplete </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/beginner?hl=en'> beginner </a> <span dir='ltr'> 173 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/CAPTCHA?hl=en'> CAPTCHA </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Chrome?hl=en'> Chrome </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/cms?hl=en'> cms </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/crawling%20and%20indexing?hl=en'> crawling and indexing </a> <span dir='ltr'> 158 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/encryption?hl=en'> encryption </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/events?hl=en'> events </a> <span dir='ltr'> 51 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/feedback%20and%20communication?hl=en'> feedback and communication </a> <span dir='ltr'> 83 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/forums?hl=en'> forums </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/general%20tips?hl=en'> general tips </a> <span dir='ltr'> 90 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/geotargeting?hl=en'> geotargeting </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20Assistant?hl=en'> Google Assistant </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20I%2FO?hl=en'> Google I/O </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20Images?hl=en'> Google Images </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/Google%20News?hl=en'> Google News </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/hacked%20sites?hl=en'> hacked sites </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/hangout?hl=en'> hangout </a> <span dir='ltr'> 2 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/hreflang?hl=en'> hreflang </a> <span dir='ltr'> 3 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/https?hl=en'> https </a> <span dir='ltr'> 5 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/images?hl=en'> images </a> <span dir='ltr'> 12 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/intermediate?hl=en'> intermediate </a> <span dir='ltr'> 205 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/interstitials?hl=en'> interstitials </a> <span dir='ltr'> 1 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/javascript?hl=en'> javascript </a> <span dir='ltr'> 8 </span> </li> <li> <a dir='ltr' href='https://webmasters.googleblog.com/search/label/job%20search?hl=en'> job search </a> <span dir='ltr'> 2 </span> </li> <li> <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'>  </i> <h2> Archive </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/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'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/?hl=en'> 2019 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2019/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/?hl=en'> 2018 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2018/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/?hl=en'> 2017 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2017/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/?hl=en'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2016/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/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 expanded'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2015/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/?hl=en'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2014/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/?hl=en'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2013/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/?hl=en'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2012/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/?hl=en'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2011/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/?hl=en'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2010/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/?hl=en'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2009/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/?hl=en'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2008/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/?hl=en'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/07/?hl=en'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/06/?hl=en'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/05/?hl=en'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/04/?hl=en'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/03/?hl=en'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/02/?hl=en'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2007/01/?hl=en'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/?hl=en'> 2006 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/12/?hl=en'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/11/?hl=en'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/10/?hl=en'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/09/?hl=en'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://webmasters.googleblog.com/2006/08/?hl=en'> Aug </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="https://googlewebmastercentral.blogspot.com/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Feed</h2> </a> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <div class='widget-content'> <div class='followgooglewrapper'> <script src="https://apis.google.com/js/plusone.js"></script></div> <div class="g-ytsubscribe class='followgooglewrapper'" data-channel="GoogleWebmasterHelp" data-layout="full"></div> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/intent/follow?original_referer=https://googlewebmastercentral.blogspot.com/&screen_name=googlewmc" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @googlewmc</span></button> <script> function sharingPopup (button) { var url = button.getAttribute("data-href"); window.open( url,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); } </script> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <div class='widget-content'> Give us feedback in our <a href="https://support.google.com/webmasters/go/community">Product Forums</a>. </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML8'> <h2 class='title'> Subscribe via email </h2> <div class='widget-content'> <form #nsubmit="window.open('https://www.feedburner.com/fb/a/emailverifySubmit?feedId=1092589', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" action="https://www.feedburner.com/fb/a/emailverify" style="border:1px solid #ccc;padding:3px;text-align:center;" target="popupwindow" method="post"><p>Enter your email address:</p><p><input style="width:140px" name="email" type="text"/></p><input value="https://feeds.feedburner.com/~e?ffid=1092589" name="url" type="hidden"/><input value="Official Google Webmaster Central Blog" name="title" type="hidden"/><input value="en_US" name="loc" type="hidden"/><input value="Subscribe" type="submit"/><p>Delivered by <a href="https://www.feedburner.com" target="_blank">FeedBurner</a></p></form> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY423o4GSjBVNJ7VaJUj9gtLBWKmRQ:1732412114919';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d32069983','//webmasters.googleblog.com/2015/08/?hl\x3den','32069983'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '32069983', 'title': 'Official Google Webmaster Central Blog', 'url': 'https://webmasters.googleblog.com/2015/08/?hl\x3den', 'canonicalUrl': 'https://webmasters.googleblog.com/2015/08/', '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/d78375fb222d99b3', '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': 'August 2015', 'pageTitle': 'Official Google Webmaster Central Blog: August 2015', '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/2015/08/?hl\x3den', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': true, 'isLabelSearch': false, 'archive': {'year': 2015, 'month': 8, 'rangeMessage': 'Showing posts from August, 2015'}}}]); _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>