PS PrestaShop Beginner

Vergelijkingspagina’s „A vs B” voor PrestaShop 8 & 9: documentatie

De module installeren, vergelijkingen „A vs B” maken en genereren, URL's, opmaak en sitemap instellen en het blok in het thema opnemen.

Bijgewerkt Moduleversie 1.0.0

Overzicht

De module maakt openbare pagina’s die twee of drie producten vergelijken, bijvoorbeeld „iPhone 15 vs Galaxy S24”, om te scoren op vergelijkingszoekopdrachten. Elke pagina heeft een nette URL in elke taal, SEO-tags, gestructureerde gegevens, een vergelijkingstabel, uw oordeel en een FAQ. Een overzichtspagina verzamelt alle gepubliceerde vergelijkingen.

Ze vervangt geen sessievergelijker zoals de Productvergelijker, waarin de bezoeker zijn eigen selectie vergelijkt: beide modules kunnen samen worden geïnstalleerd.

Installatie

  1. Klik in Modules > Modulebeheer op Een module uploaden en kies het ZIP-bestand van de module.
  2. De installatie maakt het tabblad Catalogus > SEO-vergelijkingen, drie tabellen (vergelijkingen, vertalingen, winkelkoppeling) en het standaard URL-voorvoegsel van elke geïnstalleerde taal aan.
  3. Controleer of vriendelijke URL’s zijn ingeschakeld in Winkelparameters > Verkeer & SEO. Zonder deze werken de pagina’s, maar met adressen als index.php?fc=module&module=dfversus&controller=compare&rewrite=....

Instellingen

De knop Configureren van de module opent een infopaneel (link naar het beheer van de vergelijkingen, adres van de overzichtspagina in elke taal, adres van de sitemap), gevolgd door drie blokken instellingen.

URL’s en overzichtspagina

  • URL-voorvoegsel, per taal: vergelijkingen gebruiken /voorvoegsel/pagina-slug en de overzichtspagina /voorvoegsel. Standaardwaarden: comparatif (fr), compare (en), comparativa (es), vergleich (de), confronto (it), porownanie (pl), vergelijking (nl), comparativo (pt). Voorvoegsels die PrestaShop gebruikt (module, content, search, cart, order…) worden geweigerd en vervangen door de standaardwaarde.
  • Titel van de overzichtspagina (H1), metatitel, metabeschrijving en inleiding, per taal.
  • Vergelijkingen per pagina: standaard 24, van 1 tot 100.

Weergave

  • Links tonen op productpagina’s: toont onder de productpagina de vergelijkingen met dit product (hook displayFooterProduct). Links op productpagina’s bepaalt het aantal (standaard 6).
  • Gerelateerde vergelijkingen: aantal vergelijkingen met een gedeeld product onderaan elke pagina (standaard 6, 0 verbergt het blok).
  • Productkenmerken vergelijken: voegt alle kenmerken uit Catalogus > Attributen & kenmerken toe aan de tabel.
  • Klantbeoordelingen tonen: gemiddelde score en aantal reviews uit de module Productreacties (productcomments), als die is geïnstalleerd.
  • Standaard alleen verschillen tonen: bezoekers kunnen de optie op de pagina nog steeds wijzigen.
  • Accentkleur: gebruikt voor het aanbevolen product, badges, links en de beste waarde. De lettertypen komen uit het thema.

Gestructureerde gegevens

JSON-LD-opmaak toevoegen staat standaard aan. Schakel het alleen uit als een andere module deze opmaak al op deze pagina’s toevoegt. Open Graph-tags worden nog steeds toegevoegd.

Een vergelijking maken

Klik in Catalogus > SEO-vergelijkingen op Vergelijking toevoegen.

Producten en aanbevolen product

Zoek elk product op naam, referentie, EAN of ID en klik op een resultaat (of gebruik de pijltjestoetsen en Enter). Product 1 en 2 zijn verplicht, product 3 is optioneel. Een inactief product krijgt een badge. Het veld Aanbevolen product markeert een kolom met de badge „Onze keuze” en herhaalt die in het oordeel. Blijft een plaats leeg, dan worden de producten bij het opslaan opnieuw geordend.

Titel, slug en tags

  • Titel (H1): leeg gelaten wordt hij in elke taal gemaakt op basis van de productnamen, in de vorm „Product 1 vs Product 2”.
  • URL-slug: leeg gelaten wordt hij uit de titel opgebouwd. Hij moet uniek zijn per taal. Een gegenereerde slug die al bestaat, krijgt het achtervoegsel -2, -3. Een handmatig ingevoerde slug die al in gebruik is, wordt geweigerd.
  • Metatitel: leeg gelaten wordt de titel gebruikt. Google toont ongeveer 60 tekens.
  • Metabeschrijving: ongeveer 155 tekens. Leeg gelaten wordt een beschrijving gemaakt op basis van de productnamen.

