PS PrestaShop Gemiddeld

Predictive SEO: volledige gids

Google Search Console koppelen, de AI-provider configureren, de voorspellingsmotor begrijpen en de gedetecteerde seizoenskansen benutten.

Bijgewerkt Moduleversie 1.0.0

Overzicht

DataFirefly Predictive SEO koppelt uw PrestaShop aan Google Search Console, past een ingebouwde ML-voorspellingsmotor toe op de zoekgeschiedenis en identificeert automatisch de komende seizoenspieken. Voor elke gedetecteerde kans kunt u met één klik een gestructureerde contentbrief genereren via Mistral, OpenAI of Claude.

Onthoud: Predictive SEO meet niet wat er gebeurd is, het projecteert wat er gaat gebeuren. De module werkt puur anticiperend: u publiceert de content twee weken vóór de zoekpiek en pakt de positie vóór de golf.

Vereisten

  • PrestaShop 8.0+ of PrestaShop 9.x
  • Minimaal PHP 8.1
  • MySQL 5.7+ of MariaDB 10.3+
  • Een Google-account met toegang tot de Search Console-property van de winkel
  • Een API-sleutel van een AI-provider (Mistral, OpenAI of Anthropic; Mistral standaard, ongeveer 0,002 € per brief)
  • Minimaal 60 tot 90 dagen GSC-geschiedenis voor betrouwbare voorspellingen

Installatie

Installatie vanuit de ZIP

  1. Download de ZIP dfpredictiveseo.zip vanuit uw DataFirefly-klantzone.
  2. Ga in de PrestaShop back-office naar Modules → Modulebeheer.
  3. Klik op Een module uploaden en sleep de ZIP erin.
  4. De module installeert automatisch, maakt de 7 tabellen dfpseo_* aan, registreert de 6 tabbladen onder IMPROVE en genereert een uniek crontoken.
  5. Na de installatie vindt u de module in het menu Verbeteren → Predictive SEO.
Update: Bij een toekomstige update overschrijft het uploaden van een nieuwe ZIP de bestanden en draaien de scripts upgrade-X.Y.Z.php automatisch. Gegevens en configuratie blijven behouden.

Databaseschema

De installatie maakt 7 tabellen aan met het voorvoegsel dfpseo_:

  • dfpseo_keyword: gevolgde zoekwoorden vanuit GSC
  • dfpseo_history: dagelijkse geschiedenis (vertoningen, klikken, CTR, positie)
  • dfpseo_forecast: dagelijkse voorspellingen met betrouwbaarheidsintervallen
  • dfpseo_opportunity: gedetecteerde seizoenskansen
  • dfpseo_recommendation: door AI gegenereerde contentbriefs
  • dfpseo_seasonality: seizoensindexen (weekdag × maand) per zoekwoord
  • dfpseo_sync_log: logboek van de GSC-synchronisaties

Configuratie Google Search Console

De module gebruikt het standaard OAuth2-protocol. U maakt een OAuth Client aan in Google Cloud, plakt de gegevens in de instellingen en start de autorisatieflow via de knop Verbinden.

Stap 1: een Google Cloud-project aanmaken

  1. Ga naar console.cloud.google.com en log in met het Google-account dat toegang heeft tot uw Search Console-property.
  2. Klik op de projectkiezer linksboven en dan op Nieuw project.
  3. Noem het bijvoorbeeld DataFirefly Predictive SEO en maak het aan.

Stap 2: de Search Console API activeren

  1. Ga in het linkermenu naar APIs & Services → Bibliotheek.
  2. Zoek Search Console API en klik op Inschakelen.

Stap 3: het OAuth-toestemmingsscherm configureren

  1. Ga naar APIs & Services → OAuth-toestemmingsscherm.
  2. Gebruikerstype: Extern.
  3. Vul de appnaam, het support-e-mailadres en het geautoriseerde domein (uw winkel) in.
  4. Voeg bij Bereiken https://www.googleapis.com/auth/webmasters.readonly toe (alleen-lezen Search Console).
  5. Voeg in testmodus uw e-mailadres toe bij Testgebruikers. U kunt later naar productie overschakelen zonder de module aan te passen.

