Comprehensive SEO audit methodology for websites, biased toward local service and catering businesses like The Pig Baron (Sydney spit-roast catering). Use this skill whenever you audit, check, or review a site or page for SEO and need prioritised findings plus an action plan. It covers technical and infrastructure SEO, indexability (sitemap, robots.txt, noindex, canonicals, HTTPS), on-page SEO (meta titles and descriptions, H1s, alt text), content and freshness, local SEO and Google Business Profile, structured data and schema (LocalBusiness, Caterer, FAQPage JSON-LD), Core Web Vitals and PageSpeed, analytics, and internal linking. Trigger it to diagnose a ranking decline (a page 1 to page 3 drift), rewrite meta titles or descriptions, add LocalBusiness or FAQ schema, fix sitemap, robots, canonical or noindex problems, optimise a Google Business Profile for a catering or local service business, run a technical, on-page, or local SEO review, or verify the SEO of the new Pig Baron Astro rebuild. Use it even whe
Installation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Comprehensive SEO audit methodology for websites, biased toward local service and catering businesses like The Pig Baron (Sydney spit-roast catering). Use this skill whenever you audit, check, or review a site or page for SEO and need prioritised findings plus an action plan. It covers technical and infrastructure SEO, indexability (sitemap, robots.txt, noindex, canonicals, HTTPS), on-page SEO (meta titles and descriptions, H1s, alt text), content and freshness, local SEO and Google Business Profile, structured data and schema (LocalBusiness, Caterer, FAQPage JSON-LD), Core Web Vitals and PageSpeed, analytics, and internal linking. Trigger it to diagnose a ranking decline (a page 1 to page 3 drift), rewrite meta titles or descriptions, add LocalBusiness or FAQ schema, fix sitemap, robots, canonical or noindex problems, optimise a Google Business Profile for a catering or local service business, run a technical, on-page, or local SEO review, or verify the SEO of the new Pig Baron Astro rebuild. Use it even when the user does not say 'audit' explicitly but is clearly evaluating a local or catering site's search visibility or ranking.
SEO Audit
A reusable methodology for auditing a website (or a single page) and turning findings into a prioritised, ready-to-implement action plan. It is deliberately biased toward local service businesses and caterers (service-area businesses, "near me" intent, Google Business Profile as the highest-leverage lever), but every category applies to any site.
When to use / scope
Use this when someone asks to audit, review, or "check the SEO of" a site or page, to diagnose a gradual ranking decline, or to verify that a rebuild is search-ready. A gradual multi-year slide (page 1 → 2 → 3) almost always means relative decline - the site stood still while mobile-first indexing, page-experience, E-E-A-T, AI answers, and competitors all moved forward. Audit across these categories:
infrastructure · platform/stack · indexability · mobile-first · on-page · performance/CWV · structured data · content/freshness · social/OG · local SEO + GBP · analytics · internal linking
Working principle: capture evidence first, recommendations second. Crawl the live site and record what is actually there before proposing fixes - a clean factual baseline is what makes the prioritisation defensible. Flag anything that needs account access (Search Console, GA4, GBP, backlink tools) as [needs data] rather than guessing.
2026 context worth carrying in: Google indexes the mobile rendering; AI Overviews/AI Mode sit above the blue links and ~65% of searches are zero-click, so the goal is shifting from "rank" to "be the cited source" and "own the local pack." For a local business, GEO ≈ good SEO + reviews + schema + listings - no exotic tactics (skip llms.txt; Google ignores it). Local is the least AI-eroded, highest-ROI lane.
How to gather evidence (tools)
View-source / curl -sIL - response headers, redirect chains, HTTPS enforcement, raw HTML, meta/canonical/schema, robots.txt, XML sitemaps, og:/twitter: tags. The raw HTML (not the rendered DOM) is what most of the audit reads.
PageSpeed Insights (pagespeed.web.dev) - run mobile, not just desktop (mobile is the ranking-relevant form factor); Lighthouse Performance/Accessibility/Best-Practices/SEO scores, lab CWV, image-savings and render-blocking figures, CrUX field data (or "No Data" = too little traffic).
Schema validators - validator.schema.org and Google's Rich Results Test for JSON-LD.
Google Search Console[needs data] - when a decline started and on which queries/pages; index coverage; mobile usability; manual actions.
GA4[needs data] - organic trend, conversions/enquiries, top landing pages. (Confirm whether a tag is firing at runtime even if absent from static HTML.)
Google Business Profile[needs data] - categories, reviews, service-area config, posts.
Bing Webmaster Tools - being indexed in Bing also feeds ChatGPT Search (a concrete GEO lever).
Audit methodology (run in order)
Each category lists the checks an auditor runs and the red-flag pattern to watch for.
1. Infrastructure & hosting
HTTPS: does http://301 to https://? (Both serving 200 = duplicate/dilution + insecure.) Valid TLS cert? HSTS present?
Host/server, HTTP/2-3, Brotli/gzip, IPv6, server location (relevant for a local business). Security headers (CSP, X-Frame-Options, X-Content-Type-Options) present?
PHP/runtime version supported (not EOL)? Version disclosed in headers?
2. Platform & technology stack
CMS/framework + version (behind current?). Theme, plugins, JS libraries - any legacy cruft (jQuery Migrate, IE-era stylesheets, redundant font requests)?
Markup standard and charset; <html lang> set (e.g. en-AU)?
3. Indexability & crawl directives
robots.txt: sane disallows; Sitemap: line points to the one canonical sitemap.
One sitemap system (two live at once = mixed signals). No stale/malformed/empty entries.
<meta robots> is index,follow on real pages; nothing accidentally noindex.
Redirect hygiene: no nav links that hop through 301s; no nav item that redirects to the homepage; hard 404 (not soft-404) on missing URLs; case-variant URLs (/MENU/) not served 200.
Index bloat: are thin auto-generated URLs indexable (testimonial pages, author/tag/category archives, internal search ?s=)? These should be noindex.
4. Mobile-first / responsiveness
<meta name="viewport"> present? Real max-width/min-width media queries (retina/webkit hacks don't count)?
Navigation/headings as real text vs text-baked-into-PNG image buttons (invisible to crawlers, heavy, not responsive)?
Confirm with PageSpeed mobile and a mobile-friendly snapshot - does it render desktop-width on a phone?
5. On-page (per URL - crawl every indexable page)
Record per page: title + length, meta description + length, H1(s), heading order, visible word count, images missing alt, schema blocks. Red flags:
Title tags generic/short/keyword-and-location-free, or duplicated. Titles are the single strongest on-page signal; Google rewrites weak ones.
Meta descriptions missing (auto-generated snippet = lost CTR lever).
H1 is a widget/boilerplate string sitewide (e.g. "Recent Posts") instead of the page topic; multiple H1s; post titles not marked as headings.
Images missing alt (image-search + accessibility loss). Thin body copy once nav/footer boilerplate is excluded.
URLs keyword-aligned (brand-only package URLs are fine as brand pages but shouldn't be primary ranking targets).
6. Performance / Core Web Vitals
Mobile CWV against 2026 "good" thresholds: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 (INP replaced FID). CWV is a tie-breaker, secondary to relevance.
Render-blocking CSS/JS in <head> (combine, minify, defer/async, drop legacy files). Image weight - modern format (WebP/AVIF), correctly sized, lazy-loaded below the fold. HTML page-caching (a per-request session cookie + no-store defeats edge caching).
7. Structured data / schema
JSON-LD present on every relevant template, not just the homepage; @context is https:// schema.org.
Local business has LocalBusiness/Caterer with address (or service area), geo, hours, areaServed, priceRange, sameAs (all real profiles, not just one). FAQPage on the FAQ page; Article/BlogPosting on posts; BreadcrumbList where applicable.
Schema must match visible content (Google's rule). Add aggregateRating only once you genuinely collect reviews.
8. Content & freshness (+ keyword/competitor)
Freshness: last-modified vintage; a dormant blog and frozen pages decay against active competitors. Duplicate/near-duplicate pairs (page vs post on the same topic) - consolidate with a 301.
Keyword map: identify the high-intent money terms and use local vocabulary (e.g. AU says spit roast / lamb on a spit / spit hire, not the UK hog roast). Build dedicated service pages per service + occasion pages (wedding, corporate, Christmas) + Tier-1 suburb pages with genuinely unique content (thin templated doorway pages are a spam risk). Add a cost / guest-count / comparison blog funnel (informational → enquiry).
Answer-first copy (direct answer in the first ~40–60 words, clear H2s, fact density) helps both featured snippets and AI citations.
9. Social / Open Graph
og:locale correct (e.g. en_AU, not en_US); og:image/twitter:image over HTTPS; twitter:card = summary_large_image where wanted; no mixed-content http:// references on an HTTPS page.
10. Local SEO & Google Business Profile [needs data]
NAP (name, address-or-service-area, phone) present on-site and identical across site, GBP, and directories. Many local sites show email only - a real phone builds trust for users and Google.
GBP: correct primary category (e.g. "Caterer"), relevant secondaries, services with keyword-rich descriptions, configured as a service-area business (hide a residential address), fresh photos, posts on market/seasonal days.
Reviews engine: systematic post-event Google-review requests with a direct link; reply to every review. Local-pack weight is roughly GBP ~32% · on-page ~19% · reviews ~16% · links ~15% - reviews + GBP are ~half.
Is analytics actually collecting? (Legacy Universal Analytics is defunct since 2023.) Is a GA4 tag firing - possibly injected at runtime so it's absent from static HTML? Confirm access and how far back data goes. Note other trackers (HubSpot, Pixel) and the Search Console verification token.
12. Internal linking & architecture
Descriptive anchor text (not image buttons); consistent URL formatting in the link graph (don't mix /menu and /menu/); money pages well-linked; no orphan pages; logical hub→spoke structure.
Prioritisation framework
Score every finding on Effort × Impact, then sequence into phases so quick high-impact low-risk fixes ship before the big projects.
Effort: Quick (< 1h) · Low (a few hours) · Medium (a day+) · High (a scoped project).
Impact: High / Medium / Low - how much it should move visibility and enquiries.
Phase
Focus
Typical effort
Impact
0
Access & measurement (do first) - Search Console, GA4, GBP, admin/host access; record a baseline (rankings, organic traffic, mobile PageSpeed). Without it you can't prove what works.
Low
enables all
1
On-page quick wins - titles + meta per page, one topical H1, LocalBusiness/FAQPage schema, lang, og:locale, show phone/NAP, noindex thin pages, force HTTPS, single sitemap, consolidate duplicates.
Low–Med
High
2
Mobile-friendly - viewport + responsive layout, replace image-text nav. Highest single ranking issue; needs a dev (retrofit vs rebuild decision).
Measure & iterate - monthly Search Console/GA4 vs baseline; re-run mobile PageSpeed after Phases 2–3.
Low ongoing
compounding
If only three things get done for a local caterer: mobile-friendly (P2), on-page titles/headings (P1), and GBP + reviews (P4). Those carry most of a recovery.
Ready-to-paste assets
Page-title formula (~60 chars) - put the strongest signal first:
{Service} {Location} | {Brand}
e.g. Spit Roast Catering Sydney | The Pig Baron, Wedding Spit Roast Catering Sydney | The Pig Baron, DIY Spit Hire Sydney | The Pig Baron. Meta description ~150 chars, unique per page, with a benefit + call to action.
LocalBusiness / Caterer JSON-LD (service-area business; place sitewide). Replace placeholders. Phone and any address here must also appear as visible text on the page. For a service-area business with no public storefront, omit the street address and rely on addressLocality + areaServed; never publish a private home address. Add aggregateRating only when you actually collect reviews.
FAQPage schema - add FAQPage JSON-LD on the FAQ page, generated from the real on-page Q&As (must match visible text). Good for rich results and AI citations.
noindex targets (thin auto-generated pages that cause index bloat): individual testimonial pages, author archives, tag archives (and category archives unless built into real hubs), internal search results.
Sitemap / robots / HTTPS / canonical rules:
One sitemap only; robots.txt has a single Sitemap: line pointing to it; let it regenerate to drop stale/malformed entries.
301 every http:// → https://; fix hard-coded http:// image/favicon links.
Canonicals self-referencing, HTTPS, one host, consistent trailing slash.
Locale tags:<html lang="en-AU"> and og:locale = en_AU; social/OG images over HTTPS.
Verifying SEO on the new Astro rebuild
This repo (pig-baron-site) is the modern, responsive Astro rebuild that the action plan recommended - it fixes mobile, speed, image handling, and image-text nav in one go. astro.config.mjs already sets site: 'https://thepigbaron.com.au'. As pages are built (planned routes from src/data/site.ts: /, /about, /our-pigs, /feasts, /menu, /gallery, /blog, /testimonials, /faq, /contact), verify:
One descriptive <title> + unique meta description per route (use the title formula). Drive them from a shared layout/SEO component, not hand-written per page.
Canonical URL on every page, built from Astro.site (absolute, HTTPS, correct host).
sitemap.xml - add the @astrojs/sitemap integration (not yet installed) - and a robots.txt in public/ with the single Sitemap: line. (Neither exists yet.)
LocalBusiness/Caterer JSON-LD sitewide + FAQPage JSON-LD on /faq (drive it from src/data/faqs.ts so schema matches visible text). @context HTTPS.
<html lang="en-AU"> on the root layout.
OG/Twitter tags per page with og:locale=en_AU, absolute HTTPS og:image, twitter:card.
Images via Astro's <Image>/<Picture> → WebP/AVIF, explicit width/height (no layout shift), loading="lazy" below the fold. Replace any text-baked-into-image nav with real text.
noindex the thin routes (e.g. individual testimonials) via a <meta robots> per route or layout prop.
Lighthouse / PageSpeed mobile pass (Performance, Accessibility, SEO) on npm run build + npm run preview output, plus a real-device check.
Show phone + service area in header/footer matching the JSON-LD; keep NAP identical to GBP.
References (sibling engagement - deeper evidence)
This skill distils a full audit of thepigbaron.com.au. The underlying evidence and worked examples live in a separate, private SEO-engagement repo (pig-baron-seo) that is not part of this public repository. If you have it checked out alongside this one, the relevant artefacts are: