Prompt engineering
Types of ChatGPT Prompts: 8 Ways to Write a Better Prompt
Each type fixes a specific problem in a prompt, and each comes with a before-and-after SEO example you can copy and try.
What is a good prompt made of?
1You are an SEO specialist who writes for online stores. 2I have a product page for a stainless steel manual coffee grinder priced at $58, and the target keyword is “manual coffee grinder”. 3Write 3 meta description options for the page. 4An example of the style I want: “A manual coffee grinder with a consistent grind from espresso to French press, shipped free.” 5Show the results in a table: the option, and the feature it mentions. 6Keep each option under 155 characters, start it with the target keyword, and avoid hype like “the best”.
Most strong prompts have six parts. You don't need all of them every time, but each missing part leaves ChatGPT guessing. Click a part to see it in the prompt.
What is prompt engineering?
Prompt engineering is how you write the request you send to ChatGPT or any AI model, so it understands exactly what you need and gives you the result you want the first time.
Say you ask ChatGPT: "Write a meta description for the coffee grinder page." You get back a sentence that looks fine, but it's probably too long, it leaves out the keyword you're targeting, and it sounds like it was written for anyone. The problem isn't ChatGPT; it's that the request is incomplete: no context, no output format, and no limits.
A good prompt isn't a magic sentence you memorize. It's a clear request built from parts, and each of the types below fixes a specific problem: one keeps the output's format fixed, one splits a big task, one has ChatGPT check its work before it hands it over.
The types of prompts at a glance
Click a type to jump to its explanation and example.
- 01Zero-shot promptingAsk for the task directly, without examples, but completely.
- 02Few-shot promptingShow ChatGPT examples of the output you want instead of describing it.
- 03Role promptingGive ChatGPT the role to speak from, with real context.
- 04Structured promptsSplit a long prompt into sections with headings or tags.
- 05Chain-of-thought promptingWith modern models: say what to think about, not “think step by step”.
- 06Prompt chainingSplit a big task into stages, and review between them.
- 07Meta promptingAsk ChatGPT to write a prompt for you, or improve one you wrote.
- 08Self-review promptingAsk ChatGPT to check its output against set criteria and fix it.
Zero-shot prompting
The simplest type: you ask for the task directly, without showing ChatGPT any examples. Most of the prompts we write every day are this type. Being direct was never the problem; being incomplete is.
A good zero-shot prompt has a clear task, enough context, an output format and limits. With modern reasoning models, OpenAI itself advises starting here, without examples, and adding examples only if the output doesn't come out the way you want.
Weak prompt
Write titles for a coffee grinder page.
Rewritten
Write 5 title tags for the product page of a “stainless steel manual coffee grinder” on a US online store. Keep each title under 60 characters, start it with “Manual Coffee Grinder”, and don't use words like “best” or “#1”. Show them as a numbered list.
What changed: We added the exact product, the market, the length, where the keyword goes, what to avoid, and how to show the result.
Use it when
The task is clear and specific, and the output doesn't need a fixed, repeating format.
Watch out
If you've tried it twice and the format still isn't right, move to few-shot.
Few-shot prompting
Instead of describing the output you want, you show ChatGPT examples of it. It's the most reliable way to fix the format and the style, especially for classification and for tasks that repeat across lots of data.
OpenAI's advice here is to make the examples diverse. If all your examples are of one kind, ChatGPT will assume that's the only shape allowed. Anthropic says the same: a few well-crafted examples improve accuracy and consistency.
Weak prompt
Classify these keywords by search intent: cheap electric coffee grinder, fine vs coarse grind, buy manual coffee grinder.
Rewritten
Classify each keyword by search intent: informational, commercial, transactional, or navigational.
Examples:
- “how to grind coffee for espresso” → informational
- “best manual coffee grinder” → commercial
- “buy coffee grinder online” → transactional
- “amazon” → navigational
Classify these the same way:
- cheap electric coffee grinder
- fine vs coarse grind
- buy manual coffee grinder
What changed: The examples define each intent better than any definition, and they fix the shape of each line in the output.
Use it when
Classification, a fixed format, or a particular writing style.
Watch out
Examples that are all alike, or an example with a mistake in it, because it will copy it exactly.
Role prompting
You tell ChatGPT the role to speak from: a technical SEO, a content editor, a store owner. The role shapes the tone, the level of detail, and what it pays attention to. Anthropic recommends putting it in the system prompt if you use the API.
But a role alone gives ChatGPT no new information. "You are an SEO expert" without context gets you generic expert talk. A role really works when it comes with a scope of work and data.
Weak prompt
You are an SEO expert. Review this page.
Rewritten
You are a technical SEO who audits Shopify stores. I'll send you the data for the “Coffee Grinders” category page: the title, H1, number of products and canonical. Review it for indexing and duplication only, and list the issues in a table: the issue, its evidence, and its priority.
What changed: The role is specific and has a scope, the data is coming, and the task is limited to indexing and duplication.
Use it when
The tone or the angle changes the result.
Watch out
A vague role like “you are an expert in everything”, or a role with no context.
Structured prompts
When a prompt gets long, ChatGPT can mix up the instructions and the data. Here you split the prompt into clear sections, with headings or tags like <instructions> and <data>. Both OpenAI and Anthropic recommend this, because tags show exactly where each part starts and ends.
It's the right type for tasks with a lot of data, like pasting a Search Console report and asking for an analysis, so ChatGPT doesn't treat a row of the data as an instruction.
Weak prompt
Analyze these numbers and tell me the problems: [table pasted from Search Console]
Rewritten
<instructions>
Analyze page performance over the last 3 months. Find the pages whose clicks dropped more than 20%, and separate a drop in impressions from a drop in CTR.
</instructions>
<data>
[Paste the Search Console table here: page, clicks, impressions, CTR, position]
</data>
<format>
A table: the page, the change in clicks, and the likelier cause: impressions or CTR.
</format>
What changed: The instructions are separate from the data, and the output format has its own section.
Use it when
A long prompt, or one with pasted data or a document.
Watch out
Lots of tags for a two-line prompt. Structure is for long prompts.
Chain-of-thought prompting
The original idea is to ask the model to think step by step before answering, so it doesn't rush problems that need analysis. With older models, that really made a difference.
But modern models that reason before they answer, like ChatGPT's thinking mode, do this on their own. OpenAI says plainly that "think step by step" is unnecessary with them, and can even hurt. So instead of asking it to think, tell it what to think about: the possibilities to check, and the evidence each one needs.
Weak prompt
Traffic dropped 30% this month. Think step by step and tell me why.
Rewritten
Organic traffic to the site dropped 30% compared with last month. List the likely causes from most to least likely, and for each: the data in Search Console or Analytics that confirms or rules it out, and how I check it. Don't settle on one cause before showing the evidence.
What changed: Instead of “think”, we defined the shape of the analysis: possibilities, evidence for each, and no snap verdict.
Use it when
An analysis or diagnosis with more than one possible cause.
Watch out
“Think step by step” with reasoning models. Replace it with analysis criteria.
Prompt chaining
Some tasks are bigger than one prompt, like writing a full article from scratch. Ask for it all at once and you get an article that's average at everything. It's better to split it into stages, each its own prompt, with each stage building on the last one's output.
The real advantage is that you review between stages. If the outline is wrong, you fix it before 2,000 words get written on top of it.
- 1
Stage 1
Look at the top 10 results for “manual coffee grinder”, and list the questions they answer and the angles they leave out.
- 2
Stage 2
From that analysis, propose an outline with H2 and H3 headings that covers those angles, without writing the article.
- 3
Stage 3
Write only the first section of the outline I approved, in the style of the attached article.
- 4
Stage 4
Review the section against these criteria: it answers the reader's question in the first paragraph, it doesn't repeat another section, and every number has a source. Suggest edits before writing the next section.
What changed: Each stage has an output you review, so mistakes are fixed early instead of being built on.
Use it when
A big task with separate stages, where you need to review along the way.
Watch out
Splitting a small task into lots of steps for no reason.
Meta prompting
Here you ask ChatGPT itself to write the prompt for you, or to improve one you wrote. It helps when you know what you want but not how to phrase it, or when you have a prompt you use every week and want it sharper.
OpenAI has an official tool called Prompt Optimizer, in its developer dashboard, that does the same thing. Our prompt optimizer is built the same way, for SEO tasks.
Weak prompt
Improve this prompt: summarize the site's performance this week.
Rewritten
I'll use the prompt below every week to write a performance summary for a coffee store from Search Console data. Rewrite it to be clearer and more precise: add the context it's missing, define the output format, and tell me what you changed and why. Ask me about anything that's missing instead of assuming it.
The prompt: “Summarize the site's performance this week.”
What changed: We said what the prompt is for and how often, and asked for the changes with their reasons, and questions instead of assumptions.
Use it when
You don't know where to start, or you have a recurring prompt to improve.
Watch out
Using the improved prompt without trying it first.
Self-review prompting
Once ChatGPT produces the output, you ask it to check it against specific criteria and fix what doesn't match. It's very useful in SEO, because most of our work has clear criteria: where the keyword goes, duplication, and whether a claim has a source.
Review works when the criteria are clear and checkable. "Check the quality" is vague, but "starts with the target keyword" is something it can verify. Note that counting characters exactly is something it can get wrong, so if length matters, check it yourself.
Weak prompt
Write 10 titles and review them.
Rewritten
Review the ten titles you wrote against these criteria, one by one:
1. It starts with the target keyword.
2. It doesn't repeat another title in the list.
3. It mentions a feature that's in the attached product description, not an assumed one.
Rewrite the titles that don't match, and name the criterion each one failed.
What changed: The criteria are specific and checkable, and we ask it to fix what doesn't match, with the reason.
Use it when
The output has clear criteria you can check.
Watch out
Vague criteria like “improve the quality”, or relying on it to count characters.
Which type should you use?
Pick what applies to your task, and we'll tell you which types to add to a clear zero-shot prompt.
The types that fit your task
Pick at least one. For a simple task, a clear zero-shot prompt is usually enough.
Types of prompts compared
| Type | Use it when | Watch out |
|---|---|---|
| Zero-shot prompting | The task is clear and specific | An incomplete request, not a direct one, is the problem |
| Few-shot prompting | Classification or a repeating format | Examples that are alike, or wrong |
| Role prompting | Tone and angle matter | A role without context adds nothing |
| Structured prompts | A long prompt, or one with data | Tags on a short prompt are overkill |
| Chain-of-thought prompting | An analysis with several possible causes | “Think step by step” isn't needed with reasoning models |
| Prompt chaining | A big task in stages | Over-splitting small tasks |
| Meta prompting | You can't start, or for a recurring prompt | Try the improved prompt before relying on it |
| Self-review prompting | Output with checkable criteria | It can miscount characters |
Have a prompt you want to improve?
Paste it into the prompt optimizer, and you get back a sharper version, with every change it made, the reason, and which of these types it used. No prompt yet? Describe what you want in your own words, and the tool writes one.