Stap 4: de OAuth-client aanmaken

  1. Ga naar APIs & Services → Inloggegevens.
  2. Klik op Inloggegevens maken → OAuth-client-ID.
  3. Toepassingstype: Webtoepassing.
  4. Naam: vrij te kiezen (bijvoorbeeld Predictive SEO Production).
  5. Geautoriseerde redirect-URI: kopieer de URI die in de module-instellingen wordt getoond (Improve → Predictive SEO → Instellingen → Google Search Console → Redirect-URI). Formaat: https://uw-winkel.com/module/dfpredictiveseo/settings/oauth_callback.
  6. Klik op Maken: Google toont de client_id en de client_secret.

Stap 5: de module verbinden

  1. Plak in de Predictive SEO-instellingen de client_id en de client_secret.
  2. Sla op.
  3. Klik op Verbinden met Google Search Console.
  4. U wordt doorgestuurd naar de Google-toestemmingspagina. Geef alleen-lezen-toegang.
  5. Terug in de back-office heeft de module het versleutelde refresh_token opgeslagen en is ze klaar om te synchroniseren.
  6. Selecteer vervolgens de te volgen Search Console-property in de dropdown (de module detecteert ze automatisch na de verbinding).
Let op: De redirect-URI moet tot op het teken identiek zijn tussen Google Cloud en de module. Een verschil in protocol (http/https), een trailing slash of een subdomein veroorzaakt een fout redirect_uri_mismatch.

Configuratie van de AI-provider

De module ondersteunt 3 AI-providers om de contentbriefs te genereren. U hebt er slechts één nodig en u levert uw eigen API-sleutel van de gekozen provider: DataFirefly rekent geen enkele commissie op het gebruik.

Mistral (standaard, aanbevolen)

  • Model: mistral-small-latest
  • Indicatieve kostprijs: ongeveer 0,002 € per gegenereerde brief
  • Sleutel aanmaken: console.mistral.ai → API Keys
  • Plak de sleutel in Instellingen → AI-provider → Mistral API-sleutel

OpenAI

  • Model: gpt-4o-mini
  • Indicatieve kostprijs: ongeveer 0,005 € per brief
  • Sleutel aanmaken: platform.openai.com → API keys
  • Plak de sleutel in Instellingen → AI-provider → OpenAI API-sleutel

Anthropic (Claude)

  • Model: claude-3-5-haiku-latest
  • Indicatieve kostprijs: ongeveer 0,004 € per brief
  • Sleutel aanmaken: console.anthropic.com → API Keys
  • Plak de sleutel in Instellingen → AI-provider → Anthropic API-sleutel

Selecteer daarna de actieve provider in de dropdown Actieve AI-provider. Verandert u van provider, dan worden reeds gegenereerde briefs niet automatisch opnieuw gegenereerd.

Gegevenssynchronisatie

Eerste synchronisatie

Start na de GSC-verbinding een eerste handmatige synchronisatie: Instellingen → Synchronisatie starten. De module haalt de geschiedenis van de laatste 90 dagen op voor de geselecteerde property, tot 250.000 regels per sync, met de dimensies datum × zoekopdracht × pagina. De eerste sync kan 30 seconden tot 2 minuten duren, afhankelijk van het volume.

Dagelijkse cron

Stel voor automatische synchronisaties een dagelijkse cron in (aanbevolen: vroeg in de ochtend, 4-6 uur) die het beveiligde endpoint van de module aanroept.

De exacte URL en het token staan in Instellingen → Cron. Generiek formaat:

https://uw-winkel.com/module/dfpredictiveseo/cron/sync?token=UW_GEGENEREERDE_TOKEN

Voorbeeld van een crontabregel (Unix-cron):

0 5 * * * curl -s "https://uw-winkel.com/module/dfpredictiveseo/cron/sync?token=UW_TOKEN" > /dev/null 2>&1
Tip: Het token wordt bij de installatie willekeurig gegenereerd en opgeslagen in de PrestaShop-configuratietabel (DFPSEO_CRON_TOKEN). Is het gecompromitteerd, dan kunt u het regenereren via Instellingen → Crontoken regenereren.

