PS PrestaShop Beginner

Product FAQ AI — Complete installation & configuration guide

Install and configure the Product FAQ AI module: AI provider (OpenAI or Claude), prompt customization, bulk generation, FAQ editor and FAQPage rich snippets.

Updated Module version 3.0.0

Overview

DataFirefly Product FAQ AI automatically generates contextual FAQs for your PrestaShop 8 product pages via OpenAI or Anthropic Claude, injecting Schema.org FAQPage rich snippets into the head for Google rich results. FAQs are stored in the database (ps_product_faq table) — no API call is ever made on the front office.

  • Compatibility: PrestaShop 8.0 → 8.99, PHP 7.2 → 8.3
  • Multilingual: FAQs generated and stored per language
  • Multi-shop: independent configuration per sub-shop

Installation

  1. In your back office, go to Modules → Module Manager → Upload a module.
  2. Upload productfaqai-3.0.0.zip.
  3. Click Install, then Configure.

Upgrading from v2.x (Sash module): the upgrade is non-destructive. The ps_product_faq table schema is unchanged — your existing FAQs are preserved. Simply install v3.0.0 over the top, then reconfigure your API key in the new interface.

1. AI provider & model

First form on the configuration page.

  • AI provider: OpenAI or Anthropic Claude. The module automatically switches to the right API.
  • OpenAI API key: from platform.openai.com (starts with sk-).
  • Anthropic API key: from console.anthropic.com (starts with sk-ant-).
  • Model: for OpenAI, gpt-4o-mini recommended (the most economical). For Anthropic, claude-haiku-4-5 recommended.
  • Number of questions: 1 to 15 (default: 5).
  • Temperature: 0 = deterministic, 2 = very creative. Recommended: 0.7.
  • Max tokens: maximum response length (default: 2000). Increase it if you generate more than 8 questions.
  • Auto-generate: automatically generates the FAQ (default language) on every product creation.

Indicative cost: generating 5 questions costs ~$0.0005 with gpt-4o-mini and ~$0.001 with claude-haiku-4-5. 200 products × 3 languages ≈ $0.30 to $0.60 in total.

2. Prompt & content directives

Second form — controls the quality and style of generated FAQs.

  • Tone of voice: professional, friendly, casual, technical, enthusiastic or reassuring.
  • Target audience (optional): free text, e.g. “B2B medical professionals”, “first-time buyers”. The AI adapts vocabulary and level of detail.
  • Custom system prompt (optional): fully replaces the default instructions. Leave empty to use the built-in prompt.
  • Additional directives (optional): instructions appended to the prompt, e.g. “always mention the 2-year warranty”, “avoid jargon”.
  • Include category / manufacturer / features: three toggles that enrich the context sent to the AI. Enable “features” for technical products — answer precision improves noticeably.

3. Display & SEO

  • Display position (hook): pick one of 5 placements:
    • displayProductFooter — below the entire product page (default, works everywhere)
    • displayFooterProduct — variant depending on the theme
    • displayProductAdditionalInfo — under the buy button (more visible)
    • displayReassurance — reassurance block
    • displayAfterProductThumbs — under the thumbnails
  • FAQ title: one field per shop language. Defaults provided in FR/EN/ES/DE/IT/PT/NL.
  • Accordion mode: enabled = collapsible questions (first one open). Disabled = all answers visible.
  • JSON-LD rich snippets: injects Schema.org FAQPage markup in the head. Recommended: enabled.
  • Excluded categories: comma-separated IDs (e.g. 12,45,78). Products in these categories are skipped during bulk generation.

The module registers all 5 hooks at install but only renders the block at the configured one. If a hook doesn’t exist in your theme, the block simply won’t show — test with the default hook first.

Generating FAQs

Individual generation

In the “Generate FAQs for products” panel, each product row shows a Generate button. First select the target language in the dropdown at the top of the table. The number of existing FAQs per language is displayed for each product.

Bulk generation

  • Generate for all products (current language): processes every product without an FAQ in the active language.
  • Generate for all products (all languages): processes every active shop language.
  • Force regeneration: check this box to overwrite existing FAQs — useful after changing the prompt, tone or provider.

Duration: allow ~1 product/second per language (API latency varies). 100 products × 3 languages ≈ 5 minutes. Do not close the tab while processing. Products in excluded categories are skipped automatically.

Auto-generation

If enabled in the first form, every new product (actionProductAdd hook) automatically receives an FAQ in the shop’s default language.

Per-product FAQ editor

Click Edit FAQs on a product row to open the editor:

  • Language selector at the top — instant switch between languages.
  • Position: numerical weight, ascending display order.
  • Question / Answer: direct text editing.
  • Status: activate/deactivate an entry without deleting it (an inactive entry appears neither on the page nor in the JSON-LD).
  • Delete: permanent removal of an entry.
  • Add a FAQ: manually add a question/answer.

Click Save to commit all changes on the page.

FAQPage rich snippets

When the JSON-LD option is enabled, the module injects into the head of every product page with at least one active FAQ an application/ld+json block compliant with Schema.org FAQPage:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "…",
      "acceptedAnswer": { "@type": "Answer", "text": "…" }
    }
  ]
}

Verify the markup with the Google Rich Results Test. SERP appearance depends on Google and can take several days after the page is reindexed.

Troubleshooting

“Please configure your AI provider API key”

The key for the selected provider is empty or invalid. Check that the key matches the active provider (OpenAI = sk-…, Anthropic = sk-ant-…).

Bulk generation errors

API errors (quota exceeded, revoked key, timeout) are logged in Advanced Parameters → Logs via PrestaShopLogger. The end-of-run report shows the success / skipped / error breakdown per language.

The FAQ doesn’t show on the product page

  1. Check the product has at least one active FAQ in the viewed language.
  2. Check the configured hook exists in your theme — switch back to displayProductFooter to test.
  3. Clear the PrestaShop cache (Advanced Parameters → Performance).

Rich snippets don’t appear in Google

Markup can be valid without Google displaying it: rich results remain at Google’s discretion. First validate the markup with the Rich Results Test, then allow time for reindexing.

Uninstalling

Uninstalling drops the ps_product_faq table (all generated FAQs) and removes every configuration key. A confirmation is requested. Export your data beforehand if needed.

Was this page helpful?

Still stuck? Contact support