Below is a practical, copy‑pasteable guide with templates and examples you can use to generate high‑quality PrestaShop product pages, category descriptions, and CMS pages with ChatGPT or any LLM. It covers structure, required fields, constraints, and ready‑to‑use prompt templates (single item and batch/CSV/JSON outputs).
Core principles for any prompt
- Start with role + context: tell the model what it is (copywriter, SEO specialist, product content generator).
- Provide all factual data the model can rely on (product attributes, specs, target audience, brand voice). Do not let it invent product specs.
- State the output format exactly (JSON, CSV columns, HTML, plain text), so you can import into PrestaShop or a CSV import tool.
- Give SEO constraints: keyword, length limits for meta title (50–60 chars) and meta description (120–160 chars), friendly URL rules (lowercase, hyphens), alt text length.
- Give stylistic constraints: tone, wording to avoid, call to action.
- Add safety rules: “Do not invent features, if info missing say ‘MISSING’ or leave blank.”
- Ask for multiple variants if you want A/B testing.
PrestaShop common fields to output
- product: name, reference (SKU), price, short_description, description (long HTML), meta_title, meta_description, meta_keywords (optional), friendly_url, image_alt, tags, features (name:value list), combinations (if applicable), shipping info (weight), visibility, condition, quantity, minimal_quantity, available_for_order, show_price, out_of_stock, additional_text (CTA).
- category: name, description (HTML), meta_title, meta_description, friendly_url, image_alt, parent_category, display_mode.
- CMS page: title, content (HTML), meta_title, meta_description, friendly_url.
Single product prompt — concise (copy & paste)
You can adapt the bracketed placeholders.
You MUST replace bracketed values with actual data.
Role: You are an e‑commerce SEO copywriter for [brand name].
Product data:
- Name: [PRODUCT NAME]
- SKU/Ref: [SKU]
- Short features/bullets: [bullet1; bullet2; ...]
- Full specs (key attributes): [color, weight, material, dimensions, warranty, etc.]
- Target audience: [e.g., commuters, parents, gamers]
- Primary keyword: [keyword]
- Secondary keywords: [kw2, kw3]
Brand voice & tone: [e.g., friendly & clear, luxury & elegant, technical & precise]
Output requirements:
1. Provide a JSON object with these exact keys: name, reference, short_description, description_html, meta_title, meta_description, meta_keywords, friendly_url, image_alt, tags (comma list), features (array of {"name":"", "value":""}), notes (if any missing data).
2. short_description: max 160 characters; use primary keyword once.
3. description_html: 3–6 short paragraphs + 3 bullet points of benefits + a 1‑sentence call‑to‑action. Use simple HTML tags:
,
, - , .
4. meta_title: 50–60 characters, include primary keyword near start.
5. meta_description: 120–155 characters, include primary keyword and a call to action.
6. friendly_url: lowercase, words separated by hyphens, no accents, max 75 chars.
7. image_alt: 8–12 words, include primary keyword.
8. Do NOT invent specs. If a spec is missing, set the value to "MISSING".
9. Return only valid JSON.
Example (replace bracket values when using):
{ "prompt": "" }
Single product prompt — ready example
Role: You are an e‑commerce SEO copywriter for “Nordic Gear.”
Product data:
- Name: NordicTrail 35L Hiking Backpack
- SKU: NG-TRAIL35
- Short features: 35L capacity; waterproof cover; ventilated back; hip belt
- Full specs: color: graphite, weight: 1.2 kg, material: ripstop nylon, dimensions: 55x30x25 cm, warranty: 2 years
- Target audience: weekend hikers and trail runners
- Primary keyword: hiking backpack 35L
- Secondary keywords: waterproof daypack, ventilated pack
Brand voice & tone: practical, encouraging, clear
Output requirements: (same as above)
Batch product generation (CSV/JSON) — template
Use when you have many products. Provide a CSV or array of product objects with known fields. Ask the model to return a CSV with predefined columns or JSON array.
Prompt skeleton:
Role: You are an e‑commerce copywriter and CSV generator for [brand].
Input: I will provide a JSON array (or CSV) of product records. For each record, generate fields: name, short_description, description_html, meta_title, meta_description, friendly_url, image_alt, tags, features (pipe-separated feature:value pairs). Follow these rules: [repeat SEO & length constraints]. If any spec is missing, place MISSING. Output: a CSV with columns: sku,name,short_description,description_html,meta_title,meta_description,friendly_url,image_alt,tags,features. Do NOT include extra columns or commentary.
Example output header:
sku,name,short_description,description_html,meta_title,meta_description,friendly_url,image_alt,tags,features
Category prompt — single
Role: You are a content & SEO specialist.
Category data:
- Category name: [NAME]
- Parent: [PARENT NAME or root]
- Display mode: [products/subcategories/both]
- Target audience: [audience]
- Primary keyword: [keyword]
Output requirements:
1. JSON with keys: name, description_html, meta_title, meta_description, friendly_url, image_alt.
2. description_html: 2 short paragraphs and 4 short bullets about what customers will find; length about 150–300 words; include primary keyword 2–3 times naturally.
3. meta_title 50–60 chars, meta_description 120–155 chars with CTA.
4. friendly_url and alt text rules as above.
5. Do not invent brand statements.
CMS page prompt — single (e.g., shipping policy)
Role: You are an e‑commerce copywriter experienced with PrestaShop.
Page data:
- Page type: Shipping policy
- Key information: shipping methods, delivery times for domestic/international, cost rules, tracking, returns window [insert specifics].
Tone: clear, trustworthy.
Output: Provide JSON: title, content_html, meta_title, meta_description, friendly_url. content_html should have headings (
) for key sections, short paragraphs, and a brief FAQ (3 Q&A). Meta constraints same as above. Do not assume shipping rules—if info missing, flag MISSING.
SEO & technical micro‑prompts
- Meta title: “Write 5 variations of meta title (50–60 chars) using this keyword: [keyword].”
- Meta description: “Write 3 variations of meta descriptions (120–155 chars) each containing the keyword and a CTA.”
- Friendly URL generator: “Generate 3 friendly URLs from these product names, following rules: lowercase, hyphens, remove stopwords.”
- Alt text generator: “Write 3 image alt text options (8–12 words) including primary keyword.”
Multilingual generation
- Provide original text fields and ask for translations. Example:
“You are a bilingual e‑commerce copywriter. Translate the short_description and description_html into [language]. Keep tags and keywords translated. Output JSON with keys short_description_en, description_html_en, short_description_fr, description_html_fr. Follow same SEO constraints for the French meta fields.”
A/B testing and variant generation
- Ask for 3 variants for short_description and 2 variants for meta_title/meta_description. Label them variantA/B/C in the output.
Prevent hallucinations / quality rules (must include in prompt)
- “Only use product data provided. Do not invent features, materials, or specs. If a value is unknown, write MISSING. If you need to assume something to craft marketing text, state ‘ASSUMPTION: [text]’ in the notes field.”
- “Do not include prices or availability unless provided.”
Practical examples — output JSON template for import
Return exactly valid JSON or CSV for easy import.
JSON example structure for one product:
{
"sku": "NG-TRAIL35",
"name": "NordicTrail 35L Hiking Backpack",
"short_description": "Durable 35L hiking backpack with ventilated back and waterproof cover—perfect for weekend trails.",
"description_html": "
The NordicTrail 35L offers...
- 35L capacity for day hikes
...
Buy now.
",
"meta_title": "NordicTrail 35L Hiking Backpack – Ventilated & Waterproof",
"meta_description": "Lightweight 35L hiking backpack with waterproof cover and ventilated back. Ready for weekend adventures—order now.",
"friendly_url": "nordictrail-35l-hiking-backpack",
"image_alt": "NordicTrail 35L hiking backpack with waterproof cover",
"tags": "hiking backpack,waterproof daypack,35L",
"features": ["Capacity: 35L","Material: ripstop nylon","Weight: 1.2 kg"],
"notes": ""
}
Tips for working at scale
- Use chunking: send 20–50 products per request depending on token limits.
- Provide a CSV of base data to the model and request a CSV return. Or run locally: use the model to generate templates, then merge with your product CSV via scripts.
- Use deterministic prompts and the same temperature parameter for consistent outputs.
- Validate outputs: check lengths, SEO fields, uniqueness (no duplicate meta titles), and ensure friendly_url uniqueness.
Quality checklist before import
- Meta title length 50–60 chars (or ≤70 depending on your SEO policy).
- Meta description 120–155 chars.
- No HTML tags in meta fields.
- Friendly URL unique per product.
- No invented specs (if present, verify).
- Alt text includes main keyword and describes the image.
Short quick templates you can copy
1) Product — JSON output (short):
You are an e‑commerce copywriter. Product: [NAME], SKU: [SKU], features: [list], specs: [list], keyword: [primary]. Brand tone: [tone]. Output JSON keys: name, short_description (≤160 chars), description_html (HTML), meta_title (≤60 chars), meta_description (120–155 chars), friendly_url, image_alt. Do not invent specs; use "MISSING" when unknown. Return only JSON.
2) Category — HTML + SEO:
You are an SEO copywriter. Category: [NAME], keyword: [keyword], audience: [audience]. Write description_html (~200 words, include keyword 2–3x), meta_title (≤60 chars), meta_description (120–155 chars), friendly_url, and image_alt. Return JSON.
3) CMS page:
You are a policy copywriter. Page: [TITLE]. Data: [bullet points]. Output JSON: title, content_html (with H2 sections & FAQ), meta_title, meta_description, friendly_url. Do not assume missing info; mark MISSING.
Final notes
- Start simple and refine: test with a few products, verify import compatibility, then scale.
- Keep the model’s output format strict—JSON or CSV—to avoid manual cleanup.
- When you need creativity (product storytelling), allow more freedom; when you need accuracy (specs), constrain the model tightly.
If you want, I can:
- Generate a ready CSV header and a sample row for your catalog,
- Build a single copy/paste prompt for your exact product data,
- Or convert a sample product (paste its fields) into the exact JSON/CSV formatted output ready for PrestaShop import. Which would you prefer?