{"id":8062,"date":"2026-08-01T01:44:51","date_gmt":"2026-08-01T01:44:51","guid":{"rendered":"https:\/\/dextora.agency\/insights\/technical-seo-checklist-20-points-diy\/"},"modified":"2026-08-01T08:36:56","modified_gmt":"2026-08-01T08:36:56","slug":"technical-seo-checklist-20-points-diy","status":"publish","type":"insight","link":"https:\/\/dextora.agency\/en\/insights\/technical-seo-checklist-20-points-diy\/","title":{"rendered":"Technical SEO: A 20-Point Checklist You Can Run Yourself"},"content":{"rendered":"<p>Technical SEO requires neither special tools nor large budgets. Most of the problems that genuinely cost rankings are visible to the naked eye within a couple of hours. Below are twenty points you can check yourself, with what to look at and what counts as normal.<\/p>\n<h2>Indexing: can search engines see you at all<\/h2>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th>What to check<\/th>\n<th>How<\/th>\n<th>Normal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>The site is not blocked from indexing<\/td>\n<td>Open site.com\/robots.txt<\/td>\n<td>No Disallow: \/ line<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>No noindex in page code<\/td>\n<td>Search the source for noindex<\/td>\n<td>Absent on pages that matter<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Number of indexed pages<\/td>\n<td>Search Console, Pages report<\/td>\n<td>Roughly equals the real page count<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>A sitemap exists and is current<\/td>\n<td>site.com\/sitemap.xml<\/td>\n<td>Opens, dates are recent<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>The sitemap is submitted<\/td>\n<td>Search Console, Sitemaps section<\/td>\n<td>Success status, no errors<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Point 1 looks too obvious to matter, yet it is the cause of the most dramatic traffic collapses after migrations and <a href=\"https:\/\/dextora.agency\/en\/insights\/website-redesign-without-losing-traffic-rankings\/\">redesigns<\/a>.<\/p>\n<h2>URLs and structure<\/h2>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th>What to check<\/th>\n<th>How<\/th>\n<th>Normal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>6<\/td>\n<td>One version of the site<\/td>\n<td>Open with and without www, http and https<\/td>\n<td>Everything lands on one address<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>Canonical points to itself<\/td>\n<td>Search the source for canonical<\/td>\n<td>Matches the page address<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>URLs are Latin and readable<\/td>\n<td>Look at the browser bar<\/td>\n<td>No encoded characters or random digits<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>No redirect chains<\/td>\n<td>Test old addresses<\/td>\n<td>One hop to the final page<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Content and markup<\/h2>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th>What to check<\/th>\n<th>How<\/th>\n<th>Normal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>10<\/td>\n<td>Titles are unique<\/td>\n<td>Search Console or view source<\/td>\n<td>One per page, under 60 characters<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>Descriptions are filled in<\/td>\n<td>Same<\/td>\n<td>Unique, under 160 characters<\/td>\n<\/tr>\n<tr>\n<td>12<\/td>\n<td>One h1 per page<\/td>\n<td>Search the source for h1<\/td>\n<td>Exactly one, carrying the topic<\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td>Heading hierarchy has no gaps<\/td>\n<td>Review the h1-h3 sequence<\/td>\n<td>Levels are not skipped<\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>Images have alt text<\/td>\n<td>Search the source for alt=<\/td>\n<td>Present and meaningful<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Point 12 is broken most often on homepages: the design replaces a text heading with an image, and the page is left with no primary signal about its topic.<\/p>\n<h2>Speed and mobile<\/h2>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th>What to check<\/th>\n<th>How<\/th>\n<th>Normal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>15<\/td>\n<td>Core Web Vitals from field data<\/td>\n<td>Search Console, Core Web Vitals<\/td>\n<td>Most URLs in the green zone<\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>The site works on a phone<\/td>\n<td>Open it on a real device<\/td>\n<td>Text readable without zooming<\/td>\n<\/tr>\n<tr>\n<td>17<\/td>\n<td>Images in modern formats<\/td>\n<td>Check extensions and weight<\/td>\n<td>WebP, under 300 KB per photo<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Links and navigation<\/h2>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th>What to check<\/th>\n<th>How<\/th>\n<th>Normal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>18<\/td>\n<td>No broken links<\/td>\n<td>The 404 report in Search Console<\/td>\n<td>Empty or nearly empty<\/td>\n<\/tr>\n<tr>\n<td>19<\/td>\n<td>Every page is reachable from navigation<\/td>\n<td>Walk the menu<\/td>\n<td>No pages without inbound links<\/td>\n<\/tr>\n<tr>\n<td>20<\/td>\n<td>The 404 page is useful<\/td>\n<td>Open a non-existent address<\/td>\n<td>Returns 404, has menu and search<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How to use this list<\/h2>\n<p>Order matters. Points 1-5 come first: if the site is blocked from indexing, the other nineteen are pointless. Then 6-9, because URL errors create duplicates that devalue any work on content.<\/p>\n<p>A realistic schedule: the first pass takes two or three hours. After that, quarterly runs through the same list take twenty minutes, because you already know where to look.<\/p>\n<h2>What is deliberately missing and why<\/h2>\n<p>There is no keyword density here, no text length, no backlink counts. Not because those do not matter, but because they are no longer the technical layer: they require decisions about substance rather than a check of state.<\/p>\n<p>Technical SEO does not bring traffic. It removes the obstacles that stop traffic arriving despite decent content. The distinction matters: if all twenty points are in order and there are still <a href=\"https:\/\/dextora.agency\/en\/insights\/why-your-website-gets-no-enquiries-seven-causes\/\">no enquiries<\/a>, the problem is definitely not here, and you should be looking at whether the right people are arriving and whether they understand what you offer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Twenty checks requiring no special tools: indexing, URLs, headings, speed and navigation. Each point states how to check it and what counts as normal. The first pass takes two or three hours.<\/p>\n","protected":false},"author":5,"featured_media":8058,"template":"","insight_category":[154],"insight_tag":[178,172,162],"class_list":["post-8062","insight","type-insight","status-publish","has-post-thumbnail","hentry","insight_category-guides","insight_tag-performance","insight_tag-seo","insight_tag-web-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight\/8062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight"}],"about":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/types\/insight"}],"author":[{"embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/users\/5"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/media\/8058"}],"wp:attachment":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/media?parent=8062"}],"wp:term":[{"taxonomy":"insight_category","embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight_category?post=8062"},{"taxonomy":"insight_tag","embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight_tag?post=8062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}