Technical SEO audit · 27 October 2026

Sample Physio
& Pilates

Crawl findings and a prioritised fix plan
271 URLs crawled · 228 indexable pages · 18 issue types
Site health score 51 / 100
Prepared by Manaz Afzal
Sample project, placeholder data. The clinic, site and crawl are invented.

1. Executive summary

51of 100
Site health: share of indexable pages
with no P1 or P2 issue

The site is fundamentally sound: it is fully HTTPS, has clean service and condition pages, and every location carries LocalBusiness markup. The problems sit in two places: the blog, where an old URL migration left 404s, redirects and orphaned articles, and the 30 suburb-service pages, which share one meta description and are often too thin to rank.

Fixing the five P1 issues takes about two developer days and removes every crawl dead end. The P2 content work is the bigger lift, but it is where the ranking upside sits.

URLs crawled271
Indexable228
P1 URLs56
P2 URLs159
Issue types18
Status codes
200246301164049
Affected URLs by priority
P1 (5 issues)56P2 (8 issues)159P3 (5 issues)310
Top five actions
  1. Broken pages (404) (9): Restore the page or 301 it to the closest live article, then remove it from internal links and the sitemap.
  2. Internally linked redirects (13): Update menus, footers and in-content links to point straight at the final URL.
  3. Redirects via HTTP (extra hop) (5): Point these redirects straight at the HTTPS destination so each one is a single hop.
  4. Non-indexable URLs in sitemap (25): Regenerate the XML sitemap so it lists only live, indexable, canonical URLs.
  5. Mixed content (HTTP assets) (4): Swap the HTTP image and script references for HTTPS versions.
Sample Physio & Pilates · Technical SEO auditSample project, placeholder data2

2. Prioritised fix list

P1 = fix this sprint (crawl and trust problems). P2 = next 4–6 weeks (ranking and click-through). P3 = backlog. Effort: S under half a day, M 1–2 days, L 3+ days.

PriorityIssueURLsImpactEffortOwner
P1Broken pages (404)9HighSDeveloper
P1Internally linked redirects13HighSDeveloper
P1Redirects via HTTP (extra hop)5HighSDeveloper
P1Non-indexable URLs in sitemap25HighSDeveloper
P1Mixed content (HTTP assets)4HighSDeveloper
P2Thin content (under 250 words)15HighLContent
P2Duplicate meta descriptions30MediumMContent
P2Missing meta descriptions22MediumMContent
P2Duplicate titles6MediumSContent
P2Canonical points to a different URL16MediumSDeveloper
P2Orphan pages (no internal links)40MediumMContent
P2Missing H17MediumSDeveloper
P2Slow server response (over 1.5 s)23MediumMDeveloper
P3Multiple H1s5LowSDeveloper
P3Titles over 60 characters157LowMContent
P3Pages with images missing alt text71LowMContent
P3Heavy pages (over 3 MB)23LowMDeveloper
P3Deep pages (5+ clicks from home)54LowMSEO
Every affected URL is listed in issue-urls.csv, ready to filter by priority or owner and paste into a ticket.
Sample Physio & Pilates · Technical SEO auditSample project, placeholder data3

3. P1 issues: fix this sprint

P1

Broken pages (404)

9 URLs
Why it matters

Visitors and search engines hit dead ends; any links pointing at these pages pass no value.

Fix

Restore the page or 301 it to the closest live article, then remove it from internal links and the sitemap.

Impact High · Effort S · Owner Developer
Example URLs
samplephysio.example/blog/2026/running-guide-4/
samplephysio.example/blog/2023/running-guide-7/
samplephysio.example/blog/2025/running-guide-9/
P1

Internally linked redirects

13 URLs
Why it matters

Every internal link to a redirect wastes crawl budget and slows the visitor down.

Fix

Update menus, footers and in-content links to point straight at the final URL.

Impact High · Effort S · Owner Developer
Example URLs
samplephysio.example/blog/2026/running-guide-2/
samplephysio.example/blog/2023/pregnancy-guide-1/
samplephysio.example/blog/2022/pregnancy-guide-8/
P1

Redirects via HTTP (extra hop)

5 URLs
Why it matters

A trip through HTTP adds a second redirect and briefly drops the visitor onto an insecure URL.

Fix

Point these redirects straight at the HTTPS destination so each one is a single hop.

