What this task involves
Work through the IM audit sheet tab by tab, recording findings, status, priority, and responsibility for every item. The sheet has 12 active tabs — Website Overview (the master dashboard), SEO History Check, Pages Not Indexed, Page Structure & Metadata, Set Noindex, Heading Tags, Broken Links, Internal Link Structure, Images, Core Web Vitals, Google Business Profile, and Social Profiles.
Every row must have a status. Nothing is left blank.
Why it matters
This is the foundation for every subsequent month of work. Without a baseline audit we are guessing at priorities and the client can challenge every recommendation. It also creates the "before" snapshot we point to in 6–12 months to demonstrate progress.
Skipping it or doing it superficially means we end up reactive — fixing what the client noticed, not what's actually costing rankings.
Responsibility key — used throughout this task
The audit sheet assigns each item to one of three responsible parties. These labels appear throughout the steps below:
- SEO Team — we action this directly, no client input needed
- Client — we need information or access from the client before we can proceed
- DEV Team — a developer needs to implement this (e.g. server config, plugin changes)
Tools used in this audit
- Screaming Frog SEO Spider — full site crawl, broken links, redirect chains, image data
- Ahrefs — Domain Rating, URL Rating, backlinks, referring domains, organic traffic
- Google Search Console — index coverage, Core Web Vitals, mobile usability, manual actions, sitemaps
- Google Analytics 4 — traffic baseline, top organic pages, engagement rate
- PageSpeed Insights (pagespeed.web.dev) — mobile and desktop CWV scores
- Google Rich Results Test — schema markup validation
- Google Business Profile Manager — GBP completeness and attribute review
- IM Audit Sheet — the master Google Sheet template, one copy per client
Re-audit schedule by tier
| Tier | Re-audit Frequency | Scope |
|---|---|---|
| Premium | Every 3 months | Full audit — all tabs |
| High | Every 6 months | Full audit — all tabs |
| Medium | Annually | Full audit — all tabs |
| Low | Annually | Abbreviated — crawl, GSC, page speed, GBP only |
Create the client's copy of the audit sheet
Make a copy of the master IM audit sheet template and save it to the client's Google Drive folder. Name it: [Client Name] — Technical SEO Audit — [Month Year]
For re-audits, always create a new copy — never overwrite the previous one. Each audit is a dated snapshot that we refer back to when reporting progress.
Fill in the client header at the top of Website Overview
At the top of the Website Overview tab, record the client name and domain URL. This is the reference point for everything else in the sheet.
The first section of the Website Overview tab. Record the access status for each tool before doing anything else. Items marked "Request Access" need to be chased — they block specific sections of the audit.
Check and record access for each tool
For each item below, set the status to Accessible or Request Access. If access is still pending, record who is responsible and what has been requested.
Pull the client's current baseline metrics from Ahrefs. These go into the SEO History Check tab — one row per metric, with the current value, a description of what it means, and a status. This is the "before" snapshot for authority and organic performance.
Record Google Trust metrics from Ahrefs SEO Team
Open Ahrefs → Site Explorer → enter the client's domain. Record the following in the Google Trust section of the tab:
Record Organic Search metrics from Ahrefs SEO Team
Still in Ahrefs Site Explorer, record the Organic Search section:
Quick checks that confirm the site's fundamental technical health and identity signals. Most of these are pass/fail — record No Action Required or Action Required for each item.
Security checks SEO Team
Site basics SEO Team
Check each item in the Site Basics section of the Website Overview tab. These are visible in the browser and in the CMS settings:
- Favicon — visible in the browser tab. Missing favicon is a Low issue.
- Website Name — set correctly in the CMS (used in the title separator and structured data).
- Alternate Website Name — short name variant if applicable (e.g. "IM" for "Integral Media").
- Tagline — the site tagline used in the homepage title or meta. Confirm it is meaningful and not the CMS default ("Just another WordPress site").
- Title Separator — the character between the page title and site name (e.g. | or –). Should be consistent sitewide.
- Timezone — set correctly in CMS settings. Affects scheduled content and any time-sensitive SEO features.
Site Representation SEO Team
Check how the organisation is represented in the CMS and structured data:
- Organisation Name — the official business name used in schema markup. Must match GBP and citations exactly.
- Alternate Organisation Name — abbreviated or trading name if different from official name.
- Organisation Logo — used in schema and social snippets. Should be hosted on the client's own domain, not a third-party URL.
- Other Social Profiles — social profile URLs entered in the CMS (used in sameAs schema). Check all are current and correct.
Business Trust Pages SEO Team / Client
Confirm these pages exist and are accessible. Where they are missing, flag as Action Required and assign responsibility:
Configure and run Screaming Frog SEO Team
Run a full crawl of the client's site. Before starting, configure:
- Configuration → User-Agent → Googlebot (Desktop)
- Configuration → Speed → 2–3 requests/sec for live sites
- Enable JavaScript rendering if the site uses React, Vue, or Next.js
XML Sitemap SEO Team
Check whether an XML sitemap exists at /sitemap.xml or /sitemap_index.xml. Also check:
- Is the sitemap submitted in GSC (Indexing → Sitemaps)? If not, that is a Medium issue — submit it.
- How many URLs are in the sitemap vs how many are indexed in GSC? Large gaps need investigation.
- Are any sitemap URLs returning 4xx errors or marked noindex? These should be removed from the sitemap.
HTML Sitemap SEO Team
Check whether the site has an HTML sitemap page (a page with links to all key sections). This is a separate item from the XML sitemap — it helps users navigate and provides internal links to key pages. If missing, flag as Medium — add to the Phase 2 task list.
Pages Not Indexed (GSC) SEO Team
In GSC → Indexing → Pages, work through the non-indexed URL list. For each URL, record it in the Pages Not Indexed tab with its reason code. Common reasons and what they mean:
Set Noindex on non-target pages SEO Team
The Set Noindex tab lists pages that should not appear in search results — trust pages (Contact, About, Returns), utility pages (Finance, Order tracking), thin archives. For each URL in the tab:
- Confirm the noindex tag is actually in place (use Screaming Frog → Directives filter or check the page source)
- Mark the row as Completed once confirmed
- If a page on the list is not yet noindexed, apply the tag via the CMS or Yoast/RankMath and mark it Completed
GSC Manual Actions and Security Issues SEO Team
In GSC → Security & Manual Actions → Manual Actions. Any manual penalty (unnatural links, thin content, cloaking) is a Critical finding — flag immediately to the account manager. Do not wait until the audit is finished.
Also check Security Issues for hacked content or malware warnings. These are also Critical.
These two tabs cover the on-page signals Google uses to understand what each page is about. Work through every key page — homepage, product/service categories, landing pages, blog posts. One row per URL in the Page Structure tab.
Populate the Page Structure & Metadata tab SEO Team
The tab has these columns for each URL:
Populate the Heading HTML Tags tab SEO Team
The tab has two side-by-side tables — one for standard pages, one for blog posts. For each URL, check and record:
- Is there exactly one H1 on the page? The H1 should be the main topic — used once only.
- Do H2s represent the major sections? H3s the sub-sections? Is the hierarchy logical (no H3 appearing before an H2)?
- Does the H1 include the primary keyword? Do key H2s include supporting keywords?
Set status to Completed once the headings are correct, or flag the specific issue in the Improvement column (e.g. "H1 missing", "Multiple H1s", "H3 used before H2").
Internal Link Structure SEO Team
The Internal Link Structure tab lists key URLs and their inlink counts (how many internal links point to each page). The priority order for link equity is:
Home Page → Landing/Service Pages → Support Pages → Blog Posts → Others
Using Screaming Frog → Bulk Export → All Inlinks, check:
- Do the most important pages (key service/product categories) have the highest inlink counts?
- Are there any orphaned pages — pages with zero or very few internal links? Flag these as Action Required.
- Are links pointing to redirect URLs or 404s? These waste link equity — update them to point to the live canonical URL.
- Are anchor texts descriptive? Generic anchors ("click here", "read more") pass less context than keyword-rich ones.
- Is the best link placement used? Best = within body content → then top nav → then footer → then sidebar/widget.
Record each URL in the tab with its inlink count and status. Pages with low inlinks that should be important are Action Required — note what contextual links need to be added.
Broken Links — Internal SEO Team
In Screaming Frog → Response Codes → filter for 4xx. Export all broken internal URLs and paste into the Broken Link tab. For each broken URL, record:
- URL — the broken destination
- Status Code — 404 (not found) or 410 (gone)
- Inlinks — how many pages link to this broken URL (from Screaming Frog)
- Status — In Progress / Completed
- Note — what action is needed (e.g. "Create missing collection page", "Set up 301 to /new-url")
Also flag any 301 redirect chains (A → B → C) or self-redirects (a URL redirecting to itself). These should be resolved to single-hop 301s.
Broken Links — External SEO Team
In Screaming Frog → filter for external links → check status codes. Export any external links returning 4xx. Record these in the Website Overview tab under External Broken Link. These do not pass link equity back to us but they create a poor user experience. Fix by removing or replacing the dead external link.
The Images tab has three side-by-side tables: Missing Alt Text, File Name issues, and Over 100 KB. Work through each. Image data comes from Screaming Frog → Images tab.
Missing Alt Text SEO Team
In Screaming Frog → Images → filter "Missing Alt Text". Export the list and paste into the Missing Alt Text table in the Images tab. For each image URL, record the status as Action Required.
- Prioritise images on key landing pages — a hero image with no alt text on the homepage is High severity.
- Also check for alt text over 100 characters — record these in the same table with a note. Alt text should be concise and descriptive, not a paragraph.
- Flag any keyword-stuffed alt text (e.g. "sydney plumber emergency plumber sydney plumbing") — this is a Low risk but should be rewritten.
Image File Names SEO Team
In Screaming Frog → Images, review the file name column. Flag images with non-descriptive names — camera defaults (IMG_4421.jpg, DSC00234.png) or generic names (image1.jpg, photo.png). Record these in the File Name table.
A descriptive file name (e.g. luxury-outdoor-dining-chair-auckland.jpg) is a Low SEO signal but contributes to image search visibility. Note as a Medium improvement item.
Image File Size — Over 100 KB SEO Team
In Screaming Frog → Images, sort by File Size descending. Record all images over 100 KB in the Over 100 KB table with their exact size in KB. Flag:
- Images over 100 KB — Medium (compress or convert to WebP)
- Images over 500 KB — High (significantly impacting page load)
- Images over 1 MB — Critical for page speed
Also note whether images are served in next-gen formats. If the site is serving JPEG or PNG where WebP is available, record this as a Medium improvement — WebP offers comparable quality at 25–35% smaller file sizes.
Record PageSpeed Insights scores for both Mobile and Desktop. The tab links to the PageSpeed report for the homepage — run the test and fill in the scores. This is a DEV Team responsibility to fix, but the SEO team records and reports the findings.
Run PageSpeed Insights on key pages SEO Team
Go to pagespeed.web.dev and test the following pages for both Mobile and Desktop:
- Homepage
- Top 2–3 product or service category pages
- Any page flagged as "Poor" in GSC → Experience → Core Web Vitals
Record the Performance score (0–100) and the three Core Web Vitals for each page:
Record top opportunities SEO Team
In the PageSpeed report, scroll to Opportunities and Diagnostics. Record the top 3–5 items with the largest estimated savings. Common findings:
- Serve images in next-gen formats (WebP/AVIF)
- Properly size images (images larger than their displayed size)
- Eliminate render-blocking resources (JS/CSS in <head>)
- Reduce unused JavaScript (bloated plugin bundles)
- Enable text compression (gzip/brotli not configured on the server)
Record these in the tab alongside the scores. The detailed fix work is in the Page Speed task in Phase 2 — the audit just captures the baseline state.
Mobile Usability SEO Team
In GSC → Experience → Mobile Usability, check for errors. Common ones: "Clickable elements too close together", "Text too small to read", "Content wider than screen". Even a small number of errors on key pages is a High issue — Google indexes mobile-first.
Review core GBP fields SEO Team
Open the GBP Manager (or search for the business on Google Maps if we don't have access yet). Work through the checklist in the GBP tab, recording the current detail and status for each field:
Review GBP attribute fields Client
The GBP tab also contains a list of optional attribute fields that Google displays on the profile — Accessibility, Amenities, Crowd, Offerings, Parking, Payments, Planning, Service Options. These cannot be answered by the SEO team alone.
For each attribute section, set the status to Action Required and note "Requires client confirmation". Send the client a checklist asking them to confirm Yes/No for each attribute. More complete attributes = more prominent profile = better local rankings.
Check for suspended or duplicate GBP profiles SEO Team
Search Google Maps for the business name and address. Check:
- Is there more than one listing for this business or location? Duplicates dilute reviews and confuse Google — flag and request merge via GBP Manager.
- Is the profile suspended? A suspended profile does not appear in local search. This is Critical — escalate to the account manager immediately.
- Is the profile unclaimed ("Claim this business" appears)? This is High — claim it and request ownership from the client.
Social Profile audit SEO Team / Client
Work through the Social Profile tab. For each active platform (Facebook, Instagram, Pinterest, LinkedIn), check:
- Profile Name — matches the business trading name exactly
- Link to Website — the website URL in the profile bio/about section is correct
- Website Links Back — the website footer or header links to this social profile
- Link to Other Social Profiles — cross-links between profiles. Often missing — flag as Action Required for client to add.
- Business Address — for Facebook especially, the address should match GBP and the website Contact page.
Set each field to No Action Required or Action Required. Where the client needs to update a profile directly, note this clearly so the account manager can brief them.
Update the Website Overview tab statuses
With all the data tabs completed, go back to the Website Overview tab and update the Status, Priority, and Responsibility columns for every row. Use the data from the individual tabs as your source of truth.
Every row must have a status — No Action Required, Action Required, or Completed. No blank rows.
Priority scale
| Priority | Definition | Examples from the sheet |
|---|---|---|
| High | Directly hurting rankings or blocking indexation — fix in month one | Missing access to GSC/GBP, meta title issues, heading issues, 404s with high inlinks, schema missing |
| Medium | Impacting performance — schedule for Phase 2 | DR/UR below threshold, missing HTML sitemap, pages not indexed, privacy policy broken, team page missing, image compression, page speed, GBP attributes |
| Low / N/A | Best practice improvement or long-term process | Building backlinks (long-term), citation growth, contextual internal links via new content |
Write the client summary document
Create a short Google Doc (1–2 pages) for the client. Written in plain English — not spreadsheet language. Save it in the client's Drive folder: [Client Name] — SEO Audit Summary — [Month Year]
The summary must include:
- One paragraph overview of the overall site health
- The top 3–5 priorities with a plain-language explanation of why each matters
- The planned action sequence — what IM will tackle first, second, third, and over what timeframe
- Any High-priority items that require client action (GBP access, team page content, attribute confirmations)
Record in Zoho and flag for kickoff call
In the Zoho task for the audit:
- Add links to the completed audit sheet and client summary document
- Note any High-priority items that need to be raised at the kickoff call
- Note any items awaiting client input (GBP access, team page, attribute confirmations)
- Mark the task complete
High-priority findings must be communicated to the account manager before the kickoff call — not during it. The account manager needs to be briefed in advance, not surprised.
Website Overview tab
Data tabs completed
Reporting and handover
Skipping the SEO History Check
DR, UR, and organic traffic are the baseline numbers we will point to in 6 and 12 months to show progress. If they are not recorded at onboarding, we have no "before" to compare against. Always pull these from Ahrefs on day one.
Leaving GBP attribute fields blank
The parking, payments, accessibility, and service options fields in the GBP tab need client input. Not flagging them properly means they never get answered. Send the client a checklist early — these take time to come back.
Treating the crawl as the whole audit
Screaming Frog gives you what the spider sees. It doesn't show you what Google actually indexed, whether there's a manual action, or what the CWV field data says. Always cross-reference with GSC — they catch different things.
Skipping the mobile PageSpeed check
Google indexes mobile-first. Always run PageSpeed Insights for mobile — not just desktop. Mobile scores are almost always significantly worse, and that is what Google is using to rank the site.
Leaving recommendations vague
"Fix meta titles" is not a recommendation — it's a category. Every Action Required row needs a specific next action: what to change, on which URL, with what result expected. Vague notes can't be actioned by another team member picking up the work.
Not separating SEO Team vs Client items
If the Responsibility column is blank or all marked "SEO Team", items that actually need the client (GBP attribute confirmations, team page content, access requests) will never be flagged. Use the Responsibility column properly — it determines what goes in the client brief.