12 SEO Prompts That Beat a Link-Building Budget: Semantic Core, Technical Audit, and Content Optimization with ChatGPT

Your site is stuck on page four, the agency quoted a retainer that costs more than your car, and the copywriter just raised prices again. Meanwhile, competitors with worse content keep outranking you. The difference is rarely budget — it is process. A solid semantic core, a clean technical audit, and content that actually answers the query will beat a link-buying campaign more often than most people admit.

This collection is 12 prompts I actually run in ChatGPT (GPT-5 class models) for exactly that workflow. Each one is paired with a real usage example, the output format I expect, and the part where the model usually hallucinates so you know what to verify manually. Nothing here replaces Search Console, Screaming Frog, or Ahrefs — prompts are a force multiplier for your judgment, not a substitute for it.

A note on sourcing: Google's official guidance lives in the Search Essentials and the Helpful Content guidance. For structured data, always validate against schema.org and the Google Search Central structured data docs. If a prompt output contradicts those pages, the docs win.

1. Semantic Core from a Seed List (with Intent Clustering)

The classic mistake is generating 5,000 keywords and calling it a core. What you need is clusters by intent, with a clear primary and supporting set per URL. This prompt does the clustering and flags where you are missing a page entirely.

Prompt:

You are an SEO strategist. I will give you a seed topic and a raw keyword list (CSV: keyword, volume, difficulty).
1. Cluster keywords by search intent (informational, commercial, transactional, navigational).
2. For each cluster, name the primary keyword (highest volume with realistic difficulty) and 3-7 supporting keywords.
3. Map each cluster to a recommended URL slug.
4. Flag clusters where no existing URL on my site matches (I will paste my sitemap).
Output as a Markdown table: Cluster

| Intent | Primary KW | Supporting KWs | Target URL | Gap?
Do NOT invent search volumes. Use only the numbers I provide.

Real example: For a B2B SaaS blog, feeding a seed of "warehouse management" produced 6 clusters. Two of them ("WMS implementation checklist", "WMS vs ERP") had zero matching URLs — those became the next month's content plan. The instruction not to invent volumes matters: models will happily fabricate "12,400/mo" if you let them.

2. Technical Audit Triage from a Crawl Export

You do not need an AI to find 404s. You need it to prioritize them by likely traffic impact. Export your crawl and let the model triage.

Prompt:

Here is a CSV export from a site crawl (columns: URL, status_code, title, meta_description, word_count, internal_links_in, response_time_ms, canonical).
Prioritize issues into P0 (blocks indexing or causes duplicate content), P1 (hurts rankings), P2 (nice to fix).
For each issue, give: affected URL count, one-line fix, and the exact tool or code snippet to verify the fix.
Do not speculate about issues not present in the data.

Real example: A crawl of 1,800 URLs surfaced 340 pages with a canonical pointing to a redirecting URL — a P0 duplicate-content signal. The model grouped them by template and suggested a single fix in the CMS template rather than 340 manual edits.

Priority Typical issue Verification method
P0 Canonical to 3xx/4xx URL curl -I <canonical> returns 200
P0 noindex on money pages Check rendered HTML, not source
P1 Missing internal links to orphan pages Crawl with "orphan pages" report
P2 Long meta descriptions Truncation preview in SERP tools

3. Title and Meta Description at Scale (Without Keyword Stuffing)

Google rewrites titles often, but a well-written one still influences click-through. This prompt keeps you inside pixel limits and out of clickbait territory.

Prompt:

For each row (URL, primary keyword, page summary), write:
- Title: max 60 characters, include primary keyword naturally, no clickbait, no ALL CAPS.
- Meta description: 140-155 characters, include the primary keyword once, add a concrete benefit.
Return a table: URL

| Title | Char count | Meta | Char count.
If a title cannot fit 60 chars without sounding broken, say so instead of truncating mid-word.

Real example: For a services page, the model produced "IT Support for Small Business | 24h Response" (52 chars) versus the original 89-character title that was being truncated in SERPs. Small change, measurable CTR lift in Search Console over several weeks.

4. E-E-A-T Content Brief

Since the December 2022 helpful content update and the 2023 addition of the extra "E" (Experience), thin content gets filtered hard. A brief that forces first-hand experience signals is worth more than a word-count target.

Prompt:

Create a content brief for the query "[primary keyword]".
Include: search intent, top 3 competing URLs and what they cover, required sections, questions the page must answer, and 5 specific places where the author should add first-hand experience (tests, screenshots, numbers, mistakes).
Do not list word count as a goal. Do not suggest generic sections like "Introduction".

Real example: For "self-hosted analytics setup", the brief demanded a screenshot of the actual dashboard and a note on the RAM used on a 1 GB VPS — details competitors skipped. That is the experience signal Google's guidance on helpful content describes.

5. Content Optimization Against the Current Top 10

You cannot paste competitors' full text, but you can paste their headings and structure, which is what actually reveals topical gaps.

Prompt:

Here are the H2/H3 outlines of the top 5 ranking pages for "[query]" (I pasted them).
Compare against my outline below.
List: (a) subtopics they cover that I miss, (b) subtopics I cover that none of them do (my differentiation), (c) entities/terms that appear in 4+ of them but not in my draft.
Return a prioritized edit list, not a rewrite.

Real example: For a guide on PostgreSQL indexing, competitors all covered B-tree but only one mentioned partial indexes. The model flagged it as a differentiator worth expanding — a genuinely useful edit, not padding.

6. Internal Linking Map

Internal links are the free ranking lever most sites waste. This prompt builds a linking map from your sitemap and target keywords.

Prompt:

Given my URL list with target keywords and short page summaries, propose an internal linking plan.
Rules: 3-6 contextual links per page, anchor text varied (no exact-match repetition), link from high-authority pages to pages that need a boost, no circular links within the same cluster.
Output: Source URL

| Anchor text | Target URL | Reason.

Real example: A 60-page blog got 140 new internal links from this exercise. The highest-traffic post started passing relevance to two commercial pages that previously had almost no internal links pointing at them.

7. Schema Markup Generation (Valid JSON-LD)

Structured data helps rich results, but broken JSON-LD is worse than none. Always validate output in the Rich Results Test.

Prompt:

Generate valid JSON-LD for schema.org type [Article / FAQPage / Product / BreadcrumbList] for this page.
Use only properties documented on schema.org for that type.
Return the JSON-LD block and a list of properties you omitted and why.
Do not invent properties.

Real example: For an FAQ page, the model produced a valid FAQPage block. Note that Google has reduced FAQ rich results in many regions — treat the markup as a clarity signal, not a guaranteed SERP feature, and check current documentation before investing heavily.

8. Cannibalization Detector

Two pages fighting for one query is a silent ranking killer. Feed the model your Search Console query-page export.

Prompt:

Here is a Search Console export (query, page, clicks, impressions, average position).
Find queries where 2+ URLs receive impressions and identify likely cannibalization.
For each case, recommend: merge, differentiate, or canonicalize — and explain the signal that led you there.
Ignore cases where one URL clearly dominates with 10x impressions.

Real example: Two blog posts both ranked for "email deliverability checklist" at positions 8 and 14. Merging them into one comprehensive page moved the combined page into the top 5 within a few weeks.

9. AI Overviews / SGE-Era Answer Formatting

AI-generated answer boxes reward content that is easy to extract. This prompt restructures a draft for extractability without dumbing it down.

Prompt:

Rewrite the section below so it is easy for an AI answer engine to extract:
- Lead with a direct 40-60 word answer to the implied question.
- Follow with specifics, caveats, and a concrete example.
- Keep the author's technical accuracy. Do not add claims not present in the source.
Return the rewritten section plus the question you inferred.

Real example: A definition paragraph buried under three caveats got a direct answer up front, with caveats below — the page started appearing in AI Overviews for the definition query.

10. Link Prospecting Without a Budget

No paid links. This focuses on genuinely earnable mentions: broken links, unlinked brand mentions, resource pages.

Prompt:

For the topic "[topic]", suggest 10 realistic link-earning opportunities I can pursue manually:
- broken-link replacements on relevant resource pages,
- unlinked brand mentions to reclaim,
- communities where a genuinely useful contribution fits.
For each: the type, how to find it (exact search operator), and the outreach angle.
Do not suggest paid placements or link schemes.

Real example: A search operator like "keyword" intitle:resources surfaced a university resource page with two dead links — replacing them earned a relevant editorial link. Slow, but policy-safe per Google's spam policies.

11. Content Refresh Prioritizer

Old posts decay. This prompt ranks your archive by refresh ROI.

Prompt:

Here is a list of blog posts (URL, publish date, last update, current monthly clicks, target keyword).
Rank by refresh priority: high impressions but low CTR, or declining clicks, or outdated facts.
For the top 5, list what specifically to update (data, screenshots, missing subtopics, internal links).

Real example: A 2023 comparison post lost rankings to newer competitors. Updating version numbers, adding a new section, and re-dating the review restored most of its traffic.

12. Weekly Reporting Narrative

Numbers without interpretation do not move decisions. This turns raw Search Console numbers into a short narrative.

Prompt:

Here is this week's Search Console data vs last week (clicks, impressions, avg position, top gaining and losing queries).
Write a 150-word summary: what changed, the most likely cause, and one action for next week.
Do not overstate causation — use "likely" and "possibly" where the data is ambiguous.

Real example: A position drop on one query cluster was traced to a competitor's new page, not a penalty — the model flagged it as "likely competitive," which is exactly the honest framing that prevents panic edits.

Where Prompts End and Judgment Begins

Twelve prompts will not fix a site with no value proposition. But they will compress the tedious parts of SEO — clustering, triaging, mapping, briefing — into minutes instead of days, which is where a solo specialist or a small team actually gains ground against a funded agency. The pattern that works: let the model do the first draft, verify every number and every schema property against official docs, and keep the final call on strategy for yourself. Start with prompts 1, 2, and 8 — the semantic core, the technical triage, and the cannibalization check. Those three tend to move rankings fastest when there is no link budget to lean on.

← All posts

Comments