AI SEO Change Kit
Copy-ready toolkit for multi-client SEO + AI SEO audits, staged implementation, and central Google Sheet change logging.
Quick Setup
Use one central template and one Apps Script webhook for all clients.
- Click Open Template and make a central copy.
- Add client columns at the start of the Change Log if they are not already present:
client_id,client_name,site_url,environment. - In the copied sheet: Extensions > Apps Script > Deploy as Web App.
- Set access to Anyone, then deploy one shared
/execwebhook. - Use
client_idandenvironmenton every row to filter work by client and staging/live state. - Copy the webhook test prompt below and send it to AI with your copied PHP snippet.
Multi-Client Mode
Use the same Google Sheet and webhook for every client. Client separation happens through required payload fields, not separate webhook URLs.
- Every audit, change, and promotion row must include
client_id,client_name,site_url, andenvironment. - Use stable machine-readable IDs such as
northshore-roof-repairs; do not rely on client names for matching. - Use a unique
batch_idper client run, such asnorthshore-roof-repairs-2026-05-p2. - The Apps Script webhook should update an existing row when
change_idmatches, or fall back to matchingfrom_url+to_url. - The webhook response should be checked for
action: insertoraction: updateafter each log attempt.
Human Actions Checklist
- Set up one central Google Sheet and Apps Script Web App webhook (or redeploy if script code changed).
- Confirm the Sheet headings start with
client_id,client_name,site_url, andenvironment. - Paste the latest Web App
/execwebhook URL into the WordPress PHP snippet for the target site, or keep it in a local environment variable for CLI logging. - Fill in the Client / Project Context before copying prompts.
- Run Prompt 1 (Audit Only) and review findings by priority.
- Approve the exact change list before any implementation work starts.
- Run Prompt 2 (Implementation) on staging only.
- For each attempted change, verify the result and record evidence.
- Ensure a Google Sheet row is inserted or updated after every attempt.
- If validation fails, roll back immediately and record rollback details.
- Only mark rows live-ready after staging verification is complete.
- Promote only approved and verified rows to live, then update
live_status.
Assigned operator (human) is responsible for approvals, validation, and promotion decisions.
Client / Project Context
Complete this for each client run. These values should appear in every Google Sheet row and copied prompt.
Install Skills
Single-line install commands. Copy and run in terminal.
WordPress PHP Webhook Logger
Run this combined prompt to add the snippet and test the central webhook in one pass:
Prompt 1: Audit Only (No Changes)
Recommendation Intake (If You Already Have Findings)
Use this when you already have audit findings and want to write them to the Google Sheet before any implementation work starts.
- Paste the audit findings and the client config into the prompt below.
- Require one Google Sheet row per distinct finding and URL group.
- Use
change_type = audit_findingandstaging_status = planned. - Do not edit the website during this intake step.
- After rows are logged, use Prompt 3 only for findings that have been approved for implementation.
Prompt 2: Log Audit Findings to Sheet
Prompt 3: Implement Approved Changes (Easy Version)
When You Are Ready for Live
Use the Google Sheet as the source of truth for production rollout.
- Filter rows by the active
client_id, thenstaging_status = verifiedand approved for promotion. - Copy only those verified rows into a live-promotion AI prompt.
- Instruct AI to apply only the listed rows on live (no extra inferred changes).
- After each live change, validate and update
live_status+live_verified_atthrough the same webhook. - Check the webhook response for
action: updatewhen promoting existing rows. - Add evidence/notes for each promoted row.
This keeps live rollout controlled and prevents re-auditing from scratch.
Ready.
