ChatGPT prompts for SEO research from sources you paste
Briefs, SERP notes from pasted results, cluster maps, intent labels and outline gaps. You supply the export. The model does not invent volumes or keyword difficulty.
In short: This page contains 30 copy-paste ready prompts, organized into 6 categories with a description and pro tip for each. The first 5 prompts are free instantly, no signup needed. Drafted with AI writing assistance and checked against our editorial policy.
Research Briefs
5 promptsOne page research brief
1/30✨ What it does
Builds a one page research brief from the seed, audience, market and inputs you paste. Fill each [VERIFY] from your tracker before anyone starts pulling SERPs.
Write a one page SEO research brief for [SEED TOPIC] aimed at [AUDIENCE] in [MARKET]. Inputs I allow: [PASTE BRIEF INPUTS]. Sections: Job to be done, Queries I already track, Pages I already rank or own, Questions the brief must answer, and Out of scope. Use only my inputs. If a query or URL is missing, write [VERIFY] on that line. Do not invent a monthly volume, a difficulty score, a rank or a competitor I did not name.
Pro tip: Paste the queries you already track, even if the list is short.
Stakeholder question list
2/30✨ What it does
Splits a messy stakeholder request into ten research questions, half answerable from a SERP paste and half that need an export. Tag assumed KPIs before the kickoff call.
Turn this messy request from [STAKEHOLDER ROLE] into ten research questions. Request: [PASTE REQUEST]. Output two groups of five: Questions we can answer from a SERP paste, and Questions that need a crawl or an export. Mark any question that assumes a volume, a share of voice or a rank we do not have with [VERIFY]. Stay inside the request. Inventing a KPI or a deadline they did not write would send the team the wrong way.
Pro tip: Keep their words in the questions so they recognise the brief.
Scope fence for a cluster
3/30✨ What it does
Draws an in or out fence for query patterns around one seed from your notes. Resolve every conflict row with the stakeholder before you pull a SERP.
Draw a scope fence for a cluster around [SEED TOPIC]. In scope notes: [IN SCOPE NOTES]. Out of scope notes: [OUT OF SCOPE NOTES]. Return a table with columns Query pattern, In or Out, and Why in 15 words. Add a last row for anything in my notes that still conflicts. If a pattern cannot be judged, write [VERIFY]. Do not invent adjacent products, locales or seasonal queries to widen the fence.
Pro tip: Write out of scope as examples, not vibes, so the fence holds.
Source list before anyone searches
4/30✨ What it does
Lists eight sources you already named, with what to copy from each and who owns the paste. It will not add a dashboard or a competitor you did not list.
Make a source list we will actually open before we talk about demand. Topic: [SEED TOPIC]. Sources I already trust: [PASTE TRUSTED SOURCES]. Output eight rows with columns Source type, Exact URL or name I gave, What we will copy from it, and Owner. Use only sources I named. If a row has no URL, write [VERIFY] and leave the name as a type, such as Search Console export. Never invent a tool login, a volume dashboard or a competitor URL.
Pro tip: Name the export file, not just the product, so the owner knows what to pull.
Brief critique before kickoff
5/30✨ What it does
Scores a pasted research brief on job, inputs, scope and first SERP task, then rewrites the weak section. Strips any volume or rank that has no export behind it.
Score this research brief from 1 to 10 on job to be done, inputs, out of scope and a first SERP task. Brief: [PASTE BRIEF]. Then rewrite the weak section in 120 words. Do not add queries, URLs or numbers that are not in the paste. If the brief claims a volume, a difficulty or a rank with no export behind it, tag that claim [VERIFY] and strip the number. Inventing a missing input to make the score look kinder is off limits.
Pro tip: Paste the brief as the team will see it, typos included.
SERP Notes
5 promptsSERP snapshot from pasted results
6/30✨ What it does
Turns a pasted SERP into a rank, URL, title, format and feature table. Copy what is on screen, and tag cut-off rows instead of guessing the missing title.
Take this pasted SERP for [QUERY] in [MARKET] and turn it into a snapshot. Paste: [PASTE SERP]. Output a table with columns Rank as shown, URL, Title as shown, Format such as article or video, and One feature I can see such as a sitelink. Copy ranks and titles from the paste. If a row is cut off, write [VERIFY]. Do not invent a result, a featured snippet, a volume or a paid row I did not paste.
Pro tip: Paste the organic list you see, including the date you captured it.
People also ask from a paste
7/30✨ What it does
Extracts People Also Ask style questions exactly as pasted, then groups them under Inform, Compare or Do. It will not invent extra questions when the paste is empty.
Extract People Also Ask style questions from this paste for [QUERY]. Paste: [PASTE PAA OR RELATED]. Return a numbered list of the questions exactly as written, then a second list grouping them under Inform, Compare, Do. If the paste has no questions, say so and write [VERIFY] rather than inventing a related question. Do not add a volume or a click figure beside any question.
Pro tip: Expand each question once in the SERP before you copy, so the wording is stable.
Intent read from titles you copied
8/30✨ What it does
Labels each pasted title and URL as Inform, Compare, Do or Mixed, with a reason that cites a word on the page title. No click or volume figures are added.
Read intent from these SERP titles and URLs for [QUERY]. Paste: [PASTE TITLES AND URLS]. For each row give Intent in one word from Inform, Compare, Do, or Mixed, plus a 12 word reason that cites a word from the title or slug. If a row has no title, write [VERIFY]. Do not invent a ranking factor, a click-through rate or a volume to justify the label.
Pro tip: Include the slug. Product and blog slugs often disagree with the title.
Featured layout notes
9/30✨ What it does
Describes the SERP layout from your copied notes, marking packs that are not shown. It will not add a panel or a shopping pack just because the query type often has one.
Describe the SERP layout for [QUERY] from what I copied, not from memory of a typical SERP. Paste: [PASTE SERP LAYOUT NOTES]. Return bullets for Top feature, Organic mix, Local or map if shown, Video or image pack if shown, and Discussions if shown. If a pack is not in the paste, write not shown. If my notes are ambiguous, write [VERIFY]. Never invent a knowledge panel, an ad or a shopping pack to make the layout look familiar.
Pro tip: Screenshot the SERP, then type what you see. Memory of a typical SERP lies.
Change log between two SERP pastes
10/30✨ What it does
Diffs two dated SERP pastes into stayed, entered, left or moved, with ranks as shown. Causes stay out unless you wrote them in the paste.
Diff two SERP pastes for [QUERY]. Older paste dated [OLDER DATE]: [PASTE OLDER SERP]. Newer paste dated [NEWER DATE]: [PASTE NEWER SERP]. Output a table with columns URL, Status as stayed, entered, left or moved, and Old rank / new rank as shown. If a rank is missing, write [VERIFY]. Do not invent a cause such as an update, a penalty or a volume swing.
Pro tip: Capture both SERPs in the same location and language or the diff is noise.
Cluster Maps
5 promptsCluster map from a query export
11/30✨ What it does
Groups an exported query list into named parent or child clusters, with leftovers in Unsorted. Thin clusters stay thin, and no extra queries are added.
Cluster these queries I exported. Export: [PASTE QUERY LIST]. Seed I care about: [SEED TOPIC]. Return groups of 4 to 8 queries with a cluster name of 2 to 4 words and a parent or child label. Use only queries in the paste. If a query does not fit, put it in Unsorted. If the export has no queries, write [VERIFY] and stop. Do not invent a query, a volume or a difficulty to fill a thin cluster.
Pro tip: Paste 30 to 80 queries. A thousand-row dump makes the map unreadable.
Parent page versus supporting pages
12/30✨ What it does
Assigns your existing URLs as parent or support for one cluster, and flags a gap when no URL fits. It will not invent a folder or a new URL.
From this cluster, pick one parent URL I already have and supporting URLs. Cluster queries: [PASTE CLUSTER]. URLs I own: [PASTE URL LIST]. Output a table with columns Role as parent or support, URL, Queries it should target from the paste, and Gap if no URL fits. If no parent exists, write [VERIFY] in URL and describe the gap in 20 words. Do not invent a URL, a new folder or a volume that makes a weak page look like a parent.
Pro tip: Paste canonical URLs. Parameter copies will split the parent by accident.
Internal link sketch from the map
13/30✨ What it does
Sketches From, To and short anchors inside one cluster using only URLs and queries you listed. Missing anchors are tagged instead of borrowed from another topic.
Sketch internal links for this cluster using only URLs I listed. Parent: [PARENT URL]. Supporting URLs: [PASTE SUPPORT URLS]. Anchor ideas must come from [PASTE CLUSTER QUERIES]. Return a list of links as From URL, To URL, Anchor in 5 words or fewer. If an anchor would need a query I did not paste, write [VERIFY]. Never invent a hub page or a related cluster to complete the sketch.
Pro tip: Keep anchors boring and close to the query. Clever anchors fail in review.
Overlap check across two clusters
14/30✨ What it does
Finds shared and unique queries across two named clusters, then notes merge, split or wait. It will not pick a winner from a volume you did not supply.
Find overlap between two clusters I already named. Cluster A name and queries: [PASTE CLUSTER A]. Cluster B name and queries: [PASTE CLUSTER B]. Output Shared queries, Queries only in A, Queries only in B, and a 60 word note on whether to merge, split or wait. If a query appears twice with tiny wording changes, say so. Do not invent a canonical winner or a volume to justify a merge. If I pasted only one cluster, write [VERIFY] and stop.
Pro tip: Name the clusters before you paste so the note can refer to them cleanly.
Cluster names a writer can use
15/30✨ What it does
Renames working cluster labels into 2 to 5 word options a writer can put in a doc title, using audience words you hear. Gaps stay tagged.
Rename these working cluster labels so a writer can put them in a doc title. Current labels: [PASTE CLUSTER NAMES]. Audience words I actually hear: [PASTE AUDIENCE WORDS]. Give three name options per cluster, 2 to 5 words, then pick one and say why in 20 words. Do not add a year, a volume or a rank in the name. If an audience word is missing for a cluster, write [VERIFY] beside that cluster rather than inventing a phrase they do not use.
Pro tip: Ban internal codes such as P1 or H2 from the names the writer will see.
Like these prompts? There are full tutorials behind them.
Learn the workflows, not just the prompts. Easy-to-follow tutorials inside AI Academy, and the library keeps growing.
Intent Labels
5 promptsIntent labels from a query list
16/30✨ What it does
Labels each pasted query Inform, Compare, Do, Local or Mixed from a trigger word in the query itself. When no trigger word exists, the label stays tagged.
Label intent for each query in this list using only the words in the query. List: [PASTE QUERY LIST]. Allowed labels: Inform, Compare, Do, Local, Mixed. Return a table with Query, Label, Trigger word. If you cannot point to a trigger word, write [VERIFY] in Label. Do not invent a SERP feature, a volume or a buyer stage to force a Do label.
Pro tip: Do not peek at a SERP here. That is a different prompt with a paste.
Inform versus compare split
17/30✨ What it does
Splits a query list into Inform, Compare and Mixed against the product or category you named. It will not invent comparison queries to fill a thin column.
Split this list into Inform and Compare only. Queries: [PASTE QUERY LIST]. Product or category we sell: [PRODUCT OR CATEGORY]. Put Mixed in a third column when a query could be either. Give a 10 word reason that quotes the query. If our product name is not in my brackets, write [VERIFY] and do not guess a SKU. Inventing a comparison query to fill the Compare column is not allowed.
Pro tip: If Compare is empty, that is a finding, not a failure of the prompt.
Local intent check
18/30✨ What it does
Marks each query local or not for the city or region you named, citing a location word or a near me pattern. Blank regions are tagged on every row.
Mark which queries in this list are local to [CITY OR REGION]. Queries: [PASTE QUERY LIST]. Return columns Query, Local yes or no, Evidence such as a city word or a service-near-me pattern. If a query has no location word and no near me pattern, mark no. If my region is blank, write [VERIFY] on every row rather than inventing a city. Do not add a map pack or a volume.
Pro tip: Include the language the city uses for neighbourhoods, not only the city name.
Intent conflict on one URL
19/30✨ What it does
Judges whether one URL should stay mixed, split or drop queries, using the queries and SERP titles you attached. Missing titles are tagged, not imagined.
This URL is trying to rank for mixed intent. URL: [URL]. Queries I attached: [PASTE QUERIES FOR THIS URL]. SERP titles I copied for the head query: [PASTE SERP TITLES]. Say whether the URL should stay mixed, split into two briefs, or drop queries. Give the reason in 80 words that cites my paste. If the SERP titles are missing, write [VERIFY] and do not invent a SERP that would make the split look obvious.
Pro tip: Paste titles from the head query only. Mixing two SERPs hides the conflict.
Label rubric the team can reuse
20/30✨ What it does
Writes a reusable intent rubric with definitions, examples from your list and a no-go per label. Blank example slots stay tagged until you paste real queries.
Write a one page intent rubric for [TEAM NAME] working on [SEED TOPIC]. Allowed labels: Inform, Compare, Do, Local, Mixed. For each label give a definition in 20 words, two example queries from [PASTE EXAMPLE QUERIES], and one no-go. If I did not give two examples for a label, write [VERIFY] and leave the example blank. Do not invent a query or a volume to complete the rubric.
Pro tip: Hang the rubric next to the cluster map so labels do not drift by writer.
Outline Gaps
5 promptsOutline gap from SERP headings
21/30✨ What it does
Compares your draft outline to headings copied from ranking pages and marks keep, cut or add. Only themes that appear in the paste can be added.
Find outline gaps for [QUERY] by comparing my draft outline to headings I copied from ranking pages. My outline: [PASTE OUTLINE]. Copied headings: [PASTE HEADINGS]. Return a table with columns Heading theme, In my outline yes or no, Pages that use it, and Keep, cut or add. Add nothing that is not in the copied headings. If a heading is unclear, write [VERIFY]. Do not invent a section, a statistic or a volume to justify an add.
Pro tip: Copy H2 and H3 text, not the whole article, so the table stays short.
Question gaps from pasted FAQs
22/30✨ What it does
Splits copied questions into already answered, with a quote from your draft, and missing, copied exactly. Truncated questions are tagged, and no extra FAQs are created.
List questions my draft does not answer. Draft or outline: [PASTE DRAFT OR OUTLINE]. Questions I copied from People Also Ask, FAQs or comments: [PASTE QUESTIONS]. Output two lists: Already answered, with a short quote from my draft, and Missing, with the question copied exactly. If my draft has no answer and the question is not in the paste, ignore it. Write [VERIFY] beside a missing question whose wording is truncated. Never invent a FAQ the SERP did not ask.
Pro tip: Paste questions from one SERP plus your own comment scrape, nothing else.
Proof gaps in the outline
23/30✨ What it does
Maps each outline section to a claim, the proof you hold and the remaining gap. Missing numbers, cases or quotes stay tagged until you have a real source.
Mark where this outline needs proof I already have, versus proof I still need to find. Outline: [PASTE OUTLINE]. Proof I already hold: [PASTE PROOF INVENTORY]. Return rows Section, Claim the section implies, Proof on hand, and Gap. If a section implies a number, a case or a quote I do not hold, write [VERIFY] in Gap. Do not invent a study, a customer or a figure to close the gap on the page.
Pro tip: Proof on hand means a URL or a doc you can open, not a memory of a stat.
Unique angle from your sources
24/30✨ What it does
Pitches three angles for a query that your unique sources can support and that ranking notes do not already own. No source means no pitch.
Propose three unique angles for [QUERY] that ranking pages in my paste do not already own. Ranking notes: [PASTE RANKING NOTES]. Unique sources I have: [PASTE UNIQUE SOURCES]. For each angle write a 40 word pitch and the source it needs. If my unique sources do not support an angle, drop it. If I pasted no unique source, write [VERIFY] and refuse to invent a data set, a tool screenshot or an interview.
Pro tip: A unique source is a spreadsheet, a method or an interview you actually have.
Outline sign-off checklist
25/30✨ What it does
Builds a 12 item sign-off covering query match, intent, SERP formats, proof and scope, marked Ready, Blocked or [VERIFY] from the outline and brief you paste. Writing does not start while any item stays Blocked.
Make a 12 item sign-off checklist for this outline before writing starts. Outline: [PASTE OUTLINE]. Brief: [PASTE BRIEF]. Items must cover query match, intent, SERP formats we saw, proof, and out of scope. Mark each item Ready, Blocked or [VERIFY] from the two pastes. Do not add a traffic target, a volume or a rank goal. Inventing a ready mark on a blocked proof item is forbidden.
Pro tip: A Blocked item means writing does not start, even if the outline looks neat.
Go from copy-pasting to actually mastering AI.
AI Academy: hands-on tutorials on ChatGPT, Claude, Midjourney, and many other tools. New tutorials are added regularly.
Source Sheets
5 promptsSearch Console paste into a sheet
26/30✨ What it does
Rebuilds a Search Console paste into Query, Page, Clicks, Impressions and Position as shown, plus an intent guess from query words. Numbers stay untouched.
Turn this Search Console paste into a working sheet for [PROPERTY OR SITE]. Paste: [PASTE GSC ROWS]. Columns to keep: Query, Page, Clicks, Impressions, Position as shown. Add a column Intent guess from the query words only, using Inform, Compare, Do or Mixed. Do not change any number. If a row is missing a field, write [VERIFY] in that cell. Never invent a click, an impression, a position or a query that is not in the paste.
Pro tip: Paste a filter you understand, such as one directory, not the whole property.
Competitor URL sheet from a crawl paste
27/30✨ What it does
Builds a competitor URL sheet from a crawl paste, limited to the host you named. Absent fields are tagged, and ranks and backlink counts are not added.
Build a competitor URL sheet from this crawl or export paste. Paste: [PASTE CRAWL ROWS]. Competitor host I care about: [COMPETITOR HOST]. Keep columns URL, Title, H1 if present, Word count if present, Indexable if present. Drop rows that are not on [COMPETITOR HOST]. If a field is absent in the paste, write [VERIFY]. Do not invent a rank, a volume or a backlink count to sort the sheet.
Pro tip: Filter to indexable HTML before you paste or the sheet fills with junk URLs.
Claim log from ranking pages
28/30✨ What it does
Logs claims from pasted ranking-page extracts against sources you hold, quoting each phrase. Silent sources stay tagged instead of growing a counter-claim.
Log claims ranking pages make for [QUERY]. Pasted extracts: [PASTE EXTRACTS WITH URLS]. Return a table with columns Claim, URL, Quoted phrase, and Can we match from [PASTE OUR SOURCES]. If our sources are silent, write [VERIFY] under Can we match. Do not invent a counter-claim, a study or a number that would let us match a claim we cannot support.
Pro tip: Keep extracts short. One claim per row beats a pasted full article.
Glossary from industry pages you copied
29/30✨ What it does
Builds a glossary from definitions you copied, using their words and flagging URL conflicts. Terms that never appear in the paste are skipped.
Build a glossary for [SEED TOPIC] from definitions I copied. Paste: [PASTE DEFINITIONS WITH URLS]. Output Term, Definition in 25 words using their words, URL, and Conflict if two URLs disagree. If a term has no definition in the paste, skip it. Write [VERIFY] on a conflict rather than inventing a winner. Do not add a term I did not paste.
Pro tip: Copy two sources per term when you can. One source hides the conflict.
Research handoff note
30/30✨ What it does
Writes a 150 word research-to-writer handoff listing query, intent, parent URL, real file names and open questions. Missing intent or parent stays tagged.
Write a 150 word handoff from research to the writer for [QUERY]. Attachments I actually have: [PASTE FILE NAMES]. Open questions: [PASTE OPEN QUESTIONS]. The note must list the query, the intent label we chose, the parent URL if I named one, the files, and the open questions. If an intent or parent is missing, write [VERIFY]. Do not invent a volume target, a due date or a file the writer cannot open.
Pro tip: Name files the writer can click in your drive, not nicknames only you know.
Free tool
SEO Meta Generator
Generate a title tag, meta description, and slug options.
Frequently Asked Questions
Prompts are the starting line. Tutorials are the finish.
A growing library of hands-on tutorials on ChatGPT, Claude, Midjourney, and many other AI tools. New tutorials are added regularly.
Related guides