{"id":3750,"date":"2019-09-03T16:00:57","date_gmt":"2019-09-03T16:00:57","guid":{"rendered":"https:\/\/wpmudev.whitespark.ca\/a-beginners-guide-to-technical-seo-for-local-businesses-part-3\/"},"modified":"2024-10-28T16:05:21","modified_gmt":"2024-10-28T22:05:21","slug":"a-beginners-guide-to-technical-seo-for-local-businesses-part-3","status":"publish","type":"post","link":"https:\/\/whitespark.ca\/blog\/a-beginners-guide-to-technical-seo-for-local-businesses-part-3\/","title":{"rendered":"A Beginner\u2019s Guide to Technical SEO For Local Businesses \u2013 Part 3"},"content":{"rendered":"<p>Welcome to part three of &#8220;A Beginner\u2019s Guide to Technical SEO For Local Businesses&#8221;. In this post we&#8217;re going to cover site speed, image optimizations, crawling and indexing, broken links, redirects and more. You can <a href=\"https:\/\/whitespark.ca\/blog\/a-beginners-guide-to-technical-seo-for-local-businesses-part-1\/\" target=\"_blank\" rel=\"noopener\">review part one here<\/a> and <a href=\"https:\/\/whitespark.ca\/blog\/a-beginners-guide-to-technical-seo-for-local-businesses-part-2\/\" target=\"_blank\" rel=\"noopener\">review part two here<\/a> which discuss keyword targeting, URL structure, duplicate content and Schema.org.<\/p>\n<h2>Site Speed (Local SEO + General SEO)<\/h2>\n<p>Another super important thing for local businesses is their sites mobile speed. Many times their customers and potential customers are out and about or sitting on their couch browsing their phone when looking for their services.<\/p>\n<p>In 2016, mobile searches officially surpassed desktop. <a href=\"https:\/\/www.thinkwithgoogle.com\/advertising-channels\/search\/how-advertisers-can-extend-their-relevance-with-search\/\" target=\"_blank\" rel=\"noopener\">One study<\/a> found that 56% of mobile searches done on the go have local intent.<\/p>\n<p>Mobile phones have a much slower download speed compared to desktop devices. Because of that, websites that are already slower will have an even harder time loading quickly on a mobile device.<\/p>\n<p><strong>How does this affect local businesses?<\/strong><\/p>\n<blockquote><p>\u201cThe average bounce rate for pages loading within 2 seconds is 9%. As soon as the page load time surpasses 3 seconds, the bounce rate soars, to 38% by the time it hits 5 seconds!\u201d\u00a0This will also have a negative effect on conversion rates.<\/p><\/blockquote>\n<p>Reference: <a href=\"https:\/\/royal.pingdom.com\/page-load-time-really-affect-bounce-rate\/\" target=\"_blank\" rel=\"noopener\">https:\/\/royal.pingdom.com\/page-load-time-really-affect-bounce-rate\/<\/a><\/p>\n<p>So what to do? First you\u2019ll want to test your site\u2019s speed. Using <a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/\" target=\"_blank\" rel=\"noopener\">Google\u2019s page speed tool<\/a> is a good idea since we want to make Google happy. I also use GTmetrix and WebPageTest.org to get even more helpful data.<\/p>\n<p>WebPageTest.org shows you a breakdown of your site content, which can help you identify which files are taking up your resources. In the example below, there are a lot of JavaScript files; I\u2019d review all the JS files to see if of them any are unnecessary and can be removed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57915 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/webpagetestorg-content-breakdown-min.jpg\" alt=\"\" width=\"499\" height=\"189\" \/><\/p>\n<p>There\u2019s also the beautiful waterfall view that can show you which resources are taking the longest to load.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57916 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/webpagetestorg-waterfallview-min.jpg\" alt=\"\" width=\"247\" height=\"337\" \/><\/p>\n<p>Unfortunately, working on site speed optimization is not for beginners. It\u2019s easy to break things on your site and is basically web development work. But here are some things you may be able to do on your own. Make sure your website is backed up before making any site speed changes.<\/p>\n<h3>Speed Optimizations<\/h3>\n<h4>Hosting<\/h4>\n<p>Something I\u2019ve noticed that has a big impact on site speed is the quality of your website hosting. If your are using the cheapest hosting you can find, then your site is probably hosted on a cheaper, slower server. I\u2019d recommend upgrading to something around $30\/mo or even VPS hosting. <a href=\"https:\/\/reviewsignal.com\/webhosting\" target=\"_blank\" rel=\"noopener\">Review Signal<\/a> is an awesome resource for comparing web hosting companies if you don\u2019t know who to choose.<\/p>\n<h4>WordPress Plugins<\/h4>\n<p>There are also many things you can do to your website to reduce file sizes and load files more efficiently. Here are some of my favorites.<\/p>\n<p><a href=\"https:\/\/wp-rocket.me\/\" target=\"_blank\" rel=\"noopener\">WP Rocket:<\/a> This plugin is great for caching, gzip compression, minifying and \/ or combining HTML, JS and CSS files, deferred JS loading, DNS prefetch and more!<\/p>\n<p><a href=\"https:\/\/wordpress.org\/plugins\/wp-asset-clean-up\/\" target=\"_blank\" rel=\"noopener\">WP Asset Cleanup:<\/a> When you use plugins on your site, many of their assets (.CSS and .JS files) load on every page of your website instead of just the pages that they are needed on. For example, Contact Form 7\u2019s assets may load on every page but it may only be needed on your contact page since that\u2019s the only page with a Contact Form 7 form.<\/p>\n<p>WP Asset CleanUp allows you to choose whether or not to load individual CSS or JS files on all or only specific pages of your site.<\/p>\n<p><a href=\"https:\/\/shortpixel.com\/\" target=\"_blank\" rel=\"noopener\">ShortPixel:<\/a> This plugin can resize all your images in bulk, compress all your images in bulk, keep the original image files, restore original image files, replace all original images on pages with the compressed versions, <a href=\"https:\/\/developers.google.com\/web\/tools\/lighthouse\/audits\/webp\" target=\"_blank\" rel=\"noopener\">serve WebP image formats<\/a> and more! I have tried many image compression plugins and this one if my absolute favorites.<\/p>\n<p>Keep in mind, you should manually resize images before uploading them to your site if possible, then use this plugin to compress your images in bulk.<\/p>\n<h3>Images (Local SEO + General SEO)<\/h3>\n<p>In addition to resizing and compressing your images so that they load quickly, you can also <a href=\"https:\/\/www.pigzilla.co\/blog\/how-to-optimize-website-images-for-seo\/\" target=\"_blank\" rel=\"noopener\">optimize them for local search<\/a>.<\/p>\n<p>Two important aspects are:<\/p>\n<h3>File Name<\/h3>\n<p>The name of the image file is important because it helps tell search engines what your image is about. Usually, when you upload an image, the file name is something random like <em>IMG080919.jpg<\/em>.<\/p>\n<p>Can you tell what this image is from reading the file name? Well Google can\u2019t either.<\/p>\n<p>Now take a look at<em> skateboarder-fall-down-go-boom.jpg<\/em>. Can you tell what this image is just from reading the file name? A short but descriptive file name can help users and more importantly search engines.<\/p>\n<h4>File Name Example:<\/h4>\n<p>https:\/\/domain.com\/wp-content\/uploads\/ac-repair-tampa.jpg<\/p>\n<h3>Alt Text<\/h3>\n<p>Alt text provides additional details about an image for both users and search engines. Alt text is used in two ways. If for some reason the image cannot be displayed, the alt text will show instead, giving users an idea of what the image is. See the example below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57917 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/example-of-using-alt-text.png\" alt=\"\" width=\"317\" height=\"189\" \/><\/p>\n<p>More importantly, alt text is used by search engines. Google claims that they cannot read images and that they use alt text to try to understand what images are about.<\/p>\n<h4>Alt Text Example:<\/h4>\n<p><em>&lt;img src=&#8221;\/wp-content\/uploads\/ac-repair-tampa.jpg&#8221; alt=&#8221;ac repairman fixes broken air conditioner in tampa florida&#8221;&gt;<\/em><\/p>\n<h2>Crawling &amp; Indexing (General SEO)<\/h2>\n<p>When it comes to technical SEO, making sure that search engines can crawl and index your site is #1 in importance. If your site can\u2019t be crawled, it can\u2019t be indexed and then people <strong>will never<\/strong> find it.<\/p>\n<h3>What Is Crawling?<\/h3>\n<p>There isn&#8217;t a central registry of all web pages that exist anywhere (that we know of), so Google must constantly search for new pages and add them to its list of known pages. This process of discovery is called crawling.<\/p>\n<p>Google uses a web crawler called Googlebot to crawl the internet. A web crawler is like a virtual robot or a spider. A web crawler is really just an automated program that crawls from one web page to the next.<\/p>\n<p>For example, Googlebot will crawl \/about-us\/ and if there are any links on the \/about-us\/ page to other pages, then Googlebot will crawl those next.<\/p>\n<p>Why does Googlebot do this? If Googlebot finds new content, it may suggest that it be indexed by Google.<\/p>\n<h3>What Is Indexing?<\/h3>\n<p>After a page is discovered by Google, it tries to understand what the page is about and decides to add it to it\u2019s \u201cindex\u201d. Google\u2019s index is just Google\u2019s registry of all websites that they may want to show in their search results.<\/p>\n<p>When you search on Google, you are not seeing all available websites that exist, you are only seeing websites Google has decided to add to their index of websites.<\/p>\n<h3>See If Google Can Crawl Your Site<\/h3>\n<p>You will need to see if Google is able to crawl your site. You can do this a few different ways.<\/p>\n<h4>Google Search Console<\/h4>\n<p>Sign into Google Search Console and navigate to the \u201cURL Inspection\u201d tab. Enter the URL you want to test and then click on the \u201cTest Live URL\u201d button.<\/p>\n<p>See what it says besides \u201cCrawl allowed?\u201d If it says: \u201cNo: blocked by robots.txt\u201d then Google can\u2019t crawl this page.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57919 size-large\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/robot.txt-blocked-crawling-example-1024x728.png\" alt=\"\" width=\"1024\" height=\"728\" \/><\/p>\n<h4>TechnicalSEO.com<\/h4>\n<p>If you don\u2019t have access to Google Search Console for some reason you can use this free <a href=\"https:\/\/technicalseo.com\/tools\/fetch-render\/\" target=\"_blank\" rel=\"noopener\">Fetch &amp; Render tool<\/a>.<\/p>\n<p>Make sure to check the \u201cObey robots.txt\u201d box and click the \u201cFetch &amp; Render\u201d button. If the results show a \u201cno symbol\u201d like in the screenshot below, then Google is not able to crawl that page.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57920 size-large\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/merkle-fetch-and-render-test-min-1024x511.jpg\" alt=\"\" width=\"1024\" height=\"511\" \/><\/p>\n<h4>Check Your Robots.txt File<\/h4>\n<p>Many times the reason Google can\u2019t crawl your site is because it\u2019s being blocked from doing so in the robots.txt file.<\/p>\n<p>To view this file for your site, simply add \/robots.txt to the end of your home page URL.<\/p>\n<p>Example: <a href=\"https:\/\/whitespark.ca\/robots.txt\" target=\"_blank\" rel=\"noopener\">https:\/\/whitespark.ca\/robots.txt<\/a><\/p>\n<p>There are a lot of ways this file can be configured but to keep it simple I\u2019ll cover the two basic ways.<\/p>\n<p>If your robots.txt file looks like this it\u2019s blocking all web crawlers from all content on your site.<\/p>\n<p><em><strong>User-agent: *<\/strong><\/em><br \/>\n<em><strong>Disallow: \/<\/strong><\/em><\/p>\n<p>If your robots.txt file looks like this it\u2019s allowing all web crawlers access to all content on your site.<\/p>\n<p><em><strong>User-agent: *<\/strong><\/em><br \/>\n<em><strong>Disallow:<\/strong><\/em><\/p>\n<p>To learn more about robots.txt files, <a href=\"https:\/\/moz.com\/learn\/seo\/robotstxt\" target=\"_blank\" rel=\"noopener\">check out this article<\/a>.<\/p>\n<h3>See If Google Can Index Your Site<\/h3>\n<p>After you have made sure Google can crawl your site, you\u2019ll want to see if Google has indexed it or even has the permission to do so. You can do this a few different ways.<\/p>\n<h4>Site Search<\/h4>\n<p>The quickest and easiest way to see if Google has indexed any of your site is to go to google.com and type in \u201csite:domain.com\u201d into the search bar. If you see any results then that means Google has indexed some or all of your pages.<\/p>\n<p>Here\u2019s what that would look like:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57923 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/site-search-on-google-min.jpg\" alt=\"\" width=\"662\" height=\"692\" \/><\/p>\n<h4>Google Search Console<\/h4>\n<p>In Google Search Console go to the \u201cCoverage\u201d tab and select both the \u201cErrors\u201d and \u201cExcluded\u201d blocks. When you scroll down, if you see anything that says \u201cnoindex\u201d this means Google is being told not to index those pages. Either on purpose or by accident.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57924 size-large\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/google-search-console-no-index-min-1024x695.jpg\" alt=\"\" width=\"1024\" height=\"695\" \/><\/p>\n<h4>Check The Meta Robots Tag<\/h4>\n<p>You can check the meta robots tag on the page itself to see if it is allowed to be indexed by search engines.<\/p>\n<p>If you are using Chrome, right click on the page and select \u201cInspect\u201d. Then search for name=&#8221;robots&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-57939\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/meta-robots-tag.jpg\" alt=\"meta-robots-tag\" width=\"437\" height=\"127\" \/><\/p>\n<p>If you find no tag, then the page is allowed to be indexed.<\/p>\n<p>If you find either of these tags, then the page in not allowed to be indexed.<\/p>\n<p><em>&lt;meta name=\u201drobots\u201d content=\u201dnoindex, follow\u201d&gt;<\/em><\/p>\n<p><em>&lt;meta name=\u201drobots\u201d content=\u201dnoindex, nofollow\u201d&gt;<\/em><\/p>\n<h4>Crawling Software<\/h4>\n<p>Another way you can see if pages are telling Google not to index them is by using a crawling software like ScreamingFrog as I mentioned before. You can crawl your site as Googlebot and check the \u201cDirectives\u201d tab and look under the \u201cMeta Robots\u201d column. If any pages show the word \u201cnoindex\u201d in the \u201cMeta Robots\u201d column then Google is being told not to index those pages.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57925 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/screaming-frog-no-index-min.jpg\" alt=\"\" width=\"502\" height=\"345\" \/><\/p>\n<h4>X-Robots-Tag<\/h4>\n<p>This is probably going to happen way less often on small business websites but I\u2019ll cover it just in case. Another way you can stop Google from indexing a page is by an <a href=\"https:\/\/developers.google.com\/search\/reference\/robots_meta_tag#using-the-x-robots-tag-http-header\" target=\"_blank\" rel=\"noopener\">X-Robots-Tag<\/a>. With this you can use robot.txt directives in the header of an HTTP response.<\/p>\n<h5>Checking With a Crawling Software<\/h5>\n<p>You can see if pages have an X-Robots-Tag by using a crawling software like ScreamingFrog. You can crawl your site as Googlebot and check the \u201cDirectives\u201d tab and look under the \u201cX-Robots-Tag\u201d column.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57922 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/screaming-frog-robots-tag-min.jpg\" alt=\"\" width=\"502\" height=\"345\" \/><\/p>\n<h5>Checking in Chrome<\/h5>\n<p>You can see if a page has an X-Robots-Tag by looking at the HTTP headers of the page. If you are using Chrome, right click and select \u201cInspect\u201d. Then click on the \u201cNetwork\u201d tab and reload the page. Select the HTTP request of the page and look for a X-Robots-Tag.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-57921\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/whitespark-http-headers-chrome-min.jpg\" alt=\"whitespark-http-headers-chrome-min\" width=\"694\" height=\"718\" \/><\/p>\n<p>If you don\u2019t see one then there obviously isn\u2019t one. In the example above, there is none.<\/p>\n<p>If you see something like this below, then search engines won&#8217;t index this page.<\/p>\n<p>HTTP\/1.1 200 OK<br \/>\nDate: Tue, 31 May 2019 21:42:43 GMT<br \/>\n(\u2026)<br \/>\n<strong>X-Robots-Tag: noindex<\/strong><br \/>\n(\u2026)<\/p>\n<p>HTTP\/1.1 200 OK<br \/>\nDate: Tue, 31 May 2019 21:42:43 GMT<br \/>\n(\u2026)<br \/>\n<strong>X-Robots-Tag: noindex, nofollow<\/strong><br \/>\n(\u2026)<\/p>\n<h3>Robots.txt vs Noindex<\/h3>\n<p>This is a <strong>very common<\/strong> mistake that I wanted to point out. Sometimes people think that if they block a page from being crawled in the robots.txt that Google won\u2019t index it. That is not true.<\/p>\n<p>Here are a couple of comments from Google that explain it very well.<\/p>\n<blockquote><p>\u201cBe careful about disallowing search engines from crawling your pages. Using the robots.txt protocol on your site can stop Google from crawling your pages, but it may not always prevent them from being indexed. For example, Google may index your page if we discover it by following a link from someone else&#8217;s site. To display it in search results, Google will need to display a title of some kind and because we won&#8217;t have access to any of your page content, we will rely on off-page content such as anchor text from other sites. (To truly block a URL from being indexed, you can use the &#8220;noindex&#8221; directive.)\u201d<\/p><\/blockquote>\n<p>Reference: <a href=\"https:\/\/support.google.com\/webmasters\/answer\/35624?hl=en\" target=\"_blank\" rel=\"noopener\">https:\/\/support.google.com\/webmasters\/answer\/35624?hl=en <\/a><\/p>\n<blockquote><p>\u201cImportant! For the noindex directive to be effective, the page must not be blocked by a robots.txt file. If the page is blocked by a robots.txt file, the crawler will never see the noindex directive, and the page can still appear in search results, for example if other pages link to it.\u201d<\/p><\/blockquote>\n<p>Reference: <a href=\"https:\/\/support.google.com\/webmasters\/answer\/93710?hl=en\" target=\"_blank\" rel=\"noopener\">https:\/\/support.google.com\/webmasters\/answer\/93710?hl=en<\/a><\/p>\n<h3>Noindex Conversion Pages<\/h3>\n<p>If you have \u201cconfirmation\u201d pages that users reach only after they have completed an important action, it\u2019s a best practice to noindex these pages. Why?<\/p>\n<p>Let\u2019s say each time someone reaches the \/thank-you\/ page, you count that as a goal completion in Google Analytics. If a user finds that page in Google\u2019s search results and visits it, that visit would count as a conversion in Google Analytics. And if you multiply that by many unique searchers, these visits would now all count as conversions in Google Analytics and severely skew your conversion data.<\/p>\n<p>For this reason, it\u2019s recommended that you noindex pages like these:<\/p>\n<ul>\n<li>Confirmation pages<\/li>\n<li>Thank you pages<\/li>\n<li>Contact form redirect pages<\/li>\n<li>Paid landing pages<\/li>\n<\/ul>\n<h2>SSL Certificate (General SEO)<\/h2>\n<p>In 2014 Google started to use <a href=\"https:\/\/webmasters.googleblog.com\/2014\/08\/https-as-ranking-signal.html\" target=\"_blank\" rel=\"noopener\">HTTPS as a ranking signal<\/a>. HTTPS can also help make your site more secure and is required if you accept payments on your site.<\/p>\n<p>You can purchase an SSL certificate from many places. You can also get a free one from <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noopener\">Let\u2019s Encrypt<\/a>. Setting up an SSL certificate manually is not a simple task. For that reason, I recommend you go with a host that offers to set it up for you such as WP Engine or SiteGround. They make the process much easier since it\u2019s basically automated and if you encounter any issues you can contact their support team for help.<\/p>\n<p>Once you set up an SSL certificate don\u2019t forget to take the following steps:<\/p>\n<h3>Hosting Settings<\/h3>\n<p>Your hosting service may have some HTTPS configurations that need to be set up. For example, if you use WP Engine, make sure to check all the boxes in their SSL settings for both versions of the domain; www and non-www. There are a few settings I recommending reviewing in the screenshot below if you are using WP Engine.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57926 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/WP-engine-SSL-settings.png\" alt=\"\" width=\"778\" height=\"581\" \/><\/p>\n<p><em>Note: Do not use any type of Force SSL plugins if the site is hosted at WP Engine. Reference: <a href=\"https:\/\/wpengine.com\/support\/securing-all-urls-with-ssl\/\" target=\"_blank\" rel=\"noopener\">https:\/\/wpengine.com\/support\/securing-all-urls-with-ssl\/<\/a><\/em><\/p>\n<h3>WordPress Settings<\/h3>\n<p>You\u2019ll also want to make sure that your WordPress settings are correct now that you\u2019ve installed an SSL certificate on the site.<\/p>\n<p>In WordPress, go to the \u201cSettings\u201d tab and then click on \u201cGeneral\u201d. Make sure the \u201cWordPress\u201d address and \u201cSite Address\u201d both include the https:\/\/ version of the site.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57927 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/WP-settings-with-https.png\" alt=\"\" width=\"780\" height=\"321\" \/><\/p>\n<p>Some hosts will lock this area and it will appear \u201c<a href=\"https:\/\/wpengine.com\/support\/update-wordpress-url\/\" target=\"_blank\" rel=\"noopener\">grayed-out<\/a>\u201d and not let you edit it. I believe you can contact the host for help or update the wp-config.php file to fix this.<\/p>\n<h3>Google Analytics<\/h3>\n<p>In Google Analytics, you will want to review the \u201cDefault URL\u201d in the Property Settings and in the View Settings. If there are multiple \u201cViews\u201d in the View Settings, you will want to review all of them.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57928 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/google-analytics-property-and-view-settings.png\" alt=\"\" width=\"979\" height=\"496\" \/><\/p>\n<p>Inside the Property Settings and View Settings in Google Analytics you can see which version of the URL is being tracked. Make sure it\u2019s set to the new https:\/\/ version.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-57929 size-full\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/change-default-url-in-property-settings-in-google-analytics.png\" alt=\"\" width=\"689\" height=\"359\" \/><\/p>\n<p>If you make any changes here, I highly recommend viewing live traffic data in Google\u2019s \u201cRealtime\u201d report to make sure Google Analytics is still tracking properly.<\/p>\n<h3>Google Search Console<\/h3>\n<p>This one is also very important. If you have set up Google Search Console by verifying individual properties (aka URL Prefix), then you will need to make sure to verify the two new versions of the domain; both https:\/\/ and https:\/\/www.<\/p>\n<p>If you have set up Google Search Console by verifying the entire domain, then this section does not apply to you.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-57930\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/google-search-console-verify-property-type.png\" alt=\"\" width=\"744\" height=\"527\" \/><\/p>\n<h3>Do a Site Crawl<\/h3>\n<p>Crawl the site with the software of your choice. I use Screaming Frog to make sure all internal links on the site are now HTTPS.<\/p>\n<p>In Screaming Frog, under the \u201cProtocol\u201d section, click on the \u201cHTTP\u201d tab to see any internal links on the site that are still HTTP.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-large wp-image-57931\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/screaming-frog-protocol-section-1024x277.png\" alt=\"\" width=\"1024\" height=\"277\" \/><\/p>\n<p>You can use a <a href=\"https:\/\/wordpress.org\/plugins\/search-and-replace\/\" target=\"_blank\" rel=\"noopener\">Search and Replace plugin<\/a> to update HTTP links in bulk. But be very careful. It\u2019s super easy to mess things up using a search and replace plugin.<\/p>\n<h2>XML Sitemap (General SEO)<\/h2>\n<p>It\u2019s crucial that Google can find all the pages on your site that you want indexed. Just because a page exists does not mean Google can find it. If it\u2019s not linked to on your site from a page Google knows about, Google may not be able to find it. That\u2019s why an XML sitemap is used. It contains a list of all pages on your site that you want Google to crawl and index.<\/p>\n<h3>Create an XML Sitemap<\/h3>\n<p>There are many tools you can use to create an XML sitemap. I love using <a href=\"https:\/\/yoast.com\/wordpress\/plugins\/seo\/\" target=\"_blank\" rel=\"noopener\">Yoast\u2019s free SEO plugin<\/a> for this.<\/p>\n<p>Once you have installed the plugin and configured it, you can confirm the XML sitemap feature is on by going to the \u201cGeneral\u201d tab and then the \u201cFeatures\u201d tab. You can also view the XML sitemap here.<\/p>\n<p>It can also be found by adding \/sitemap_index.xml to the end of your home page URL.<\/p>\n<p>Example: <a href=\"https:\/\/whitespark.ca\/sitemap_index.xml\" target=\"_blank\" rel=\"noopener\">https:\/\/whitespark.ca\/sitemap_index.xml<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-57932\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/yoast-seo-sitemap-min.jpg\" alt=\"\" width=\"800\" height=\"686\" \/><\/p>\n<h3>Removing Pages from The XML Sitemap<\/h3>\n<p>On individual pages, you can control whether or not Google will index a page. When editing a page, scroll down to the \u201cYoast SEO\u201d section. Under the \u201cAdvanced\u201d section you can choose either \u201cYes\u201d or \u201cNo\u201d to \u201cAllow search engines to show this Page in search results?\u201d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-57940\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/yoast-seo-page-settings-min.jpg\" alt=\"yoast-seo-page-settings-min\" width=\"845\" height=\"908\" \/><\/p>\n<p>If you choose \u201cNo\u201d, Yoast will add the noindex meta tag to the page like so:<\/p>\n<p><em>&lt;meta name=\u201drobots\u201d content=\u201dnoindex, follow\u201d&gt;<\/em><\/p>\n<p>If you use the Yoast SEO plugin to noindex a page, it will automatically be removed from the XML Sitemap.<\/p>\n<h3>Submit The XML Sitemap to Google<\/h3>\n<p>After you have created your XML sitemap you\u2019ll need to submit it to Google in Google Search Console.<\/p>\n<p>In Google Search Console, click on the \u201cSitemaps\u201d tab. In the \u201cAdd a new sitemap\u201d area, add the XML Sitemap path. Most likely this will be sitemap_index.xml or sitemap.xml.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-large wp-image-57934\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/xml-sitemap-google-search-console-min-1024x373.jpg\" alt=\"\" width=\"1024\" height=\"373\" \/><\/p>\n<h2>Broken Links (General SEO)<\/h2>\n<p>For a good user experience and for crawling efficiency, you\u2019ll want to make sure to fix any broken links on your website.<\/p>\n<h3>Finding Broken Links<\/h3>\n<p>In Screaming Frog, click on the \u201cResponse Codes\u201d tab. In the \u201cOverview\u201d tab on the right, click on \u201cClient Error (4XX)\u201d. This will pull up a list of all pages that have 4XX errors. You can see the \u201cStatus Code\u201d column to see which ones are 404s (broken links).<\/p>\n<p>1) Click on a broken link in the main box.<br \/>\n2) Then click on the \u201cInlinks\u201d tab at the bottom (you may have to drag up in order to see this section).<br \/>\n3) This will show you all the pages on the site that contain that specific broken link. These are the pages you will need to go to in order to fix the broken link.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-large wp-image-57935\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/screaming-frog-broken-links-min-1024x580.jpg\" alt=\"\" width=\"1024\" height=\"580\" \/><\/p>\n<p>You can use a <a href=\"https:\/\/wordpress.org\/plugins\/search-and-replace\/\" target=\"_blank\" rel=\"noopener\">Search and Replace plugin<\/a> to update broken links in bulk. But be very careful. It\u2019s super easy to mess things up using a search and replace plugin.<\/p>\n<h2>Redirects (General SEO)<\/h2>\n<p>If there are too many internal redirects on your site it can take a toll on the server. It can also slow down page load speed. This can become an even bigger issue if there are many redirects and many users on the site at the same time.<\/p>\n<h3>Finding Internal Redirects<\/h3>\n<p>You can find all the internal redirects that are happening on your site by using a crawling software.<\/p>\n<p>In Screaming Frog, click on the \u201cResponse Codes\u201d tab. In the \u201cOverview\u201d tab on the right, click on \u201cRedirection (3XX)\u201d. This will pull up a list of all pages that have 3XX redirects. You can see the \u201cStatus Code\u201d column to see which ones are 301s and 302s (redirects).<\/p>\n<p>1) Click on a link that is redirecting in the main box.<br \/>\n2) Then click on the \u201cInlinks\u201d tab at the bottom (you may have to drag up in order to see this section).<br \/>\n3) This will show you all the pages on the site that contain that link that is redirecting. These are the pages you will need to go to in order to update the internal links so that they no longer redirect.<\/p>\n<p><em>You will only need to be concerned with internal links that are redirecting.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-large wp-image-57936\" src=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2024\/06\/screaming-frog-redirects-min-1024x571.jpg\" alt=\"\" width=\"1024\" height=\"571\" \/><\/p>\n<h3>Updating the Redirecting Internal Links<\/h3>\n<p>Now that you have located the internal link that is redirecting, you can update it to the correct \/ final destination link.<\/p>\n<p>In the example above you will see the link \/seo\/white-label\/ is redirecting. Let\u2019s see why this may be:<\/p>\n<ol>\n<li>It could be that the new page link is now \/seo\/white-label-seo\/. If that is the case, update the link from \/seo\/white-label\/ to \/seo\/white-label-seo\/.<\/li>\n<li>It could be that the link is pointing to the http:\/\/ version of the page, but the site is using HTTPS. If that is the case, update the link from http:\/\/ to https:\/\/.<\/li>\n<\/ol>\n<p>The main goal is to update the link so that it no longer redirects. Even once you update the link, you\u2019ll still want to keep the 301 redirect in place just in case there are any backlinks to the old link anywhere on the internet.<\/p>\n<p>You can use a Search and Replace plugin to update internal redirects in bulk. But be very careful. It\u2019s super easy to mess things up using a search and replace plugin.<\/p>\n<h2>Conclusion<\/h2>\n<p>Whew! That\u2019s a lot of information. But it\u2019s all very important for local SEO. On their own, each issue may not be a big deal but when you add them all up, they have a large impact.<\/p>\n<p>A quick recap:<\/p>\n<ul>\n<li><a href=\"https:\/\/whitespark.ca\/blog\/a-beginners-guide-to-technical-seo-for-local-businesses-part-1\/\">Part One<\/a>\n<ul>\n<li>Target keywords properly with basic on-page optimizations<\/li>\n<li>Organize your URLs in a logical order<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/whitespark.ca\/blog\/a-beginners-guide-to-technical-seo-for-local-businesses-part-2\/\">Part Two<\/a>\n<ul>\n<li>Don\u2019t create a bunch of duplicate or extremely similar pages<\/li>\n<li>Set up LocalBusiness and Review Schema<\/li>\n<li>Make sure your site is mobile-friendly (this goes without saying these days)<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/whitespark.ca\/blog\/a-beginners-guide-to-technical-seo-for-local-businesses-part-3\/\">Part Three<\/a>\n<ul>\n<li>Improve your site\u2019s speed<\/li>\n<li>Optimize your images<\/li>\n<li>Make sure search engines can crawl and index your site<\/li>\n<li>Get an SSL certificate set up<\/li>\n<li>Create an XML sitemap and submit it to Google<\/li>\n<li>Fix all broken links and make sure there aren\u2019t a billion internal redirects<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Download This Guide<\/h2>\n<p>We&#8217;re making it really easy for you to implement everything covered in A Beginner\u2019s Guide to Technical SEO For Local Businesses and to have a reference source. Simply <a href=\"https:\/\/whitespark.ca\/wp-content\/uploads\/2019\/09\/Whitespark_-A-Beginner\u2019s-Guide-to-Technical-SEO-For-Local-Businesses.pdf\" target=\"_blank\" rel=\"noopener\"><strong>click here to download the PDF version<\/strong><\/a> with all 3 parts.<\/p>\n<p>Looking to expand your SEO knowledge? You&#8217;re in luck, Dani Owens offers\u00a0<a href=\"https:\/\/www.pigzilla.co\/training\/\" target=\"_blank\" rel=\"noopener\">SEO Training<\/a> to agencies, freelancers and DIYers. Check out her website for more information.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to part three of &#8220;A Beginner\u2019s Guide to Technical SEO For Local Businesses&#8221;. In this post we&#8217;re going to cover site speed, image optimizations, crawling and indexing, broken links, redirects and more. You can review part one here and review part two here which discuss keyword targeting, URL structure, duplicate content and Schema.org. Site [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3774,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"none","_seopress_titles_title":"","_seopress_titles_desc":"Part 3 of our guide to Technical SEO for Local Businesses covers site speed, image optimizations, crawling and indexing, broken links, redirects and more.","_seopress_robots_index":"","footnotes":""},"categories":[1],"tags":[],"classification":[],"class_list":["post-3750","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"_links":{"self":[{"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/posts\/3750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/comments?post=3750"}],"version-history":[{"count":2,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/posts\/3750\/revisions"}],"predecessor-version":[{"id":5110,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/posts\/3750\/revisions\/5110"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/media\/3774"}],"wp:attachment":[{"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/media?parent=3750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/categories?post=3750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/tags?post=3750"},{"taxonomy":"classification","embeddable":true,"href":"https:\/\/whitespark.ca\/wp-json\/wp\/v2\/classification?post=3750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}