← Blog

SEO Audit Checklist for New Client Onboarding

A systematic 28-point SEO audit checklist for agencies onboarding new clients. Automate it with one API call instead of spending hours in manual tools.

The first thing you should do when you sign a new SEO client is audit their site. Not a quick glance — a structured, documented audit that establishes a baseline, identifies quick wins, and shows the client exactly where they stand.

Most agencies do this manually. Open a spreadsheet, check title tags one by one, test page speed, look for broken links. It takes 2-4 hours per site and the output is inconsistent between team members.

Here's a better approach: automate the audit, document the results, and start the engagement with data — not opinions.

The 28-Point Checklist

These are the checks that matter for every new client site, organized by category.

Meta & Content

# Check Why It Matters
1 Title tag exists No title = invisible in search results
2 Title length (50-60 chars) Too long gets truncated, too short wastes space
3 Meta description exists Controls the snippet in search results
4 Meta description length (120-160 chars) Same truncation issue as title
5 H1 tag present Primary heading signals page topic to Google
6 Single H1 per page Multiple H1s dilute topic signal
7 Heading hierarchy (H1→H2→H3) Skipping levels confuses crawlers
8 Content length (300+ words) Thin content rarely ranks
9 Image alt text coverage Accessibility + image search visibility
10 Readability score Content too complex = high bounce rate

Technical SEO

# Check Why It Matters
11 HTTPS enabled Ranking signal since 2014, trust signal for users
12 SSL certificate valid Expired cert = browser warning = bounced visitors
13 Response time (<500ms) Slow servers hurt Core Web Vitals
14 Canonical URL set Prevents duplicate content penalties
15 Mobile viewport meta tag Required for mobile-first indexing
16 robots.txt present Controls what gets crawled
17 XML sitemap present Helps Google discover all pages
18 Structured data (JSON-LD) Enables rich snippets in search results

Social & Open Graph

# Check Why It Matters
19 OG title set Controls how links appear on Facebook/LinkedIn
20 OG description set The preview text when shared
21 OG image set Posts with images get 2-3x more engagement
22 Twitter Card tags Same as OG but for Twitter/X
23 Favicon present Browser tabs, bookmarks, professionalism

Performance

# Check Why It Matters
24 Page size (<3MB) Large pages = slow loads = high bounce
25 DOM complexity Overly complex DOM slows rendering
26 Compression enabled (gzip/brotli) 60-80% reduction in transfer size

Accessibility

# Check Why It Matters
27 Language attribute on HTML Screen readers need to know the language
28 ARIA landmarks Helps assistive technology navigate the page

Automate the Entire Checklist

Instead of checking these 28 points manually, run one API call:

curl -H "X-API-Key: YOUR_KEY" \
  "https://seoscoreapi.com/audit?url=https://newclient.com"

You get back every check with a pass/warning/fail status, an overall score, and prioritized fix recommendations. What used to take 2 hours takes 3 seconds.

Python: Onboard Multiple Pages

New clients usually care about more than their homepage. Audit their key pages in one script:

from seoscoreapi import audit, report_url

client_pages = [
    "https://newclient.com",
    "https://newclient.com/services",
    "https://newclient.com/about",
    "https://newclient.com/contact",
    "https://newclient.com/blog",
]

print("NEW CLIENT ONBOARDING AUDIT")
print("=" * 50)

total_issues = 0
for url in client_pages:
    result = audit(url, api_key="YOUR_KEY")
    issues = len(result.get("priorities", []))
    total_issues += issues

    print(f"\n{url}")
    print(f"  Score: {result['score']}/100 ({result['grade']})")
    print(f"  Issues: {issues}")

    for p in result["priorities"][:3]:
        print(f"    [{p['severity']}] {p['issue']}")

domain = "newclient.com"
print(f"\nTotal issues across {len(client_pages)} pages: {total_issues}")
print(f"Shareable report: {report_url(domain)}")

What You Show the Client

Take the output from the audit and present three things in your kickoff meeting:

  1. The score — a single number they can understand (e.g., "You're at 62/100, we're going to get you to 85+")
  2. The quick wins — high-severity issues that are easy to fix (missing meta descriptions, no alt text, missing OG tags)
  3. The report link — hand them https://seoscoreapi.com/report/newclient.com so they can see the details themselves

This positions you as data-driven from day one. No vague promises — concrete numbers and a plan.

Setting Up Ongoing Monitoring

Once the baseline audit is done, set up monitoring so you catch regressions between check-ins:

from seoscoreapi import add_monitor

add_monitor("https://newclient.com", api_key="YOUR_KEY", frequency="daily")

You'll get an email alert if their score drops by 5+ points. This is how you catch it when their dev team pushes a template change that breaks meta tags — before the client notices the traffic drop.

The Onboarding Workflow

Here's the complete flow for every new client:

  1. Sign contract
  2. Run automated audit — 5 key pages, 3 seconds each
  3. Review results — identify quick wins and long-term priorities
  4. Share report link with client
  5. Set up monitoring — daily checks on their homepage
  6. Fix quick wins — usually done in the first week
  7. Re-audit — show the score improvement
  8. Monthly reporting — automated, sent via email or shared dashboard

Steps 2-5 take under 10 minutes with the API. That's the difference between onboarding a client in an afternoon vs. a week.

Get Started

  1. Sign up for a free API key — 5 audits/day to try the workflow
  2. Run your first onboarding audit
  3. Send the report to a client and see their reaction
  4. Upgrade to Basic ($15/mo) for ongoing client work

Try SEO Score API free

Get Free API Key