Below is a practical, reusable guide and ready-to-use prompt templates you can copy/paste and adapt for creating product pages, category pages and CMS pages for PrestaShop using an LLM (ChatGPT or similar).
Short summary: be explicit about the output format, provide structured input data, give brand voice and SEO constraints, forbid inventing facts, and ask for output in a machine-friendly format (JSON/CSV/HTML) you can import into PrestaShop.
1) PrestaShop fields to consider (common)
- name
- short_description (displayed on product list)
- description (full HTML product description)
- meta_title (SEO)
- meta_description (SEO)
- link_rewrite (slug)
- tags
- features / product attributes
- combinations (attributes/variants and their SKUs)
- price, tax rules, wholesale_price
- quantity, minimal_quantity
- image alt text
- categories (IDs or names)
- manufacturer / supplier
- condition (new/refurbished/used)
- visibility, active, online_only
- attachments
2) General best practices for prompts
- Provide structured input: list the product fields you already have.
- Give the LLM a role: “You are an e‑commerce copywriter and SEO specialist for [brand].”
- Specify tone, target audience, and word/character limits (short_description max 160 chars, meta_description 140–160 chars, meta_title 50–60 chars).
- Insist on no invented claims: “Only use facts from the input. If data is missing, say ‘INSUFFICIENT DATA’ for that field.”
- Request output in a machine-parsable format (JSON, CSV). That reduces post-processing errors.
- If you want HTML in descriptions, specify allowed tags (p, ul, li, strong, em, br).
- Provide SEO keywords and primary keyword placement (start of meta_title and meta_description).
- For multi-language stores, specify language and transliteration rules for link_rewrite.
- For bulk generation, request results as one row per product in a CSV or JSON array.
3) System role examples
- System: “You are an expert e-commerce copywriter and SEO specialist experienced with PrestaShop. Produce accurate, concise product texts suitable for import into PrestaShop. Follow formatting and length limits. Do not invent product facts.”
4) Single-product prompt template (JSON output)
Replace placeholders {...} with your data.
Prompt:
You are an e-commerce copywriter and SEO specialist for the brand {brand}. Use only the facts in the input. For any missing fields, write "INSUFFICIENT DATA". Output a single JSON object with the exact keys listed below. Do not include extra keys.
Input facts:
{
"name": "{product_name}",
"brand": "{brand}",
"category": "{category_name}",
"features": ["{feature1}", "{feature2}", ...],
"materials": "{materials or INSUFFICIENT DATA}",
"dimensions": "{dimensions or INSUFFICIENT DATA}",
"color": "{color or INSUFFICIENT DATA}",
"warranty": "{warranty or INSUFFICIENT DATA}",
"target_audience": "{audience or INSUFFICIENT DATA}",
"primary_keyword": "{primary_keyword}",
"secondary_keywords": [{kw1}, {kw2}],
"language": "{en/fr/...}",
"tone": "{friendly/professional/technical}",
"allowed_html": ["p","ul","li","strong","em","br"],
"meta_title_limit": 60,
"meta_description_limit": 160,
"short_description_limit": 160
}
Produce JSON:
{
"name": "...",
"short_description": "...", // plain text or simple HTML; <= short_description_limit chars
"description": "...", // allowed HTML only
"meta_title": "...", // <= meta_title_limit chars, include primary_keyword
"meta_description": "...", // <= meta_description_limit chars, include primary_keyword
"link_rewrite": "...", // SEO slug: lower-case, hyphens, no special chars
"tags": ["tag1","tag2"],
"features": [{"name":"Feature name","value":"Feature value"}, ...],
"image_alt": "...", // concise alt text with primary_keyword
"combinations": [{"attributes":{"Size":"M","Color":"Blue"},"sku":"...","price":"...","quantity":...}, ...],
"notes": "..." // any “INSUFFICIENT DATA” notes
}
Example (filled) — you can remove this in production:
{example JSON with a simple product}
5) Single-product short prompts (copy-ready)
- Create short_description:
You are an e-commerce copywriter. Create a short product summary for PrestaShop’s short_description (max 140 characters). Use brand {brand} voice: {tone}. Primary keyword: {primary_keyword}. Use present tense. Do not invent facts; use only input: {list of facts}.
- Create meta tags:
Write meta_title (<=60 chars) and meta_description (<=160 chars) that include primary keyword and one call to action. Use {brand} voice.
- Create link_rewrite (slug):
Provide an SEO slug for "{product_name}" in {language}. Lowercase letters, hyphen-separated, remove accents, no punctuation.
- Create image_alt:
Write concise image alt text (max 100 chars) including primary keyword.
6) Category page prompt
Prompt:
You are an e-commerce copywriter and SEO expert. Write content for a PrestaShop category page named "{category_name}". Provide:
- category_description (HTML allowed: p, ul, li; ~150–400 words)
- meta_title (<=60 chars, include primary keyword: {primary_keyword})
- meta_description (<=160 chars)
- link_rewrite (slug)
- suggested subcategory names (3–6 items)
Target audience: {audience}. Tone: {tone}. Use facts: {short list of category traits}. Do not invent facts.
7) CMS pages (About, Shipping, Returns, FAQ) prompt
Template:
You are an e-commerce content specialist. Create a {page_type} page for PrestaShop with this brand voice: {tone}. Provide:
- page_title
- page_content (HTML; allowed tags p, h2, h3, ul, li, strong)
- meta_title and meta_description
- suggested FAQ items (if page_type = "FAQ"): list of Q/A pairs (question, short answer)
Constraints: Use only facts in input {list}. For policy pages (shipping/returns), include summary bullets, clear steps, and exceptions. Output JSON.
8) Bulk generation (CSV) prompt
Prompt:
You will output a CSV with these columns:
name, short_description, description, meta_title, meta_description, link_rewrite, tags, features_json, image_alt, combinations_json, categories, active
Input: provide an array of products with fields: name, features, brand, price, images, categories, primary_keyword.
Rules:
- For each product create SEO-optimized meta_title and meta_description including primary_keyword.
- short_description <=140 chars, description 150–400 words with headings and bullet points using allowed HTML.
- features_json is a JSON string array of {"name":"..","value":".."}.
- combinations_json is a JSON string; if no combinations, empty array [].
- tag items comma-separated.
- link_rewrite is a slug: lowercase, hyphens, remove accents.
- Do not invent facts. If data missing, write INSUFFICIENT DATA in the CSV cell.
9) Variant & combinations prompt
Prompt:
You have these attribute groups: Size [S,M,L,XL], Color [Black,White,Blue]. Create all valid combinations as a JSON array. For each combination include sku (brand initials + product short code + size code + color code), price modifier (0 or +X), quantity, and reference code. Base SKU root: {sku_root}. No invented inventory numbers beyond "INSUFFICIENT DATA" if you have no stock info.
10) Translation & multi-language slugs
Prompt:
Translate the following product fields into {language} and produce a link_rewrite slug following local transliteration rules. Output JSON:
{ "language":"{code}", "name":"...", "short_description":"...", "description":"...", "meta_title":"...", "meta_description":"...", "link_rewrite":"..." }
Keep character limits for meta fields the same.
11) Safety and accuracy rules to include in all prompts
- “Do not invent technical specs, certifications, or warranty conditions. If not in input, write INSUFFICIENT DATA.”
- “Avoid health/medical claims unless explicitly provided and verified.”
- “Flag any potential legal claims or required regulatory statements.”
12) Example end-to-end product prompt (ready to paste)
You are an expert e-commerce writer and SEO specialist for the brand "OceanPure". Use only the facts provided. If any fact is missing, put INSUFFICIENT DATA for that field. Output a single JSON object exactly with the keys shown.
Input:
{
"name":"AquaFlow 2000 Countertop Water Filter",
"brand":"OceanPure",
"category":"Water Filters",
"features":[
"Dual-stage carbon & ceramic filtration",
"Removes 99.9% of chlorine and sediment",
"Flow rate: 1.5 L/min",
"Filter life: 6 months"
],
"materials":"BPA-free plastic",
"dimensions":"30 x 15 x 20 cm",
"color":"White",
"warranty":"2 years",
"primary_keyword":"countertop water filter",
"secondary_keywords":["carbon water filter","home water purifier"],
"language":"en",
"tone":"friendly and trustworthy",
"allowed_html":["p","ul","li","strong","em"],
"meta_title_limit":60,
"meta_description_limit":160,
"short_description_limit":140
}
Produce:
{
"name": "...",
"short_description": "...",
"description": "...",
"meta_title": "...",
"meta_description": "...",
"link_rewrite": "...",
"tags": ["..."],
"features":[{"name":"...","value":"..."}, ...],
"image_alt":"...",
"combinations":[],
"notes":"..."
}
13) Iteration & QA
- Always ask the model to run an SEO check: list 3 improvements, keyword density, suggested H2/H3 headings.
- Validate that link_rewrite contains only ascii letters, numbers and hyphens; request slug re-generation if needed.
- Ask model to output CSV-ready rows (comma escaping) to reduce import errors.
14) Implementation tips
- Use temperature ~0.2–0.4 for predictable results.
- Use system message to lock in role and safety rules.
- Test with 10 products first; refine prompts based on actual import results.
- Keep a “facts only” flag to prevent hallucinations.
If you want, I can:
- generate ready-to-import CSV rows from a list of your products (paste several product raw entries), or
- give you a one-click prompt that you can copy into ChatGPT for bulk generation, or
- produce a JSON schema for your exact PrestaShop import mapping.
Which would you like me to do next?