Trade shops used to wait on a writer or an agency every time a homeowner searched a job plus a city. An SEO automation tool can draft those pages on a weekly cadence if you map the queries, keep a human gate, and put a tracking number on every live URL. You leave with a review queue, one approved page, and a way to see which searches produce jobs.
What you'll accomplish
A weekly queue holds local job drafts, a review screen waits for your yes or no, and a tracking number connects a Google click to a booked job. Confirm titles match mapped queries, a test visit creates a call or form event, and one approved draft is live. This approach builds an always-on marketing system founders can approve in minutes. It shows how human-gated AI delivers agency-level SEO at startup prices. Trades businesses have used the same hybrid method to book jobs without big budgets.
What you'll need
- Owner login for Google Business Profile and Google Search Console
- Admin access to your website
- A call-tracking number or a unique form URL used only on pages this automation publishes
- A list of jobs you want to book, plus the cities or zip codes you cover
- Forty minutes now, then ten minutes one day each week to approve drafts
If Search Console is not connected, add the property before Step 1. Get the tracking number working before you publish, or you will not separate a search-driven job from a referral.
Step 1: Map your top local job queries
- Open a new spreadsheet with four columns: Job type, City or zip, Full query, Priority.
- Add one row per job-and-place pair a homeowner would type. Use a phrase such as "Tankless water heater install Austin". Skip brochure lines such as "residential plumbing solutions". Aim for 8 to 15 rows.
- In Google Search Console, open Performance → Search results for the last three months. Copy any query that already has impressions and matches a job you sell. Set those rows to Priority 1.
Wrong turn: treating your brand name as Priority 1. Brand searches do not tell the drafting tool which job page to write.
Step 2: Set up weekly content drafts with human review
- Import the spreadsheet as the brief source in your SEO automation. Rows should appear as planned drafts. If they already show as live URLs, turn auto-publish off.
- Map Job type to the topic, Full query to the target phrase, and City or zip to the service area.
- Set cadence to one batch per week, capped at three drafts.
- Require a human gate and make yourself the only approver. Bookmark one review URL. Status labels should include Waiting, Approved, and Rejected. If the only status is Published, the gate is off.
Step 3: Connect tracking from search to booked jobs
- Create a tracking number or unique form URL used only on pages this tool publishes. Place a test call. Stop if the log is empty after a minute.
- Put that number in the draft template header and in the click-to-call button. It should be the only number on the page.
- Add UTM parameters on links that match the Full query: utm_source=google, utm_medium=organic, utm_campaign set to the job type.
- Mark a conversion for the form submit, then submit the test form once. Call the tracking number from a second phone. Both events should list the test page URL. Do not publish while either is missing.
Step 4: Run the first approval cycle
- Read the first draft against the Full query and the city on that row. The job and place should appear in the title and opening paragraph. Reject copy that could fit any contractor in any city.
- Check the tracking number, the service area, and any license line. Delete invented reviews, years in business, or prices you did not supply.
- Approve one draft and reject the next item on purpose. One URL should go live and one item should sit in Rejected. If both went live, disable publishing and repeat this step.
- Tap the call button on the live URL and confirm it dials the tracking number from Step 3. If the live page shows the main number, fix the template and republish.
Step 5: Measure results after 30 days
- In Search Console, filter Performance → Search results to your Full query list. If every mapped query shows zero impressions, run URL Inspection on each live URL.
- Match call-log and form events for the same 30 days to a page URL, then to a spreadsheet row.
- Mark each row Keep, Rewrite, or Pause:
| Mark | When to use it |
|---|---|
| Keep | Produced a job or a serious inquiry |
| Rewrite | Impressions, but no calls |
| Pause | Neither impressions nor calls |
Rankings can sit still for months while you still need work on the calendar. Count inbound jobs from the pages you approved; that number shows up sooner than a position report. If you need customers now rather than waiting months, the 30-day check already shows which pages produced jobs or serious inquiries. 4. Send Keep and Rewrite rows back into the weekly queue. Remove Pause rows.
Troubleshooting
The review queue is empty after a week Re-map the four spreadsheet columns to the brief source and run one manual batch.
Drafts name the wrong city or skip the job Rewrite Full query cells in homeowner language and regenerate.
You approved a piece and it is not on the site Publish to the live domain, not staging, then run URL Inspection.
Test calls do not show in the log Call from the live page. If the log is empty after five minutes, replace the main number in the template and test again.
Clicks exist after 30 days but no jobs Put the tracking number above the fold, state the service area, and shorten the form.
You never see the approval request Open the bookmarked review URL on the same day each week. Name one approver.
Key takeaways
- Run a weekly local-job draft queue without hiring a marketing department.
- Approve or reject any piece in minutes before it can go live.
- Trace a Google click to a call or a form and see which job queries pay.
- Drop queries that waste review time after 30 days.
Open a spreadsheet, add 8 to 15 job-and-city rows, and connect Search Console plus a tracking number. Then start the weekly queue, approve one draft this week, and check the call log after 30 days against those same rows with Atiro.