Het voorbeeld in de zoekresultaten toont live de winkelnaam, de echte URL, de titel en de beschrijving van de taal die wordt bewerkt, met een groene of rode teller voor elke lengte.

Inleiding en oordeel

De inleiding staat boven de tabel, het oordeel eronder. Deze twee teksten onderscheiden uw pagina van een specificatieblad: leg uit voor wie elk product bedoeld is en wat ze echt van elkaar onderscheidt.

Redactionele criteria

Eén criterium per regel, in het formaat Label | waarde product 1 | waarde product 2 | waarde product 3. Zet * achter een waarde om die als beste te markeren. Voorbeeld:

Echte accuduur | 18 u* | 12 u | 15 u
Nachtfoto's | Zeer goed | Uitstekend* | Uitstekend*
Gewicht in de hand | Licht* | Gemiddeld | Zwaar

Deze criteria vormen de groep „Onze analyse” van de tabel.

Vragen en antwoorden

Eén vraag per regel, in het formaat Vraag | Antwoord. Ze verschijnen als accordeon onderaan de pagina en worden als FAQPage aan de JSON-LD toegevoegd.

Indexering en publicatie

  • Indexering toestaan: uitgeschakeld blijft de pagina bereikbaar, maar krijgt ze de noindex-tag en staat ze niet in de sitemaps.
  • Gepubliceerd: uitgeschakeld geeft de pagina bezoekers een 404-fout. Ze blijft bekijkbaar via een ondertekende voorbeeldlink, zichtbaar in het formulier en in de actie Bekijken van de lijst.
  • Winkelkoppeling: kies in multistore de winkels waarin de vergelijking bestaat.

Na het opslaan toont het formulier de openbare URL’s van de vergelijking in elke taal. De knop Opslaan en blijven houdt het formulier open.

Dubbele vergelijkingen

Een vergelijking met precies dezelfde producten als een andere, in welke volgorde ook, wordt bij het opslaan geweigerd met het nummer van de bestaande vergelijking. Twee pagina’s over dezelfde producten zouden in Google met elkaar concurreren: bewerk liever de bestaande pagina.

Genereren vanuit een categorie

De knop Genereren vanuit een categorie maakt een vergelijking voor elk paar uit de topproducten van een categorie.

  1. Kies de categorie.
  2. Kies hoe de producten worden geselecteerd: best verkocht, positie in de categorie, nieuwste eerst of hoogste prijs eerst.
  3. Geef het aantal producten op, van 2 tot 12: 6 producten geven 15 vergelijkingen, 12 producten geven er 66.
  4. Laat Direct publiceren uitgeschakeld, zoals aanbevolen, en kies of de pagina’s indexeerbaar zijn.

Alleen producten die actief en zichtbaar zijn in de catalogus van de winkel worden gebruikt. Titels en slugs worden in alle talen aangemaakt en paren die al vergeleken zijn, worden overgeslagen. Gegenereerde pagina’s bevatten alleen de tabel: voeg minstens een inleiding en een oordeel toe voordat u ze publiceert, pagina’s zonder redactionele inhoud scoren zelden.

Lijst van vergelijkingen

De lijst toont de productminiaturen (grijs bij een inactief product), de titel, de productnamen, de indexerings- en publicatiestatus (met één klik te wijzigen), het aantal weergaven en de datum van bijwerking. De weergaven sluiten zoekmachinebots en voorbeelden uit.

  • Bekijken opent de openbare pagina, met de voorbeeldlink als ze niet gepubliceerd is.
  • Dupliceren maakt een niet-gepubliceerde kopie met nieuwe slugs en opent het formulier ervan. Wijzig minstens één product voordat u de kopie opslaat, anders wordt ze als dubbel geweigerd.
  • Bulkacties publiceren, depubliceren of verwijderen de selectie.

De openbare pagina

De pagina gebruikt de opmaak van uw thema (kruimelpad, header, footer) en bevat achtereenvolgens: de datum van bijwerking, de inleiding, de schakelaar „Alleen verschillen tonen”, de tabel, het oordeel, de FAQ, gerelateerde vergelijkingen en een link naar de overzichtspagina.

De tabel