Pijplijn van een synchronisatie

Elke sync voert achtereenvolgens uit:

  1. GSC-pull over de laatste 90 glijdende dagen (dimensies datum/query/pagina)
  2. Invoegen/bijwerken in dfpseo_keyword en dfpseo_history
  3. Herberekening van de seizoensindexen (per zoekwoord met voldoende geschiedenis)
  4. Generatie van de forecasts over de ingestelde horizon
  5. Detectie van kansen in het toekomstige venster
  6. Log in dfpseo_sync_log

Dashboard

Het dashboard (Improve → Predictive SEO → Dashboard) bundelt de kernindicatoren:

  • 4 KPI-kaarten: gevolgde zoekwoorden, komende kansen, voorspelde klikken over 14 dagen, laatste GSC-sync
  • Hoofdgrafiek: geaggregeerde historische curve (90 dagen) + forecast (ingestelde horizon, standaard 30 dagen), met 95 %-betrouwbaarheidsband
  • Topkansen: de 10 volgende seizoenspieken gesorteerd op score
  • Synclogboek: de 5 laatste synchronisaties met hun status

Verbindingsstatus

Twee badges bovenaan het dashboard tonen de staat van de integraties: GSC verbonden (groen/rood) en AI-provider geconfigureerd (groen/rood). Is een van beide rood, volg dan de directe link naar de bijbehorende instellingen.

Zoekwoorden en voorspellingen

Zoekwoordenlijst

Het tabblad Zoekwoorden toont de native PrestaShop-grid met alle gesynchroniseerde zoekopdrachten. Kolommen: zoekopdracht, landingspagina, vertoningen 30 d, klikken 30 d, CTR, gemiddelde positie, laatste update. U kunt filteren, sorteren en exporteren.

Detailweergave per zoekwoord

Een klik op een zoekwoord opent zijn fiche:

  • Individuele historische curve + eigen forecast
  • 95 %-betrouwbaarheidsinterval rond de voorspelling
  • Seizoensheatmap 12 × 7 (maand × weekdag)
  • Berekende seizoensindexen
  • Lijst van kansen gekoppeld aan dit zoekwoord

Seizoensheatmap

De heatmap visualiseert de multiplicatieve seizoensindexen. Lezing:

  • Cel op 1,00 → gemiddeld verkeer op deze combinatie maand × dag
  • Cel op 1,50 → verkeer 50 % boven het gemiddelde (seizoenspiek)
  • Cel op 0,60 → verkeer 40 % onder het gemiddelde (dal)

De cellen kleuren van lichtblauw (dal) naar diepblauw en roodoranje (piek). Eén blik volstaat om de te benutten weken te spotten.

Seizoenskansen

Automatische detectie

Een kans wordt gedetecteerd wanneer, binnen een toekomstig venster van 14 dagen (instelbaar via DFPSEO_OPPORTUNITY_LOOKAHEAD_DAYS):

  • De voorspelling de baseline van het zoekwoord × 1,25 overschrijdt (piekdrempel)
  • EN de seizoensindex van de combinatie maand × dag hoger is dan 1,10

Aaneengesloten pieken (gat ≤ 2 dagen) worden samengevoegd tot één kans die het volledige venster dekt.

Kansscore

De score combineert drie factoren:

score = verwachte_klikken × lift × betrouwbaarheid
  • verwachte_klikken: som van de voorspelde klikken over het venster
  • lift: verhouding piek / baseline
  • betrouwbaarheid: breedte van het voorspellingsinterval (hoe smaller het interval, hoe hoger de score)

Een score > 80 wijst op een kans met hoog potentieel en sterk seizoenssignaal. Een score 40-80 duidt op een gematigde kans. Onder 40 is het signaal te zwak of te onzeker om prioritaire actie te rechtvaardigen.

Kansworkflow

Elke kans heeft een status:

  • Nieuw: net gedetecteerd, in afwachting van een beslissing
  • In behandeling: er is een brief gegenereerd, redactioneel werk loopt
  • Behandeld: content gepubliceerd, kans benut
  • Genegeerd: beslissing om niet te behandelen (vals positief, buiten de strategie)

