Product Page Pro & SEO Documentatie

Installatiestappen en een volledige referentie voor elke instelling, met concrete voorbeelden — hetzelfde detailniveau dat onze support gebruikt om klanten te helpen.

Weergeven als Markdown

Installatie

Vereisten

Magento 2.4.x. PHP 8.1–8.5. Werkt met Hyvä (elk childthema) en Luma (het standaard Magento-thema) — het actieve thema wordt automatisch gedetecteerd, geen configuratie nodig. Bij elk ander thema heeft de module geen effect (geen actie, alsof deze uitgeschakeld is).

Installatiestappen

  1. Voeg de inloggegevens die je per e-mail ontvangt toe aan auth.json in de root van je Magento-project:
    { "http-basic": { "repo.codingrow.com": { "username": "...", "password": "..." } } }
  2. composer config repositories.codingrow composer https://repo.codingrow.com
  3. composer require codingrow/module-ppps
  4. bin/magento module:enable Codingrow_Ppps
  5. bin/magento setup:upgrade && bin/magento setup:di:compile
  6. Plak je licentiesleutel in Admin → Stores → Configuration → Codingrow Extensions → Product Page Pro & SEO → License → License Key, sla op, daarna bin/magento cache:flush.
  7. bin/magento setup:static-content:deploy -f (in production-modus).

Er is geen Tailwind-buildstap of themaconfiguratie vereist: elke layout-kritische regel (rasterverhoudingen, sticky positionering, breakpoints) is als pure CSS in de templates van de module zelf ingebed, niet als Tailwind-utilityklassen.

Configuratie

Vijf onafhankelijke schakelaars in Stores → Configuration → Codingrow Extensions → Product Page Pro & SEO → General:

  • Enable column gallery on desktop — 2-koloms afbeeldingenraster in plaats van één afbeelding tegelijk.
  • Enable sticky buy-box on desktop — op Hyvä worden zowel de afbeeldingen- als de prijskolom sticky (de van nature kortste blijft vastgezet in beeld terwijl de andere doorscrolt); de beschrijving verplaatst naar onder de galerij, en deze instelling ontgrendelt de twee onderstaande. Op Luma blijft alleen de prijs-/koopkolom vast tijdens het scrollen.
  • Enable repeated image strip below description — vereist de instelling sticky buy-box hierboven. Toont alle productafbeeldingen opnieuw in een rij die afbreekt.
  • Enable simplified section titles — verwijdert de herhaalde productnaam naast titels zoals "Description" (alleen Hyvä).
  • Enable product SEO structured data — voegt een schema.org/Product JSON-LD-blok toe (naam, afbeelding, merk, GTIN, prijs, beschikbaarheid) voor Google rich results, en vult een meta description in voor producten die er geen hebben. Niet-visueel; zowel Hyvä als Luma, zowel desktop als mobiel; overschrijft nooit een bestaande meta description.

Alle vijf vereisen een geldige licentie; zonder licentie gedraagt de module zich alsof deze volledig uitgeschakeld is (ongewijzigde standaardlayout van het thema, geen fout zichtbaar voor winkelbezoekers).

Product Page Pro & SEO admin configuration: the License field and the six General options, with the Merchant listings group below
OptieWat het doetStandaardNotities
LicentiesleutelDe voor dit domein uitgegeven licentiesleutel.—Plak deze na aankoop en leeg de cache.
Kolomgalerij op desktop inschakelenToont alle productafbeeldingen tegelijk in een raster met 2 kolommen in plaats van één per keer.JaAlleen desktop ≥ 1024px; mobiel houdt de native galerij.
Sticky koopblok op desktop inschakelenHoudt de prijs- / in-winkelwagen-kolom in beeld tijdens het scrollen.JaVereiste voor de twee opties hieronder; verplaatst de beschrijving onder de afbeeldingen.
Herhaalde afbeeldingsstrip onder de beschrijving inschakelenToont alle afbeeldingen opnieuw, op vaste grootte, in een strip onder de beschrijving.JaVereist het sticky koopblok.
Vereenvoudigde sectietitels inschakelenVerwijdert de herhaalde productnaam naast titels zoals “Beschrijving”.JaAlleen Hyvä (geen effect op Luma).
Gestructureerde SEO-gegevens voor producten inschakelenVoegt een schema.org/Product JSON-LD-blok toe (naam, afbeelding, merk, GTIN, prijs, beschikbaarheid) zodat Google rich results kan tonen, en vult een meta description in voor producten die er geen hebben.JaNiet-visueel; zowel Hyvä als Luma, desktop en mobiel. Overschrijft nooit een bestaande meta description.

