A practical technical seo audit checklist should help you move from “traffic dropped” to a prioritized repair plan. This guide shows you how to inspect crawling, indexation, templates, performance, structured data, internal links, and measurement—then turn the evidence into tasks your developer or agency can actually ship.
The goal is not to produce a 100-page export filled with warnings. The goal is to identify which technical conditions can prevent valuable pages from being discovered, understood, indexed, or used by customers. That distinction matters whether you run a Bangladeshi service business, an international ecommerce store, or a white-label SEO program for several clients.
Step 1: Define the audit scope and business risk
Start by deciding what the audit must explain. A website with 80 service pages needs a different investigation from an ecommerce store with 40,000 filter URLs. If you begin by crawling everything without a question, the report will overvalue easy-to-count errors and undervalue revenue-critical problems.
Choose the question before choosing the tool
Write one primary audit question and up to three supporting questions. Examples include:
- Traffic loss: Did a migration, redesign, algorithm change, or template release make important pages harder to crawl or index?
- Growth constraint: Are category, location, or service pages discoverable and internally linked strongly enough to compete?
- Conversion risk: Do slow, broken, confusing, or mobile-unfriendly templates interrupt organic visitors before they contact or buy?
- International expansion: Are language, country, canonical, and hreflang signals aligned rather than sending conflicting instructions?
- Recovery: Is the site carrying a manual action, a security issue, a large number of soft 404s, or a history of poor-quality pages?
Record the business context before you open a crawler: the main conversions, priority markets, top landing pages, recent releases, CMS, analytics setup, and known incidents. For an ecommerce business, include product availability and margin. A technical fix that sends more traffic to discontinued products may not improve commercial performance.
Build a representative URL sample
Do not judge a large site from its homepage and five random URLs. Select examples from each important template: homepage, category, product, service, location, blog, author, pagination, search results, login, cart, and campaign pages. Include both strong and weak performers from organic analytics.
For an international site, sample each country or language folder. For a Bangladesh-focused site, test Bangla and English versions if both exist, and check whether phone numbers, addresses, opening hours, and service areas match the intended local market.
Use a risk-weighted scope: prioritize pages that generate leads, revenue, branded demand, or links. A missing image alt attribute on a low-value archive is rarely more urgent than a canonical tag that removes a top product category from the index.
Set an implementation board
Create columns for finding, affected URLs, evidence, business impact, recommended action, owner, dependency, and validation method. Classify each issue as critical, high, medium, or monitor. These labels are illustrative starting policies, not universal SEO thresholds; adjust them when Search Console data, revenue, crawl logs, or release history shows that a lower-volume template has higher business risk.
| Finding | Evidence to capture | Likely consequence | First action | Validation |
|---|---|---|---|---|
| Important category has no internal links from indexable pages | Crawl path, page source, sitemap status, organic landing data | Slow discovery and weak authority flow | Add contextual links from relevant hubs and navigation | Recrawl, inspect linking pages, monitor impressions |
| Product URLs return 200 but show discontinued products | HTTP response, rendered content, inventory status | Poor user experience and possible soft-404 interpretation | Choose replacement, relevant category, or genuine 404/410 policy | Test status and Search Console indexing after recrawl |
| Mobile template exceeds the agreed performance policy | Field data, lab diagnostics, device and template comparison | Lower usability and weaker conversion efficiency | Fix the largest template-level bottleneck first | Recheck field data and conversion behavior |
Keep the audit reproducible. Save the crawl date, property, country settings, user agent, URL lists, and exports. In 2026, this matters especially for agencies reporting across clients: a later analyst must be able to distinguish a new defect from a different crawl configuration.
Step 2: Verify discovery, crawling, and indexation
Separate three questions that are often collapsed into one: can a search engine discover the URL, can it crawl the URL, and does it choose to index the URL? Google describes crawling and indexing as distinct stages, so a page can be technically accessible yet still not appear in search results. Its official crawling overview is a useful reference for keeping those stages separate: Google Search crawling and indexing documentation.
Compare four URL inventories
Export URLs from the XML sitemap, your crawler, analytics or server logs, and Google Search Console’s indexing reports. Then compare them rather than treating one source as the complete truth.
- Sitemap URLs: pages the business says are canonical, indexable, and worth discovering.
- Crawled URLs: pages reachable through the links and URL patterns your crawler encountered.
- Organic landing URLs: pages that have generated impressions, clicks, or conversions.
- Search Console examples: URLs Google has classified under indexed, excluded, duplicate, redirect, or error states.
Investigate the gaps. A URL in the sitemap but absent from the crawl may have weak internal links, blocked access, or a malformed sitemap. A crawled URL absent from the sitemap may be a legitimate page—or a parameter, archive, or faceted URL that should not be promoted. An organic landing page that now redirects or returns an error deserves immediate attention.
Inspect robots.txt, meta robots, and response codes together
Robots.txt controls crawler access to paths; it is not a reliable method for removing a URL from search results. Google’s official robots.txt guidance explains the distinction and the limits of the file: Google robots.txt documentation. Review the file for accidental blocks on JavaScript, CSS, product images, API responses needed for rendering, or entire folders created during a migration.
For every priority template, record:
- HTTP status and redirect chain;
- indexability directives in the HTML and headers;
- canonical target and whether that target resolves;
- presence in an XML sitemap;
- links from indexable pages;
- rendered content available without an interaction that a crawler may not perform.
Do not “fix” every excluded URL. Login pages, internal search results, duplicate print views, and expired campaigns may be correctly excluded. The decision is whether the exclusion matches the business’s intended search surface.
Use URL Inspection for representative cases
Inspect at least one URL from every major template and every important problem class. Compare the live URL with the last indexed version where available. Look for changes in canonical selection, rendered content, mobile behavior, and indexing state after releases.
If a page is “discovered but currently not indexed,” do not respond by submitting it repeatedly. First ask whether it is sufficiently useful, distinct, internally connected, and technically consistent. Thin location pages that differ only by a city name often need content and service differentiation, not more indexation requests.
Step 3: Resolve URL, canonical, redirect, and duplicate problems
URL architecture is where technical signals collide. The same content can appear through uppercase paths, tracking parameters, trailing-slash variants, HTTP and HTTPS, alternate subdomains, faceted filters, printer pages, and old migration URLs. The objective is not to make every URL return a status code; it is to establish a clear canonical URL system.
Map URL variants to one intended destination
Take a sample from server logs, analytics, sitemap files, internal links, and external backlinks. Normalize the URLs in a spreadsheet and group variants by content. For each group, decide whether the URL should be:
- the primary indexable page;
- redirected permanently to a replacement;
- accessible but canonicalized to another version;
- blocked from crawling because it is an infinite or low-value URL pattern;
- returned as a genuine not-found or gone response.
Google’s canonicalization documentation explains that redirects, rel=”canonical”, sitemaps, and internal linking can provide canonical signals, but they are signals rather than absolute commands: Google’s duplicate URL consolidation guidance. Use consistent signals instead of placing a canonical tag on a page while linking, redirecting, and listing a different version elsewhere.
Worked example: an ecommerce category with filters
Suppose a Dhaka apparel store has these URLs:
- /women/shoes/ — the intended category page;
- /women/shoes?color=black — a useful filtered page with demand;
- /women/shoes?sort=price-low — a sorting variant with no unique search value;
- /women/shoes?size=42&color=black — a combination with few products;
- /Women/Shoes — an uppercase legacy path.
The correct answer may not be “canonicalize every parameter.” If the black-shoes page has enough inventory, unique copy, stable links, and measurable search demand, it could become an intentional landing page. The sorting URL can usually consolidate to the base category. The uppercase path should redirect if it is a duplicate. The size-and-color combination needs a policy based on inventory depth and customer demand, not a crawler’s warning count.
Canonical tags cannot repair weak information architecture. If internal links point mostly to parameter variants, first fix the link generation. If faceted navigation creates millions of combinations, control the URL space at the application level and monitor crawl behavior after deployment.
Check redirects as user journeys
Test old high-value URLs, not only recently created ones. Identify redirect chains, loops, irrelevant homepage redirects, and redirects that change language or country unexpectedly. A single redirect from an old service URL to its closest current replacement is generally more useful than sending the visitor to a generic homepage, but the destination must genuinely satisfy the old intent.
For deleted products, document a decision rule. Redirect to a replacement when one exists, redirect to a closely related category when the category serves the same need, and return a genuine not-found response when there is no useful substitute. MDN’s HTTP status documentation provides the technical distinction between common client-error responses, including 404: MDN’s 404 status reference.
Step 4: Audit templates, rendering, and page experience
Technical SEO is not separate from the experience a customer receives. Template-level defects multiply: one bad product template can affect every product, while one script loaded sitewide can slow every landing page. Test on mobile and desktop, logged out and logged in where relevant, and with consent or personalization states that change the HTML.
Inspect the rendered page, not only the source
Compare raw HTML with the rendered DOM for navigation, headings, product names, prices, availability, review content, and links. If essential content appears only after a user action or depends on a client-side request that fails, the crawler may not receive the same page a customer sees.
Check these template mechanisms:
- Primary content: Is the main answer, product information, or service detail present in the rendered output?
- Navigation: Do menu and related-item links use crawlable anchors with meaningful destinations?
- Pagination and loading: Can older products or articles be reached without relying on an endless scroll event?
- State changes: Do filters, tabs, and variants create accidental URL duplicates or hide indexable content?
- Errors: Does a failed API call leave a blank page that still returns a successful status?
Google recommends crawlable links and describes how links help discovery in its Search documentation: Google’s crawlable links guidance. In practice, this means a visually clickable control should still produce a usable, discoverable destination where discovery matters.
Measure performance by template and by user condition
Use field data when deciding whether real visitors experience a problem, and lab diagnostics when isolating a likely cause. Core Web Vitals are defined and explained in the web.dev documentation, including loading, responsiveness, and visual stability metrics: web.dev Core Web Vitals guidance.
For a performance audit, record the slowest template groups and the dominant bottleneck:
- server response delay;
- render-blocking CSS or JavaScript;
- oversized hero images and product media;
- third-party tags and chat tools;
- layout shifts caused by missing dimensions;
- long main-thread tasks that delay interaction.
Any numerical performance policy you set—such as a target response time or a percentage of URLs meeting a metric—is an illustrative starting policy, not a universal benchmark. Adjust it when field data differs sharply by country, device, connection type, or template, or when conversion loss is concentrated on a page that technically passes your policy.
Do not ask developers to “make the site faster” without naming the mechanism. Ask them to reduce the largest render-blocking asset, reserve image dimensions, remove an unnecessary tag, improve cache behavior, or reduce server work on a specific template. Each recommendation should have a measurable before-and-after condition.
Keep recurring monitoring separate from the SEO audit
A technical SEO audit is periodic; uptime and security failures can occur between audits. Set up recurring website health monitoring so the team can catch uptime and security problems between technical SEO audits, then document who receives alerts and how quickly a critical incident is escalated.
Step 5: Check structured data, metadata, and content signals
Metadata does not compensate for an inaccessible or unhelpful page, but inconsistent metadata can reduce clarity and create operational problems at scale. Review templates rather than manually editing isolated URLs first.
Validate structured data against visible content
List every schema type your templates output, then compare it with what users can actually see. Product data should reflect the product page; local business details should match the business’s real identity; review markup should not describe ratings that are absent or misleading. Schema.org provides the vocabulary and definitions for structured data types: Schema.org’s getting started documentation.
Check for:
- invalid JSON-LD syntax;
- required or recommended properties missing from the relevant template;
- price, stock, location, or date values that are stale;
- duplicate entities with conflicting names and URLs;
- schema generated for content hidden from visitors;
- markup copied across pages where the facts differ.
Structured data is not a ranking shortcut. Its value is clearest when it accurately describes eligible content and helps search systems interpret the page. Remove decorative markup that the business cannot maintain. An incorrect availability value on thousands of products can create more trust and operational risk than having no optional property.
Audit titles, descriptions, headings, and image handling
Export title tags, meta descriptions, H1 elements, canonical URLs, language attributes, image URLs, and alt text by template. Look for collisions and patterns, then fix the generation logic. A product title should not become “Buy Product | Brand” on every variant if the variants need distinct identification.
Descriptions should explain the page’s value and next action rather than repeat a keyword. If a team is reviewing large numbers of snippets, the meta description length checker can help check length consistently; use it as a drafting aid, not as a rule that guarantees a particular display.
For images, verify that important product or service visuals load successfully, have stable URLs, and support the surrounding content. Decorative images can use empty alternative text; informative images need concise descriptions. Avoid filling alt text with location names or product keywords that the image does not communicate.
Review international and local signals
For multilingual sites, check that each language version has a self-consistent canonical, valid alternate references where used, and links that do not force every visitor into the wrong country. For local businesses, compare the site’s name, address, phone, service area, and opening information across priority pages and business profiles. Do not create near-identical city pages merely to occupy more URLs; each location page should explain a genuinely different service area, team, proof point, or customer need.
Step 6: Strengthen internal architecture and find orphan pages
Internal linking determines how users and crawlers move through the site. A sitemap can expose a URL, but it does not replace useful contextual links. Start with the site’s commercial hierarchy: homepage to services or categories, hubs to subcategories, and relevant informational pages to conversion pages.
Use a crawl graph, not just a link count
For each priority URL, record the number of internal links, the source templates, anchor context, click depth, and whether those source pages are themselves indexable and important. A page with 30 links from irrelevant footer blocks may have less meaningful support than a page with three contextual links from strong, relevant hubs.
Find orphan pages by comparing the sitemap and CMS exports with URLs discovered through internal links. Then decide whether each orphan deserves:
- a prominent contextual link;
- a place in a category or location hub;
- a redirect to a stronger page;
- removal from the sitemap and archive;
- retention as a campaign or support URL outside the organic strategy.
Use the internal link opportunity tool to generate candidate relationships between existing pages, then review every suggestion manually. The tool can surface topical proximity; it cannot know whether a link is commercially appropriate, legally sensitive, or confusing for a particular customer journey.
Worked example: turning a blog into a service pathway
Imagine an agency has a well-performing article about recovering rankings after a site migration, but the article sends no visitors to its migration SEO service page. Add a relevant contextual link where the service is a logical next step, link back from the service page to a useful migration checklist, and connect both pages to a broader technical SEO hub.
Measure whether the new path improves discovery and assisted conversions, not merely the raw number of links. Keep anchor text descriptive and varied enough to sound natural. Do not force exact-match anchors into every paragraph or create a large block of “related links” that users ignore.
Step 7: Convert findings into a repair sequence and validation plan
An audit becomes valuable when the implementation sequence respects dependencies. Fixing a sitemap before deciding which URLs are canonical creates rework. Rewriting titles before repairing a broken rendering template may optimize content that search engines cannot reliably access.
Prioritize by impact, confidence, effort, and reversibility
Score each issue using a simple decision model. Impact asks how many valuable pages or conversions are affected. Confidence asks how strong the evidence is. Effort estimates engineering and editorial work. Reversibility identifies whether a change can be rolled back safely.
- Stabilize severe access failures: server errors, accidental blocks, broken redirects, security incidents, and migration losses.
- Repair canonical and indexation logic: sitemap eligibility, duplicate handling, noindex rules, and parameter policies.
- Fix template defects: rendering, navigation, mobile usability, performance bottlenecks, and structured data generation.
- Improve architecture: orphan pages, weak hubs, irrelevant links, and important pages buried too deeply.
- Refine metadata and content signals: titles, descriptions, headings, images, local details, and international annotations.
- Monitor and learn: compare the affected URL groups with an unaffected baseline.
These stages are an illustrative starting policy. Adjust the order when a release is imminent, legal requirements constrain redirects, a high-revenue page is affected, or logs show that a supposedly minor issue consumes substantial crawl activity.
Write acceptance criteria for every recommendation
“Improve internal links” is not an implementation task. A stronger ticket says: “Add one contextual link from each relevant service hub to the migration service page, use descriptive anchors, confirm the links exist in rendered HTML, and recrawl the affected templates.”
Every ticket should contain:
- the exact URL pattern or template;
- the current behavior and supporting evidence;
- the desired behavior;
- the owner and deployment dependency;
- the validation test;
- the rollback condition;
- the reporting segment to watch after release.
For an agency, include screenshots or request-and-response examples only when they clarify the defect. Developers need reproducible cases: a URL, device, status, console error, source-versus-rendered difference, or before-and-after rule is more useful than a generic severity label.
Validate in layers after deployment
First test a staging or controlled sample. Then validate live HTTP responses, canonical tags, robots directives, rendered content, structured data, links, and sitemap entries. Finally, use Search Console and analytics to monitor the affected URL group.
Do not interpret a short-term impression change as proof of success or failure by itself. Separate branded and non-branded traffic, country, device, template, and query intent. Compare against an unaffected group where possible. If the site has seasonal demand or active promotions, annotate those factors rather than attributing every movement to the technical release.
Set monitoring thresholds as illustrative starting policies. For example, a team might investigate when a priority template shows a material increase in server errors or a sustained drop in indexed URLs, but “material” should be defined from that site’s normal baseline. Adjust the policy when normal volatility, release frequency, or business seasonality produces too many false alarms or allows real failures to pass unnoticed.
What to do first with this Technical SEO Audit Checklist
Today, export your sitemap URLs, organic landing pages, and Search Console indexing examples. Select one representative URL from every important template, then create the implementation table with evidence, impact, owner, and validation criteria. Your first technical test should be whether priority pages are reachable, internally linked, canonically consistent, and eligible for indexing—not whether the site has accumulated a certain number of warnings.
After that baseline, fix any accidental access or migration issue before investing in lower-risk metadata refinements. If the site spans multiple markets, segment the evidence by country and language; if it is ecommerce, prioritize category and product templates tied to revenue. Mr Haq can help turn the findings into a technical SEO roadmap, reporting system, and implementation sequence through Mr Haq.
Authored with NotFair SEO