Controleer eerst of de wijziging in de database staat, en kijk daarna naar de indexers en de cache van Magento. Een productwijziging die in het beheer is opgeslagen maar niet in de winkel verschijnt, kan komen door een index die nog niet is bijgewerkt of door een cachetype dat nog oude pagina’s toont.
Waarom een wijziging niet direct zichtbaar is
Magento bewaart productgegevens niet alleen in de database, maar ook in indexen. Adobe noemt onder meer de indexers Product Price, Product EAV, Category Products, Inventory en Catalog Search. Staat een indexer op Update by Schedule, dan werkt cron de gegevens bij volgens het schema. Staat hij op Update on Save, dan gebeurt dat bij het opslaan in het beheer. Werkt cron niet, dan kan een index achterlopen terwijl de wijziging wel is opgeslagen.
Daarnaast toont de winkel pagina’s uit de cache. Adobe beschrijft onder andere de cachetypes full_page, block_html en layout. Een opgeslagen wijziging kan dus correct zijn, terwijl de bezoeker nog een oudere versie van de pagina ziet.
Bruikbare stappen
- Controleer in het beheer of de productwijziging in Magento is opgeslagen voor de juiste winkelweergave.
- Bekijk met bin/magento indexer:status of een Magento-indexer de status Reindex required heeft of een achterstand in de backlog toont.
- Kijk met bin/magento indexer:show-mode of de betrokken indexer op schedule of realtime staat, en ga bij schedule na of cron in deze Magento-installatie draait.
- Bekijk met bin/magento cache:status welke Magento-cachetypes actief zijn.
- Gebruik bin/magento cache:clean voordat u bin/magento cache:flush overweegt; volgens Adobe kan flushen ook andere processen raken die dezelfde opslag gebruiken.
- Noteer per onderzoeksstap wat u zag, zodat een ontwikkelaar het onderzoek kan voortzetten als de wijziging daarna nog niet verschijnt.
Wat het verschil is tussen cleanen en flushen
Volgens Adobe verwijdert cache:clean alleen items uit ingeschakelde Magento-cachetypes. Uitgeschakelde cachetypes worden daarbij niet opgeschoond. Cache:flush leegt de volledige cacheopslag en kan zo andere toepassingen raken die dezelfde opslag delen. Adobe adviseert flushen pas als cleanen het probleem niet oplost. In het beheer heet cleanen Flush Magento Cache en flushen Flush Cache Storage, onder System, Tools, Cache Management.
Veelgestelde vragen
Moet ik alle indexers opnieuw opbouwen? Nee, bin/magento indexer:reindex accepteert ook een lijst met specifieke indexers. Adobe wijst erop dat een volledige herindexering bij grote catalogi lang kan duren.
Helpt een eenmalige herindexering als cron niet werkt? Tijdelijk wel, want volgens Adobe werkt indexer:reindex de indexen één keer bij. Voor blijvend actuele indexen is een werkende cronjob nodig, dus een herindexering lost een cronprobleem niet op.
Kan ik het beheer gebruiken in plaats van de opdrachtregel? Ja, beheerders kunnen de cache via System, Tools, Cache Management opschonen. Voor indexerstatus en indexermodus beschrijft Adobe de opdrachtregel met bin/magento.
Crydogs verzorgt onderhoud, upgrades, bugfixes en beveiligingspatches voor bestaande Magento-webshops, met Magento-ervaring achter de dienst sinds 2008. Voor hulp bij uw onderzoek kunt u contact met ons opnemen via https://crydogs.com/#contact.
