← All runbooks
coreyhaines31 / seo-audit

SEO Audit

Conduct a comprehensive SEO audit of a target website, systematically assessing crawlability and indexation, technical foundations, on-page optimi

agent claude-codemodel claude-sonnet-4-6snapshot python312-uveval programmatic9 stepsv1.0.0

Deploy SEO Audit to your jetty.io

One-click installs this runbook into a collection on your Jetty account. You can run it from the Spot dashboard, schedule it, or pipe inputs in via the API.

The shape of the run

9 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    # Install dependencies
    pip install requests beautifulsoup4 lxml pyyaml
    
    # Create output directories
    mkdir -p /app/results
    
    # Verify TARGET_URL is set
    if [ -z "${TARGET_URL}" ]; then
      echo "ERROR: TARGET_URL is not set. Set it before running."
      exit 1
    fi
    
    echo "Setup complete. Auditing: ${TARGET_URL}"
    

    Verify the target URL is reachable:

    import requests
    
    target_url = "TARGET_URL_HERE"
    r = requests.get(target_url, timeout=15, allow_redirects=True)
    print(f"Final URL: {r.url}")
    print(f"Status: {r.status_code}")
    print(f"Content-Type: {r.headers.get('Content-Type', '')}")
    
  2. 2
    Step 2

    Initial Assessment — Gather Site Context

    Before auditing, collect the following context (from task description or by asking):

  3. 3
    Step 3

    Technical SEO Audit

    Audit the following in priority order. For each finding, record: issue, impact (High/Medium/Low), evidence, fix recommendation, and priority (1–5).

  4. 4
    Step 4

    International SEO Audit (when applicable)

    Run this step only if the site serves multiple languages or regions.

  5. 5
    Step 5

    On-Page SEO Audit

    import re

  6. 6
    Step 6

    Content Quality Assessment

    eeat_checklist = { "experience": [ "First-hand experience demonstrated", "Original insights/data present",

  7. 7
    Step 7

    Iterate on Errors (max 3 rounds)

    If any audit step fails to return data (network errors, parse failures, blocked access):

  8. 8
    Step 8

    Compile Findings and Action Plan

    import json, pathlib

  9. 9
    Step 9

    Write Summary and Validation Report

    Write `/app/results/summary.md` with: - Target site and audit date - Overall health assessment (Good / Needs Work / Critical Issues) - Top 3–5 priority issues