Below is a practical, copy-ready guide and set of prompt templates you can drop into ChatGPT (or other LLMs) to generate high-quality PrestaShop product pages, category pages and CMS pages. It covers what to include in your prompt, formatting rules for PrestaShop, SEO best practices, and ready-to-use prompt templates (single product, product with variants, batch/CSV export, category SEO, CMS page).
Quick rules to follow when writing prompts
- Be explicit: give the model the exact fields you need and any length or formatting limits.
- Provide the source data (title, SKU, specs, images, target audience, keywords).
- Request strict output format (JSON, CSV, or HTML blocks) so you can import or parse results.
- Use deterministic settings (temperature 0–0.2) for repeatable outputs.
- Ask for SEO fields (meta_title, meta_description, friendly_url, image_alt).
- If you’ll import into PrestaShop, match column names to your import template or ask for CSV with specified headers.
- Provide examples of desirable output if you want a particular tone/structure.
PrestaShop-specific formatting & limits (recommended)
- meta_title: ~50–70 characters (keep unique, include primary keyword).
- meta_description: ~120–160 characters (enticing, include keyword).
- friendly_url (slug): lowercase, hyphens, only a-z0-9 and hyphens, no spaces, max ~255.
- short_description: 1–3 short paragraphs or 3–6 bullets, ~150–300 chars recommended.
- description: longer HTML content (p, h2, h3, ul, li, strong allowed). Include features, benefits, specs, compatibility and CTA.
- image alt text: descriptive, 5–12 words, include model/keyword.
- tags: comma-separated keywords.
- JSON-LD (optional): product structured data (name, sku, price, currency, availability, brand).
- Variant/combinations: provide attributes (size/color) and ensure unique reference/SKU per combo.
- Use canonical_url only if needed; otherwise keep default.
What to include in your prompt (minimum)
- Product name, SKU, brand/manufacturer
- One-sentence product summary + bullet specs (dimensions, weight, materials, compatibility)
- Target audience/usage (who will buy, primary benefit)
- Primary and secondary keywords (for SEO)
- Any constraints (max length for meta, HTML allowed or not)
- Tone/s (technical, casual, luxury, conversion-focused)
- Output format required (JSON with field names, CSV with headers, or raw HTML blocks)
Templates and examples
1) Single product — JSON output (ideal for API/import)
System message suggestion (if available):
You are an e-commerce copywriter and SEO specialist. Produce deterministic, precise outputs. Use short, persuasive copy for short_description and rich, structured HTML for description. Adhere to the character limits I specify.
User prompt template:
Create a PrestaShop product record as JSON. Input data:
- name: [Product name]
- sku: [SKU]
- brand: [Brand]
- bullets/specs: [list of specs]
- features: [main features]
- target_audience: [who uses it]
- keywords: [primary keyword, secondary keywords]
- price: [price and currency]
- availability: [In stock / Out of stock]
- images: [image filenames or URLs]
- tone: [e.g., friendly & persuasive | technical]
Output constraints:
- meta_title max 65 chars
- meta_description max 155 chars
- friendly_url lowercase hyphen slug
- short_description max 300 chars (no HTML)
- description: HTML allowed (p, h2, ul, li, strong, em)
- return JSON with these fields: name, sku, brand, price, currency, meta_title, meta_description, friendly_url, short_description, description (HTML), tags (comma-separated), images_alt (list of strings), json_ld (string with JSON-LD).
Do not include additional commentary.
Example filled prompt:
[provide your data here]
Sample expected JSON structure (model should output only JSON):
{
"name": "...",
"sku": "...",
"brand": "...",
"price": "...",
"currency": "EUR",
"meta_title": "...",
"meta_description": "...",
"friendly_url": "...",
"short_description": "...",
"description": "
...
",
"tags": "tag1, tag2, tag3",
"images_alt": ["alt 1","alt 2"],
"json_ld": "{...}"
}
2) Product with variants — CSV-ready table
Prompt:
I need a CSV for PrestaShop import with these headers: id, name, sku, combination, price, weight, quantity, ean13, images, meta_title, meta_description, friendly_url, short_description, description, tags, image_alts. Create one row per variant. Data:
- name base: [Name]
- sku base: [SKU_PREFIX]
- attributes: Color: red, blue | Size: S, M, L
- base price: [price]
- weight: [base weight]
- quantity per variant: [qty]
- primary keyword: [...]
- … (other data)
Constraints:
- Build SKUs: SKU_PREFIX-RED-S, etc.
- Use friendly_url: slugify base name + variant (e.g., name-red-s)
- Meta and descriptions should include primary keyword and be within character limits.
Output CSV only, with header row and rows for each variant.
3) Batch product creation — CSV generator with minimal input
Prompt:
You are a data generator for PrestaShop. Given a list of brief product specs (one per line: name | sku | brand | one-line spec), output a CSV with these columns: name, sku, brand, price, currency, quantity, meta_title, meta_description, friendly_url, short_description, description (HTML), tags, images, image_alts. Create SEO titles and descriptions using [primary keyword] for each. Keep meta_description ≤ 155 characters and short_description ≤ 300 characters. Output CSV only.
4) Category page SEO description (HTML)
Prompt:
Write a category page block for PrestaShop for the category: [Category name]. Include:
- H1 tag with category name
- a 1–2 sentence intro (short)
- an HTML list of primary subcategories or product types (ul)
- a benefit-driven paragraph targeting buyers
- a final short CTA
Also provide:
- meta_title (≤65 chars)
- meta_description (≤155 chars)
- friendly_url slug
- a 2–4 item list of keywords/tags
Return JSON with fields: h1_html, body_html, meta_title, meta_description, friendly_url, tags.
5) CMS page (About / Shipping / Returns) — HTML + meta
Prompt:
Write a CMS page for PrestaShop: [Page type, e.g., "Shipping & Delivery"]. Include:
- H1 title
- 3–5 subsections (H2) for key topics (times, costs, tracking, returns)
- short FAQs (3 Q/A)
- tone: [friendly/authoritative]
- meta_title ≤ 65 chars, meta_description ≤ 155 chars
Return JSON: title, meta_title, meta_description, friendly_url, content_html.
Practical examples (realistic sample prompt + expected output snippet)
Example single-product prompt (you can paste into ChatGPT):
Create a PrestaShop-ready product JSON. Data:
- name: "AeroFit Running Shoes"
- sku: "AF-RUN-001"
- brand: "AeroFit"
- bullets: "Breathable mesh upper; Foam midsole; Rubber outsole; Weight 240 g"
- features: "Lightweight running shoe for daily training, responsive cushioning"
- target_audience: "runners and fitness enthusiasts"
- keywords: "AeroFit running shoes, lightweight running shoes"
- price: 89.99, currency: EUR
Constraints:
meta_title ≤ 65 chars, meta_description ≤ 155 chars, short_description ≤ 300 chars, description must use
and for features, return JSON with fields: name, sku, brand, price, currency, meta_title, meta_description, friendly_url, short_description, description, tags, images_alt, json_ld. Output only JSON.
Why this works
- Explicit field names let you map directly to PrestaShop fields or your import CSV.
- Using JSON/CSV prevents the model from adding stray commentary.
- Character limits force the model to produce SEO-compliant text.
- Asking for image alt text and JSON-LD improves accessibility and rich snippets.
Checklist before running a prompt
- Gather minimal product data (name, SKU, price, one-liner, specs).
- Decide desired tone and page length.
- Choose output format (CSV/JSON/HTML). Prefer JSON for programmatic ingestion.
- Provide the primary keyword(s).
- Provide sample product so the LLM has a template (optional but helpful).
Tips for iterative refinement
- Run one product first and inspect output. Adjust meta length, tone, or structure.
- If headings or HTML tags are wrong, explicitly list allowed tags.
- For bulk imports, ask the model to produce a small sample (3–5 rows) before generating hundreds.
- Use temperature = 0 for reproducible results and temperature 0.2 for some variety.
- Keep a post-processing step to validate slugs, duplicate meta titles, SKU uniqueness, and character limits.
Common field mapping to PrestaShop import columns
- name -> name
- meta_title -> meta_title
- meta_description -> meta_description
- friendly_url -> link_rewrite (slug)
- short_description -> description_short
- description -> description
- images -> images (comma-separated URLs)
- image_alts -> image_alt (comma-separated)
- sku -> reference
- price -> price
- quantity -> quantity
- tags -> tags
Final quick prompt templates you can copy
Single product (short):
Write a PrestaShop product JSON for:
Name: [name]
SKU: [sku]
Brand: [brand]
Specs: [bullet list]
Keywords: [keyword1, keyword2]
Price: [amount] [currency]
Tone: [tone]
Constraints: meta_title ≤ 65 chars, meta_description ≤ 155 chars, short_description ≤ 300 chars, description allowed HTML (p, h2, ul, li, strong). Return only JSON with these fields: name, sku, brand, price, currency, meta_title, meta_description, friendly_url, short_description, description, tags, images_alt, json_ld.
Bulk CSV generator (short):
Given this list of products (format: name | sku | brand | one-line spec), output a CSV with headers: name,sku,brand,price,currency,quantity,meta_title,meta_description,friendly_url,short_description,description,tags,images,image_alts. Create SEO titles & descriptions using primary keywords. Keep meta_description ≤ 155 chars. Output CSV only.
If you want, paste one product or a small product list now and I’ll generate the exact prompt and sample output (JSON or CSV) you can import into PrestaShop.