Impact High · Effort S · Owner Developer
Example URLs
samplephysio.example/blog/2025/pregnancy-guide-11/
samplephysio.example/blog/2026/tennis-guide-6/
samplephysio.example/blog/2022/hamstring-guide-5/
Sample Physio & Pilates · Technical SEO auditSample project, placeholder data4

3. P1 issues (continued)

P1

Non-indexable URLs in sitemap

25 URLs
Why it matters

The sitemap tells search engines what to index. Listing redirects, 404s and noindex pages erodes trust in it.

Fix

Regenerate the XML sitemap so it lists only live, indexable, canonical URLs.

Impact High · Effort S · Owner Developer
Example URLs
samplephysio.example/blog/2021/acl-guide-7/
samplephysio.example/blog/2026/running-guide-2/
samplephysio.example/blog/2023/running-guide-7/
P1

Mixed content (HTTP assets)

4 URLs
Why it matters

Browsers block or warn about HTTP assets on HTTPS pages, which breaks images and reduces trust.

Fix

Swap the HTTP image and script references for HTTPS versions.

Impact High · Effort S · Owner Developer
Example URLs
samplephysio.example/blog/2024/cycling-guide-2/
samplephysio.example/blog/2023/hamstring-guide-9/
samplephysio.example/blog/2026/rehab-myths-guide-11/
Definition of done for P1: a re-crawl shows zero 404s, zero internally linked redirects, single-hop HTTPS redirects only, a sitemap that lists only indexable 200 pages, and no mixed-content warnings.
Sample Physio & Pilates · Technical SEO auditSample project, placeholder data5

4. P2 and P3 issues

P2Thin content (under 250 words)15

Expand the suburb-service pages with local detail (practitioners, parking, FAQs) or consolidate them into the main service page.

P2Duplicate meta descriptions30

Write a unique description per page; for the 30 suburb-service pages use a template with suburb and service fields.

P2Missing meta descriptions22

Add a 120–155 character description that includes the page's topic.

P2Duplicate titles6

Give each article its own title; fix the blog template that falls back to the site name.

P2Canonical points to a different URL16

Set self-referencing canonicals with the trailing slash the site actually serves.

P2Orphan pages (no internal links)40

Link each article from at least one related service or condition page, or retire it.

P2Missing H17

Fix the template so the page title renders as the single H1.

P2Slow server response (over 1.5 s)23

Enable page caching and compress hero images; re-test with the same crawl settings.

P3Multiple H1s5

Demote the secondary H1 (usually a banner) to an H2.

P3Titles over 60 characters157

Shorten to about 55 characters, keyword first; drop the repeated 'Blog' suffix.

P3Pages with images missing alt text71

Add short, descriptive alt text; mark purely decorative images as such.

P3Heavy pages (over 3 MB)23

Serve images in WebP/AVIF at display size and lazy-load below the fold.

P3Deep pages (5+ clicks from home)54

Add category hubs and related-article links so key content sits within 3–4 clicks.

Sample Physio & Pilates · Technical SEO auditSample project, placeholder data6

5. 90-day roadmap

Weeks 1–2 · Clean the crawl

  • Fix or redirect the 404s
  • Repoint internal links at final URLs
  • Single-hop HTTPS redirects
  • Regenerate the XML sitemap
  • Remove mixed content

Weeks 3–6 · Pages that rank

  • Suburb-service page template: unique meta, local detail, FAQs
  • Meta descriptions and titles for the blog
  • Self-referencing canonicals
  • Link orphaned articles from service pages
  • Caching and image compression

Weeks 7–12 · Polish and measure

  • Shorter titles, one H1 per page
  • Alt text backlog
  • Blog category hubs to cut click depth
  • Re-crawl with the same settings and compare
  • Track impressions and clicks per page type

6. Method and appendix

Crawl: full-site crawl from the home page, following internal links and the XML sitemap. Data was exported to CSV with one row per URL: status, indexability, canonical, title, meta description, H1 count, word count, click depth, inlinks, response time, page weight, image alt text and sitemap membership.

Rules: each issue is a rule over that export (for example, a thin page is an indexable 200 with under 250 words). The rules and thresholds are listed in the accompanying analysis script, so the audit can be re-run after the fixes and compared like for like.

Files: crawl.csv (raw export), issues.json (counts and fixes), issue-urls.csv (every affected URL).

Page typeURLs
blog186
location-service30
condition12
pagination12
info8
service8
location6
tag6
legacy2
home1
Sample Physio & Pilates · Technical SEO auditSample project, placeholder data7