AI-aanbevelingen

Een brief genereren

Klik vanuit eender welke kans op Brief genereren. De module stuurt een verzoek naar de actieve AI-provider met de context van het zoekwoord (volume, seizoensgebondenheid, huidige positie, betrokken pagina) en ontvangt een gestructureerde JSON-brief met:

  • summary: strategische samenvatting van de brief
  • meta_description: kant-en-klare SEO-metabeschrijving (150-160 tekens)
  • search_intent: dominante zoekintentie (informationeel / transactioneel / navigationeel / commercieel)
  • outline: gedetailleerd h1/h2/h3-plan van het artikel of de pagina
  • keywords_to_include: op te nemen semantische zoekwoorden
  • internal_links: suggesties voor interne links naar andere pagina’s van de site
  • rationale: strategische onderbouwing van de aanbeveling

De generatie duurt 1 tot 3 seconden, afhankelijk van de provider.

Goedkeuringsworkflow

Elke brief doorloopt de statussen:

  1. Pending: gegenereerd, in afwachting van review
  2. Approved: goedgekeurd voor redactie
  3. Published: content online gezet (handmatig te markeren)
  4. Rejected: geweigerd (brief van slechte kwaliteit of naast de kwestie)
  5. Draft: in bewerking

De workflow laat u een helder spoor bijhouden van wat is behandeld.

Technische architectuur

Stack

  • PSR-4-architectuur, namespace DfPredictiveSeosrc/
  • Symfony-controllers die FrameworkBundleAdminController uitbreiden
  • Doctrine DBAL-repositories (geen ObjectModel)
  • GSC rechtstreeks in REST benaderd via cURL + OAuth2 (geen google/apiclient, om licht te blijven)
  • Geen enkele verplichte Composer-afhankelijkheid bij de installatie (ingebouwde PSR-4-autoloader)

ML-pijplijn

  1. Multiplicatieve seizoensdecompositie: weekdag- en maandindexen berekend via een gecentreerd voortschrijdend gemiddelde van 28 dagen en een getrimd gemiddelde van 10 %
  2. OLS-regressie op log(vertoningen+1) om de log-lineaire trend te modelleren
  3. Forecast: exp(voorspelling_log) × seizoensindex_dag × seizoensindex_maand
  4. 95 %-intervallen: Student-benadering op de residuele fout van de regressie, geleidelijk breder met de horizon

Cron-endpoint

Het endpoint is publiek maar beschermd door een token. Voorbeeld in PHP voor een programmatische aanroep:

$token = 'uw_cron_token';
$url = 'https://uw-winkel.com/module/dfpredictiveseo/cron/sync?token=' . $token;
$response = file_get_contents($url);
$data = json_decode($response, true);
// $data['status'] = 'ok' | 'error'
// $data['keywords_synced'] = aantal bijgewerkte zoekwoorden
// $data['opportunities_detected'] = aantal nieuw gedetecteerde kansen

Configuratievariabelen

De module bewaart 18 configuratiesleutels in de tabel ps_configuration:

  • DFPSEO_GSC_CLIENT_ID, DFPSEO_GSC_CLIENT_SECRET, DFPSEO_GSC_REFRESH_TOKEN (versleuteld), DFPSEO_GSC_PROPERTY
  • DFPSEO_AI_PROVIDER, DFPSEO_AI_MISTRAL_KEY, DFPSEO_AI_OPENAI_KEY, DFPSEO_AI_ANTHROPIC_KEY
  • DFPSEO_FORECAST_HORIZON_DAYS (standaard: 30)
  • DFPSEO_OPPORTUNITY_LOOKAHEAD_DAYS (standaard: 14)
  • DFPSEO_PEAK_THRESHOLD (standaard: 1.25)
  • DFPSEO_SEASONAL_THRESHOLD (standaard: 1.10)
  • DFPSEO_CRON_TOKEN (gegenereerd bij de installatie)
  • DFPSEO_LAST_SYNC, DFPSEO_LAST_FORECAST

Probleemoplossing

Fout redirect_uri_mismatch bij de GSC-verbinding

