AI Translation & SEO — Complete Guide
Install, configure and run AI translation and SEO optimization of your products, categories, CMS pages and brands for PrestaShop 8 and 9.
This module translates and improves the content and SEO data of your products, categories, CMS pages and brands with the AI of your choice — ChatGPT (OpenAI), Claude (Anthropic), Gemini (Google) or Mistral — in every language installed on your PrestaShop 8 or 9 store. Built for the shop manager: tick, pick your languages, run.
In short: plug in your API key, select sheets, choose source and target languages, click Run. A progress bar processes every sheet × language without server timeout. Before/after preview, SEO score and one-click rollback included.
Installation
- In the back office, go to Modules > Module Manager, click Upload a module and send the
dfaicontent-1.1.0.zipfile. - Once installed, an AI Content & SEO tab appears under Catalog.
- Open the Settings tab to configure at least one AI provider before first use.
Configuring an AI provider
The module supports four providers. You use your own API key and pay for AI usage directly with the provider — the module charges no extra subscription.
- Active provider: the provider used for generations.
- API key and Model per provider: e.g.
gpt-4o-mini(OpenAI),claude-sonnet-4(Anthropic),gemini-2.0-flash(Google),mistral-small-latest(Mistral). - Click Test next to each provider to verify the connection.
To keep the budget under control, start with an economical model (Mistral Small, GPT-4o mini). Fully translating a product sheet typically costs a fraction of a cent.
Running a translation (3 steps)
- Tick the products or categories in the list (search by name or ID to filter).
- In the action bar, set the source language, the target languages, the fields to process, the mode and the speed (1 to 3 parallel requests).
- Click Run. A token and cost estimate is shown for confirmation, then the queue runs with a progress bar and a log.
The three modes
- Translate: faithful translation from the source language to each target language.
- Translate + improve (default): translation then copywriting and SEO rewrite.
- Improve (same language): rewrites each target language in place; the source language is ignored.
Managed fields
- Products: name, short description, description, meta title, meta description, friendly URL, tags (keywords) and image alt texts.
- Categories: name, description, additional description, metas, friendly URL.
- CMS pages: content, meta title, meta description, friendly URL.
- Brands: short and long descriptions, meta title, meta description.
PrestaShop 8 removed the meta keywords field: the module generates product tags instead. On a migrated store where the column still exists, it is detected and offered automatically.
Before / after preview
The Preview button on a row generates the content without saving anything and shows a before/after comparison. If you like the result, Apply this content saves exactly what was previewed — without a second AI call, so no extra cost. Always test one sheet in preview before a large batch.
SEO score
The SEO button on each row computes a 0-100 score per language, with a detailed checklist: meta title and meta description lengths, keyword at the start of the title, content richness, subheadings, slug validity, number of tags and alt text coverage.
Creative Elements compatibility
Descriptions built with Creative Elements (or Elementor) are protected by two mechanisms:
- Tokenization: scripts, styles, iframes, SVGs, shortcodes
[...]and placeholders{...}are replaced by tokens before being sent to the AI, then reinjected identically. - Strict system instruction: the AI translates only the visible text and preserves every tag, class, id, inline style and
data-*attribute.
If you use a Creative Elements widget that produces an uncovered pattern, add a pattern in the protect() method of the DfAiContentProcessor class.
History & rollback
Every batch is logged with the previous values of all fields. The History tab restores a complete operation in one click — tags and image alt texts included. The history entry is then removed.
Cost estimation
Before every launch, the module measures the real volume of the selected content in the database and displays the number of calls, the estimated input and output tokens, and the corresponding cost based on the per-million-token prices you configured in the settings.
Auto-translation cron
The module can automatically translate new content:
- In Settings > Cron, enable the cron and set the source language, target languages, fields, types and per-run limit.
- Copy the token-secured URL and call it every 5 to 15 minutes from your hosting scheduler.
On each run, the module detects sheets whose source has content but whose targets have neither meta title nor description, and translates a small batch. A skip list prevents endlessly retrying a failing sheet; the last-run log is shown in the settings.
If you regenerate the token, the old cron URL stops working immediately: remember to update your scheduler.
Editorial settings
- Protected terms: brand and product names never translated (one per line).
- Glossary: enforced translations, one rule per line as
source term => translation. - Writing tone, max SEO lengths and custom instructions specific to your store.
Troubleshooting
- “Source content is empty”: the sheet has no content in the chosen source language — pick another source language.
- API key error: check the key and model in Settings, then use the Test button.
- A target language identical to the source is automatically skipped in Translate mode.
Technical notes
- Compatible with PrestaShop 8.0 to 9.x, with no core override (admin controller + native mechanisms).
- Acts on the current context shop in multistore.
- No Composer dependency; content is sent only to the chosen provider’s API through your key.