- Introduced Groq_AI_Logs_Admin class to manage AI logs in the admin panel, including log viewing and detail rendering. - Created Groq_AI_Settings_Renderer class for rendering settings fields in a structured manner. - Implemented Groq_AI_Term_Admin_Base class to handle term-related functionalities, including term page registration and bulk actions for term descriptions. - Enhanced term management with AJAX support for generating term descriptions and handling Rank Math integration.
SitiAI Product Teksten (WordPress plugin)
SitiAI Product Teksten voegt een AI-gestuurde workflow toe aan WooCommerce zodat redacties product-, categorie- en merkteksten rechtstreeks binnen WordPress kunnen genereren. De plugin bundelt alle logica in deze repository (inclusief assets, taalbestanden en Docker-omgeving) en kan daardoor geheel via git beheerd en gedeployed worden.
Functionaliteiten in vogelvlucht
- Multi-provider AI: selecteer Groq, OpenAI of Google Gemini en laad live model-lijsten.
Groq_AI_Model_Exclusionsfiltert ongeschikte modellen en elke provider declareert eigen endpoint, API-sleutel en resp. JSON capabilities. - WooCommerce productmodal: op de productbewerkscherm verschijnt de meta-box “Gebruik AI” met een modal waarin gebruikers prompts kunnen sturen, contextvelden (titel, beschrijvingen, attributen, merken, afbeeldingen) kunnen toggelen en resultaten per veld kunnen kopiëren of direct invullen.
- Categorie- en merkteksten: uitgebreide beheerschermen voor
product_caten gedetecteerde merk-taxonomieën bevatten overzichten met woordtellingen, bulk-acties en een termgenerator die topverkopers, interne links en (optioneel) Google-data toevoegt. Output splitst in bovenste beschrijving, onderste beschrijving en – indien Rank Math actief – SEO-velden. - Prompt builder & contextbeheer:
Groq_AI_Prompt_Builderbouwt system prompts op basis van winkelcontext, gefixeerde conversation ID’s en geselecteerde contextvelden. Productprompts eisen strikt JSON volgensget_structured_response_instructions; termprompts gebruiken desgewenst OpenAI/Groq response_format. - Modules: de Rank Math-module is standaard beschikbaar en bepaalt focuskeywordlimieten plus pixel-limieten voor meta title/description. Modules zijn uitbreidbaar via filters en krijgen een eigen instellingenpagina.
- Google-integratie: OAuth 2.0 koppeling met Search Console en GA4 voegt queries, sessies en engaged sessions toe aan termcontext. Tokens worden ververst via
Groq_AI_Google_OAuth_Clienten resultaten gecachet (15 min). - Logging & audits: alle generaties worden opgeslagen in
wp_groq_ai_generation_logsmet prompt, response, status en token usage. Er zijn admin-schermen voor log-overzichten en detailpagina’s. - Live updates:
SitiWebUpdatercontroleert GitHub releases (SitiWeb/siti-ai-product-content-generator) en verzorgt binnen WordPress één-klik updates inclusief re-activatie.
Vereisten
- WordPress 6.4+ en WooCommerce (de plugin deactiveert zichzelf zonder WooCommerce).
- PHP 8.0+ (de Dockerfile gebruikt WordPress 6.9 op PHP 8.2).
- Minstens één AI API-sleutel (Groq, OpenAI of Google Gemini). Je kunt sleutels voor meerdere providers opslaan en later wisselen.
- Optioneel: Rank Math SEO (voor extra velden) en Google Cloud-project met Search Console & GA4 toegang voor OAuth.
Installatie & activatie
Plugin installeren
- Download de laatste release (
siti-ai-product-content-generator-x.y.z.zip) vanuit GitHub Releases of gebruik het zip-bestand dat door de workflow indist/verschijnt. - Upload via Plugins → Nieuwe plugin → Plugin uploaden of plaats de map onder
wp-content/plugins/. - Activeer SitiAI Product Teksten en controleer dat WooCommerce actief is.
Basisconfiguratie
- Ga naar Instellingen → Siti AI.
- Kies een provider, stel het standaardmodel in (of laad live modellen via de knop), vul de bijbehorende API-sleutel in en kies optioneel andere aanbieders.
- Vul winkelcontext, standaardprompt, maximale outputtokens en gewenste contextvelden. Via Prompt & context beheer je defaults voor attributen, merkdetectie, beeldcontext (
none,url,base64) en het maximale aantal afbeeldingen. - Stel modules (Rank Math) in via Instellingen → Siti AI → Modules om keywordlimieten/pixellimieten te wijzigen en de module te activeren/deactiveren.
- (Optioneel) Koppel Google OAuth (client ID/secret + refresh token) en configureer Search Console site + GA4 property. Gebruik de ingebouwde verbindingstest om scopes te bevestigen.
- Gebruik op het tabblad Prompt & context de velden Term omschrijving lengte om de gewenste tekentaantallen voor de korte (top) en lange (bottom) categorie-/merktekst vast te leggen. De AI krijgt deze waardes met een marge van ±10%.
Productteksten genereren
- Open een WooCommerce-product en klik in de meta-box op Gebruik AI.
- De modal toont de standaardprompt, contextselecties en (indien ingesteld) standaard attributen. Je kunt contextvelden tijdelijk toggelen zonder globale instellingen te wijzigen.
- Na Genereer tekst verschijnt output per veld: titel (inclusief drie suggesties), slug, korte beschrijving, beschrijving en – indien Rank Math module – meta title, meta description en focus keywords. Met de knoppen kun je de inhoud kopiëren of rechtstreeks invoegen in de corresponderende WordPress velden.
- Iedere call wordt gelogd (status, tokens, provider) en kan via het AI-logboek worden ingezien.
- Ajax-acties:
groq_ai_generate_textverwerkt productprompts,groq_ai_refresh_modelshaalt provider-specifieke modellen op.
Categorie- en merkteksten
- Ga naar Instellingen → Siti AI → Categorieën of Merken om een overzicht te zien met productcounts en woordtellingen. Lege termen worden gemarkeerd.
- Bovenaan staat een bulk-paneel dat een achtergrondproces start (
groq_ai_bulk_generate_terms) voor lege termen; optioneel kun je bestaande teksten forceren. - Klik op een term om naar de generator te gaan. Daar kun je bovenste en onderste beschrijvingen, Rank Math velden en een term-specifieke prompt beheren. De knop Genereer roept
groq_ai_generate_term_textaan, toont ruwe JSON-output en stelt je in staat de velden met één klik te vullen. - Context bevat: termnaam/slug/productcount, bestaande beschrijvingen (ook custom meta), topverkopende producten (max 25), automatische interne link-suggesties, merkcontext en – indien geactiveerd – Search Console queries en GA4 sessies.
- Via de ingestelde tekentaantallen weet de AI hoeveel inhoud de korte en lange omschrijving ongeveer moeten bevatten; hij stuurt automatisch bij binnen ±10%.
Modules & integraties
- Rank Math: bepaalt of focuskeywords + meta velden worden getoond/bewaard bij zowel producten als termen. Limieten (keywords, pixelbreedtess) worden afgedwongen in de promptinstructies en validatie.
- Google-data: caching en foutafhandeling gebeurt binnen de serviceclient. Errors verschijnen als WP notices en in het log. Zorg dat de redirect-URL (
/wp-admin/admin-post.php?action=groq_ai_google_oauth_callback) in Google Cloud staat. - Response-format compatibiliteit: toggle onder Algemene instellingen om JSON Schema mode te forceren wanneer een provider geen native
response_formatondersteunt.
AI-logboek & troubleshooting
- Via Instellingen → Siti AI → AI-logboek heb je een WP_List_Table met filters, zoekveld en pagination. Klik op een regel om de detailpagina te zien (prompt, response, tokens, foutmelding, gekoppeld product en gebruiker).
- De
Groq_AI_Generation_Loggercreëert automatisch de DB-tabel bijplugins_loaded; bij ontbrekende tabellen kun jeWP_DEBUGgebruiken om fouten te lezen. - Alle fouten worden ook verstuurd naar
WC_Logger(indien aanwezig) met brongroq-ai-product-text.
Hooks & extensies
groq_ai_brand_taxonomy/groq_ai_brand_taxonomy_candidates: overschrijf detectie van merk-taxonomie.groq_ai_product_brand_context: wijzig de tekst die voor merkcontext wordt meegestuurd.groq_ai_term_google_context: voeg extra analytics of SEO-data toe aan termcontext.groq_ai_model_exclusions: pas geblokkeerde modellen per provider aan.groq_ai_prompt_default_context_fields: stel andere standaardcontextvelden in.groq_ai_bulk_term_generation_options: beïnvloed bulk-run opties (bijv. aantal top-producten).- Algemene WordPress filters zoals
plugin_action_linksofadmin_menukunnen gebruikt worden voor extra UI-knoppen;Groq_AI_Service_Containermaakt het eenvoudig om services te vervangen of uit te breiden.
Lokale ontwikkeling
Voorwaarden
- Docker Desktop of Docker Engine + Docker Compose v2.
- Node of build tooling is niet vereist; alle assets staan reeds gecompileerd in
assets/.
Containers starten
docker compose up --build -d
- WordPress: http://localhost:8082
- phpMyAdmin: http://localhost:8085
- MariaDB: poort 3307 (database, user, wachtwoord =
wordpress)
WordPress initialiseren
- Bezoek http://localhost:8082 en volg de standaard WordPress-installatie (gebruik de
dbhost en bovengenoemde databasegegevens). - Log in, activeer WooCommerce (indien niet automatisch) en activeer daarna SitiAI Product Teksten. De plugin is als bind-mount aanwezig onder
wp-content/plugins/siti-ai-product-content-generator.
Handige commando’s
- Shell binnen de WordPress-container:
docker compose exec wordpress bash - WP-CLI gebruiken:
docker compose exec wordpress wp plugin list - Logs volgen:
docker compose logs -f wordpress - Containers stoppen:
docker compose down - Helemaal opnieuw beginnen (verwijdert volumes):
docker compose down -v
Alle code staat buiten de container, dus je kunt op de host git status, git commit etc. draaien. De Dockerfile (WordPress 6.9 / PHP 8.2) installeert hulpmiddelen zoals git, wp-cli en mariadb-client.
Release & updates
- Verhoog de
Versionheader ingroq-ai-product-text.phpen commit de wijzigingen. - Push naar
mainof start handmatig de GitHub Action Build & Release Plugin. De workflow creëert een distributie-zip, maakt tagvX.Y.Zen publiceert een GitHub Release met asset. - Productiesites met de plugin krijgen een update-notificatie via
SitiWebUpdateren kunnen vanuit het WordPress dashboard upgraden.
Mappenstructuur
groq-ai-product-text.php: hoofdbestand dat services, providers, admin-schermen en hooks initialiseert.includes/Core: service container, AJAX-controller en model-exclusiehulpen.includes/Admin: instellingenpagina’s, meta-box UI, logboek en termoverzichten.includes/Providers: implementaties voor Groq, OpenAI en Google (Gemini), inclusief live model listing en requestafhandeling.includes/Services: gedeelde services zoals prompt builder, settings manager, conversatiebeheer, logging en Google-clients.assets/css&assets/js: statische bestanden voor de WordPress admin experience.languages:.po/.mobestanden voor vertalingen.docker+docker-compose.yml: lokale ontwikkelomgeving.snippets&assets/img: aanvullende hulpmiddelen en marketingmateriaal.
Met deze README heb je een startpunt voor zowel functionele gebruikers (hoe gebruik ik de plugin) als ontwikkelaars (hoe werkt de codebase, hoe ontwikkel ik lokaal, hoe release ik). Vragen of verbeteringen? Open een issue of start een PR.