De redirect-URI in Google Cloud komt niet exact overeen met die welke de module verwacht. Controleer:

  • Protocol: https:// en niet http://
  • Geen trailing slash: ...oauth_callback en niet ...oauth_callback/
  • Subdomein: www. of niet, afhankelijk van uw winkel, moet matchen

De GSC-sync levert geen enkel zoekwoord op

  • Controleer of de geselecteerde property in de instellingen wel degene is die SEO-verkeer ontvangt (en geen lege domain property)
  • Controleer of het verbonden Google-account eigenaar of geautoriseerde gebruiker is op die property
  • De property moet minstens enkele dagen geïndexeerde geschiedenis hebben (Google Search Console publiceert de gegevens met 2-3 dagen vertraging)

De voorspellingen lijken weinig betrouwbaar

  • Controleer of u minstens 60-90 dagen geschiedenis hebt. Daaronder kunnen de seizoensindexen niet correct worden geschat
  • Voor grillige zoekwoorden (weinig signaal, veel ruis) wordt de breedte van het 95 %-interval bewust vergroot: de module toont expliciet een lage betrouwbaarheid
  • Voor preciezere voorspellingen over langere horizonten (60-90 dagen) wacht u tot u 6-12 maanden geschiedenis hebt opgebouwd. De motor verbetert met de tijd

Het cron-endpoint geeft een 403-fout terug

Het token in de querystring komt niet overeen met DFPSEO_CRON_TOKEN. Controleer de exacte waarde in Instellingen → Cron. Regenereer bij twijfel het token en werk uw crontab bij.

De AI-brief wordt niet gegenereerd

  • Controleer of u een geldige API-sleutel voor de geselecteerde actieve provider hebt geplakt
  • Controleer uw saldo op de console van de provider (Mistral, OpenAI of Anthropic)
  • Geeft de provider een rate-limit-fout terug, wacht dan enkele minuten en probeer opnieuw
  • Gegenereerde briefs worden opgeslagen in dfpseo_recommendation; bij een fout wordt die ook in deze tabel gelogd met de status error

FAQ

Werkt de module zonder Google Search Console?

Nee, GSC is de primaire gegevensbron. De module heeft minimaal 60 tot 90 dagen geschiedenis nodig om betrouwbare voorspellingen te maken en de seizoensgebondenheid te berekenen. Is uw winkel net gelanceerd, wacht dan tot u minstens 2 maanden geïndexeerde gegevens hebt voordat u de module installeert.

Hoeveel kost een AI-brief?

Dat hangt af van de gekozen provider. Met Mistral (standaard) rekent u ongeveer 0,002 € per brief. OpenAI GPT-4o-mini rond de 0,005 €. Claude Haiku rond de 0,004 €. U levert uw eigen API-sleutel en betaalt rechtstreeks aan de provider: DataFirefly rekent geen commissie.

Hoeveel zoekwoorden kan de module volgen?

Er is geen hard gecodeerde limiet. Een standaardsync haalt tot 250.000 regels (datum × query × pagina) per aanroep op, wat vrijwel alle winkels dekt. Daarboven verhoogt u het PHP-geheugen dat aan de cronworker is toegewezen.

Is de module compatibel met andere SEO-modules?

Ja, Predictive SEO schrijft nooit naar productpagina’s of meta’s: ze leest alleen GSC en produceert aanbevelingen. Ze is volledig compatibel met alle bestaande SEO-modules (van DataFirefly of derden).

Worden mijn GSC-gegevens bij DataFirefly opgeslagen?

Nee. Alle gegevens blijven op uw server, in uw PrestaShop-database. De module roept de Google API rechtstreeks aan met uw OAuth-gegevens, en de AI-providers rechtstreeks met uw API-sleutel. Geen enkel gegeven passeert langs de servers van DataFirefly.

Welke voorspellingshorizon is het betrouwbaarst?

De horizon 7-14 dagen is zeer betrouwbaar (smal 95 %-interval). De horizon 30-60 dagen is indicatief (verbreed interval). Boven 90 dagen worden de voorspellingen weinig bruikbaar voor operationele beslissingen: de module berekent ze wel maar toont een lage betrouwbaarheid.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support