Below is a compact, practical guide + copy‑paste prompt templates you can use immediately to generate product pages, category descriptions and CMS pages for PrestaShop with ChatGPT or any other LLM. Each template follows a “perfect prompt” recipe so the model has role, context, constraints, format and examples.
Quick checklist for a “perfect” PrestaShop prompt
- Start with role and goal: tell the model what you want it to act as (e.g., “You are an ecommerce copywriter and SEO specialist”).
- Provide data: product attributes, target audience, keywords, USP, tone, any word/char limits.
- Give strict constraints: “use only the data provided”, “do not invent specs/prices”, “meta title ≤ 70 chars”, “output JSON/CSV”.
- Specify output format exactly (JSON keys or CSV columns matching PrestaShop fields).
- Ask for multiple assets at once (short desc, long HTML desc, meta tags, slug, alt text, features list, JSON‑LD).
- If bulk generation, provide the input format (CSV/JSON) and the required output mapping.
- Add a fallback: what to do if data missing (ask a question or leave field blank).
Common PrestaShop fields to generate (map these to your output)
- name, link_rewrite (slug), meta_title, meta_description, meta_keywords, description_short (short description), description (full HTML description), price (if known, else skip), tags, features (feature name + value), image_alt_text, canonical_url, product_schema_json (optional), categories (IDs or names), attributes/combinations (if applicable).
Constraints and recommended lengths
- meta_title: ≤ ~70 chars (aim for 50–60).
- meta_description: ≤ ~160 chars.
- short description: 1–2 short paragraphs, ~50–300 chars (or as you prefer).
- full description (HTML): clear product story + bullets + specs; 150–600 words depending on product.
- slug: lowercase, hyphens, no special chars.
- image alt text: 8–12 words describing image and primary keyword.
- SEO: include primary keyword 1–2 times in full description and once in meta_title/meta_description.
Template 1 — Single product (JSON output)
Copy/paste this and replace placeholders with your product data:
System role (optional):
You are an ecommerce copywriter and SEO specialist experienced with PrestaShop product pages.
User prompt:
Create the following PrestaShop product fields for this product. Use only the information provided. If something is missing, leave the value empty and add a short comment field explaining what is missing. Follow constraints exactly.
Product data:
- name: {{PRODUCT_NAME}}
- brand: {{BRAND}}
- short_features (bullet list): {{FEATURES}}
- technical_specs (key:value pairs): {{SPECS}}
- audience: {{TARGET_AUDIENCE}}
- primary_keywords: {{PRIMARY_KEYWORDS}} (comma separated)
- secondary_keywords: {{SECONDARY_KEYWORDS}}
- tone: {{TONE}} (e.g., friendly, professional, luxury)
- word_limits: short_desc_max {{SHORT_MAX}} chars, meta_title_max 70 chars, meta_desc_max 160 chars, full_desc_min {{FULL_MIN}} words, full_desc_max {{FULL_MAX}} words
- images: {{IMAGE_FILENAMES}} (list)
- product_url (optional): {{URL}}
Output format (JSON exactly with these keys):
{
"name": "...",
"link_rewrite": "...", // slug
"meta_title": "...", // ≤ 70 chars
"meta_description": "...", // ≤ 160 chars
"meta_keywords": "...",
"description_short": "...", // plain text ≤ short_desc_max
"description": "...", // HTML allowed; use
- bullets for features
"features": [{"name":"", "value":""}, ...],
"tags": ["", ""],
"image_alts": [{"file":"", "alt":""}, ...],
"product_schema_json": {...}, // optional structured data (Product schema)
"notes": "..." // if any missing data or clarifications
}
Constraints:
- Do not invent specs or prices.
- Use only given keywords; place primary keyword once in meta_title, once in meta_description, and 1–2 times in description.
- Slug must be lowercase, hyphen-separated, no trailing hyphen.
- Short description must be plain text. Full description must be HTML. Use 3–7 bullet points for features.
- If data missing, set that JSON key to null and explain in notes.
Example (for one product) — you can include a simple example in the prompt to show exact formatting:
Input product_data: name = “AquaPure Stainless Travel Bottle 500ml”, primary_keywords="stainless travel bottle, leakproof bottle"
(Example output omitted here; model should match JSON structure.)
Template 2 — Bulk CSV -> JSON array
If you have a CSV with columns product_name, brand, features, specs, images, keywords, target_audience:
User prompt:
You will receive a CSV where each row is a product. For each row output one JSON object using the same keys as Template 1. Output an array of JSON objects only. Maintain the constraints from Template 1. If a CSV cell is empty, set corresponding JSON value null and add a short note in "notes".
Template 3 — Category descriptions (SEO)
System role:
You are an SEO copywriter for PrestaShop category pages.
User prompt:
Write a category title and description for the following category. Use the given primary keywords, aim for natural language, avoid keyword stuffing. Limit meta_title to 70 chars and meta_description to 160 chars. Provide a short header (H1), a top intro paragraph (50–120 words) and a bottom SEO paragraph (40–100 words). Include a suggested slug and meta tags.
Input:
- category_name: {{CATEGORY_NAME}}
- primary_keywords: {{KEYWORDS}}
- audience: {{AUDIENCE}}
- tone: {{TONE}}
- include_subcategories (yes/no)
Output format (JSON):
{
"h1": "...",
"slug": "...",
"meta_title": "...",
"meta_description": "...",
"top_paragraph": "...",
"bottom_paragraph": "...",
"suggested_internal_links": ["url-or-slug","..."]
}
Template 4 — CMS pages (About Us, Shipping, Returns)
System role:
You are a brand-copywriter and legal-friendly content writer for ecommerce.
User prompt:
Create a PrestaShop CMS page content given the inputs below. Provide a page title, H1, meta_title (≤70), meta_description (≤160), and the body in HTML. Use a friendly but clear tone. Provide a short FAQ (3 Q&A) and a call-to-action at the end.
Input:
- page_type: (About us / Shipping / Returns / Terms / Privacy)
- brand_voice: {{BRAND_VOICE}}
- company_highlights: {{HIGHLIGHTS}} (bullet list)
- legal_constraints: {{LEGAL_NOTES}} (if any)
Output keys:
{
"title":"", "h1":"", "meta_title":"", "meta_description":"", "html_body":"", "faq":[{"q":"", "a":""}, ...]
}
Prompts for specific micro‑assets
- Slug: “Create a SEO-friendly slug from name. Keep it ≤ 60 characters, lowercase, replace spaces with hyphens, remove punctuation.”
- Alt text: “Write alt text for each image filename listed. Include primary keyword and a short descriptor.”
- JSON-LD Product schema: “Generate a Product schema JSON-LD using only the provided product data. Do not invent price or availability.”
- Social copy and ads: Provide variants: product title (≤70), Instagram caption (≤2200 chars but keep concise), Facebook ad text (90 chars primary + 125 chars longer). Ask for 2–3 tone variants.
Examples — concrete product prompt & expected snippet
User places this filled data into Template 1:
- name: “AquaPure Stainless Travel Bottle 500ml”
- brand: “AquaPure”
- features: “double‑wall insulation; leakproof cap; 24‑hour cold, 12‑hour hot”
- specs: capacity:500ml, material:stainless steel, weight:320g
- primary_keywords: "stainless travel bottle"
- secondary_keywords: "insulated bottle, leakproof bottle"
- tone: friendly, active
- short_desc_max: 200
- full_desc_min: 120, full_desc_max: 500
- images: bottle-front.jpg, bottle-cap.jpg
Expected pieces the model should output (abbreviated):
- meta_title: “AquaPure Stainless Travel Bottle 500ml — Insulated & Leakproof”
- meta_description: “Keep drinks cold for 24h. AquaPure stainless travel bottle 500ml — leakproof, durable and eco-friendly.”
- description_short: two short sentences
- description (HTML): 1–2 intro paragraphs + + care instructions
- slug: aqua-pure-stainless-travel-bottle-500ml
- image_alts: e.g., {"file":"bottle-front.jpg","alt":"AquaPure stainless travel bottle 500ml — insulated, blue"}
Best practices & anti‑hallucination rules to include in your prompts
- Always instruct “Do not invent specs, prices, availability, SKU or dimensions.”
- Prefer “If data missing, ask a clarifying question” or “set null and note missing info”.
- Provide the primary keyword and say “use only these keywords”.
- Ask for outputs in a machine‑readable format (JSON/CSV) so you can import or transform automatically.
- Test the prompt on 3 different products and iterate (tweak tone, length, structure).
- For bulk runs, run a smaller batch first and review before scaling.
Short ready-to-use prompt (single product, concise)
You are an ecommerce copywriter/SEO specialist. Using only the product data below, create these PrestaShop fields: name, link_rewrite, meta_title (≤70 chars), meta_description (≤160 chars), description_short (≤200 chars), description (HTML), features list, image_alt texts, and product JSON-LD. Primary keyword: {{PRIMARY_KEYWORD}}. Tone: {{TONE}}. Data: {{INSERT product attributes}}. Output: single JSON object matching keys: name, link_rewrite, meta_title, meta_description, meta_keywords, description_short, description, features, image_alts, product_schema_json, notes. If any required data is missing, set value to null and state what is missing in notes. Do not invent prices or specs.
If you want, I can:
- Convert your CSV of products into the exact input format and generate the JSON for import.
- Draft a few sample outputs given one product (paste one product here and I’ll produce the title, slug, meta, short and HTML descriptions).
Which do you want next — a filled example for a product you provide, or a bulk CSV->JSON prompt tuned to your CSV column names?