perfectdesign.

Search visibility · Guide

Complete SEO Audit Guide

A complete SEO audit is a coverage registry, not a score: every area that can stop a site being found, indexed, chosen or contacted, each check tied to a named evidence source and marked measured, partial or unavailable. It earns the word comprehensive only when every area has a stated state and no unresolved check is quietly counted as fine. This guide sets out that registry, how observations are kept apart from diagnoses, and how a fix is verified rather than assumed.

Written forBusiness owners and marketing leads in Malaysia who are commissioning an SEO audit, reading one they have received, or checking whether the word comprehensive is earned.

On this page5 sections
  1. 01What does comprehensive coverage require?
  2. 02Which checks are measured, partial or unavailable?
  3. 03How are observations separated from diagnoses?
  4. 04How is remediation verified?
  5. 05What to do next

What does comprehensive coverage require?

Comprehensive coverage requires a coverage registry: every area the audit claims to cover, the checks inside each, the evidence source each check reads from, the coverage state that evidence supports, and who verifies the result. Findings without this registry show what an audit found; they cannot show what it did not look at, and that second list decides whether an audit is complete.

The areas follow the way Google describes its own process, crawling, indexing and serving results, and it says plainly that it guarantees none of the three for any page and does not accept payment to crawl a site more often or rank it higher. An audit therefore establishes, in that order, whether Google can reach a page, whether it stores it as its own result and whether it is chosen for the queries that matter. The search visibility overview explains the chain; this page is about checking it without gaps.

  • Technical eligibility: server responses, robots.txt rules, login walls, noindex directives, redirects and canonical selection.
  • Page fundamentals: title element, meta description, headings, descriptive URLs and image alt text.
  • Content and entities: one accountable page per task, and business facts that agree wherever they appear.
  • Internal architecture: every page that matters reached by a crawlable, descriptive link from another page.
  • Authority: which sites link to or mention the business, whether those links are live and independent, and whether anything breaches Google's spam policies.
  • Performance: what real Chrome users experience, graded against the Core Web Vitals thresholds.
  • Local outcomes: Business Profile eligibility and accuracy, and what searchers in specific Malaysian locations see.
  • Organic outcomes: the queries, impressions, clicks and average position Search Console reports.

The registry is the same for a five-page clinic and a two-thousand-page retailer; only the sample size changes. Item-level depth lives in the technical SEO audit checklist and the on-page SEO checklist, and each other area has its own guide: robots, noindex and canonicals, internal linking, Core Web Vitals, structured data and Business Profile foundations. This page governs whether every area was covered.

Column chart: Loading is the one that fails (Loading (LCP): 62%, Response (INP): 77%, Stability (CLS): 81%)

Loading is the one that fails

Published statistic. Responsiveness is close to solved on desktop and is not the problem. What a phone struggles to load is.

Source: HTTP Archive: Web Almanac 2025, Performance (CrUX, July 2025). Reviewed .

Read the graphic as text
  • Loading (LCP): 62%. Desktop 74%
  • Response (INP): 77%. Desktop 97%
  • Stability (CLS): 81%. Desktop 72%

Chart scale: Share of mobile websites scoring good on each Core Web Vital, July 2025.

Download this infographic (SVG)

Which checks are measured, partial or unavailable?

A check is measured when the audit read the primary evidence directly: the Search Console report, the crawl, the field data, the Business Profile itself. It is partial when the audit had a sample, a proxy or a restricted view. It is unavailable when access was not granted or the data does not exist, and the honest entry is that word, not a guess. The state reflects access and data, not how the site is doing, so the matrix says what decides each state.