Verwijderen

composer remove codingrow/module-ppps daarna bin/magento setup:upgrade && bin/magento setup:di:compile && bin/magento cache:flush.

Gebruikershandleiding

Op desktop (vanaf 1024px) worden alle productafbeeldingen tegelijk getoond in een 2-koloms raster in plaats van de enkele afbeelding plus miniaturenstrook van Hyvä of de Fotorama-slider van Luma. Mobiel wordt hier nooit door beïnvloed — het behoudt altijd het native galerijgedrag van het thema (enkele afbeelding, veegbare miniaturenstrook eronder).

Op Hyvä is dit geïmplementeerd als een toegevoegd blok binnen het eigen Alpine.js-galerij- component van het thema, waarbij dezelfde afbeeldingsgegevens worden hergebruikt die al voor de standaardgalerij geladen zijn — geen dubbele JavaScript-status. Op Luma wordt het raster toegevoegd naast de native Fotorama-widget (nooit aangepast of opnieuw geïnitialiseerd); beide worden met pure CSS omgeschakeld op het desktop-breakpoint.

Product page on desktop with the Product Page Pro & SEO 2-column image grid and the sticky buy-box

Sticky prijskolom

Op Hyvä: zowel de afbeeldingenkolom als de prijs-/koopkolom worden position: sticky — de van nature kortste (meestal de prijskolom, omdat de afbeeldingen+beschrijvingskolom normaal gesproken hoger is) blijft vastgezet in beeld terwijl de andere doorscrolt. De beschrijving verplaatst van zijn standaardpositie (onder beide kolommen) naar direct onder de afbeeldingen, binnen diezelfde linkerkolom.

Op Luma: alleen de prijs-/koopkolom blijft visueel vast tijdens het scrollen, tussen de header en het einde van de productinformatiesectie — de afbeeldingen- en beschrijvingskolom scrolt altijd normaal mee. Dit is geïmplementeerd in JavaScript (transform: translateY(), herberekend bij elke scroll) in plaats van CSS position: sticky, omdat sticky positionering niet betrouwbaar bleek te werken in combinatie met de native, op floats gebaseerde tweekolomslayout van Luma. De beschrijving wordt ook verplaatst naar direct onder de afbeeldingen (standaard plaatst Luma deze over de volle breedte onder beide kolommen).

Vereist de instelling sticky buy-box. Onder de beschrijving worden alle productafbeeldingen opnieuw getoond op vaste grootte (274×274px), die op natuurlijke wijze herschikken bij een smaller scherm — 3 per rij bij een typische desktopbreedte, steeds minder per rij naarmate het scherm smaller wordt, tot 1 per rij op mobiel. Afbeeldingen krimpen pas onder hun vaste grootte wanneer zelfs een enkele niet meer in de beschikbare breedte past.

Vereenvoudigde sectietitels

Het standaardthema van Hyvä toont "Description / Productnaam" als kop boven het beschrijvingstabblad — overbodig zodra de productnaam al elders prominent aanwezig is op een herschikte pagina. Deze instelling vervangt dit door een eenvoudige kop "Description". De eigen tabbladen van Luma hebben deze herhaling nooit gehad, dus heeft de instelling daar geen zichtbaar effect.

Gestructureerde SEO-gegevens voor producten

