A small SEO agency can use ChatGPT to group keywords, draft content briefs and write meta descriptions without publishing weak pages if every output passes a gate: counts reconcile, every number comes from Search Console or a keyword tool, each brief matches the search intent seen in real results, and an editor signs off.
The model's weakness in SEO work is not writing. It is confidence. It will give a search volume it cannot know, call two keywords the same intent when the results pages differ, or write a meta description for a page it has never seen. The gate below has three stages, one each for clusters, briefs and meta descriptions, and it marks the points where ChatGPT invents data so you can catch them.
What ChatGPT is good for here, and what it is not
| Task | Fit | Why |
|---|---|---|
| Grouping keywords by meaning | Good, with a check | Language is its strength; it still misreads intent |
| Naming a cluster and suggesting a page | Good | Labelling and structuring |
| Writing a brief from supplied research | Good | Organises material you give it |
| Drafting a meta description for a supplied page | Good | Short, constrained |
| Search volume, difficulty, CPC | Poor | No live data; it guesses |
| What currently ranks, and why | Poor unless given the results | Cannot see today's pages without a tool |
| Predicting traffic gains | Do not use | Unfalsifiable |
The gate covers the first four rows and the checks that protect you on the last three. Whole-site audits are a different job, which the one-afternoon audit tutorial handles.
Workspace, client Projects and a named editor
Three agency-level decisions prevent most problems.
- One shared workspace. A ChatGPT business plan keeps work in one place, and OpenAI's terms for that plan exclude your business data from model training by default. Client confidentiality terms still apply, so do not paste a client's unpublished plans or private data without permission.
- A Project per client with the brand voice, audience, banned claims and the client's standing facts. A custom GPT per client is no longer worth building, since OpenAI is phasing GPTs out in favour of plugins; a Project does the job.
- A named editor for each client, who signs off briefs. The model drafts; a person is accountable.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowGate one: keyword clusters
Clustering is where agencies save the most time and take the most silent risk. The risk is not obvious errors but plausible ones: a cluster that groups "how to fix a leaking tap" with "emergency plumber" because both mention plumbing, when one searcher wants a guide and the other wants to hire. Work in these steps.
Step 1: prepare the input from real data
Export queries from Search Console's Performance report for the client, plus any target keywords from your keyword tool, into a spreadsheet with columns for query, clicks, impressions, CTR and average position. Search Console defines these as clicks on your site from Google Search results, the number of times your site appeared, clicks divided by impressions, and an average position that, in the table, reflects the specific URL or grouping in that row. When exporting, note that values shown as "~" or "-" download as zeros, so do not read those zeros as real data. Remove queries you know are branded or irrelevant, and count the rows.
Step 2: cluster in small batches with a fixed output shape
Below are [N] search queries for a [BUSINESS TYPE] website, one per line, numbered.
Group them into clusters of queries that a single page could satisfy. For each cluster give: cluster name; the numbers of the queries in it; the likely search intent (information, comparison, local/transactional, navigational); one sentence on why they belong together.
Rules: every query number must appear exactly once. If a query does not fit anywhere, put it in "Unclustered". Do not invent queries or numbers. Do not give search volumes or difficulty.
At the end, state the total number of query numbers you placed, so I can check it equals [N].
QUERIES:
[numbered list]
Numbering the input and demanding the total are the two protections. Models drop items and duplicate others without noticing.
Step 3: run the reconciliation
Paste the model's output into a spreadsheet and check four things:
- Count in equals count out. If you gave 150 queries and the clusters contain 143 unique numbers, seven were dropped.
- No duplicates. A query number appearing in two clusters means the model has hedged.
- No invented queries. Search the output for numbers outside the input range and phrases you did not provide.
- Join the data back. Add clicks and impressions per cluster from your own export, so decisions rest on your data.
Step 4: sanity-check intent against real results
For each cluster you plan to build a page for, search the main query yourself and look at what ranks. If the page-one results are mostly guides, a "hire us" page will struggle; if they are local business listings, a long article is the wrong format. Write the finding in one line beside the cluster ("results: 7 guides, 2 tools, 1 forum") and have the editor decide. For a method to validate clusters before sign-off, see AI keyword clustering for SEO agencies.
Illustrative case for a small bookkeeping practice's site: the model clusters "bookkeeping for freelancers", "bookkeeper cost per month" and "how to do bookkeeping myself" in one group named "bookkeeping basics". The first is a service query, the second is a pricing query, the third is DIY. The gate catches it when the editor looks at the results and sees three kinds of page. The fix is three clusters, three different pages, and the DIY query dropped from the service plan altogether.
Where ChatGPT invents data
Learn these tells, because they are the failures a client would notice first.
| Invented thing | What it looks like | Check |
|---|---|---|
| Search volume | "Approx. 2,400 monthly searches" | Remove; use your keyword tool |
| Keyword difficulty | "Low difficulty, easy win" | Remove; look at who ranks |
| Competitor facts | "Competitor X ranks for this with a 2,000-word guide" | Verify in the results; usually unfounded |
| Statistics in a brief | "Studies show 70% of customers..." | Demand a source; otherwise delete |
| Quotes and sources | A named expert or a study title | Search for it; if absent, delete |
| Page details | A meta description mentioning features the page lacks | Compare with the page's real content |
| Rank forecasts | "This should reach page one in three months" | Never include in client work |
Put a standing line in the Project instructions: "Never state search volumes, difficulty scores, rankings, traffic or statistics. If a number is needed, write [DATA NEEDED]." It does not make the model honest, but it makes the invented numbers rarer and flags the gaps.
Gate two: content briefs
A brief is a set of instructions for a writer. A weak one is generic: a title, a word count and ten keywords. A good one captures what the page must do for a specific searcher. Give ChatGPT the raw materials and have it assemble, not invent.
Create a content brief for a page targeting the cluster "[CLUSTER NAME]" for [CLIENT TYPE].
Use only these inputs: the queries in the cluster [LIST]; the intent I observed in the results [YOUR NOTE]; the client's facts [LIST]; the client's voice rules [RULES].
Brief structure: working title; reader and their situation; what they must be able to do after reading; the questions the page must answer, ordered; proof the client can supply (their own facts, examples, photos); internal links to include [LIST OF REAL URLS]; what to leave out; a meta description of up to 155 characters.
Do not invent statistics, quotes or competitor details. Where proof is needed and not supplied, write [CLIENT TO SUPPLY].
The "[CLIENT TO SUPPLY]" instruction is the one that stops the brief turning into a wish list for the writer to fabricate. A realistic output is a one-page brief with eight to twelve questions, three or four [CLIENT TO SUPPLY] gaps and a meta description. The gaps are valuable: they become your questions to the client before the writer starts.
The brief checklist
- Does the brief name who is searching and what they are trying to do, in a sentence a stranger could understand?
- Does the question list match the questions that the live results answer? Open two ranking pages and compare. Add anything important they cover and the brief missed.
- Is there a point of difference, something this client has that others do not (a price, a process, a guarantee, local knowledge, a worked example)?
- Are all internal links real, working URLs on the client's site?
- Is every factual claim either supplied by the client or marked [CLIENT TO SUPPLY]?
- Would a writer know when to stop? The brief says what to leave out.
A brief that fails item three is a copy of what already ranks, and that is the main way agencies publish weak pages. The tutorials on ChatGPT prompts for SEO content writing and briefs and an edit pass with Jasper give more prompt patterns.
Gate three: meta descriptions and titles
Meta descriptions are short, so the temptation is to batch them: paste fifty URLs and ask for fifty descriptions. If you do, the model has not seen any of the pages, and it writes from the URL and its guesses. Feed it the page's real text, or at minimum the heading, the first paragraph and the one thing the page offers.
Write one meta description for the page below, up to 155 characters, that says what the reader will find and gives one reason to click. Include the phrase "[PRIMARY KEYWORD]" naturally once. No exclamation marks, no claims of being "best" or "leading", nothing that the page text does not support.
Give the character count after each.
PAGE HEADING: [H1]
PAGE TEXT (first 300 words): [TEXT]
Check each output for: character count (models miscount, so measure in a spreadsheet with LEN), the keyword used once and naturally, uniqueness across the site (sort and look for repeated openings), and a promise the page keeps. Google's own documentation says snippets are mainly built from the page content and the meta description is used only sometimes, so do not judge success by whether it appears verbatim; judge by whether it is accurate. A realistic failure: ten descriptions for service pages that all begin "Looking for a reliable..." Fix by adding the instruction "begin with a verb or a specific noun; no two descriptions may begin with the same word" and rerunning in batches of five.
For stores with hundreds of products, the bulk approach is in fixing titles and meta descriptions in bulk on Shopify.
From 220 Search Console queries to six briefs for a print shop
Illustrative case. A small agency takes on a local print shop's site. The Search Console export has 220 queries over three months.
- Clean and count. Remove 31 branded queries and 9 irrelevant ones. 180 remain.
- Cluster in two batches of 90. The model returns 14 clusters from batch one and 12 from batch two. The reconciliation finds 87 of 90 numbers placed in batch one (three dropped) and 90 of 90 in batch two. The agency adds the three missing queries manually.
- Merge and join data. Merging the 26 clusters gives 17 after duplicates are removed. Joining Search Console data shows three clusters with over a thousand impressions each but average positions beyond 20: "business card printing", "banner printing", "flyer printing".
- Intent check. The editor searches each main query. "Business card printing" shows service pages with prices; "banner printing" mixes service pages and design guides. The editor chooses a service page for the first and a service page with a short guide section for the second.
- Briefs. ChatGPT produces six briefs with [CLIENT TO SUPPLY] gaps: turnaround times, paper options, minimum quantities and sample photos. The agency sends one question list to the client.
- Meta descriptions. Drafted after the page copy exists, from the real text, measured in a spreadsheet, and checked for uniqueness.
Total agency time in this illustration: about nine hours against perhaps fifteen done manually, with most of the saving in clustering and brief assembly. The extra time goes into the checks, not into editing prose. Those figures are illustrative; time your own first project.
Using Search Console as the referee
Search Console is the one source in this process that reports what happened rather than what a model predicts, so build the gate around it.
- Before: use query and page data to decide which clusters to build, as in the example.
- During: check that the page's actual content matches the queries it targets. A brief for "banner printing" should not produce a page that mentions banners once.
- After: four to eight weeks later, compare impressions and average position for the cluster's queries against the baseline. Changes in clicks and impressions are the evidence, but give pages time and do not read a single week as a verdict.
Record the baseline in the brief, so the after-check has something to compare with. If the agency tells a client that ChatGPT-assisted pages perform well, this is the evidence: the client's own data, not a general claim.
Five weak pages the gate stops before publishing
- The generic brief. A brief that could apply to any competitor. The gate question is "what does this client have that the ranking pages lack?" and if the answer is empty, pause the page.
- The cannibalising cluster. Two clusters with near-identical intent become two pages competing with each other. Look at the results for each cluster's main query; if the same pages rank for both, merge them.
- The invented FAQ. A brief suggests questions nobody asks. Cross-check against the "People also ask" box and the client's own enquiries.
- The over-optimised meta description. Stuffed with the keyword twice and a claim the page cannot support.
- The copied structure. A brief that reproduces the heading order of the top result. Rearrange around the client's own proof.
For the content-production steps downstream, an AI content workflow for agencies, from brief to approved draft picks up where the brief ends.
Refreshing a managed IT page stuck at position 14
Not every job is a new page. Illustrative case for an IT support firm whose "managed IT support" page has sat at average position 14 for months. Search Console shows 1,900 impressions, 38 clicks and a click-through rate of 2 per cent for the cluster's main query. The agency uses ChatGPT to review, with the gate still in force.
- Export the page's queries from the Performance report, filtered to that URL. Count them.
- Paste the current page text and the query list, and ask: "List the questions suggested by these queries that the page does not answer. Quote the heading nearest to where each answer would go. Do not rewrite the page."
- The model returns six gaps, including "how much does managed IT support cost for a small team" and "what is included in a service agreement". The editor checks the live results and confirms the first is shown prominently and that the client's page says nothing about price.
- The client supplies a price range and what the agreement covers. The writer adds two sections, and ChatGPT drafts a new title and meta description from the finished text.
Before: title "Managed IT Support | [Firm]". After: "Managed IT Support for Small Teams: What It Costs and What It Covers", with a meta description that states the price range the client supplied. In the weeks after, the agency compares impressions, clicks and average position against the baseline noted in step one. The result is not guaranteed and may take weeks to show, so the report says exactly that.
Title tags, in short
The same rules as meta descriptions apply to titles, with one more: titles are truncated by width, not by characters, so check how they look in a preview tool or the live results rather than trusting a character count. Ask the model for five alternatives, each built differently (question, number, benefit, comparison, plain), then choose by judgement and the real results. Delete any title that overpromises, and delete any that copy a competitor's exact phrasing.
Reporting to the client without overclaiming
Clients ask whether AI is making the work better. Answer with their own data and plain statements of process. A short paragraph for the monthly report might read: "We use AI tools to speed up grouping and drafting. Every cluster is reconciled against your Search Console data, every brief is reviewed by an editor, and every meta description is written from the real page text." Do not report AI-generated forecasts. Report what changed in impressions, clicks and positions for the pages you shipped, how long since publication, and what you will check next. Avoid phrases such as "AI-optimised", which mean nothing to a client and invite a question you cannot answer.
Handling client data and confidentiality
Search Console exports contain queries that real people typed, plus the client's performance, and unpublished briefs reveal their plans. Check your contract's confidentiality clause before pasting client material into any tool. Use a business plan so the content is not used for training by default, keep each client in a separate Project, and remove individual client identifiers where the task does not need them. If a client forbids AI tools outright, honour it; the gate in this tutorial works with a spreadsheet and a human just as well, only slower.
Training a new analyst on the gate
New staff pick up habits from the first projects they see. A useful exercise takes an hour. Give them a 60-query sample list and the clustering prompt, ask them to run it and reconcile the counts, then plant three problems for them to find: a dropped query, a cluster mixing a service intent with a how-to intent, and an invented search volume added in a follow-up reply. If they find all three, they understand the gate. If they miss the volume, rerun the exercise until they do, because that is the mistake a client will spot.
The agency's one-page gate
Put this on a single page and attach it to every client project.
| Stage | Pass condition | Owner |
|---|---|---|
| Cluster input | Search Console and tool data, cleaned, rows counted | Analyst |
| Cluster output | Counts reconcile; no duplicates; no invented queries | Analyst |
| Intent | Real results viewed; format chosen and noted | Editor |
| Brief | Point of difference named; gaps marked; links real | Editor |
| Meta | Written from page text; counted; unique; accurate | Writer, then editor |
| Publish | Baseline recorded; follow-up check dated | Account lead |
The gate is deliberately boring. Its job is to make sure the model's speed is spent on drafting and the agency's judgement on everything that decides whether a page deserves to exist.
Agency questions about ChatGPT and SEO quality
Can ChatGPT give search volumes or difficulty scores?
Not reliably. A language model has no live access to search data unless a connected tool supplies it, and figures it states unprompted are guesses presented as facts. Take volumes and difficulty from your keyword tool or Search Console, and use ChatGPT for grouping, wording and structure.
How many keywords can I give ChatGPT to cluster at once?
Fewer than you think. Quality drops and rows go missing as lists grow, so work in batches of a few hundred at most and count the rows in and out. If the counts differ, the model dropped or invented items. For large lists, cluster with a spreadsheet or a dedicated tool and use ChatGPT to review.
Should meta descriptions be written by ChatGPT?
It is a good drafter if you supply the page's real content and constraints, and a poor guesser if you do not. Always check that each one matches the page, is unique and reads as a promise the page keeps. Google may show different text in the results, so treat descriptions as drafts to test.
Do I need to tell clients that AI helped with briefs?
Agree it in the contract or statement of work. Some agencies state that drafts may use AI tools under human review and that the agency is responsible for the final work. Client rules about confidentiality may limit what you can paste, so check before using their data.
Further reads
- How to Choose an SEO Agency That Understands AI Search — How clients should judge an agency's AI claims.
- Best AI for Content Research: Briefs and Source Checks for Agencies — Source checks for AI-assisted research.
- How to Write Website Articles With AI That Still Rank on Google — Writing AI-assisted articles that still rank.
- How to Do Keyword Research With AI for a Small Business Website — Keyword research for one small site.
- Google AI SEO Agency: Questions to Ask Before You Hire One — Questions clients put to AI SEO agencies.
- AI Agents for Content Creation and Publishing: A Client Approval Flow — How a content agency can let AI agents draft and schedule client content while a person approves every stage, with the exact approved version published.
- Best AI for SEO Content: A Refresh Workflow for Client Articles — A step-by-step refresh workflow for client articles: spot decay in Search Console, update with an assistant, fact-check, and publish without losing the URL.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Google Search Console Help (Performance report metric definitions), Google Search Central documentation on snippets and title links, and OpenAI's ChatGPT pricing page. Volumes, difficulty and rankings come from your own tools.