Installatie
Vereisten
Magento 2.4.x. PHP 8.1–8.5. Compatibel met zowel het standaardthema Luma als het Hyvä-thema. Vereist de gratis module codingrow/module-core, die automatisch wordt geïnstalleerd. Geen sleutel in te voeren: de module activeert zich automatisch op je domein.
Installatiestappen
- Vraag de module aan op de productpagina met alleen je e-mailadres: je ontvangt de Composer-gegevens per e-mail (ze staan ook in je klantomgeving). Sla ze op vanuit de hoofdmap van je Magento-project:
composer config http-basic.repo.codingrow.com <username> <password> composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-custom-404-maintenancebin/magento module:enable Codingrow_Custom404Maintenancebin/magento setup:upgrade— in production-modus ooksetup:di:compile,setup:static-content:deployencache:flush.- Er hoeft geen sleutel te worden geplakt: de module activeert zich automatisch op je domein, ga direct verder met de configuratie hieronder.
setup:upgrade installeert ook de skin van de onderhoudspagina in pub/errors. Lukt dat niet (bestandsrechten), voer dan eenmalig bin/magento codingrow:c404m:deploy uit als eigenaar van de Magento-bestanden.
Configuratie
Open Admin → Stores → Configuration → Codingrow Extensions → Custom 404 & Maintenance. Elk veld kan worden ingesteld op niveau Default, Website en Store View: gebruik de Scope-keuze linksboven om per taal andere teksten of een ander ontwerp in te stellen.
| Instelling | Wat het doet | Opmerkingen |
|---|---|---|
| 404 Page | ||
| Enable custom 404 page | Vervangt de 404-pagina van Magento. | Ja/Nee. |
| Show large "404" number | Groot gekleurd getal boven de titel. | Gebruikt de accentkleur. |
| Title / Message | De teksten van de pagina. | Leeg = vertaalde standaardtekst. Eenvoudige HTML toegestaan in het bericht (b, strong, i, em, a, br, p, ul, ol, li, span). |
| Show search box | Zoeken in de catalogus van de winkel. | — |
| "Back to home" button label | Tekst van de knop. | Leeg = standaardtekst. |
| Maintenance Page | ||
| Installation status | Geeft aan of de skin in pub/errors is geïnstalleerd. | Moet Installed tonen (zie Onderhoudspagina). |
| Enable custom maintenance page | Toont jouw pagina zolang de onderhoudsmodus actief is. | Ja/Nee per store view. |
| Title / Message | De teksten van de pagina. | Zoals bij de 404-pagina. |
| Highlighted note | Korte melding in de accentkleur. | Bijv. "Om 14:00 weer online". |
| Auto-reload page every (seconds) | Herlaadt de pagina van de bezoeker automatisch. | 0 = nooit; 60 = elke minuut. |
| Design | ||
| Logo / Logo max width | Winkellogo, eigen logo of geen. | Winkellogo = het logo uit Content → Design → Configuration. |
| Background | Effen kleur, verloop van twee kleuren of schermvullende afbeelding. | Verduistering van de afbeelding van 0 tot 90%. |
| Content box | Geen, licht of donker. | — |
| Font / Title size / Alignment | Typografie van beide pagina's. | — |
| Kleuren voor tekst, accent en knoptekst | Kleuren, elk met kleurkiezer. | Accent = 404-getal, links, knoppen, melding. |
De-installatie
Herstel de standaard onderhoudspagina van Magento voordat je de module verwijdert:
bin/magento codingrow:c404m:deploy --uninstall
composer remove codingrow/module-custom-404-maintenance
bin/magento setup:upgrade
Verwijder je de module zonder --uninstall, dan blijft de onderhoudspagina de laatst gegenereerde versie tonen tot de skin wordt verwijderd. Wil je zonder de-installatie gewoon terug naar de standaardpagina's, zet dan Enable custom 404 page en/of Enable custom maintenance page op No.
Gebruikershandleiding
404-pagina
Bestaat een adres niet, dan toont de winkel in plaats van de CMS-pagina “404 Not Found” een schermvullende pagina met logo, optionele grote “404”, titel, bericht, optioneel zoekveld en een knop “Terug naar home”. Het antwoord behoudt de status HTTP 404, bevat noindex en wordt nooit gecachet, zodat zoekmachines de pagina niet indexeren.
Onderhoudspagina
Zolang de onderhoudsmodus actief is (bin/magento maintenance:enable) draait Magento niet en antwoordt pub/errors/503.php. Daarom doet de module het volgende:
- installeert een skin in
pub/errors/codingrow_c404m/en activeert die inpub/errors/local.xml(een bestaandelocal.xmlwordt bewaard alslocal.xml.codingrow_c404m.bak); - genereert vooraf de HTML van de pagina voor elke store view;
- kiest tijdens onderhoud de store view van het verzoek (MAGE_RUN_CODE van de webserver → domein/pad → winkelcookie → browsertaal → standaardwinkel) en serveert die pagina met HTTP 503 en
Retry-After. Is de pagina voor die store view niet ingeschakeld, dan verschijnt de standaardpagina van Magento.
De HTML wordt automatisch opnieuw gegenereerd wanneer je de sectie opslaat, wanneer het logo wijzigt in Content → Design → Configuration en bij elke maintenance:enable. IP-adressen die met --ip zijn uitgesloten, blijven de winkel zien.
pub/errors (normaal en veilig op beveiligde servers). Voer eenmalig bin/magento codingrow:c404m:deploy uit als eigenaar van de Magento-bestanden en herlaad de configuratiepagina: die moet Installed tonen.
Ontwerp
Het ontwerp geldt voor beide pagina's: logo (winkellogo, eigen logo — jpg, png, gif, svg, webp — of geen) met maximale breedte; achtergrond als effen kleur, verloop van twee kleuren of schermvullende afbeelding met 0–90% verduistering; inhoudsvak geen, licht of donker; lettertype, titelgrootte en uitlijning; tekstkleur, accentkleur (404-getal, links, knoppen, melding) en knoptekstkleur, elk met kleurkiezer. De pagina is zelfstandige HTML/CSS en gebruikt het thema niet, dus ziet er op Hyvä en Luma identiek uit.
Live voorbeeld
De groep Live Preview toont de 404-pagina of de onderhoudspagina, als Desktop of Mobile, bijgewerkt terwijl je de velden bewerkt en met de gekozen scope — nog vóór het opslaan. Net geüploade afbeeldingen (eigen logo, achtergrondafbeelding) verschijnen na het opslaan in het voorbeeld.
CLI-commando
bin/magento codingrow:c404m:deploy installeert of werkt de onderhoudsskin in pub/errors bij en genereert de pagina's voor alle store views opnieuw. Je hebt het alleen nodig als de webserver niet in pub/errors mag schrijven; de skinbestanden worden aangemaakt met rechten 644/755. --uninstall herstelt local.xml en verwijdert de skin, waarna de standaard onderhoudspagina van Magento terugkeert.
Probleemoplossing
- Ik zie nog de oude 404-pagina: controleer of Enable custom 404 page op Yes staat in de scope van de store view die je bekijkt, leeg de cache (System → Cache Management) en test een adres dat echt niet bestaat.
- Tijdens onderhoud zie ik de standaardpagina van Magento: Installation status moet Installed zijn, de pagina moet voor die store view zijn ingeschakeld en je IP-adres mag niet met
--ipzijn uitgesloten. Voer daarnabin/magento codingrow:c404m:deployuit. - Verkeerde taal tijdens onderhoud: stel de teksten in binnen de scope van de juiste store view; delen meerdere store views hetzelfde adres, dan beslissen de winkelcookie en daarna de browsertaal. Voer daarna
bin/magento codingrow:c404m:deployuit. - Het logo wordt niet getoond: bij Store logo komt het uit Content → Design → Configuration → Header → Logo Image (of het logo van het thema); kies Custom logo om er een te uploaden en verhoog Logo max width als het te klein oogt.
- De achtergrondafbeelding ontbreekt in het voorbeeld: geüploade afbeeldingen verschijnen na het opslaan; controleer of Background op Image staat.
Licentie
Custom 404 & Maintenance is gratis en je hoeft geen sleutel in te voeren: na de installatie activeert de module zich automatisch op je domein. Hij voert een lichte onlinecontrole uit bij codingrow.com, waarbij alleen het winkeldomein, het product en de geïnstalleerde versie worden verstuurd (geen gegevens van je klanten), en onthoudt het laatste antwoord, zodat een tijdelijk netwerkprobleem hem niet uitschakelt. Het formulier op de productpagina stuurt je alleen de inloggegevens voor de Composer-repository van Codingrow, waarmee je de module en de updates downloadt.
Als de module ooit betaald wordt: domeinen die hem al hebben geactiveerd blijven voor altijd gratis op alle versies die tot die datum zijn uitgebracht — zonder domeinwijziging en zonder supportverzoek. Het Magento-log vermeldt de laatste versie die je gratis kunt installeren; nieuwere versies zouden een licentie vereisen.