{"id":17963,"date":"2019-02-20T11:27:47","date_gmt":"2019-02-20T09:27:47","guid":{"rendered":"https:\/\/cognitiveseo.com\/blog\/?p=17963"},"modified":"2026-06-09T15:51:15","modified_gmt":"2026-06-09T12:51:15","slug":"technical-seo-checklist","status":"publish","type":"post","link":"https:\/\/cognitiveseo.com\/blog\/17963\/technical-seo-checklist\/","title":{"rendered":"Technical SEO Checklist &#8211; The Roadmap to a Complete Technical SEO Audit"},"content":{"rendered":"<p>While technical SEO is a topic that only some of us make use of rigorously, it is a part of everybody\u2019s life. Well, which part of SEO is not technical if we were to look at it thoroughly?<\/p>\n<p>&nbsp;<\/p>\n<p>SEO issues, mistakes, tips and recommendations are all included in today&#8217;s technical checklist. We wanted to cover, in the most effective way possible, all the elements that are important for making your website user-friendly, efficient, visible in SERP, functional and easy to understand. Therefore, gather all the information you have on your site and let&#8217;s get better.\u00a0<\/p>\n<p>&nbsp;<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-18089\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Technical-seo-the-complete-list.jpg\" alt=\"Technical SEO the Complete List\" width=\"1024\" height=\"512\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Technical-seo-the-complete-list.jpg 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Technical-seo-the-complete-list-300x150.jpg 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Technical-seo-the-complete-list-768x384.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong><a href=\"#i\">I. Website Loading Speed Time<\/a><\/strong><\/p>\n<ol class=\"summaryext\">\n<li><strong><a href=\"#1\">Improve Server Response Time<\/a><\/strong><\/li>\n<li><strong><a href=\"#2\">Optimize &amp; Reduce Image Size Without Affecting the Visual Appearance<\/a><\/strong><\/li>\n<li><strong><a href=\"#3\">Minimize the Render-Blocking Javascript and CSS<\/a><\/strong><\/li>\n<li><strong><a href=\"#4\">Limit the Number of Resources &amp; HTTP Requests<\/a><\/strong><\/li>\n<li><strong><a href=\"#5\">Set a Browser Cache Policy<\/a><\/strong><\/li>\n<li><strong><a href=\"#6\">Reduce the Number of Redirects &amp; Eliminate Redirect Loop<\/a><\/strong><\/li>\n<li><strong><a href=\"#7\">Avoid Loading Your Site With Too Much Stuff<\/a><\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><strong><a href=\"#ii\">II. Website Functionality &amp; Usability<\/a><\/strong><\/p>\n<ol class=\"summaryext\" start=\"8\">\n<li><strong><a href=\"#8\">Make Sure Your Website Is Mobile Friendly<\/a><\/strong><\/li>\n<li><strong><a href=\"#9\">Build Search Engine Friendly URLs<\/a><\/strong><\/li>\n<li><strong><a href=\"#10\">Use the Secure Protocol \u2013 HTTPs<\/a><\/strong><\/li>\n<li><strong><a href=\"#11\">Set Preferred Version<\/a><\/strong><\/li>\n<li><strong><a href=\"#12\">Set up Correctly the 301 Redirects After Site Migration<\/a><\/strong><\/li>\n<li><strong><a href=\"#13\">Make Sure Your Resources Are Crawlable<\/a><\/strong><\/li>\n<li><strong><a href=\"#14\">Test Your Robots.Txt File to Show Google the Right Content<\/a><\/strong><\/li>\n<li><strong><a href=\"#15\">Verify the Indexed Content<\/a><\/strong><\/li>\n<li><strong><a href=\"#16\">Review Your Sitemap to Avoid Being Outdated<\/a><\/strong><\/li>\n<li><strong><a href=\"#17\">Review Blocked Resources (Hashbang URLs) with Fetch as Google<\/a><\/strong><\/li>\n<li><strong><a href=\"#18\">Optimize Your Crawl Budget<\/a><\/strong><\/li>\n<li><strong><a href=\"#19\">Avoid Meta Refresh for Moving a Site<\/a><\/strong><\/li>\n<li><strong><a href=\"#20\">Use Redirect for Flash Site to the HTML Version<\/a><\/strong><\/li>\n<li><strong><a href=\"#21\">Use Hreflang for Language and Regional URLs<\/a><\/strong><\/li>\n<li style=\"font-weight: 400;\"><strong><a href=\"#22\">Make Sure Your Tracking Is Working Properly<\/a><\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><strong><a href=\"#iii\">III. Content Optimization<\/a><\/strong><\/p>\n<ol class=\"summaryext\" start=\"23\">\n<li><strong><a href=\"#23\">Redirect\/Replace Broken Links &amp; Resources<\/a><\/strong><\/li>\n<li><strong><a href=\"#24\">Audit Internal Links to Improve Your Chances to Rank Higher<\/a><\/strong><\/li>\n<li><strong><a href=\"#25\">Get Rid of Duplicate Content<\/a><\/strong><\/li>\n<li><strong><a href=\"#26\">Use Structured Data to Highlight Your Content<\/a><\/strong><\/li>\n<li><strong><a href=\"#27\">Keep a Reasonable Number of Links On-Page<\/a><\/strong><\/li>\n<li><strong><a href=\"#28\"> Avoid Canonicalizing Blog Pages to the Root of the Blog<\/a><\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><strong><a href=\"#iv\">IV. User-Friendlier Website<\/a><\/strong><\/p>\n<ol class=\"summaryext\" start=\"29\">\n<li><strong><a href=\"#29\">Set up Your AMP the Right Way &#8211; Mobile Friendlier<\/a><\/strong><\/li>\n<li><strong><a href=\"#30\">Add Breadcrumbs for a Better Navigation<\/a><\/strong><\/li>\n<li><strong><a href=\"#31\">Test On as Many Platforms and Devices as Possible<\/a><\/strong><\/li>\n<\/ol>\n<p><strong><a href=\"#V\">V. Auditing Your Brand Signals for AI Visibility<\/a><\/strong><\/p>\n<div class='cgn-shortcode-anchor' id='i' style='height:50px'>&nbsp;<\/div>\n<h2><strong>I. Website Loading Speed Time<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>On the web, time is of the essence. Websites all around the world load pretty slow, with <strong><a title=\"Mobile Site Speed\" href=\"https:\/\/cognitiveseo.com\/blog\/14245\/google-amp-rank-better\/\">an average of 19 seconds<\/a><\/strong> to load on a 3G mobile network. Testing has confirmed that around 50% of users abandon a website if it doesn&#8217;t load faster than 3 seconds, on average.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>If your website loads slowly, you can lose a lot of visitors.<\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Disclaimer &amp; Warning:<\/strong><\/span> Playing with PHP, servers, databases, compression, minification and other similar things can really mess up your website if you don&#8217;t know what you&#8217;re doing. Make sure you have a proper backup of the files and the database before you start playing with these options.<\/p>\n<p>&nbsp;<\/p>\n<p>When we talk about speed, there are a few things we need to consider for making your site efficient and easy to access for your users. A faster loading speed time means higher conversion and lower bounce rates. For that, we\u2019ve selected some mandatory speed optimization suggestions. Using <a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/?hl=en\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Google\u2019s Speed Test<\/strong><\/a>, you can perform easy and short analyses of your website\u2019s loading speed time.<\/p>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-audit\/\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-20945\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png\" alt=\"Audit &amp; Fix Your Site Now\" width=\"459\" height=\"73\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png 459w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1-300x48.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<p>The tool has improved over the years and now you can see helpful charts for large websites to understand how each website is performing. One example is the Page Load Distributions.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-large wp-image-17964\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Page-load-distribution-1024x325.png\" alt=\"Page load distribution\" width=\"1024\" height=\"325\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Page-load-distribution-1024x325.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Page-load-distribution-300x95.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Page-load-distribution-768x244.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Page-load-distribution.png 1096w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The Page Load Distribution\u00a0uses two user-centric performance metrics: first, contentful paint (FCP) and DOMContentLoaded (DCL). The contentful paint marks the first bit of content there is on the screen when the browser starts to render pixels. The DOMContentLoaded marks the moment when the DOM is ready and there are no stylesheets that are blocking JavaScript execution. These two metrics show exactly which percentage of the content loads faster and the one that needs improvement by looking at those pages with average and slow speed (if you follow the chart).<\/p>\n<p>&nbsp;<\/p>\n<p>Another example includes the speed and optimization indicators which show where each website is situated. In the picture showed below, we can see the FCP and DCP score.\u00a0These two metrics use the data from the Chrome User Experience. It indicates the page&#8217;s median FCP (1.8s) and DCL (1.6s) ranks it in the middle third of all pages. That means this page has a low level of optimization because most of its resources are render-blocking.\u00a0<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-18078\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Speed-and-optimization.png\" alt=\"Speed and optimization\" width=\"338\" height=\"129\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Speed-and-optimization.png 338w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Speed-and-optimization-300x114.png 300w\" sizes=\"(max-width: 338px) 100vw, 338px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='1' style='height:50px'>&nbsp;<\/div>\n<h3><strong>1. Improve Server Response Time<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Server response time refers to the period of time it takes to load the HTML code to begin rendering the page from your server. Basicaly, when a you access a page, it sends a message to the server and the time it take to show you that information is considered to be the server response time.<\/p>\n<p>&nbsp;<\/p>\n<p>There are lots of reasons why a website has a slow response time. Google <strong><a href=\"https:\/\/developers.google.com\/speed\/docs\/insights\/Server\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">announces<\/a> <\/strong>just some of them:<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">There are dozens of potential factors which may slow down the response of your server: slow application logic, slow database queries, slow routing, frameworks, libraries, resource CPU starvation, or memory starvation.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16154\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_.png\" alt=\"Google logo\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_.png 1000w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-150x150.png 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-300x300.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-768x768.png 768w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Google Developers<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The server response time depends on how much time the Googlebot needs to access the data. Be it 1, 2 ,3 seconds or more, it will convert your visitor or not. Google says that you should keep the server response time under 200ms.<\/p>\n<p>&nbsp;<\/p>\n<p>There are 3 steps you need to follow to test and improve the server response time:<\/p>\n<ol>\n<li>Firstly, you need to <strong>collect<\/strong> the data and <strong>inspect<\/strong> why the server response time is high.<\/li>\n<li>Secondly, measure your server response time to <strong>identify<\/strong> and <strong>fix<\/strong> any future performance bottlenecks.<\/li>\n<li>Lastly, <strong>monitor<\/strong> any regression.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Many times, the reason why a website loads slow is the server itself. It&#8217;s very important to choose a high quality server from the beginning. Moving a site from a server to another might sound easy in theory, but it can be accompanied by a series of possible problems such as file size limits, wrong PHP versions and so on.<\/p>\n<p>&nbsp;<\/p>\n<p>Choosing the right server can be difficult because of pricing. If you&#8217;re a multinational corporation, you probably need dedicated servers, which are expensive. If you&#8217;re just starting out with a blog, shared hosting services will probably be enough, which are usually cheap.<\/p>\n<p>&nbsp;<\/p>\n<p>However, there are good shared hosting servers and bad dedicated ones and vice versa. Just don&#8217;t go after the cheapest or the most renowned. For example, Hostgator has excellent shared hosting services for the US, but not so excellent VPS ones.<\/p>\n<div class='cgn-shortcode-anchor' id='2' style='height:50px'>&nbsp;<\/div>\n<h3><strong>2. Optimize &amp; Reduce Image Size Without Affecting the Visual Appearance<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>If a website is loading really slow, one of the first things that come in mind are images. Why? Because they&#8217;re big. And we&#8217;re not talking in size on screen but in size on disk.<\/p>\n<p>&nbsp;<\/p>\n<p>Besides all the information an image has, as mentioned before, it also downloads lots of bytes on a page, making the server take more time than it should to load all the information. Instead, if we optimize the page, the server will perform faster because we removed the additional bytes and irrelevant data. The fewer the downloaded bytes by the browser, the faster a browser can download and render content on the screen.<\/p>\n<p>&nbsp;<\/p>\n<p>Since GIF, PNG, and JPEG are the most used types of extension for a picture, there are lots of solutions for compressing images.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17967\" style=\"width: 516px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17967\" class=\"size-full wp-image-17967\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/image-compressor.png\" alt=\"image-compressor\" width=\"506\" height=\"341\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/image-compressor.png 506w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/image-compressor-300x202.png 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><p id=\"caption-attachment-17967\" class=\"wp-caption-text\">Source: www.cssscript.com<\/p><\/div>\n<p>Here are a few tips and recommendations to optimize your images:<\/p>\n<ul>\n<li>Use PageSpeed Insights;<\/li>\n<li>Compress images automatically in bulk with dedicated tools (tinypng.com, compressor.io, optimizilla.com) and plugins (WP Smush, CW Image Optimizer, SEO Friendly Images) and so on;<\/li>\n<li>Use GIF and PNG formats because they are lossless. PNG is the desired format. The best compression ratio with a better visual quality can be achieved by PNG formats;<\/li>\n<li>Convert GIF to PNG if the image is not an animation;<\/li>\n<li>Remove transparency if all of the pixels are opaque for GIF and PNG;<\/li>\n<li>Reduce quality to 85% for JPEG formats; that way you reduce the file size and don\u2019t visually affect the quality;<\/li>\n<li>Use progressive format for images over 10k bytes;<\/li>\n<li>Prefer vector formats because they are resolution and scale independent;<\/li>\n<li>Remove unnecessary image metadata (camera information and settings);<\/li>\n<li>Use the option to \u201cSave for Web\u201d from dedicated editing programs.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17968\" style=\"width: 586px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17968\" class=\"size-full wp-image-17968\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Compress-images.jpg\" alt=\"Compress images\" width=\"576\" height=\"391\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Compress-images.jpg 576w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Compress-images-300x204.jpg 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><p id=\"caption-attachment-17968\" class=\"wp-caption-text\">Source: www.quora.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>If you&#8217;re using WordPress, you can choose a simple solution, such as the <a title=\"Smush Image Compresion\" href=\"https:\/\/wordpress.org\/plugins\/wp-smushit\/\" target=\"_blank\" rel=\"noopener noreferrer\">Smush Image Compression Plugin<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Update:<\/strong><\/span> As of 2019, Google PageSpeed Insights recommends using new format images such as JPEG2000 or WEBP. However, not all browsers and devices display these formats well yet, so regular image compression is still recommended, despite Google making efforts to push this.<\/p>\n<p>&nbsp;<\/p>\n<p>You can see which images are the biggest on your website with the <strong><a title=\"SEO Technical Site Audit\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\">Site Audit<\/a><\/strong> by CognitiveSEO. Simply head to the Images section, under Content. There you can see a list of images over 500kb (consider that for a photographer website, these images might be relatively small in size. However, it&#8217;s a good idea to display the full HD version under a sepparate download link).<\/p>\n<p>&nbsp;<\/p>\n<p>The only real issue with PageSpeed Insights is that you can only check one page at a time.<\/p>\n<p>&nbsp;<\/p>\n<p>We, here at CognitiveSEO, know that many of you want to check the PageSpeed Insights in bulk. So that&#8217;s why we&#8217;ve developed our tool to be able to bulk check the Page Speed Insights scores on multiple pages at the same time:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-21523 size-large\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-1024x455.png\" alt=\"Check PageSpeed Insights in Bulk\" width=\"1024\" height=\"455\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-1024x455.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-300x133.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-768x342.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool.png 1329w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>However, note that if you have a very big website, this process might take a very long time. It&#8217;s better if you opt out of this process at first before the first analysis is done (so that you may have all the data and start fixing some of the issues) and start the PageSpeed process later. It can take up to 10 seconds per page, so if you have 60,000 pages it can take a week.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21524\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-time-1024x388.png\" alt=\"\" width=\"1024\" height=\"388\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-time-1024x388.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-time-300x114.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-time-768x291.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/page-speed-bulk-check-tool-time.png 1152w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='3' style='height:50px'>&nbsp;<\/div>\n<h3><strong>3. Minimize the Render-Blocking Javascript and CSS &amp; Structure HTML Accordingly<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>When you perform a speed test with Google\u2019s PageSpeed Insights, you will see this message: <em>Eliminate render-blocking JavaScript and CSS in above-the-fold content in case you have some blocked resources that cause a delay in rendering your page<\/em>. Besides pointing out the resources, the tool also offers some great technical SEO tips regarding:<\/p>\n<ul>\n<li>Removing render-blocking JavaScript;<\/li>\n<li>Optimizing CSS delivery.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>You can <a href=\"https:\/\/developers.google.com\/speed\/docs\/insights\/BlockingJS\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>remove render-blocking JavaScript<\/strong><\/a> by following Google\u2019s guidelines and avoid or minimize the use of blocking JavaScript using three methods:\u00a0<\/p>\n<ul>\n<li>Inline JavaScript;<\/li>\n<li>Make JavaScript Asynchronous;<\/li>\n<li>Defer loading of JavaScript.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>If Google detects a page which delays the time to first render because it contains blocking external stylesheets, then you should <a href=\"https:\/\/developers.google.com\/speed\/docs\/insights\/OptimizeCSSDelivery\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>optimize CSS delivery<\/strong><\/a>. In this case, you have two options:<\/p>\n<ul>\n<li>For <a href=\"https:\/\/unused-css.com\/blog\/optimising-css-for-improved-page-load-speed\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>small external CSS<\/strong><\/a> resources, it is recommended to inline a small CSS file and help the browser to render the page;<\/li>\n<li>For large CSS files, you have to use <a href=\"https:\/\/developers.google.com\/speed\/docs\/insights\/PrioritizeVisibleContent\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Prioritize Visible Content<\/strong><\/a> to reduce the size of the above-the-fold content, inline CSS necessary for rendering it and then defer loading the remaining style.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>PageSpeed shows which files need to be optimized through the <a href=\"https:\/\/developers.google.com\/speed\/docs\/insights\/MinifyResources\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>minifying technique<\/strong><\/a>. When we talk about resources, we understand HTML, CSS, and JavaScript resources. Basically, the tool will indicate a list of HTML resources, CSS resources, and JavaScript resources, depending on the situation. Below you can see an example of such kind:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-17965\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-JavaScript-Resources-1024x266.png\" alt=\"Minify JavaScript Resources\" width=\"1024\" height=\"266\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-JavaScript-Resources-1024x266.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-JavaScript-Resources-300x78.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-JavaScript-Resources-768x200.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-JavaScript-Resources.png 1096w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>For each kind of resources, you have individual options:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/kangax\/html-minifier\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>HTMLMinifier<\/strong><\/a> to minify HTML;<\/li>\n<li><a href=\"https:\/\/github.com\/ben-eb\/cssnano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>CSSNano<\/strong><\/a> and <a href=\"https:\/\/github.com\/css\/csso\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">csso <\/a>to minify CSS;<\/li>\n<li><a href=\"https:\/\/github.com\/mishoo\/UglifyJS2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>UglifyJS<\/strong><\/a> to minify JavaScript.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Below you can see an example on how to minify your CSS:<\/p>\n<div id=\"attachment_17966\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17966\" class=\"size-large wp-image-17966\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/css-minifier-1024x474.png\" alt=\"css minifier\" width=\"1024\" height=\"474\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/css-minifier-1024x474.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/css-minifier-300x139.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/css-minifier-768x355.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/css-minifier.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-17966\" class=\"wp-caption-text\">Source: www.keycdn.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>There are <a href=\"https:\/\/developers.google.com\/web\/fundamentals\/performance\/optimizing-content-efficiency\/optimize-encoding-and-transfer#minification-preprocessing--context-specific-optimizations\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>3 processes<\/strong><\/a> that need to be followed in the minifying process, explained by<a href=\"https:\/\/twitter.com\/igrigorik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong> Ilya Grigorik<\/strong><\/a>, Web performance engineer at Google:<\/p>\n<ol>\n<li><strong>Compress the data.<\/strong> After you eliminate the unnecessary resources, you need to compress the ones that the browser needs to download. The process consists in reducing the size of the data to help the website load the content faster.<\/li>\n<li><strong>Optimize the resources<\/strong>. Depending on what sort of information you want to provide on your site, make an inventory for your files and keep only the one that is relevant, to avoid keeping irrelevant data. After you decide which information is relevant to you, you\u2019ll be able to see what kind of content-specific optimizations you\u2019ll have to do.<\/li>\n<\/ol>\n<blockquote>\n<p>Let\u2019s take, for example, a photography website that needs to have pictures with a lot of information, such as camera settings, camera type, date, location, author and other information. That information is crucial for the particular website, while for another website it might be irrelevant.<\/p>\n<\/blockquote>\n<ol start=\"3\">\n<li><strong>Gzip compression<\/strong> is best used for text-based data. In the process, you are able to compress web pages and style sheets before sending them to the browser. It works wonders for CSS files and HTML because these types of resources have a lot of repeated text and white spaces. The nice part of Gzip is that it temporarily replaces the similar strings within a text file to make the overall file size smaller.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<iframe class=\"lazy\" width=\"100%\" height=\"615\" data-lazy-type=\"iframe\" data-src=\"https:\/\/www.youtube.com\/embed\/Mjab_aZsdxw\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\" src=\"https:\/\/www.youtube.com\/embed\/Mjab_aZsdxw\"><\/iframe>\n<p>&nbsp;<\/p>\n<p>For WordPress users there are simpler solutions:<\/p>\n<ol>\n<li><strong>\u00a0Autoptimize<\/strong> plugin to fix render blocking scripts and CSS. You need to install the plugin and afterward you can find it in <strong>Settings \u00bb Autoptimize<\/strong> to configure the settings. All you have to do is check the box for JavaScript and CSS, in our case, and click on<strong> Save Changes<\/strong>.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17971\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17971\" class=\"wp-image-17971 size-large\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Autoptimize-CSS-and-JavaScript-1024x660.png\" alt=\"Autoptimize CSS and JavaScript\" width=\"1024\" height=\"660\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Autoptimize-CSS-and-JavaScript-1024x660.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Autoptimize-CSS-and-JavaScript-300x193.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Autoptimize-CSS-and-JavaScript-768x495.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Autoptimize-CSS-and-JavaScript.png 1154w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-17971\" class=\"wp-caption-text\">Source: www.webid-online.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li><strong>W3 Total Cache<\/strong> to fix render-blocking JavaScript. This is another tool provided for WordPress users and it requires a little more work. After you install it, you need to go to <strong>Performance \u00bb General Settings<\/strong> and look for the Minify section.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17972\" style=\"width: 713px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17972\" class=\"size-full wp-image-17972\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-scripts-with-W3-Total-Cache.png\" alt=\"Minify scripts with W3 Total Cache\" width=\"703\" height=\"608\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-scripts-with-W3-Total-Cache.png 703w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Minify-scripts-with-W3-Total-Cache-300x259.png 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><p id=\"caption-attachment-17972\" class=\"wp-caption-text\">Source: www.factoriadigital.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Check the enable box from the Minify option and then in <strong>Manual<\/strong> mode. In the end, click on <strong>Save all settings<\/strong> and add the scripts and CSS that you want to minify. After that, you\u2019re set.<\/p>\n<p>&nbsp;<\/p>\n<p>However, don&#8217;t get tricked by Google. The truth is that PageSpeed Insights is just a guideline. For example, PageSpeed Insights shows Analytics and Tag Manager as being JS that blocks the loading of important content. Yet they force you to put it in the &lt;head&gt; section.<\/p>\n<p>&nbsp;<\/p>\n<p>You can follow <strong><a href=\"https:\/\/onlinemediamasters.com\/w3-total-cache-settings\/\" target=\"_blank\" rel=\"noopener noreferrer\">this guide<\/a><\/strong> to better set up the W3 Total Cache Plugin.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>Never remove something that is essential for tracking or for your site&#8217;s functionality just to get 100% score on PageSpeed Insights or GT Metrix.<\/p>\n<\/blockquote>\n<div class='cgn-shortcode-anchor' id='4' style='height:50px'>&nbsp;<\/div>\n<h3><strong>4. Limit the Number of Resources &amp; HTTP Requests<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>One of the first actions that come to mind when we talk about website speed is reducing the number of resources. When a user enters your website, a call is made to the server to access the requested files. The larger those files are, the longer it will take to respond to the requested action.<\/p>\n<p>&nbsp;<\/p>\n<p>Rapid, multiple requests always slow down a server. It&#8217;s a combination of multiple factors that lead to this, but you can compare it to copying 1 large file on a hard disk against copying a very large number of small files. Usually, the small files take longer to copy because the disk needle has to keep moving. This is different with SSD technology where there are no needles but there&#8217;s still a lot more work to do to copy multiple files than to copy a single larger file.<\/p>\n<p>&nbsp;<\/p>\n<p>To check your HTTP requests, you can open an Icognito (to make sure you don&#8217;t have cached requests which won&#8217;t take place) Tab in Chrome, right click and hit Inspect (at the bottom). Then you need to find the network subtab and hit F5 to refresh the page. This will start monitoring the requests and at the end you&#8217;ll see the number of requests.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-21503 size-large\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/check-http-requests-1024x626.png\" alt=\"Check HTTP Requests Chrome\" width=\"1024\" height=\"626\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/check-http-requests-1024x626.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/check-http-requests-300x183.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/check-http-requests-768x470.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/check-http-requests.png 1063w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>There&#8217;s no general number, we can say that you should try to keep this number under 100. This really depends on the page. If it&#8217;s a HUGE page, then it can have more requests. Then again, it could be a good idea to paginate it.<\/p>\n<p>&nbsp;<\/p>\n<p>The best thing you can do is delete unnecessary resources (like sliders) and then minimize the overall download size by compressing the remaining resources.<\/p>\n<p>&nbsp;<\/p>\n<p>Another thing you can do is combine the CSS and JS files in a single file so that 1 single request is being made. Plugins such as Autoptimize and W3 Total Cache (both mentioned above) can do this. Through the combine option, the plugin basically takes all the CSS and JS files and merges them into a single file.<\/p>\n<p>&nbsp;<\/p>\n<p>This way, the browser will only have to make one request to the server for all those files instead of one request for each file.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\"><strong>However, be careful!<\/strong><\/span> This option can usually break an entire site or make it display really messed up, so make sure you have a proper backup of the files and database before you start making any changes.<\/p>\n<div class='cgn-shortcode-anchor' id='5' style='height:50px'>&nbsp;<\/div>\n<h3><strong>5. Set a Browser Cache Policy<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>The browser cache automatically saves resources in the visitor\u2019s computer the first time they visit a new website. When users then enter the site a second time, those resources will help them get the desired information at a faster speed, if they return to that page. This way, the page load speed is improved for returning visitors.<\/p>\n<p>&nbsp;<\/p>\n<p>For visitors that want to return to a page or visit a new page that in a specific moment can\u2019t be accessed, there\u2019s the option to view the cached version directly from SERP.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17970\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Cached-website-in-SERP.png\" alt=\"Cached website in SERP\" width=\"616\" height=\"166\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Cached-website-in-SERP.png 616w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Cached-website-in-SERP-300x81.png 300w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The best way to significantly improve the page speed load is to leverage the browser cache and set it according to your needs.<\/p>\n<p>&nbsp;<\/p>\n<p>Most of the Minification, Compression and Combination plugins are actually cache plugins, so they all have this function. You can use W3 Total Cache or any other caching plugin suits you best. However, a combination between W3 Total Cache&#8217;s caching and Autoptimize&#8217;s compression and combining is best.<\/p>\n<p>&nbsp;<\/p>\n<p>Using a cache will also make changes harder to spot. If you make a change to your website, open an Icognito tab to see the changes and go to the plugin settings from time to time to reset the cache.<\/p>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-audit\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20945 size-full\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png\" alt=\"Audit &amp; Fix Your Site Now\" width=\"459\" height=\"73\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png 459w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1-300x48.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<div class='cgn-shortcode-anchor' id='6' style='height:50px'>&nbsp;<\/div>\n<h3><strong>6. Reduce the Number of Redirects &amp; Eliminate Redirect Loop\u00a0<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Redirects can save you from a lot of trouble regarding link equity\/juice and <a href=\"https:\/\/cognitiveseo.com\/blog\/9961\/link-reclamation-tool-technique\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>broken pages<\/strong><\/a>, but it can also cause you lots of problems if you have tons of them. A large number of redirects will load your websites at a slower speed.\u00a0The more redirects, the more time a user must spend to get on the landing page.<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Plain and simple, WordPress redirects slow down your site. That\u2019s why it\u2019s worth taking the time to minimize the number of redirects visitors to your site experience. There are times that it\u2019s appropriate to intentionally create and use redirection, but limit the use of redirection to\u00a0necessary\u00a0instances and make sure your visitors have the fastest experience possible when browsing your WordPress website.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18048\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jon-Penland.jpg\" alt=\"Jon Penland\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jon-Penland.jpg 400w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jon-Penland-150x150.jpg 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jon-Penland-300x300.jpg 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Jon Penland<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td><em>\u00a0Support Engineer at <a href=\"https:\/\/kinsta.com\/blog\/wordpress-redirect\/\" target=\"_blank\" rel=\"noopener noreferrer\">Kinsta<\/a> \/\u00a0 <a href=\"https:\/\/twitter.com\/jonrichpen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonrichpen<\/a><\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>One other thing worth mentioning is that you need to have only one redirect for a page, otherwise you risk having a redirect loop. A redirect loop is a chain of redirects for the same page, which is misleading because the browser won\u2019t know which page to show and will end up giving a pretty nasty error.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17969\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17969\" class=\"size-full wp-image-17969\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Redirect-loop.png\" alt=\"Redirect loop\" width=\"720\" height=\"340\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Redirect-loop.png 720w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Redirect-loop-300x142.png 300w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><p id=\"caption-attachment-17969\" class=\"wp-caption-text\">Source: www.matrudev.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>In case you have 404 pages, there are lots of ways to customize the page and give some guidelines to the users so you won\u2019t lose them. Design a friendly page and send the user back to your homepage or to another relevant and <a href=\"https:\/\/cognitiveseo.com\/blog\/17398\/google-answer-box\/#5\"><strong>related piece of content<\/strong><\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>For finding the broken pages for your website, you can use the Google Search Console by looking at <strong>Crawl\u00a0\u00bb Crawl Errors<\/strong>, then click on <strong>Not found<\/strong> (if any).<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17299\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/01\/lots-of-crawl-errorsnot-found.png\" alt=\"lots-of-crawl-errorsnot found\" width=\"650\" height=\"415\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/01\/lots-of-crawl-errorsnot-found.png 650w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/01\/lots-of-crawl-errorsnot-found-300x192.png 300w\" sizes=\"(max-width: 650px) 100vw, 650px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-explorer\/\"><strong>Site Explorer<\/strong><\/a> offers a similar feature, pointing out the link juice you are losing (the number of referring domains and links for each broken page).<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-18083\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Broken-pages-1024x763.png\" alt=\"Broken pages\" width=\"1024\" height=\"763\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Broken-pages-1024x763.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Broken-pages-300x224.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Broken-pages-768x572.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Broken-pages.png 1118w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>You can also use the new\u00a0<strong><a title=\"SEO Site Audit\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\">Technical SEO Site Audit Tool<\/a><\/strong> to analyze all your site&#8217;s redirects. After you set up the campaign and the tool finishes crawling and analyzing your site, simply head to Architecture &gt; Redirects.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21514\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/301-redirects-1024x322.png\" alt=\"Fix 301 Redirects\" width=\"1024\" height=\"322\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/301-redirects-1024x322.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/301-redirects-300x94.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/301-redirects-768x241.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/301-redirects.png 1330w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='7' style='height:50px'>&nbsp;<\/div>\n<h3><strong>7. Avoid Loading Your Site With Too Much Stuff<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Over time, sites tend to get clogged up with useless images, plugins and functions that are never used. Why?<\/p>\n<p>&nbsp;<\/p>\n<p>If you use WordPress, for example, you might test a lot of plugins and install them on your website, only to find out that you don&#8217;t really need them. Sure, you can disable them and eventually uninstall them but the problem with WordPress uninstalls is that they&#8217;re often dirty, leaving traces in your Database which can make it a little slower.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_21505\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21505\" class=\"wp-image-21505 size-large\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/too-many-ads-bad-ux-1024x604.png\" alt=\"websites with bad UX and very many ads usually load slow\" width=\"1024\" height=\"604\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/too-many-ads-bad-ux-1024x604.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/too-many-ads-bad-ux-300x177.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/too-many-ads-bad-ux-768x453.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/too-many-ads-bad-ux.png 1351w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-21505\" class=\"wp-caption-text\">Try not to get your site looking like this, it&#8217;s probably not the best UX.<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Another very common type of plugin that webmasters use are Sliders. Sliders used to be popular but recent testing has shown over and over again that they kill conversions.<\/p>\n<p>&nbsp;<\/p>\n<p>Not only that, but Sliders also usually load your site with a lot of things you don&#8217;t need. The first one is usually the Javascript file which tends to load on all pages (either in the footer or the head section of your HTML). However, the slider is most probably used only on the homepage.<\/p>\n<p>&nbsp;<\/p>\n<p>Also, if you have 6 slides on your homepage, with 6 big pretty images, your site can be 2 or 3 times slower because of the size in bytes of the images. Unfortunately, nobody is probably going to look past the second image, if it auto-slides, of course.<\/p>\n<p>&nbsp;<\/p>\n<p>A good workaround is having some sort of development environment where you can test 5-10 plugins until you find exactly what you need. Then, make a plan of implementation so that you know only the essentials you need to install on the live version.<\/p>\n<p>&nbsp;<\/p>\n<p>After that, you can reset the development version by deleting it and copying the updated live version to it. This way, the live version will not be clogged either and will resemble the live version more.<\/p>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-audit\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20945 size-full\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png\" alt=\"Audit &amp; Fix Your Site Now\" width=\"459\" height=\"73\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png 459w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1-300x48.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<div class='cgn-shortcode-anchor' id='ii' style='height:50px'>&nbsp;<\/div>\n<h2><strong>II. Website Functionality &amp; Usability<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>After you make sure your website can load fast for your users, it&#8217;s time to see what you can do to improve your visibility in the search engines. There are very many aspects that go into this, but the following ones are a mixture between the most important ones and the most common mistakes that webmasters make.<\/p>\n<div class='cgn-shortcode-anchor' id='8' style='height:50px'>&nbsp;<\/div>\n<h3><strong>8. Make Sure Your Site Is Mobile Friendly<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>There&#8217;s nothing much to say here. Since more than 50% of all the users worldwide are using their mobile devices to browse the internet, <strong><a title=\"Mobile First\" href=\"https:\/\/cognitiveseo.com\/blog\/18350\/mobile-first-index-mobile-seo\/\">Google has prioritized mobile indexation<\/a><\/strong>. You should make sure that your website is optimized for mobile devices.<\/p>\n<p>&nbsp;<\/p>\n<p>This is usually meant in terms of design, but also in terms of speed and functionality. Generally, it&#8217;s preferred to have a responsive design rather than a fully separate mobile version, as the m.site.com subdomain requires extra steps to be implemented correctly using rel=alternate tag.<\/p>\n<p>&nbsp;<\/p>\n<p>You can ensure that your site is mobile friendly by testing it on <a href=\"https:\/\/search.google.com\/test\/mobile-friendly\" target=\"_blank\" rel=\"noopener noreferrer\">Google&#8217;s Mobile Friendly Test Page<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12817\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/Page-is-mobile-friendly.png\" alt=\"Page is mobile-friendly\" width=\"759\" height=\"240\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/Page-is-mobile-friendly.png 759w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/Page-is-mobile-friendly-300x95.png 300w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><\/p>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='9' style='height:50px'>&nbsp;<\/div>\n<h3><strong>9. Build Search Engine Friendly URLs<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>URLs are very important because it&#8217;s good not to change them. This means you have to get them right the first time. It&#8217;s useful for users and search engines to have URLs that are descriptive and contain keywords.<\/p>\n<p>&nbsp;<\/p>\n<p>However, many people often forget this and build websites with dynamic URLs that aren&#8217;t optimized at all. It&#8217;s not that Google doesn&#8217;t accept them. They can rank but, eventually, you&#8217;ll get to the point where you&#8217;ll have to merge to new ones to improve performance, UX and search engine visibility and it&#8217;s going to be a struggle.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>Changing page URLs very often results in issues with search engines. It&#8217;s always better if you get them good the first time.<\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>We\u2019ve talked on this topic various times before because it is important to have easy-to-follow URLs. Avoid having query parameters in URL. You can\u2019t keep track of that URL in Analytics, Search Console and so on. Not to mention it is difficult to do link building. You might lose linking opportunities because of your URLs appearance.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_12547\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-12547\" class=\"size-large wp-image-12547\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2016\/12\/URL-structure-query-parameter-1024x260.jpg\" alt=\"URL-structure-query-parameter\" width=\"1024\" height=\"260\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2016\/12\/URL-structure-query-parameter-1024x260.jpg 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2016\/12\/URL-structure-query-parameter-300x76.jpg 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2016\/12\/URL-structure-query-parameter.jpg 1368w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-12547\" class=\"wp-caption-text\">Source blogspot.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>If you\u2019re a WordPress user, you have the option to personalize and set up your permalink structure. If you take a look at the next picture, you can see the options you have for your URL structure.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17985\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/wordpress-permalink-settings.png\" alt=\"wordpress-permalink-settings\" width=\"600\" height=\"375\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/wordpress-permalink-settings.png 600w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/wordpress-permalink-settings-300x188.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Building friendly URLs is not so hard, you can follow the next 3 tips:<\/p>\n<ul>\n<li>use dashes (-) instead or underscores (_);<\/li>\n<li>make it shorter;<\/li>\n<li>use the keyword (focus keyword).<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Building easy-to-read and focus-keyword-URLs you are thinking about your users and therefore focusing on user experience. <a href=\"https:\/\/twitter.com\/dovidfarkas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>David Farkas<\/strong><\/a> has the same vision on the matter:<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">If you focus on user experience, you\u2019ll be building sustainable links \u2013 and building trust with users.\u00a0To build a truly great link, you have to look at every aspect of the link from the user\u2019s perspective.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18002\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/David-Farkas.png\" alt=\"David Farkas\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/David-Farkas.png 943w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/David-Farkas-150x150.png 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/David-Farkas-300x300.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/David-Farkas-768x770.png 768w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">David Farkas<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Founder &amp; CEO <a href=\"https:\/\/theupperranks.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">TheUpperRanks<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>You can always check your &#8216;unfriendly&#8217; URLs using the <strong><a title=\"Site Audit by CognitiveSEO\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\">CognitiveSEO Site Audit<\/a><\/strong>. After you set up your campaign, you just have to go to Architecture &gt; URLs.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21506\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/descriptive-user-friendly-urls-with-keywords-1024x535.png\" alt=\"user friendly URLs for SEO\" width=\"1024\" height=\"535\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/descriptive-user-friendly-urls-with-keywords-1024x535.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/descriptive-user-friendly-urls-with-keywords-300x157.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/descriptive-user-friendly-urls-with-keywords-768x401.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/descriptive-user-friendly-urls-with-keywords.png 1329w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Then you&#8217;ll be able to see a list of your URLs that don&#8217;t contain any keywords. You can also identify other issues using this feature. For example, in the following screenshot, although the URLs are blurred\u00a0 in order to protect the client&#8217;s identity, we&#8217;ve identified a hreflang problem. The titles and content for some secondary languages were generated in the main language when proper content in the secondary language was not provided.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21507\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/seo-urls-descriptive.png\" alt=\"Descriptive URLs for SEO\" width=\"810\" height=\"373\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/seo-urls-descriptive.png 810w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/seo-urls-descriptive-300x138.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/seo-urls-descriptive-768x354.png 768w\" sizes=\"(max-width: 810px) 100vw, 810px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>This means that the URLs were actually OK, just not descriptive due to the content being generated in the wrong language.<\/p>\n<div class='cgn-shortcode-anchor' id='10' style='height:50px'>&nbsp;<\/div>\n<h3><strong>10. Use the Secure Protocol \u2013 HTTPS<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>On <a href=\"https:\/\/webmasters.googleblog.com\/2014\/08\/https-as-ranking-signal.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">August 6, 2014<\/a>, Google announced that HTTPS protocol is on their new ranking factors list and recommended to all the sites to move from HTTP to HTTPS.<\/p>\n<p>&nbsp;<\/p>\n<p>HTTPS (Hypertext Transfer Protocol Secure) encryptes the data and doesn&#8217;t allow it to be modified or corrupted during transfer, while protecting it against man-in-the-middle attacks. Besides, the improvement in data security has other benefits, such as:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>It helps your website have a boost in rankings, since it is a ranking factor.<\/li>\n<li>It offers referrer details included under \u201cDirect\u201d traffic source in Google Analytics.<\/li>\n<li>It assures the users that the website is safe to use and that the data provided is encrypted for avoiding hacking or data leaks.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>If you use the HTTPS, will see a lock before the URL in the navigation bar:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17983\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/https-protocol.png\" alt=\"https protocol\" width=\"800\" height=\"243\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/https-protocol.png 800w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/https-protocol-300x91.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/https-protocol-768x233.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>In case your website doesn\u2019t use the HTTPS protocol, you\u2019ll see an information icon and if you click on it, a new message will alert you that the connection is not safe, therefore the website is not secure.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17984\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/http-protocol.png\" alt=\"http protocol\" width=\"800\" height=\"243\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/http-protocol.png 800w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/http-protocol-300x91.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/http-protocol-768x233.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>While it is best to move from HTTP to HTTPS, it is crucial to find the best way to recover all your data after moving your website. For instance, lots of users complained they lost all of their shares after moving the website and the same thing happened to us.<\/p>\n<p>&nbsp;<\/p>\n<p>After we experienced the same issue, we\u2019ve created a guideline on <a href=\"https:\/\/cognitiveseo.com\/blog\/13431\/recover-facebook-shares-https\/\"><strong>how to recover Facebook (and Google+) shares<\/strong><\/a>\u00a0after an https migration that you could easily follow:<\/p>\n<ul>\n<li>Find out how many Facebook shares you have at a URL;<\/li>\n<li>Set both your HTTP and HTTPs social shares to zero;<\/li>\n<li>Update rel=\u201dcanonical\u201d;<\/li>\n<li>Identify Facebook\u2019s Crawler.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Again, this issue is related to URLs so, every time you need to do mass redirects, issues can occur. It&#8217;s always a good idea to have your URLs well set up from the beginning. However, if you really need to migrate the site from HTTP to HTTPS, you can check out this <strong><a title=\"HTTP to HTTPS Guide\" href=\"https:\/\/cognitiveseo.com\/blog\/index.php?s=ssl\">HTTP to HTTPS migration guide<\/a><\/strong>.<\/p>\n<div class='cgn-shortcode-anchor' id='11' style='height:50px'>&nbsp;<\/div>\n<h3><strong>11. Set Your Preferred Version<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>You also want to make sure that all your other versions are pointing to the correct, preferred version of your site. If people access one version they should automatically be redirected to the correct version.<\/p>\n<p>&nbsp;<\/p>\n<p>These are all the versions:<\/p>\n<ul>\n<li>http:\/\/site.com<\/li>\n<li>https:\/\/site.com<\/li>\n<li>http:\/\/www.site.com<\/li>\n<li>https:\/\/www.site.com<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>So, if your preferred version is https:\/\/www.site.com, all other versions should 301 directly to that version. You can also test if this is alright in the <strong><a title=\"Technical SEO Audit Tool\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\" target=\"_blank\" rel=\"noopener noreferrer\">SEO Audit Tool<\/a><\/strong>. Simply head to Indexability &gt; Preferred Domain. Look for the Everything is OK message. If you can&#8217;t find it, then guess what: not everything is OK.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21509\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/http-https-1024x268.png\" alt=\"Migrate HTTP to HTTPS\" width=\"1024\" height=\"268\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/http-https-1024x268.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/http-https-300x79.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/http-https-768x201.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/http-https.png 1310w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='12' style='height:50px'>&nbsp;<\/div>\n<h3><strong>12. Set up Correctly the 301 Redirects After Site Migration<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Site migration is a recommended operation in case the website is changed completely and the same domain won\u2019t be used anymore. Setting up the 301 redirects can be applied in case you make a switchover from HTTP to HTTPS and want to preserve the link equity.<\/p>\n<p>&nbsp;<\/p>\n<p>In case of a site migration, it is crucial to set up correctly the redirects. To avoid losing lots of links and have broken pages on your site, it is best to follow a <a href=\"https:\/\/cognitiveseo.com\/blog\/12802\/website-redesign-seo\/#41\"><strong>correct 301 redirection<\/strong><\/a> procedure. For that, you need to take into consideration the next recommendations. For the vast majority, we\u2019ve already covered some of them in the previous steps:<\/p>\n<ul>\n<li>Set up the 301 redirect code from the old URLs to the new URLs;<\/li>\n<li>Avoid redirection loops;<\/li>\n<li>Remove invalid characters in URLs;<\/li>\n<li>Verify the preferred version of your new domain (www vs. non-www);<\/li>\n<li>Submit a change of address in Search Console;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12826\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/Google-Search-Console-Change-address-1024x627.png\" alt=\"Google-Search-Console-Change-address\" width=\"1024\" height=\"627\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/Google-Search-Console-Change-address-1024x627.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/Google-Search-Console-Change-address-300x184.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>Submit the new sitemap in Google;\u00a0<\/li>\n<li>Check for broken links and resources.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='13' style='height:50px'>&nbsp;<\/div>\n<h3><strong>13. Make Sure Your Resources Are Crawlable<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Having non-crawlable resources is a critical search engine optimization technical issue. Crawling is the first step, right before indexing, which comes and puts your content in the user&#8217;s hands\/eyes. Basically, Googlebot crawls the data and then sends it to the indexer which renders the page and after that, if you\u2019re lucky, you\u2019ll see that page ranking in SERP.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17789\" style=\"width: 737px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17789\" class=\"size-full wp-image-17789\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/how-search-works.jpg\" alt=\"how search works\" width=\"727\" height=\"471\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/how-search-works.jpg 727w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/how-search-works-300x194.jpg 300w\" sizes=\"(max-width: 727px) 100vw, 727px\" \/><p id=\"caption-attachment-17789\" class=\"wp-caption-text\">www.slideshare.net\/ryanspoon<\/p><\/div>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>It is very important that the users see the same content that the Googlebot does.<\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>If your CSS files are closed from indexing, Google won\u2019t be able to see the pages like a users does. The same situation applies to <a href=\"https:\/\/cognitiveseo.com\/blog\/17758\/javascript-seo\/\"><strong>Javascript<\/strong><\/a>, if it isn\u2019t crawlable. With JavaScript, it is a little bit more complicated, especially if your site is heavily built using AJAX. It is necessary to write codes for the server to send an accurate version of the site to Google.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>If you\u2019re not blocking Googlebot from crawling your JavaScript or CSS files, Google will be able to render and understand your web pages like modern browsers.<\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>Google recommends using Fetch as Google to let Googlebot crawl your JavaScript.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17975\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17975\" class=\"size-large wp-image-17975\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Fetch-as-Google-in-Google-Webmaster-Tools-1024x443.png\" alt=\"Fetch as Google in Google Webmaster Tools\" width=\"1024\" height=\"443\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Fetch-as-Google-in-Google-Webmaster-Tools-1024x443.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Fetch-as-Google-in-Google-Webmaster-Tools-300x130.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Fetch-as-Google-in-Google-Webmaster-Tools-768x333.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Fetch-as-Google-in-Google-Webmaster-Tools.png 1127w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-17975\" class=\"wp-caption-text\">Source www.webnots.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Update:<\/strong><\/span>\u00a0As of 2019, the Google Search Console has launched a new version which doesn&#8217;t have many of the features the old version had. Luckily, you can still access the old version if you need those features. However, they are likely to be completely removed at some point, who knows.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21510\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/new-search-console-1024x853.png\" alt=\"New Google Search Console\" width=\"1024\" height=\"853\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/new-search-console-1024x853.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/new-search-console-300x250.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/new-search-console-768x640.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/new-search-console.png 1042w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='14' style='height:50px'>&nbsp;<\/div>\n<h3><strong>14. Test Your Robots.Txt File to Show Google the Right Content<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Crawlability issues are usually related to the robots.txt file. Testing your robots.txt file helps Googlebot by telling it which pages to crawl and which not to crawl. By using this method, you give access to your data to Google.<\/p>\n<p>&nbsp;<\/p>\n<p>You can view your robots.txt file online if you search for http:\/\/domainname. com\/robots.txt. Make sure the order of your files is right. It should look similar to what you can see in the following picture:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17977\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/View-robots.txt-file-online.png\" alt=\"View robots.txt file online\" width=\"673\" height=\"519\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/View-robots.txt-file-online.png 673w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/View-robots.txt-file-online-300x231.png 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Use the <strong><a href=\"https:\/\/support.google.com\/webmasters\/answer\/6062598?hl=en&amp;ref_topic=6061961\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">robots.txt Tester<\/a><\/strong> tool from Search Console to write or edit robots.txt files for your site. The tool is easy to use and shows you whether your robots.txt file blocks Google web crawlers from specific URLs. The ideal situation would be to have no errors:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17978\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/robots.txt-Tester-no-errors.png\" alt=\"robots.txt Tester no errors\" width=\"920\" height=\"542\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/robots.txt-Tester-no-errors.png 920w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/robots.txt-Tester-no-errors-300x177.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/robots.txt-Tester-no-errors-768x452.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The errors appear when <a href=\"https:\/\/support.google.com\/webmasters\/answer\/2387297?hl=en\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Google is unable to crawl<\/strong><\/a> the specific URL due to a robots.txt restriction. There are multiple reasons for that and Google names just some of them:<\/p>\n<p>&nbsp;<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">For instance, your robots.txt file might prohibit the Googlebot entirely; it might prohibit access to the directory in which this URL is located; or it might prohibit access to the URL specifically.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16154\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_.png\" alt=\"Google logo\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_.png 1000w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-150x150.png 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-300x300.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-768x768.png 768w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Google<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>The common issues that appear when Googlebot is blocked to access your website happen because:<\/p>\n<ul>\n<li>There are DNS issues and Google can\u2019t communicate with DNS server;<\/li>\n<li>The firewall or DoS protection system is misconfigured ;<\/li>\n<li>The Googlebot is intentionally blocked from reaching the website.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>After you\u2019ve checked the issues and found out which are the blocked resources pointed in the Tester tool, you can test again and see if your website is ok.<\/p>\n<p>&nbsp;<\/p>\n<p>The site&#8217;s crawlability can be verified better on a larger scale using the <strong><a title=\"Site Audit\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\">CognitiveSEO Audit Tool<\/a><\/strong>. You simply have to go to Indexability &gt; Indexable Pages and look for the Disallowed in Robots.txt links. Click on the red line and it will show you a list of URLs that have been disallowed.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21511\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/non-crawlable-pages-1024x390.png\" alt=\"Crawlability Issues\" width=\"1024\" height=\"390\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/non-crawlable-pages-1024x390.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/non-crawlable-pages-300x114.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/non-crawlable-pages-768x292.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/non-crawlable-pages.png 1329w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='15' style='height:50px'>&nbsp;<\/div>\n<h3><strong>15. Verify the Indexed Content<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/twitter.com\/jmsprsns\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>James Parsons<\/strong><\/a>, expert in content marketing and SEO, explains\u00a0in an article on AudienceBloom the crucial significance of the indexing phase for a website.<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Indexed pages are those that are\u00a0scoured by Google search engines\u00a0for possible new content or for information it already knows about. Having a web page indexed is a critical part of a website\u2019s Internet search engine ranking and web page content value.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18049\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/James-Parsons.jpeg\" alt=\"James Parsons\" width=\"46\" height=\"46\" \/><\/td>\n<td class=\"author-name\">James Parsons<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Blogger at\u00a0<a href=\"http:\/\/jamesparsons.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JamesParsons.com<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Search Console can provide lots of insightful information regarding the status of your indexed pages. The steps are simple, go to <strong>Google Index<\/strong> then to <strong>Index Status<\/strong> and you\u2019ll be able to see a similar chart to the one shown below:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-17976\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Index-status-in-Search-Console-1024x463.png\" alt=\"Index status in Search Console\" width=\"1024\" height=\"463\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Index-status-in-Search-Console-1024x463.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Index-status-in-Search-Console-300x136.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Index-status-in-Search-Console-768x348.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Index-status-in-Search-Console.png 1127w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The ideal situation would be that the number of indexed pages is the same as the total number of the pages within your website, except the ones you don\u2019t want to be indexed. Verify if you\u2019ve set up proper noindex tags. In case there is a big difference, review them and check for blocked resources. If that concluded with an OK message, then check if some of the pages weren\u2019t crawled, therefore indexed.<\/p>\n<p>&nbsp;<\/p>\n<p>In case you didn\u2019t see something that was out of the ordinary, test your robots.txt file and check your sitemap. For that check the following steps (9 and 10).<\/p>\n<p>&nbsp;<\/p>\n<p>You can also use the Site Audit tool to view the URLs that have been marked up with No-Index tag. They&#8217;re in the same section as the URLs blocked by Robots.txt (Indexability &gt; Indexable Pages).<\/p>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='16' style='height:50px'>&nbsp;<\/div>\n<h3><strong>16. Review Your Sitemap to Avoid Being Outdated<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>An XML Sitemap explains to Google how your website is organized. An example you can see in the picture below:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_18084\" style=\"width: 589px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18084\" class=\"size-full wp-image-18084\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-example.png\" alt=\"Sitemap example\" width=\"579\" height=\"470\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-example.png 579w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-example-300x244.png 300w\" sizes=\"(max-width: 579px) 100vw, 579px\" \/><p id=\"caption-attachment-18084\" class=\"wp-caption-text\">Source: statcounter.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Crawlers will read and understand how a website is structured in a more intelligible way. A good structure means better crawling. Use dynamic XML sitemaps for bigger sites. Don\u2019t try to manually keep all in sync between robots.txt, meta robots, and the XML sitemaps.<\/p>\n<p>&nbsp;<\/p>\n<p>Search Console comes to rescue once again. In the Crawl section, you can find the <a href=\"https:\/\/www.google.com\/webmasters\/tools\/sitemap-list?utm_source=support.google.com\/webmasters\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Sitemap report<\/strong><\/a>, where you can add, manage and test your sitemap file.<\/p>\n<p>&nbsp;<\/p>\n<p>Up to this point, you have two options: test a new sitemap or test a previously added one.\u00a0In the first case:<\/p>\n<ul>\n<li>Add the Sitemap;<\/li>\n<li>Enter the URL of the sitemap;<\/li>\n<li>Click on <strong>Test sitemap<\/strong> and then refresh the page if needed;<\/li>\n<li>When the test is completed, click <strong>Open Test Results<\/strong> to check for errors. Fix your errors;<\/li>\n<li>After you fix your errors, click <strong>Submit Sitemap.<\/strong><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17979\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Google-Webmaster-Tools-Add-a-Sitemap.png\" alt=\"Google-Webmaster-Tools-Add-a-Sitemap\" width=\"614\" height=\"328\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Google-Webmaster-Tools-Add-a-Sitemap.png 614w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Google-Webmaster-Tools-Add-a-Sitemap-300x160.png 300w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>In the second case, you can test an already submitted sitemap; click on <strong>Test<\/strong> and check the results.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17980\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-Tester-in-Search-Console.png\" alt=\"Sitemap Tester in Search Console\" width=\"925\" height=\"587\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-Tester-in-Search-Console.png 925w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-Tester-in-Search-Console-300x190.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sitemap-Tester-in-Search-Console-768x487.png 768w\" sizes=\"(max-width: 925px) 100vw, 925px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>There are three things you need to do in the situation explained in the second situation.<\/p>\n<ul>\n<li>Update the Sitemap when new content is added to your site or once in a while;<\/li>\n<li>Clean it from time to time, eliminating outdated and bad content;<\/li>\n<li>Keep it shorter so that your important pages get crawled more frequently or break the sitemap into smaller parts. A sitemap file can&#8217;t contain more than <a href=\"https:\/\/support.google.com\/webmasters\/answer\/183668?hl=en\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>50,000 URLs<\/strong><\/a> and must not be larger than 50 MB uncompressed.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Using a sitemap doesn&#8217;t guarantee that all the items in your sitemap will be crawled and indexed, as Google processes rely on complex algorithms to schedule crawling. However, in most cases, your site will benefit from having a sitemap, and you&#8217;ll never be penalized for having one.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16154\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_.png\" alt=\"Google logo\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_.png 1000w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-150x150.png 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-300x300.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/1000px-Google_-G-_Logo.svg_-768x768.png 768w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Google<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='17' style='height:50px'>&nbsp;<\/div>\n<h3><strong>17. Review Blocked Resources (Hashbang URLs) with Fetch as Google<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Hashbang URLs (URLs that have the #! in them) can be checked and tested in Fetch as Google now. John Mueller <a href=\"https:\/\/twitter.com\/JohnMu\/status\/968564341627908096\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>acknowledged<\/strong><\/a> that Google has the ability to fetch &amp; render hashbang URL&#8217;s via the Search Console.<\/p>\n<p>&nbsp;<\/p>\n<p>Google stopped supporting them on March 30, 2014, and that changed when it <a href=\"https:\/\/webmasters.googleblog.com\/2015\/10\/deprecating-our-ajax-crawling-scheme.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>announced<\/strong><\/a> on October 14, 2015 that it deprecates their AJAX crawling system. At the moment <a href=\"https:\/\/www.quora.com\/Are-hashbang-URLs-a-recommended-practice\/answer\/Andreea-Sauciuc-1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>hashbang URLs<\/strong><\/a>\u00a0 can be tested.<\/p>\n<p>&nbsp;<\/p>\n<p>Below you can see two situations for the same website. In the first picture, you can see the list of resources before using the fetch and render feature with the hashbang URL and in the second one you can see the situation after the fetch and render action was performed.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17981\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17981\" class=\"size-large wp-image-17981\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Before-and-After-crawling-hashbang1-1024x498.png\" alt=\"Before and After crawling hashbang\" width=\"1024\" height=\"498\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Before-and-After-crawling-hashbang1-1024x498.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Before-and-After-crawling-hashbang1-300x146.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Before-and-After-crawling-hashbang1-768x374.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Before-and-After-crawling-hashbang1.png 1248w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-17981\" class=\"wp-caption-text\">Source: www.tldrseo.com<\/p><\/div>\n<div class='cgn-shortcode-anchor' id='18' style='height:50px'>&nbsp;<\/div>\n<h3><strong>18. Optimize Your Crawl Budget<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>The term &#8220;crawl budget&#8221; started to collect more value when Gary Illyes explained on January 16, 2017 how Google uses it.<\/p>\n<p>&nbsp;<\/p>\n<p>Crawl budget means how many resources are allocated for crawling by a server or how many pages are crawled by the search engines in a specific period of time. Google says that there is nothing to worry if the pages tend to be crawled every day. The issues appear on bigger sites. It is very important to optimize your crawl budget.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/twitter.com\/mccieslak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Maria Cie\u015blak<\/strong><\/a>, search engine optimization expert, explains in an article on DeepCrawl the importance of optimizing your crawl budget.<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Google is crawling only a particular number of pages on your website, and may sort the URLs incorrectly (I mean differently than you wish). For example, the \u201cAbout us\u201d page (that doesn\u2019t drive sales) can gain more hits than the category listings with the new products. Your aim is to present to Google the most relevant and fresh content.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18085\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Maria-Cie\u015blak.jpg\" alt=\"Maria Cie\u015blak\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Maria-Cie\u015blak.jpg 200w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Maria-Cie\u015blak-150x150.jpg 150w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Maria Cie\u015blak<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>SEO Specialist at <a href=\"https:\/\/www.elephate.com\" target=\"_blank\" rel=\"noopener noreferrer\">Elephate<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>The crawl limit rate comes into discussion, which limits the maximum fetching rate for a given site.<\/p>\n<p>&nbsp;<\/p>\n<p>The actions recommended for optimizing the crawl budget are:<\/p>\n<ul>\n<li>Check the soft 404s and fix them using a personalized message and a custom page;<\/li>\n<li>Get rid of duplicate content to avoid wasting crawl budget;<\/li>\n<li>Remove hacked pages;<\/li>\n<li>Prevent indexation for low quality and spam content;<\/li>\n<li>Keep your sitemap up to date;<\/li>\n<li>Correct <a href=\"https:\/\/webmasters.googleblog.com\/2008\/08\/to-infinity-and-beyond-no.html\"><strong>infinite space issues<\/strong><\/a>;<\/li>\n<\/ul>\n<h3>\u00a0<\/h3>\n<div class='cgn-shortcode-anchor' id='19' style='height:50px'>&nbsp;<\/div>\n<h3><strong>19. Avoid Meta Refresh for Moving a Site<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Since we\u2019ve talked about the redirection plan for migrating a site, it is best to understand why Google doesn\u2019t recommend using meta refresh for moving a website. There are three ways to define redirects:<\/p>\n<ul>\n<li>HTTP responses with a status code of 3xx;<\/li>\n<li>HTML redirections using the &lt;meta&gt; element;<\/li>\n<li>JavaScript redirections using the DOM.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong><a href=\"https:\/\/www.linkedin.com\/in\/aseemkishore\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Aseem Kishore<\/a><\/strong>, owner of Help Desk Geek.com,<strong>\u00a0<\/strong>explains why it is better not to use this meta refresh technique:\u00a0<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Although not particularly dangerous, Meta Refreshes are often used by unscrupulous webpage programmers to draw you into a web page using one piece of content and then redirect you to another page with some other content. Referred to as a black hat technique, most of the major search engines are smart enough not to fall for this method of \u201ccloaking\u201d web content.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18051\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Aseem-Kishore.jpg\" alt=\"Aseem Kishore\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Aseem-Kishore.jpg 450w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Aseem-Kishore-150x150.jpg 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Aseem-Kishore-300x300.jpg 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Aseem Kishore<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Owner and Editor-in-Chief at <a href=\"https:\/\/helpdeskgeek.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Help Desk Geek.com<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>When possible, always try to use HTTP redirects, and don&#8217;t use a &lt;meta&gt; element. HTTP redirection is the preferred option, but sometimes the web developer doesn\u2019t have control of the server or can\u2019t control it. And they must use other methods. Although HTML redirection\u00a0is one of them, Google strongly discourages web developers to use it.<\/p>\n<p>&nbsp;<\/p>\n<p>If a developer uses the HTTP redirects and forgets the HTML redirects, they aren\u2019t identical anymore and might end up in an infinite loop, which leads to other problems.<\/p>\n<p>&nbsp;<\/p>\n<p>In case you want to move a site, <strong>Google guidelines recommend<\/strong> to follow the next steps:<\/p>\n<ul>\n<li>Read and understand the basic knowledge of moving a website;<\/li>\n<li>Prepare the new site and test it thoroughly;<\/li>\n<li>Prepare a URL mapping from the current URLs;<\/li>\n<li>Correctly configure the server to make the redirects to move the site;<\/li>\n<li>Monitor the traffic for old and URLs.<\/li>\n<\/ul>\n<div class='cgn-shortcode-anchor' id='20' style='height:50px'>&nbsp;<\/div>\n<h3><strong>20. Use Redirect for Flash Site to the HTML Version<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Creating a flash site without a redirect to the HTML version is a big SEO mistake. Flash content might have an appealing look, but just like JavaScript and AJAX, it is difficult to render. The crawler needs all the help it can get to crawl the data and send it to the indexer. The Flash site must have a redirect to the HTML version.<\/p>\n<p>&nbsp;<\/p>\n<p>If you have a pretty site, what\u2019s the point if Google can&#8217;t read it and show it the same way you\u2019d want it to? Flash websites might tell a beautiful story, but it\u2019s all for nothing if Google can&#8217;t render it. HTML is the answer! Build an HTML version with SWFObject 2.0. This tool helps you optimize flash content.<\/p>\n<div class='cgn-shortcode-anchor' id='21' style='height:50px'>&nbsp;<\/div>\n<h3><strong>21. Use Hreflang for Multi-Language Websites<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Hreflang tags are used for language and regional URLs. It is recommended to use the \u00a0rel=&#8221;alternate&#8221; hreflang=&#8221;x&#8221; attributes to serve the correct language or regional URL in Search results in the <strong>next situations<\/strong>:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>You keep the main content in a single language and use translate the template (navigation and footer). Best used for user-generated content.<\/li>\n<li>You have small regional variations with similar content in a single language. For a website that uses the English language targeted to the US, GB, and Ireland.<\/li>\n<li>You have a site content that is fully translated. For websites where you have multiple language versions of each page.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Maile Ohye, former Developer Programs Tech Lead, explains how site owners can expand to new languages variations and keep the search engines friendly: \u00a0<\/p>\n<p>&nbsp;<\/p>\n<iframe class=\"lazy\" width=\"100%\" height=\"615\" data-lazy-type=\"iframe\" data-src=\"https:\/\/www.youtube.com\/embed\/8ce9jv91beQ\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\" src=\"https:\/\/www.youtube.com\/embed\/8ce9jv91beQ\"><\/iframe>\n<p>&nbsp;<\/p>\n<p>Based on these options, you can apply multiple hreflang tags to a single URL. Make sure, though, the provided hreflang is valid:<\/p>\n<ol>\n<li>It doesn\u2019t have missing confirmation links: If page A links to page B, page B must link back to page A.<\/li>\n<li>It doesn\u2019t have incorrect language codes: The language codes must use them in ISO 639-1 format and optionally the region must be in ISO 3166-1 Alpha 2 format.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>We&#8217;ve documented a complete guideline on the <a href=\"https:\/\/cognitiveseo.com\/blog\/17150\/multi-language-website-mistakes\/\"><strong>vital hreflang &amp; multi-language website<\/strong><\/a> mistakes that most webmasters make, that we recommend you to follow.<\/p>\n<p>&nbsp;<\/p>\n<p>Also, you can use the Site Audit to quickly analyze and identify hreflang issues on your website. Simply head to Content &gt; Hreflang\/Languages to get a list of your implementation issues. In the following screenshot you can see that this site has a lot of missing confirmation links, which means that Language A Page points to the Language B Page but Language B Page doesn&#8217;t point back to Language A Page.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21513\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/hreflang-technicall-issues-problem-1024x385.png\" alt=\"Hreflang Technical Issues\" width=\"1024\" height=\"385\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/hreflang-technicall-issues-problem-1024x385.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/hreflang-technicall-issues-problem-300x113.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/hreflang-technicall-issues-problem-768x289.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/hreflang-technicall-issues-problem.png 1330w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div class='cgn-shortcode-anchor' id='22' style='height:50px'>&nbsp;<\/div>\n<h3><strong>22. Make Sure Your Tracking Is Working Properly<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p><strong><a href=\"https:\/\/cognitiveseo.com\/blog\/17318\/rank-tracking-is-dead\/\">Tracking your website<\/a><\/strong> is really important. Without tracking your results, you won&#8217;t be able to see any improvements.<\/p>\n<p>&nbsp;<\/p>\n<p>Tracking issues are common after migrations from HTTP to HTTPS or after minifying and combining JS files. They can break the tracking code resulting in a loss of data.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>You need to make sure that everything is working properly so that you can track the results of the improvements you&#8217;re making over time.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-audit\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20945 size-full\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png\" alt=\"Audit &amp; Fix Your Site Now\" width=\"459\" height=\"73\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png 459w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1-300x48.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<div class='cgn-shortcode-anchor' id='iii' style='height:50px'>&nbsp;<\/div>\n<h2><strong>III. Content Optimization<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>Now that you&#8217;ve fixed the general issues that can create crawlability and indexability issues, you can focus more on specific issues regarding your content, such as broken pages, internal linking and so on.<\/p>\n<p>&nbsp;<\/p>\n<p>This is very important if you really want to surpass your competition, especially in highly competitive markets.<\/p>\n<p><span style=\"background-color: transparent;\"><div class='cgn-shortcode-anchor' id='23' style='height:50px'>&nbsp;<\/div><\/span><\/p>\n<h3><strong>23. Redirect\/Replace Broken Links &amp; Resources<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Sometimes the images from a webpage aren\u2019t available, so a broken image is displayed in the client&#8217;s browser. It can happen to everybody. There are lots of reasons for that. And it is not a pretty situation. You know the saying: A picture is worth a thousand words and a missing picture with an ugly icon with a message will say something as well&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17990\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Broken-images.png\" alt=\"Broken images\" width=\"202\" height=\"256\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>A solution would be to add an error handler on the IMG tag:\u00a0<\/p>\n<p><code><\/code><\/p>\n<pre class=\"lang:default decode:true\">&lt;img src=\"http:\/\/www.example.com\/broken_url.jpg\"onerror=\"this.src='path_to_default_image'\" \/&gt;\r\n<\/pre>\n<p><code><\/code><\/p>\n<p>Some webmasters say that Chrome and Firefox recognize when images aren\u2019t loaded and log it to the console, while others have other opinions.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/twitter.com\/samdeering\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Sam Deering<\/strong><\/a>, web developer specialized in JavaScript &amp; jQuery, offers some great steps to resolve these issues:<\/p>\n<ol>\n<li>Firstly, search for some information on the current images on page;<\/li>\n<li>Secondly, use AJAX to test if the image exists;<\/li>\n<li>Then refresh image;<\/li>\n<li>Fix broken images using AJAX;<\/li>\n<li>Check the Non-AJAX function version.<\/li>\n<\/ol>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">In most browsers, the ALT tag is shown if the image is not found. This could be a problem if the image is small and the ALT tag is long as it seems the output width of the element is not forced by the length of the alt tag.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17992\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sam-Deering.jpg\" alt=\"Sam Deering\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sam-Deering.jpg 400w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sam-Deering-150x150.jpg 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Sam-Deering-300x300.jpg 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Sam Deering<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Front-end Web Developer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>This is also the case with broken URLs. Although nothing weird will be displayed on the site, if the user clicks on a broken link, it will lead to a bad experience. You can view which resources are broken on your website by heading to the Architecture section in the Site Audit tool.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21515\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/broken-images-and-urls-1024x355.png\" alt=\"Broken URLs and Images are bad for SEO\" width=\"1024\" height=\"355\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/broken-images-and-urls-1024x355.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/broken-images-and-urls-300x104.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/broken-images-and-urls-768x266.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/broken-images-and-urls.png 1326w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='24' style='height:50px'>&nbsp;<\/div>\n<h3><strong>24. Audit Internal Links to Improve Your Chances to Rank Higher<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Internal links are the connection between your pages and, due to them, you can build a strong website architecture by spreading link juice, or link equity, as others refer to it.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Creating connections between similar pieces of content creates the terminology of Silo content. This method presumes to create groups of topics and content based on keywords and it defines a hierarchy.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_17995\" style=\"width: 765px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17995\" class=\"size-full wp-image-17995\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/benifits-intrernal-linking.png\" alt=\"benifits-intrernal-linking\" width=\"755\" height=\"260\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/benifits-intrernal-linking.png 755w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/benifits-intrernal-linking-300x103.png 300w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><p id=\"caption-attachment-17995\" class=\"wp-caption-text\">Source: www.seoclarity.net<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">There are a lot of advantages for building internal links because it:<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">opens the road to search engines spiders by making it accessible;<\/span><\/li>\n<li><span style=\"font-weight: 400;\">transfers link juice;<\/span><\/li>\n<li><span style=\"font-weight: 400;\">improves user navigation and offers extra information to the user;<\/span><\/li>\n<li><span style=\"font-weight: 400;\">organizes the pages based on the keyword used as an anchor text;<\/span><\/li>\n<li><span style=\"font-weight: 400;\">highlights the most important pages and transfers this information to the search engines;<\/span><\/li>\n<li><span style=\"font-weight: 400;\">organizes site architecture.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">\n<p><span style=\"font-weight: 400;\">The more relevant pages are combined with each other when crawled repeatedly, and as the crawling frequency rises, so does the overall rank in search engines.<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17996\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/kp.jpeg\" alt=\"Kasia Perzy\u0144ska\" width=\"46\" height=\"46\" \/><\/td>\n<td class=\"author-name\">Kasia Perzy\u0144ska<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Content Marketer <a href=\"https:\/\/unamo.com\/blog\/seo\/perform-first-seo-audit-content-overview\" target=\"_blank\" rel=\"noopener noreferrer\">Unamo<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>When you audit internal links, there are four things that need to be checked:<\/p>\n<ul>\n<li>Broken links;<\/li>\n<li>Redirected links;<\/li>\n<li>Click depth;<\/li>\n<li>Orphan pages;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>You can easily do all of those using the <strong><a title=\"Test Site SEO\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\">CognitiveSEO Site Audit Tool<\/a><\/strong>\u00a0under Architecture &gt;\u00a0Linking Structure.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21516\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/internal-linking-audit-tool-1024x353.png\" alt=\"Internal Linking Structure Audit Tool for SEO\" width=\"1024\" height=\"353\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/internal-linking-audit-tool-1024x353.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/internal-linking-audit-tool-300x103.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/internal-linking-audit-tool-768x265.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/internal-linking-audit-tool.png 1325w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='25' style='height:50px'>&nbsp;<\/div>\n<h3><strong>25. Get Rid of Duplicate Content<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>When we talk about <strong><a href=\"https:\/\/www.elsner.com\/technical-seo-checklist-for-non-technical-marketer\/\" target=\"_blank\" rel=\"noopener noreferrer\">technical SEO<\/a><\/strong>, we also think of duplicate content, which is a serious problem. Be prepared and review your HTML Improvements from Search Console to remove the duplicates.<\/p>\n<p>&nbsp;<\/p>\n<p>Keep unique and relevant title tags, descriptions within your website by looking into the <strong>Search Console<\/strong> at <strong>Search Appearance \u00bb HTML Improvements<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12707\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/HTML-Improvements-Google-Webmaster-Tools-1024x457.png\" alt=\"HTML-Improvements-Google-Webmaster-Tools\" width=\"1024\" height=\"457\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/HTML-Improvements-Google-Webmaster-Tools-1024x457.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/01\/HTML-Improvements-Google-Webmaster-Tools-300x134.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>In Search Console, you can find a list of all the duplicate content leading you to the pages that need improvement. Remove or review each element and craft other titles and meta descriptions. Google loves fresh and unique content. Panda algorithm confirms it.<\/p>\n<p>&nbsp;<\/p>\n<p>Another option would be to apply the <strong><a href=\"https:\/\/cognitiveseo.com\/blog\/19204\/canonical-urls-seo\/\">canonical tag<\/a><\/strong> to pages with duplicate content. The tag will show to the search engines which is the original source with your rel=canonical tag. <strong><a href=\"https:\/\/cognitiveseo.com\/blog\/12487\/fatal-seo-mistakes-to-avoid\/#18\">Canonicalizing irrelevant URLs<\/a><\/strong> to avoid content duplication is a recommended practice.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/twitter.com\/jaysondemers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Jayson DeMers<\/strong><\/a>, Founder &amp; CEO of AudienceBloom, considers that duplicate content can affect your website and discourage search engines to rank your website and it can also lead to bad user experience, as he says on Forbes. \u00a0<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Just a few instances of duplicate content can trigger Google to rank your site lower in search results, leaving you unable to recover until those content duplication issues are addressed. Duplicate content can also interfere with your user experience, leaving your site visitors feeling that your site is more fluff than substance.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18005\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jayson-DeMers.jpeg\" alt=\"Jayson DeMers\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jayson-DeMers.jpeg 400w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jayson-DeMers-150x150.jpeg 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Jayson-DeMers-300x300.jpeg 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Jayson DeMers<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>\u00a0Founder &amp; CEO of <a href=\"https:\/\/www.audiencebloom.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">AudienceBloom<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>The <strong><a title=\"Duplicate Content Audit Tool\" href=\"https:\/\/cognitiveseo.com\/site-audit\/\">CognitiveSEO Site Audit Tool<\/a><\/strong> can not only easily identify Duplicate Content, but it also has a feature to identify near duplicate content, which are pages that are very similar in content but not quite the same.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21517\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/duplicate-content-seo-tool-1024x383.png\" alt=\"SEO Duplicate Content Issues\" width=\"1024\" height=\"383\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/duplicate-content-seo-tool-1024x383.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/duplicate-content-seo-tool-300x112.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/duplicate-content-seo-tool-768x287.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/duplicate-content-seo-tool.png 1334w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Fixing duplicate content issues is critical, especially for eCommerce websites where this practice\/issue is common. The tool makes it very easy to fix.<\/p>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='26' style='height:50px'>&nbsp;<\/div>\n<h3><strong>26. Use Structured Data to Highlight Your Content<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Structured data is the way to make Google understand your content and help the user choose and get directly on the page they are interested in through rich search results. If a website uses structured markup data, Google might display it in SERP as you can see in the following picture:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-16195\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/Rich-snippets-example.png\" alt=\"Rich snippets example\" width=\"880\" height=\"861\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/Rich-snippets-example.png 880w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/Rich-snippets-example-300x294.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/10\/Rich-snippets-example-768x751.png 768w\" sizes=\"(max-width: 880px) 100vw, 880px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Beside rich snippets, structured data can be used for:<\/p>\n<ul>\n<li>Getting featured in the Knowledge graph;<\/li>\n<li>Gaining beta releases and having advantages in AMP, Google News, etc.;<\/li>\n<li>Helping Google offer results from your website based on contextual understanding;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_18007\" style=\"width: 706px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18007\" class=\"size-full wp-image-18007\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Structured-data.png\" alt=\"Structured data\" width=\"696\" height=\"442\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Structured-data.png 696w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Structured-data-300x191.png 300w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><p id=\"caption-attachment-18007\" class=\"wp-caption-text\">Source: www.link-assistant.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>The language for structured data is <a href=\"http:\/\/schema.org\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>schema.org<\/strong><\/a>. You can highlight your content using structured data. Schema.org helps webmasters mark up their pages in ways that can be understood by the major search engines.<\/p>\n<p>&nbsp;<\/p>\n<p>If you want to get in rich search results your site\u2019s page must use one of three supported formats:<\/p>\n<ul>\n<li>JSON-LD (recommended);<\/li>\n<li>Microdata;<\/li>\n<li>RDFa.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>After you highlight your content using structured data, it is recommended to test it using the Google Structured Data Testing Tool. Testing it will give you great directions to see if you set it right or if you didn\u2019t comply with Google\u2019s guidelines<strong>\u00a0<\/strong>because you can get penalized for <a href=\"https:\/\/cognitiveseo.com\/blog\/16148\/structured-markup-penalty\/\"><strong>spammy structured markup<\/strong><\/a>.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>Google doesn\u2019t guarantee the appearance of each content highlighted using structured data markup.<\/p>\n<\/blockquote>\n<div class='cgn-shortcode-anchor' id='27' style='height:50px'>&nbsp;<\/div>\n<h3><strong>27. Keep a Reasonable Number of Links On-Page<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>People from the web community often associate pages with 100 links or more with &#8220;link farms&#8221;. Also, UX has a significant impact on the number of links on a single page. A piece of content abundant of links will distract the users and fail to offer them any piece of information because most of it is linked. You need to add links only where you think it is relevant and it can offer extra information or you need to specify the source.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/twitter.com\/patricksexton\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Patrick Sexton<\/strong><\/a>, Googlebot Whisperer, explains in an article on Varvy why it is important to keep a reasonable amount of links per page:<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">You may also wish to consider how well your webpage is linked to. If a webpage has many quality links pointing to it, that webpage can have many links (even more than 100) but it is important to remember the reasons why you shouldn&#8217;t have a huge amount of links on any given page.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18008\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Patrick-Sexton.jpg\" alt=\"Patrick Sexton\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Patrick-Sexton.jpg 600w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Patrick-Sexton-150x150.jpg 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Patrick-Sexton-300x300.jpg 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Patrick Sexton<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Googlebot Whisperer at <a href=\"https:\/\/outspokenmedia.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Outspoken Media<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In general, the more links on the page, the higher the need to keep that page more organized in order for the user to get the information they came for on that page. Also, be careful to search for natural ways to add links and don\u2019t violate Google\u2019s guidelines for building links. The same recommendation applies for internal links.<\/p>\n<div class='cgn-shortcode-anchor' id='28' style='height:50px'>&nbsp;<\/div>\n<h3><strong>28. Avoid Canonicalizing Blog Pages to the Root of the Blog<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>John Mueller said in one Google Webmaster Hangout that Google\u2019s doesn\u2019t encourage canonicalizing blog subpages to the root of the blog as a preferred version. Subpages aren\u2019t a true copy of the blog\u2019s main page so doing that has no logic.<\/p>\n<p>&nbsp;<\/p>\n<p>You can listen to the whole conversion from minute 16:28:<\/p>\n<p>&nbsp;<\/p>\n<iframe class=\"lazy\" width=\"100%\" height=\"615\" data-lazy-type=\"iframe\" data-src=\"https:\/\/www.youtube.com\/embed\/t-Ffq6xl6p8?start=988\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\" src=\"https:\/\/www.youtube.com\/embed\/t-Ffq6xl6p8?start=988\"><\/iframe>\n<p>&nbsp;<\/p>\n<p>Even if Google sees the canonical tag, it will ignore it because it thinks it\u2019s a webmaster\u2019s mistake. \u00a0<\/p>\n<p>&nbsp;<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Setting up blog subpages with a canonical blog pointed to the blog\u2019s main page isn\u2019t a correct set up because those pages are not an equivalent, from Google\u2019s point of view.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16873\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2017\/12\/johnmu-seozrh_400x400.png\" alt=\"John Mueller SEO\" width=\"46\" height=\"46\" \/><\/td>\n<td class=\"author-name\">John Mueller<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Webmaster Trends Analyst at Google<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Canonical links are often misunderstood and incorrectly implemented, so make sure you check all your URLs for bad canonical implementation. You can do this easily with the Technical SEO Audit tool by CognitiveSEO.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21520\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/canonical-urls-technical-seo-1024x387.png\" alt=\"Canonical URLs Technical SEO\" width=\"1024\" height=\"387\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/canonical-urls-technical-seo-1024x387.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/canonical-urls-technical-seo-300x113.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/canonical-urls-technical-seo-768x290.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/canonical-urls-technical-seo.png 1334w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Remember that it&#8217;s a good idea to always have a self-referencing canonical tag pointing to your page. This will ensure there are less duplicate content issues.<\/p>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-audit\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20945 size-full\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png\" alt=\"Audit &amp; Fix Your Site Now\" width=\"459\" height=\"73\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png 459w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1-300x48.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<div class='cgn-shortcode-anchor' id='iv' style='height:50px'>&nbsp;<\/div>\n<h2><strong>IV. User-Friendlier Website<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>Google cares about UX, so why wouldn&#8217;t you? Many experts think that UX is crucial in the future of SEO, especially with all the evolution of machine learning technology. <strong><a href=\"https:\/\/twitter.com\/davefreeman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">David Freeman<\/a><\/strong>, Search Engine Land Columnist, has a strong opinion on the role of UX:<\/p>\n<p>&nbsp;<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Part of Google\u2019s philosophy has always been focused on delivering the best user experience. With recent technological advances, Google and other\u00a0search engines are now better placed than ever to deliver this vision.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18001\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Dave-Freeman.png\" alt=\"Dave Freeman\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Dave-Freeman.png 360w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Dave-Freeman-150x150.png 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Dave-Freeman-300x300.png 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">David Freeman<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Group Head of SEO at <a href=\"https:\/\/www.treatwell.co.uk\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Treatwell<\/a> &amp; <a href=\"https:\/\/searchengineland.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Search Engine Land<\/a> Columnist<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class='cgn-shortcode-anchor' id='29' style='height:50px'>&nbsp;<\/div>\n<h3><strong>29. Set up Your AMP the Right Way &#8211; Mobile Friendlier<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Google recommends using AMP (Accelerated Mobile Pages) to improve the UX, highly valued by the company. Since the Google AMP change will affect a lot of sites, it is best to understand the way it works and the right way to set it up\/install it on different platforms: WordPress, Drupal, Joomla, Concrete5, OpenCart or generate custom AMP Implementation.<\/p>\n<p>&nbsp;<\/p>\n<p>On this topic, we created a guideline on <a href=\"https:\/\/cognitiveseo.com\/blog\/14245\/google-amp-rank-better\/#5\"><strong>how to implement AMP<\/strong><\/a> because it is a process which needs full understanding. Google AMP doesn\u2019t directly affect SEO, but indirect factors that result from AMP can.<\/p>\n<table class=\"author-quotes\" width=\"100%\">\n<tbody>\n<tr class=\"author-quote-row\">\n<td class=\"author-text\" colspan=\"2\">Historically, Google has acted as an index that points people away from Google to other websites. With its AMP search results, Google is amassing content on its own servers and keeping readers on Google.<\/td>\n<\/tr>\n<tr>\n<td class=\"author-image\" rowspan=\"2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18018\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Klint-Finley.jpeg\" alt=\"Klint Finley\" width=\"46\" height=\"46\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Klint-Finley.jpeg 400w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Klint-Finley-150x150.jpeg 150w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/Klint-Finley-300x300.jpeg 300w\" sizes=\"(max-width: 46px) 100vw, 46px\" \/><\/td>\n<td class=\"author-name\">Klint Finley<\/td>\n<\/tr>\n<tr class=\"author-description-row\">\n<td>Content writer at <a href=\"https:\/\/www.wired.com\/2016\/02\/googles-amp-speeding-web-changing-works\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Wired Business<\/a>\u00a0\/ <a href=\"https:\/\/twitter.com\/klintron\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@klintron<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>AMP is pretty difficult to implement correctly. You can always run into issues. Miss one tag closing bracket and you risk your AMP version not displaying at all. You can test the format of all your site&#8217;s AMP pages quickly using the CognitiveSEO Tool.<\/p>\n<p>&nbsp;<\/p>\n<p>In the following example there are no AMP pages set up, but if you have any, you may want to take a look at the Incorrectly set up AMP Pages section to identify the problematic ones:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-21521\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/amp-validator-checker-1024x420.png\" alt=\"Test AMP pages SEO validator\" width=\"1024\" height=\"420\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/amp-validator-checker-1024x420.png 1024w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/amp-validator-checker-300x123.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/amp-validator-checker-768x315.png 768w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/amp-validator-checker.png 1327w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>&nbsp;<\/p>\n<div class='cgn-shortcode-anchor' id='30' style='height:50px'>&nbsp;<\/div>\n<h3><strong>30. Add Breadcrumbs for a Better Navigation<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Breadcrumbs, used by Hansel and Gretel to find their way back home, are implemented by websites with the same purpose, to lead the user through the website. They help the visitors understand where are they located on the website and give directions for an easier accessibility.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_18019\" style=\"width: 510px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18019\" class=\"wp-image-18019 size-full\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/location-based-breadcrumb-example-sitepoint.jpg\" alt=\"location-based-breadcrumb-example-sitepoint\" width=\"500\" height=\"179\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/location-based-breadcrumb-example-sitepoint.jpg 500w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/location-based-breadcrumb-example-sitepoint-300x107.jpg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><p id=\"caption-attachment-18019\" class=\"wp-caption-text\">Source: www.smashingmagazine.com<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Breadcrumbs can improve the user-experience and help search engines have a clear picture of the site structure. Fulfilling the need to a second navigation on the website, breadcrumbs shouldn\u2019t replace the primary navigation though.<\/p>\n<p>&nbsp;<\/p>\n<p>Another advantage of them is that they reduce the number of actions and clicks a user must take on a page. Instead of going back and forth, they can easily use the link level\/category to go where they want. A technique can be applied to big websites or e-commerce sites.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>W3Schools<\/strong> exemplifies how to add breadcrumbs in two steps.<\/p>\n<ol>\n<li>Add HTML<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true \">&lt;ul class=\"breadcrumb\"&gt;\r\n  &lt;li&gt;&lt;a href=\"#\"&gt;Home&lt;\/a&gt;&lt;\/li&gt;\r\n  &lt;li&gt;&lt;a href=\"#\"&gt;Pictures&lt;\/a&gt;&lt;\/li&gt;\r\n  &lt;li&gt;&lt;a href=\"#\"&gt;Summer 15&lt;\/a&gt;&lt;\/li&gt;\r\n  &lt;li&gt;Italy&lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li>Add CSS<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true \">\/* Style the list *\/\r\nul.breadcrumb {\r\n\tpadding: 10px 16px;\r\n\tlist-style: none;\r\n\tbackground-color: #eee;\r\n}\r\n\r\n\/* Display list items side by side *\/\r\nul.breadcrumb li {\r\n\tdisplay: inline;\r\n\tfont-size: 18px;\r\n}\r\n\r\n\/* Add a slash symbol (\/) before\/behind each list item *\/\r\nul.breadcrumb li+li:before {\r\n\tpadding: 8px;\r\n\tcolor: black;\r\n\tcontent: \"\/\\00a0\";\r\n}\r\n\r\n\/* Add a color to all links inside the list *\/\r\nul.breadcrumb li a {\r\n\tcolor: #0275d8;\r\n\ttext-decoration: none;\r\n}\r\n\r\n\/* Add a color on mouse-over *\/\r\nul.breadcrumb li a:hover {\r\n\tcolor: #01447e;\r\n\ttext-decoration: underline;\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>If you want a simpler solution, you can use plugins for WordPress, such as Breadcrumb NavXT Plugin or Yoast SEO.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-18020\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/yoast-seo-breadcrumbs.jpeg\" alt=\"yoast-seo-breadcrumbs\" width=\"889\" height=\"704\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/yoast-seo-breadcrumbs.jpeg 889w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/yoast-seo-breadcrumbs-300x238.jpeg 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/03\/yoast-seo-breadcrumbs-768x608.jpeg 768w\" sizes=\"(max-width: 889px) 100vw, 889px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Go to SEO in Dashboard, then click on Advanced and select <strong>Enable Breadcrumbs \u00bb Save changes<\/strong>. This method will apply the default setting for your breadcrumbs.<\/p>\n<div class='cgn-shortcode-anchor' id='31' style='height:50px'>&nbsp;<\/div>\n<h3><strong>31. Test On as Many Platforms and Devices as Possible<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>People use different devices. If you want your users to have a good experience, you need to test on multiple devices. As many as you can!<\/p>\n<p>&nbsp;<\/p>\n<p>You can start with Chrome by right clicking and hitting Inspect. Then you can toggle the device toolbar and select the type of device you want to view your site on.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21518\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/testing-on-different-devices.png\" alt=\"SEO Testing on multiple devices\" width=\"962\" height=\"523\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/testing-on-different-devices.png 962w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/testing-on-different-devices-300x163.png 300w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2019\/02\/testing-on-different-devices-768x418.png 768w\" sizes=\"(max-width: 962px) 100vw, 962px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>You can also use 3rd party tools, such as <a href=\"http:\/\/quirktools.com\/screenfly\/\" target=\"_blank\" rel=\"noopener noreferrer\">ScreenFly<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>However, keep in mind that these tools only take the screen width into consideration. For example, if you don&#8217;t own an iOS device, you&#8217;ll never know that WEBM format videos don&#8217;t play on Safari Browser.<\/p>\n<p>&nbsp;<\/p>\n<blockquote>\n<p>You really need to test on different devices and browsers. Test on Windows, iOS, Linux, Safari, Firefox, Edge, Chrome, Opera and even the sad, old and forgotten Internet Explorer.<\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>If you don&#8217;t own an Android or an iPhone\/iPad, go to a store if needed or find a friend. Whenever you can get your hands on a new device, take a minute or two to browse your website.<\/p>\n<p><a href=\"https:\/\/cognitiveseo.com\/site-audit\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-20945 size-full\" src=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png\" alt=\"Audit &amp; Fix Your Site Now\" width=\"459\" height=\"73\" srcset=\"https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1.png 459w, https:\/\/cognitiveseo.com\/blog\/wp-content\/uploads\/2018\/12\/buton-1-300x48.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<div class='cgn-shortcode-anchor' id='V' style='height:50px'>&nbsp;<\/div>\n<h2><strong>V. Auditing Your Brand Signals for AI Visibility<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p data-start=\"130\" data-end=\"466\">While completing technical SEO checks ensures your website is crawlable, fast, and properly structured, modern search systems evaluate much more than on-page performance alone. Generative AI engines and advanced ranking algorithms also assess the external authority and trust signals associated with your brand across the wider web.<\/p>\n<p data-start=\"130\" data-end=\"466\">\u00a0<\/p>\n<blockquote>\n<p data-start=\"468\" data-end=\"641\">Even a technically optimized website can struggle to achieve visibility if the entity behind it lacks consistent, verifiable mentions and credibility across trusted sources. To measure and strengthen this external layer, the <a href=\"https:\/\/brandmentions.com\/\"><strong data-start=\"694\" data-end=\"720\">BrandMentions platform<\/strong><\/a> is essential.<\/p>\n<\/blockquote>\n<p data-start=\"643\" data-end=\"734\">\u00a0<\/p>\n<p data-start=\"736\" data-end=\"1076\">As a dedicated AI visibility platform, BrandMentions bridges the gap between technical SEO and off-page authority by monitoring how your brand appears across the open web. Unlike traditional SEO crawlers that focus only on your site, it tracks unstructured brand mentions across news sites, forums, blogs, and social media in real time.<\/p>\n<p data-start=\"736\" data-end=\"1076\">\u00a0<\/p>\n<p data-start=\"1078\" data-end=\"1295\">Through its AI-driven insights, BrandMentions helps identify how your brand is perceived, how often it is referenced in authoritative contexts, and how these signals contribute to SEO, AEO, and AI-generated citations.<\/p>\n<p data-start=\"1078\" data-end=\"1295\">\u00a0<\/p>\n<p data-start=\"1297\" data-end=\"1545\" data-is-last-node=\"\" data-is-only-node=\"\">By combining technical optimization with external visibility tracking, BrandMentions provides a complete view of your digital presence, ensuring your website performance is supported by a strong and trustworthy brand footprint across the entire web.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p>Firstly, this SEO guide offers solutions and points out directions on how to make a website fast and decrease the loading time by following the recommendations on Google Speed Insights and Google developers&#8217; guidelines.<\/p>\n<p>&nbsp;<\/p>\n<p>Secondly, we went through the functional elements of a website, by trying to check and resolve issues related to crawling errors, indexing status, using redirects and making a website accessible to Google.\u00a0<\/p>\n<p>&nbsp;<\/p>\n<p>Thirdly, we looked for improving and optimizing the content by resolving critical technical SEO issues. We discussed how to remove duplicate content, replace missing information and images, make a strong architecture website, highlighting our content and making it visible to Google.\u00a0\u00a0<\/p>\n<p>&nbsp;<\/p>\n<p>Lastly, we pointed out two issues regarding the\u00a0mobile-friendliness sites and navigational websites.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While technical SEO is a topic that only some of us make use of rigorously, it is a part of everybody\u2019s life. Well, which part of SEO is not technical if we were to look at it thoroughly? &nbsp; SEO issues, mistakes, tips and recommendations are all included in today&#8217;s technical checklist. We wanted to [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":18089,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-17963","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo"],"_links":{"self":[{"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/posts\/17963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/comments?post=17963"}],"version-history":[{"count":4,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/posts\/17963\/revisions"}],"predecessor-version":[{"id":24914,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/posts\/17963\/revisions\/24914"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/media\/18089"}],"wp:attachment":[{"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/media?parent=17963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/categories?post=17963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cognitiveseo.com\/blog\/wp-json\/wp\/v2\/tags?post=17963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}