Audit evidence matrix: checks, evidence source and what sets each coverage state
  • Technical eligibility

    What is checked
    Indexed URLs and the reported reason for each that is not, from robots.txt block to crawled but not indexed
    Evidence source
    Page indexing report plus a full crawl
    Coverage state
    Measured with both; partial with a crawl alone; unavailable without either
    Who verifies
    Search Console holder, against the report on a stated date
  • Page fundamentals

    What is checked
    Title element, meta description, headings, URLs and alt text on every template and important page
    Evidence source
    Rendered HTML of each audited page; crawl export otherwise
    Coverage state
    Measured when every important page was read; partial when only templates were sampled
    Who verifies
    Auditor by re-opening the page; owner against the on-page checklist
  • Content and entities

    What is checked
    One accountable page per task; consistent business facts; separate indexable English and Bahasa Malaysia pages
    Evidence source
    Page reads against the query list; a compiled facts table
    Coverage state
    Measured with both; partial from a page sample; unavailable without a query list
    Who verifies
    Owner for facts; auditor for task coverage
  • Internal architecture

    What is checked
    Every important page linked from another through an anchor with an href; descriptive anchors; no orphans
    Evidence source
    Crawl link graph against the sitemap and the important-page list
    Coverage state
    Measured with a full crawl and a defined page list; partial with either alone
    Who verifies
    Auditor by re-crawling after changes
  • Authority

    What is checked
    Domains linking to or mentioning the site; each counted link live, followed and independent; the Manual actions report
    Evidence source
    Search Console links and Manual actions reports; third-party indexes as a proxy; link-by-link review
    Coverage state
    Partial by nature, since no source sees every link; measured only for the Manual actions report and links reviewed individually
    Who verifies
    Auditor for link state; owner for any paid or exchanged placement
  • Performance

    What is checked
    Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift by URL group and device
    Evidence source
    Core Web Vitals report, drawn from the Chrome User Experience Report; lab tests as diagnosis only
    Coverage state
    Measured with field data for the groups that matter; partial with lab data only; unavailable when the report lacks data
    Who verifies
    Auditor after the 28-day tracking window; developer for the lab reproduction
  • Local outcomes

    What is checked
    Profile ownership, eligibility, category, address or service area, hours, reviews; what searchers see from stated locations
    Evidence source
    The Business Profile; local observations from named Malaysian locations on a stated date
    Coverage state
    Measured with profile access and a grid; partial with observations only; unavailable without profile access
    Who verifies
    Owner for profile facts; auditor for the grid
  • Organic outcomes

    What is checked
    Queries, impressions, clicks and average position by page, country, device and search type across two equal periods
    Evidence source
    Performance report filtered to Malaysia and the pages in scope
    Coverage state
    Measured with verified access and a full comparison period; partial with a short history; unavailable without access
    Who verifies
    Auditor, with filters and dates recorded for reproduction

Two areas are routinely misreported. Authority gets false precision: Google's spam policies treat buying or selling links for ranking, excessive exchanges, automated link programs and widely distributed footer or widget links as link spam, say violating sites may rank lower or not appear at all, and notify manual actions in Search Console. That report and a link-by-link review are measurable; any total beyond them is partial. Page fundamentals get the opposite problem: Google's starter guide says it does not use the keywords meta tag and that content length alone does not matter for ranking, so a line about either observes nothing.

One rule keeps the states honest: an unavailable check gets no credit. It is not scored as probably fine, folded into an average or dropped; it stays in the registry with the reason and what would change it. The same rule is why we do not produce one overall score: a single number weights areas against each other and fills gaps with assumptions, and both are invisible to the reader.

Numbered diagram: Unknown is a valid audit finding (Measured, Partial, Unavailable)

Unknown is a valid audit finding

Editorial framework. These labels describe evidence coverage, not how healthy the site is.

Basis: Perfect Design: audit methodology. Reviewed .

Read the graphic as text
  • Measured. The relevant primary evidence was inspected directly.
  • Partial. Only a sample, proxy or restricted view was available.
  • Unavailable. The evidence could not be accessed. No result is inferred.
Download this infographic (SVG)

How are observations separated from diagnoses?

An observation is what an evidence source showed on a stated date; a diagnosis is the auditor's explanation of why, which is to say a hypothesis. The audit keeps them in separate columns, because a wrong diagnosis on a correct observation sends work the wrong way. Search Console listing 140 URLs as crawled but currently not indexed on 12 September is an observation; those pages being near-duplicate location pages is a diagnosis, only as good as the sample read to reach it.