Onafhankelijk van alles hierboven, en geen visuele wijziging. Wanneer ingeschakeld krijgt elke productpagina een schema.org/Product JSON-LD-blok dat het product beschrijft — naam, afbeelding, merk, GTIN/EAN en een Offer met prijs, valuta, beschikbaarheid en productconditie — zodat zoekmachines rich results kunnen weergeven (prijs en beschikbaarheid in de SERP, geschiktheid voor Google's gratis productvermeldingen). Elk veld is best-effort: wat het product niet heeft wordt simpelweg weggelaten, nooit een fout, en het blok wordt op dezelfde manier uitgevoerd op Hyvä en Luma, desktop en mobiel.

Dezelfde instelling vult ook een meta description in voor producten die er zelf geen hebben — opgebouwd uit de korte/lange beschrijving van het product (of als laatste redmiddel de naam). Het raakt nooit een product aan dat al een meta description heeft, dus het vult alleen ooit een leemte op.

Verkopersvermeldingen: retour en verzending

Google leest retour- en verzendvoorwaarden van de productpagina om ze in zijn gratis verkopersvermeldingen te tonen, en Search Console meldt ze als ontbrekend wanneer ze er niet zijn. Ze zijn niet uit de catalogus af te leiden — het zijn commerciële voorwaarden — dus worden ze opgegeven in de configuratie, onder Merchant listings (returns and shipping). Beide blokken staan standaard uit en vereisen dat de gestructureerde productgegevens aan staan.

Merchant listings group in the admin: return policy and shipping details
  • Retourvoorwaarden → hasMerchantReturnPolicy: landen (uit de lijst van Magento), retourtermijn, dagen, hoe de goederen terugkomen, wie betaalt en eventuele kosten.
  • Verzendvoorwaarden → shippingDetails: landen waarnaar je verzendt, kosten (0 voor gratis verzending), verwerkings- en levertijd in werkdagen.

Twee regels zijn bewust. Een blok met onvolledige verplichte velden wordt in zijn geheel weggelaten in plaats van half waar gepubliceerd: Google vergelijkt wat je opgeeft met wat de klant op je site aantreft, dus een verkeerde opgave is minder waard dan geen. En bij "retouren niet geaccepteerd" worden noch de methode noch de betaler gepubliceerd: er is geen retour te beschrijven.

Het aanbod bevat ook validFrom, de datum vanaf wanneer de gepubliceerde prijs geldt: de start van de speciale prijs als die er is, anders de aanmaakdatum van het product. Daarvoor is geen configuratie nodig.

Deze voorwaarden gelden zelden voor de hele catalogus: verwerkings- en levertijden verschillen tussen eigen magazijn en dropshipping, verzending hangt af van het volume, de retourtermijn van wat je verkoopt. En het getal staat meestal al op het product, in een attribuut dat je importeur of je team invult. Elk van die velden kan daarom naar een productattribuut wijzen — de lijst bevat ook je eigen attributen — met een vakje om een code te typen die de lijst niet aanbiedt. Waar het product een waarde heeft, wint het product; waar niet, blijft de vaste waarde staan; en een waarde die geen getal is valt terug op de vaste in plaats van onzin te publiceren.

The fields that take their value from a product attribute

Elk getal kan uit een productattribuut komen, gekozen uit de lijst van de catalogus: hier komen verwerkings- en levertijd uit de attributen die een importeur invult.

Hyvä- en Luma-ondersteuning

Het actieve thema wordt automatisch gedetecteerd (geen configuratie nodig) door de oudertthema-keten van het huidige thema te doorlopen op zoek naar "Hyva" of "Luma" in de themacode. Bij elk thema dat geen afstammeling is van Hyvä of Luma, heeft elke plugin van deze module gegarandeerd geen effect — de pagina wordt precies zo weergegeven als zonder de geïnstalleerde module, nooit een fout.

Licentie

Eén licentiesleutel per Magento-domein, ingevoerd bij Stores → Configuration → Codingrow Extensions → Product Page Pro & SEO → License → License Key. De sleutel wordt door de module geverifieerd, en je winkel heeft onze servers niet nodig om te draaien: een storing bij ons legt hem niet stil. Overstappen naar een nieuw domein vereist een nieuwe sleutel — neem contact op met support met de gegevens van je oorspronkelijke aankoop. Je licentie dekt de huidige versie plus 1 jaar updates en ondersteuning: de versies die in dat jaar zijn uitgebracht blijven voor altijd van jou, en voor latere verleng je de ondersteuning (−35%). Van domein wisselen: je eerste wissel is gratis en direct vanuit je klantgedeelte, daarna één per jaar.