Releases: MarcoMCM/mcm-site-optimizer
Release list
v1.8.1 — token-link-guard voor Varnish-cookiebug
v1.8.0 (5 sep, eerder gecommit): nieuwe database-cleaner module die achtergebleven opties van verwijderde plugins detecteert en opruimt (SecuPress, iThemes/Solid, Wordfence, Sucuri, AIOWPS, Toolset/Types/CRED — uitbreidbaar via mcm_optimizer_orphaned_option_prefixes). Scant vooraf, aparte knop buiten "Alles Opschonen", terugzetbare backup bij verwijderen.
v1.8.1 — token-link-guard. LAPMIDDEL, niet de oorzaak — die ligt bij de hostingprovider (Xel, ticket ingediend): hun Varnish geeft de cookie gflow_access_token niet door aan de backend. Bewezen op stadsfondshilversum.nl: curl stuurt de cookie aantoonbaar mee, PHP ziet $_SERVER['HTTP_COOKIE'] leeg voor exact hetzelfde verzoek.
Gravity Flow zet na het lezen van een token-link een cookie en stuurt door naar een kale URL die van die cookie afhankelijk is — komt de cookie niet aan, dan blijft die kale URL voor altijd leeg (bezoeker ziet een lege inbox-pagina i.p.v. zijn evaluatieformulier). Deze module zet Gravity Flow's redirect-naar-cookie-stap uit zodra er een token in de URL staat, zodat het token bij elk bezoek uit de link zelf gelezen wordt. Geen cookie nodig, dus onafhankelijk van Varnish.
Volledig inert op sites zonder Gravity Flow, of wanneer er geen gflow_access_token in de URL staat — geen risico voor sites waar dit probleem niet speelt. Filter: mcm_optimizer_token_link_guard_enabled (zet op false zodra Xel de cookie whitelist).
v1.8.0
v1.7.1 — cache-guard, logmap-detectie, autoload/cron-checks, snellere mediascanner
Nieuw: cache-guard. Leest WP Rocket's "Nooit cachen"-lijst en stuurt daarvoor zelf no-cache-headers, zodat Varnish en andere reverse proxies dezelfde uitsluitingen aanhouden. Je onderhoudt nog maar één lijst. Zonder dit kan een proxy persoonlijke pagina's (Gravity Flow-inbox, GravityView) cachen en aan de verkeerde bezoeker serveren.
Nieuw: log-monitor telt per logmap op — aantal bestanden én totale omvang, niet alleen per bestand. Duizenden kleine logjes bleven anders onzichtbaar, zeker als ze .txt heten in plaats van .log.
Nieuw: health check meet de autoload-omvang (met de drie grootste opties erbij) en controleert cron op taken die over tijd zijn, dubbel ingeplande hooks en een buitensporig totaal.
Nieuw: media-scanner meldt records waarvan het bestand van schijf verdwenen is, los van "ongebruikt". Dat zijn dode records waar optimalisatie-plugins eindeloos op kunnen blijven hangen.
Fix: media-scanner scant in batches en slaat revisies over. Op een Avada-site haalde hij eerst 47,6 MB aan post_content in één query op — waarvan 41,5 MB revisies — en liep hij na 25 minuten nog steeds. Nu: 3 seconden.
Let op bij die fix: staat een afbeelding alleen in een oude revisie en nergens in de live inhoud, dan geldt hij nu als ongebruikt. Hij gaat naar de prullenbak, niet weg. Terugzetten kan met add_filter( 'mcm_optimizer_scan_revisions', '__return_true' ).
Nieuwe filters: mcm_optimizer_no_cache_uris, mcm_log_monitor_max_dir_bytes, mcm_log_monitor_max_dir_files, mcm_log_monitor_log_dirs, mcm_optimizer_max_autoload_bytes, mcm_optimizer_cron_late_seconds, mcm_optimizer_max_cron_events, mcm_optimizer_scan_batch_size, mcm_optimizer_scan_revisions.
v1.5.0 — MCM Klant + rol
- Nieuw: rol "MCM Klant +" (mcm_klant_plus) — identiek aan MCM Klant, maar mét
menu-beheer. Opt-in per klant; de standaard mcm_klant blijft dichtgetimmerd. - Customizer/Widgets/Thema's/Thema-editor worden voor de plus-rol hard
geblokkeerd (redirect naar Weergave → Menu's); alleen Menu's blijft over. - Rollen herinstalleren automatisch na een plugin-update (ROLES_VERSION).
- Welkomst-widget: extra tegel "Menu aanpassen" met link naar de menu-handleiding,
alleen zichtbaar voor de MCM Klant +-rol.
v1.4.3 — Fix Serverfout bij scannen
Op shops met 4k+ customers piekt de scan rond 240 MB door de meta-queries op de hele user-set. Standaard PHP-FPM memory_limit levert dan een fatal op en de UI toont "Serverfout bij scannen". ajax_scan() en ajax_delete() roepen nu wp_raise_memory_limit('admin') + set_time_limit(120) aan.
Fake accounts detectie verbeteringen
Veel verbeterd
v1.3.0 — Media-scanner, performance-advies, beeldoptimalisatie
v1.3.0 — Modules: ongebruikte media-scanner, performance-advies, beel…
v1.2.2 — verificatie self-update
Versie-bump om de GitHub → WP-admin update-flow te valideren. Geen functionele wijzigingen — veilig om te installeren.
v1.2.1 — sync met live + GitHub self-update
Synchronisatie met de live productieversie (1.2.0) plus toevoeging van GitHub-self-update via plugin-update-checker.
Wijzigingen sinds v1.0.0 op GitHub
Inhoudelijk (uit live 1.1.0/1.1.1/1.2.0)
- MCM Klant rol met beperkte rechten voor klanten
- Backend opschoning (menus, dashboard, admin bar) voor MCM Klant-rol
- Dashboard welkomst-widget met handleiding-link
- Admin-melding om Editor-gebruikers om te zetten
- Veiligheidsklep — beheerder behoudt altijd volledige rechten via user_has_cap filter
- MCM Optimizer menu naar Instellingen-submenu (was top-level)
- admin_menu hook priority verhoogd naar 99999
Nieuw in 1.2.1
- Self-update via publieke GitHub repo (plugin-update-checker v5.6)
- Plugin URI + Update URI in plugin-header
Voor de uitrol
Belangrijk: bestaande sites met v1.2.0 hebben geen plugin-update-checker erin. Die moeten éénmalig handmatig vervangen worden door deze v1.2.1-zip. Vanaf v1.2.1 komen alle toekomstige updates automatisch binnen via WP-admin / MainWP.
v1.0.0 — eerste publieke release
Eerste publieke GitHub-release. Plugin werkt al productie-stabiel; deze release zet de basis voor automatische updates via plugin-update-checker.
Features
- Database opschoning (revisions, expired transients, orphaned meta, autoloaded options)
- Ongebruikte media detectie + image sizes beheer
- Health checks
- Pakket-niveaus: basis / actief / webshop / all
- MCM Klant rol installer