Priority follows from where in the chain an observation sits and how much it affects. A page Google cannot crawl is not improved by rewriting it, so eligibility findings come first, then indexing and canonical problems, then the fundamentals, content and internal links that decide whether an indexed page is chosen, then authority and performance work. A template finding outranks a single-page finding, and each carries the URLs and share of impressions it touches. A diagnosis never covers an unmeasured area: if the local grid was not run, the report says the outcome was not observed, and that is where the word comprehensive is decided.

Donut chart: What a PageSpeed score is made of

What a PageSpeed score is made of

Published statistic. Four fifths of the score is decided by JavaScript work and one large element, which is why a lighter build beats a tuned heavy one.

Source: Google: Lighthouse performance scoring (Lighthouse 10 weightings). Reviewed .

Read the graphic as text

Score

  • Total Blocking Time: 30%. How long the main thread was too busy to answer a tap
  • Largest Contentful Paint: 25%. When the biggest element finished painting
  • Cumulative Layout Shift: 25%. How much the page moved under the reader
  • First Contentful Paint: 10%. When anything at all appeared
  • Speed Index: 10%. How quickly the view filled in
Download this infographic (SVG)

How is remediation verified?

A fix is verified when the evidence source that first showed the problem shows it resolved, on a recorded date, for the URLs in scope. Anything short of that is a change that was made, not a problem that was fixed, so every finding carries a verification method chosen before the work starts.

  1. Re-read the same source

    Use the Validate fix flow in the page indexing report: Search Console checks a few pages immediately, then works through the affected URLs and marks the issue passed once they are found fixed. Google says this typically takes up to about two weeks and can take much longer.

  2. Re-crawl for structural fixes

    Orphaned pages, broken links, redirect chains and missing titles are verified by re-crawling and comparing before and after. Check that added links are anchor elements with an href attribute; Google says it cannot reliably extract a URL from one without it.

  3. Wait out the performance window

    Core Web Vitals verification starts a 28-day tracking session, and the issue counts as fixed only if no URL in the group shows it during that window. A lab test shows whether a change took effect; field data is what the report grades, and a group's status reflects 75 percent of its visits.

  4. Compare equal periods for outcomes

    Organic and local outcomes are verified by comparison: the performance report over two equal periods with the same page, country and device filters, and the local grid repeated from the same locations, after a few days because the newest Search Console data can be preliminary.

  5. Update the registry, not just the task list

    Each verified fix replaces the observation in the registry with the new one and its date; a failed verification stays open. The registry, not the original report, is the audit of record.

The page indexing report lists at most 1,000 example URLs for a status and does not promise to show every affected URL, so large sites verify by sampling and trend. Average position is the average position of the topmost result from your site across the impressions selected, and Google notes you may not see your site there if you search the same query yourself, because results vary by time, place, device and the searcher's history. One person checking is one observation; the report is the measurement.

For a Malaysian business two filters matter: the country filter set to Malaysia, so impressions from elsewhere do not distort the picture, and a local grid taken from the towns actually served, because a service-area business is seen differently from Petaling Jaya than from Kajang. The Search Console measurement guide covers the report reading; the local SEO checklist carries the profile and grid checks.

Step-by-step diagram: Close the finding with evidence (Observe, Change, Retest)

Close the finding with evidence

Editorial framework. A deployed change is not automatically a verified fix.

Basis: Perfect Design: audit methodology. Reviewed .

Read the graphic as text
  • Observe. Record the affected URLs, source and date.
  • Change. Assign an owner and implement a specific remedy.
  • Retest. Repeat the original check and record what it now shows.
Download this infographic (SVG)

What to do next

  1. Ask for the coverage registry before the findings; if an audit cannot say which of the eight areas were measured, partial or unavailable, ask for that table first.
  2. Grant the access that turns unavailable into measured: Search Console and Business Profile access for whoever is auditing, recorded and revocable.
  3. For each finding you act on, write down the verification method and the date the source will be re-read, and hold the work to that.
  4. Work through the technical SEO audit checklist and on-page SEO checklist, treating any item marked unknown as a registry gap, not a pass.

Where to go next

Rather have this handled?

Talk to us about seo programmes for your business, starting with the questions this guide helped you identify.

Discuss your project