Below is a practical, copy‑and‑paste–ready guide for writing “perfect” AI prompts to generate content for PrestaShop products, categories and CMS pages. It gives the prompt structure, field lists, reusable templates (product / category / CMS), examples, JSON/CSV output formats for easy import, tips for bulk generation, and QA best practices.
Use this as a starting point and adjust voice, length and SEO rules to match your store.
1) Why a good prompt matters
- Makes the AI output consistent and structured for import.
- Reduces hallucinations and manual editing.
- Ensures SEO fields (meta title/description/slug) are created.
- Lets you generate multi-language content and alt text at scale.
2) Key PrestaShop fields to generate
For Products:
- name
- reference / sku
- short_description (HTML allowed)
- description (HTML allowed)
- meta_title
- meta_description
- link_rewrite (URL slug)
- tags (comma-separated)
- image_alt (for main image)
- features (key:value pairs)
- combinations / attributes (color, size, etc.)
- price_blurb or selling_points (bulleted)
- technical_spec_table (HTML table) — optional
For Categories:
- name
- description (HTML)
- meta_title
- meta_description
- link_rewrite (slug)
- thumbnail_alt
For CMS pages:
- title
- content (HTML)
- meta_title
- meta_description
- link_rewrite (slug)
3) General prompt structure (recommended)
- System role / instruction (if using an assistant API): set role and format rules.
- Provide product data (required inputs) inside delimiters.
- Provide s & SEO rules: target audience, tone, keywords, language, length.
- Provide output format: exact fields required, output as JSON (or CSV-ready).
- Provide constraints: no hallucinated specs, use only given data unless asked to infer, keep slug lowercase, max lengths for meta fields, include HTML tags where needed.
- Give 1–2 examples (optional) for few-shot consistency.
4) Prompt templates
A) Product prompt — JSON output (single product)
System instruction (if available):
You are a professional e‑commerce copywriter specialized in PrestaShop. Produce precise, SEO-optimized content using only the supplied product data. Do not invent technical specifications. Output must be valid JSON with the fields exactly as requested.
User prompt:
Input product data between triple backticks:
```
{
"name": "{{name}}",
"brand": "{{brand}}",
"sku": "{{sku}}",
"category": "{{category}}",
"short_features": "{{short_features}}" // comma separated bullets or list
"specs": {
"weight": "{{weight}}",
"dimensions": "{{dimensions}}",
...
}
}
```
Produce the following JSON exactly (no extra commentary). Use the product data only; do not invent specs. Use HTML for descriptions (p, ul, li). Respect max lengths:
- meta_title: 50–60 chars
- meta_description: 120–160 chars
- short_description: 1–3 short paragraphs or 3 bullet points, ~40–120 words
- description: long HTML description, 120–400 words
- link_rewrite: lowercase slug, use hyphens, max 80 chars
- tags: 3–8 comma-separated keywords
- image_alt: short alt for main image, 8–12 words
Output fields:
{
"name": "...",
"meta_title": "...",
"meta_description": "...",
"link_rewrite": "...",
"short_description": "...", // HTML
"description": "...", // HTML
"tags": "...", // comma-separated
"image_alt": "...",
"features": [{"name":"", "value":""}, ...],
"technical_spec_table": "..." // optional HTML table
}
Example values: Use provided product fields to fill placeholders.
End with only JSON.
B) Category prompt
System: act as an SEO copywriter for e-commerce categories.
User:
Category input:
```
{ "name": "{{category_name}}", "audience": "who buys this", "keywords": "k1,k2" }
```
Write:
- meta_title (45–60 chars)
- meta_description (140–160 chars)
- link_rewrite (slug)
- description (HTML, 80–200 words) that highlights what’s in the category, buying guidance, and internal linking suggestion text for product pages (e.g., “See our best sellers like X and Y.”). Output JSON.
C) CMS page prompt
System: act as an informational copywriter consistent with brand tone.
User:
CMS input:
```
{"title":"{{title}}","purpose":"explain returns policy","audience":"customers","keywords":"returns,refund,shipping"}
```
Write:
- title
- link_rewrite (slug)
- content (HTML, 200–600 words, with H2 headings, bullet lists for steps)
- meta_title and meta_description
Output JSON only.
5) Practical examples
Example product prompt content (filled):
Input:
{
"name": "Organic Cotton T‑Shirt",
"brand": "EcoWear",
"sku": "EW-TS-001",
"category": "Men > T-Shirts",
"short_features": "100% organic cotton, Pre-shrunk, Fairtrade certified, Machine wash cold",
"color": "heather gray",
"size_range": "S-XXL",
"weight": "180g",
"material": "GOTS certified organic cotton"
}
Expected JSON output (AI must produce):
{
"name": "Organic Cotton T‑Shirt – EcoWear",
"meta_title": "Organic Cotton T‑Shirt | EcoWear (S–XXL)",
"meta_description": "Soft, GOTS-certified organic cotton T‑shirt from EcoWear. Pre‑shrunk and Fairtrade certified. Available S–XXL. Shop sustainable basics.",
"link_rewrite": "organic-cotton-t-shirt-ecowear",
"short_description": "
Soft GOTS-certified organic cotton T‑shirt. Pre‑shrunk for lasting fit. Available in heather gray, sizes S–XXL.
",
"description": "
Why you'll love it
Made from 100% GOTS-certified organic cotton, this T‑shirt offers softness and durability...
- Fairtrade certified
- Pre‑shrunk
...
",
"tags": "organic cotton,tshirt,sustainable clothing,ecowear",
"image_alt": "EcoWear organic cotton t-shirt heather gray",
"features": [{"name":"Material","value":"100% GOTS organic cotton"}, {"name":"Certification","value":"Fairtrade"}],
"technical_spec_table": "
"
}
6) Output format suggestions for import
- JSON with one object per product: good for custom scripts or API imports.
- CSV: include columns: name,reference,price,short_description,description,meta_title,meta_description,link_rewrite,tags,image_alt,features_json
- For CSV, keep HTML in quoted cells, escape quotes.
7) Tips for bulk generation
- Prepare a CSV with columns for base data (name, sku, features, material, color, size_range).
- Use templates above with placeholder replacement for each row (or call the model with one row at a time).
- Use model temperature ~0–0.3 for deterministic output.
- Use a system message specifying “Output only JSON” to avoid extra text.
- Generate in batches (e.g., 50 items), review a sample of outputs, then generate remaining.
- Use "do not invent" constraint: if a spec is missing, put null or “Not provided” and ask the model to leave that area blank or provide generic benefits only.
8) Multi-language notes
- Include a "language" field in the prompt and request the model to produce all fields in that language.
- Example: language: "fr" — produce French meta fields and descriptions.
- Consider separate prompts per language or ask for an array of translations for each field.
9) Few-shot & delimiters
- Provide 1–2 good examples in the prompt if you need consistent s.
- Use delimiters like triple backticks or
... to separate instructions from data.
10) SEO & content rules to include in prompts
- Include target keywords and ask to include keyword once or twice naturally.
- Ask AI to produce a meta_title (50–60 chars) and meta_description (120–160 chars).
- Ask for a slug: lowercase, hyphens, remove stop words if necessary.
- Ask to avoid brand fluff and empty adjectives; prefer specs and benefits.
11) Prompt safety and accuracy
- Explicitly instruct: “Do not invent technical specs or certifications. Use only the provided technical data. If not provided, write generic benefit statements and flag the item for review.”
- Add QA steps: check for factual mismatches, confirm sizes/colors, confirm SKU mapping.
12) Example minimal prompt (fast)
Write short and long HTML product descriptions, meta title (<=60 chars), meta description (<=160 chars), slug, tags, and image alt text for this product. Use only the data provided. Output JSON.
Product:
Name: Minimal Desk Lamp
Brand: Lumi
Material: aluminum
Color: black
Features: adjustable arm, LED 5W, dimmable
13) Integration & workflow tips
- Test with a handful of products first.
- Map JSON fields to PrestaShop fields in import or via webservice API.
- Keep generated descriptions and slugs unique—run small scripts to check for duplicates.
- Use PrestaShop import (Back Office > Advanced Parameters > Import) or a module that supports JSON/CSV import.
- For ongoing use, integrate with a small script/service that calls the AI, validates JSON, and uploads.
14) Quick checklist before generating
- Do you have all required input fields? (name, brand, key specs)
- Have you specified tone, language and audience?
- Did you demand strict JSON/CSV output?
- Did you set model to deterministic (low temperature)?
- Did you include “do not invent” and error handling rules?
15) Ready-to-use prompt (single-copy for ChatGPT/Assistant)
You can copy this and replace the product data.
System:
You are an e-commerce copywriter for PrestaShop. Output must be valid JSON with the exact keys requested. Use only the provided data. Do not invent specs.
User:
Product data:
```
{
"name": "Organic Cotton T-Shirt",
"brand": "EcoWear",
"sku": "EW-TS-001",
"category": "Men > T-Shirts",
"color": "heather gray",
"size_range": "S-XXL",
"material": "100% GOTS-certified organic cotton",
"features": ["Fairtrade certified", "Pre-shrunk", "Machine wash cold"]
}
```
Generate:
- name
- meta_title (50–60 chars)
- meta_description (120–160 chars)
- link_rewrite (slug)
- short_description (HTML, ~50–100 words)
- description (HTML, 150–300 words with at least one H2 and a bullet list)
- tags (3–6 comma-separated)
- image_alt (8–12 words)
- features array [{name,value}...]
Output JSON only.
---
If you want, tell me:
- if you want JSON or CSV output,
- one sample product row (name + a few specs), and
I’ll produce a ready-to-import JSON or CSV row using the exact template above.