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.

For
Business 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.
Reading time
10 min
Last reviewed
On this page

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.

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
AreaWhat is checkedEvidence sourceCoverage stateWho verifies
Technical eligibilityIndexed URLs and the reported reason for each that is not, from robots.txt block to crawled but not indexedPage indexing report plus a full crawlMeasured with both; partial with a crawl alone; unavailable without eitherSearch Console holder, against the report on a stated date
Page fundamentalsTitle element, meta description, headings, URLs and alt text on every template and important pageRendered HTML of each audited page; crawl export otherwiseMeasured when every important page was read; partial when only templates were sampledAuditor by re-opening the page; owner against the on-page checklist
Content and entitiesOne accountable page per task; consistent business facts; separate indexable English and Bahasa Malaysia pagesPage reads against the query list; a compiled facts tableMeasured with both; partial from a page sample; unavailable without a query listOwner for facts; auditor for task coverage
Internal architectureEvery important page linked from another through an anchor with an href; descriptive anchors; no orphansCrawl link graph against the sitemap and the important-page listMeasured with a full crawl and a defined page list; partial with either aloneAuditor by re-crawling after changes
AuthorityDomains linking to or mentioning the site; each counted link live, followed and independent; the Manual actions reportSearch Console links and Manual actions reports; third-party indexes as a proxy; link-by-link reviewPartial by nature, since no source sees every link; measured only for the Manual actions report and links reviewed individuallyAuditor for link state; owner for any paid or exchanged placement
PerformanceLargest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift by URL group and deviceCore Web Vitals report, drawn from the Chrome User Experience Report; lab tests as diagnosis onlyMeasured with field data for the groups that matter; partial with lab data only; unavailable when the report lacks dataAuditor after the 28-day tracking window; developer for the lab reproduction
Local outcomesProfile ownership, eligibility, category, address or service area, hours, reviews; what searchers see from stated locationsThe Business Profile; local observations from named Malaysian locations on a stated dateMeasured with profile access and a grid; partial with observations only; unavailable without profile accessOwner for profile facts; auditor for the grid
Organic outcomesQueries, impressions, clicks and average position by page, country, device and search type across two equal periodsPerformance report filtered to Malaysia and the pages in scopeMeasured with verified access and a full comparison period; partial with a short history; unavailable without accessAuditor, 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.

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.

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.

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?

This is part of how we run seo programmes for Malaysian businesses. Ask us about your site — no pitch, a straight answer.

Ask about your site