Bovenaan elke kolom: afbeelding, naam, prijs met doorgestreepte prijs bij een actie, winkelwagenknop (eenvoudige, niet-personaliseerbare, bestelbare producten) en link naar de productpagina. Daarna is de tabel in groepen verdeeld, en rijen die overal leeg zijn, worden verborgen:

  • In het kort: prijs (beste prijs gemarkeerd), klantbeoordeling, beschikbaarheid, merk, staat.
  • Onze analyse: uw redactionele criteria.
  • Technische specificaties: de productkenmerken, als de optie aan staat.
  • Details: gewicht, breedte, hoogte, diepte, referentie, EAN-13.

Op mobiel

Onder 768 px breed toont elke rij het label boven de waarden: twee of drie producten passen in de schermbreedte, zonder horizontaal scrollen.

Meeschuivende balk

Zodra de kop van de tabel uit beeld verdwijnt, verschijnt bovenaan een balk met de naam en prijs van elk product. Hij plaatst zich automatisch onder een vaste of meeschuivende themaheader. Staat hij in uw thema verkeerd, stel dan de verschuiving in de CSS van het thema in:

:root { --dfv-sticky-top: 64px; }

Integratie in het thema

Het blok „Dit product vergelijken” verschijnt onder de productpagina via de hook displayFooterProduct. Om het elders te plaatsen, schakelt u de optie uit in de instellingen en voegt u in het template van uw thema toe:

{hook h='displayDfVersusLinks' product=$product}

Om de overzichtspagina aan het menu toe te voegen, gebruikt u het adres dat in het infopaneel van de module staat.

SEO

URL’s, canonical en redirects

De canonical-tag verwijst naar de URL van de vergelijking in de getoonde taal. Een pagina die via de slug van een andere taal, een oud voorvoegsel of het ruwe moduleadres wordt bereikt, wordt met een 301 doorgestuurd naar haar canonieke adres. Als u een voorvoegsel of slug wijzigt, worden de oude adressen niet meer herkend: plan redirects als de pagina’s al geïndexeerd waren.

hreflang

De hreflang-tags koppelen de taalversies van een vergelijking, met x-default op de standaardtaal van de winkel. Alleen talen waarin de vergelijking een slug heeft, worden vermeld.

Gestructureerde gegevens

Elke vergelijking bevat JSON-LD met WebPage (inclusief de wijzigingsdatum), BreadcrumbList, ItemList en FAQPage als er vragen zijn ingevuld. De ItemList volgt het formaat „overzichtspagina”: elk element verwijst naar de productpagina, die al haar eigen Product-opmaak heeft. De overzichtspagina bevat CollectionPage en ItemList. Sinds 2023 toont Google FAQ-rich results alleen voor enkele overheids- en gezondheidssites: de FAQPage-opmaak blijft geldig, maar levert voor een winkel geen rich snippet op.

Sitemap

De eigen sitemap is beschikbaar op /dfversus-sitemap.xml (exact adres in het infopaneel van de module). Ze bevat de overzichtspagina en elke gepubliceerde, indexeerbare vergelijking met haar hreflang-alternates. Dien ze in bij Google Search Console. Als de PrestaShop-module gsitemap is geïnstalleerd, worden de vergelijkingen ook aan die sitemap toegevoegd.

Een product verwijderen

Wanneer een product uit de catalogus wordt verwijderd, wordt het uit plaats 3 gehaald van de vergelijkingen die het gebruiken. Een vergelijking die product 1 of 2 verliest, wordt gedepubliceerd. Een uitgeschakeld product wordt niet meer getoond in vergelijkingen, en een vergelijking met minder dan twee zichtbare producten verschijnt niet meer op de overzichtspagina en in de sitemaps.

Probleemoplossing

  • De pagina’s geven een 404-fout: controleer of de vergelijking gepubliceerd is, aan de winkel gekoppeld is en minstens twee actieve producten bevat. Als vriendelijke URL’s na de installatie zijn ingeschakeld, genereer het .htaccess-bestand dan opnieuw via Verkeer & SEO.
  • Een voorvoegsel botst met een andere pagina: kies in de instellingen een specifieker voorvoegsel, bijvoorbeeld „productvergelijkingen”.
  • Klantbeoordelingen verschijnen niet: de module productcomments moet geïnstalleerd en actief zijn, en de reviews goedgekeurd. Controleer ook de optie „Klantbeoordelingen tonen”.
  • De knop In winkelwagen verschijnt niet: die is voorbehouden aan eenvoudige, niet-personaliseerbare producten die besteld kunnen worden, op voorraad of in nabestelling. Andere producten tonen de link naar de productpagina.
  • De meeschuivende balk verdwijnt onder de themaheader: stel de variabele --dfv-sticky-top in zoals hierboven beschreven.
Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support