mediamanagers.nl
Scanned Sun, 27 Sep 2026 20:01:18 GMT · https://mediamanagers.nl/
B Level 4 · Fast
D Level 3 · Average
Desktop B 83 Mobile D 68
WordPress WP Rocket Varnish edge
Desktop
Mobile
As Lighthouse saw it · click to enlarge
120ms TTFB
98 Lighthouse desktop · graded
70 Lighthouse mobile
1.0s LCP
0.02 CLS
gzip Compression
HIT Cache
Lab data: Lighthouse 13.5.0 desktop run, graded above · Reproduce this run on PageSpeed Insights ↗ · Mobile: 68 (D) — see it graded
Real visitors (Chrome UX Report)
Not enough Chrome traffic for field data on this page or its site, so only the lab run above is available.
Why is this different from the score in my browser?
The graded score is the desktop run. Lighthouse 13.5.0 runs at Google
through the PageSpeed Insights API on a desktop profile with no CPU or network throttling
— close to what Chrome DevTools on a laptop, GTmetrix's default test and the PageSpeed
API (which defaults to desktop) all measure, so this is the number you should be able to
reproduce: run it yourself on PageSpeed Insights .
Google ranks on mobile. That run happens too, on an emulated mid-range
Android with a 4× CPU slowdown and a throttled connection, and the same page routinely
scores 30–50 points lower there. Neither number is wrong — they are different tests.
On this page the mobile run scored 68 (D) against
83 (B) here — switch to the mobile view
to see every check graded on that run.
Lighthouse also varies a few points run to run on the same URL. Treat a trend across
several scans as the signal, never a single digit.
120ms TTFB
98 Lighthouse desktop
70 Lighthouse mobile · graded
6.8s LCP
0.00 CLS
gzip Compression
HIT Cache
Lab data: Lighthouse 13.5.0 mobile run, graded above · Reproduce this run on PageSpeed Insights ↗ · Desktop: 83 (B) — see it graded
Real visitors (Chrome UX Report)
Not enough Chrome traffic for field data on this page or its site, so only the lab run above is available.
Why is this different from the score in my browser?
This view grades the mobile run. Lighthouse 13.5.0 runs at Google
through the PageSpeed Insights API on an emulated mid-range Android with a 4× CPU
slowdown and a throttled connection. Chrome DevTools on your own machine, on the Desktop
preset, applies almost none of that, and the same page routinely scores 30–50 points
higher there. Neither number is wrong — they are different tests.
Mobile is what Google ranks on , so this is the number that affects your
search performance. On this page the desktop run scored 83 (B) against
68 (D) here — switch to the desktop view
to see every check graded on that run. To reproduce it, open the same run on PageSpeed Insights ,
or pass strategy=mobile to the PageSpeed API — it defaults to desktop.
Lighthouse also varies a few points run to run on the same URL. Treat a trend across
several scans as the signal, never a single digit.
Running WP Rocket. xSpeed replaces it plus five other plugins — and imports its settings in one click.
See the comparison →
Top fixes ranked by points recovered · desktop
1
No render-blocking resources
Fails the Lighthouse audit — 1 file: jquery.min.js · ~50ms of first paint
Pro
+5 pts
2
Modern, optimized image formats
Fails the Lighthouse audit — 6 files: documentaire-laten-maken.png.webp, bedrijfsfilm-laten-maken.png.webp, wervingsvideo-laten-maken-afbeelding.png.webp… · ~100ms of first paint
Pro
+4 pts
3
HTML compression (Brotli/GZIP)
Content-Encoding: gzip
Free
+2.5 pts
4
Minified CSS and JavaScript
Lighthouse audit score 50% — 8 files: ICJQYXV6ZXJlbiIgOiAiQWZzcGVsZW4iKTsNCiAgICAgIHBvc3Rlci5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBwbGF5aW5nID8gIlBhdXplcmVuIiA6ICJWaWRlbyBhZnNwZWxlbiIpOw0KICAgICAgaWYgKCFwbGF5aW5nKSBpZGxlT2ZmKCk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc3luY011dGUoKSB7DQogICAgICB2YXIgbSA9IHZpZGVvLm11dGVkIHx8IHZpZGVvLnZvbHVtZSA9PT0gMDsNCiAgICAgIHJvb3QuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtbXV0ZWQiLCBtKTsNCiAgICAgIGJNdXRlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG0gPyAiR2VsdWlkIGFhbiIgOiAiR2VsdWlkIHVpdCIpOw0KICAgIH0NCg0KICAgIC8qIEhldCBrYWRlciBkZSBlY2h0ZSBiZWVsZHZlcmhvdWRpbmcgdmFuIGRlIGZpbG0gZ2V2ZW4uIEVsZW1lbnRvcg0KICAgICAgIHpldCBlciBzdGFuZGFhcmQgZWVuIHZhc3RlIDE2Ojkgb3A7IGlzIGRlIGZpbG0gYnJlZGVyLCBkYW4gYmxpamZ0DQogICAgICAgZXIgendhcnQgb3ZlciBvbmRlcmluLiBab2RyYSBkZSBicm93c2VyIGRlIGFmbWV0aW5nZW4ga2VudCwgemV0dGVuDQogICAgICAgd2UgZGUgd2Vya2VsaWprZSB2ZXJob3VkaW5nIGVuIHNsdWl0IGhldCBrYWRlciBwcmVjaWVzIGFhbi4gKi8NCiAgICBmdW5jdGlvbiBzeW5jUmF0aW8oKSB7DQogICAgICB2YXIgdyA9IHZpZGVvLnZpZGVvV2lkdGgsIGggPSB2aWRlby52aWRlb0hlaWdodDsNCiAgICAgIGlmICghdyB8fCAhaCkgcmV0dXJuOw0KICAgICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1tbXYtcmF0aW8iLCB3ICsgIiAvICIgKyBoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzeW5jVGltZSgpIHsNCiAgICAgIHZhciBkID0gdmlkZW8uZHVyYXRpb247DQogICAgICB2YXIgYyA9IHZpZGVvLmN1cnJlbnRUaW1lOw0KICAgICAgdmFyIHBjdCA9IChpc0Zpbml0ZShkKSAmJiBkID4gMCkgPyAoYyAvIGQpICogMTAwIDogMDsNCiAgICAgIHNlZWsudmFsdWUgPSBNYXRoLnJvdW5kKHBjdCAqIDEwKTsNCiAgICAgIHNlZWsuc3R5bGUuc2V0UHJvcGVydHkoIi0tbW12LXByb2dyZXNzIiwgcGN0ICsgIiUiKTsNCiAgICAgIHNlZWsuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIGZtdChjKSArICIgdmFuICIgKyBmbXQoZCkpOw0KICAgICAgdGltZS50ZXh0Q29udGVudCA9IGZtdChjKSArICIgLyAiICsgZm10KGlzRmluaXRlKGQpID8gZCA6IDApOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0gb3B0aW9uZWVsIHdlZ3pha2tlbiAtLS0tLS0tLS0tICovDQoNCiAgICB2YXIgaWRsZVRpbWVyOw0KICAgIGZ1bmN0aW9uIGlkbGVPZmYoKSB7DQogICAgICBjbGVhclRpbWVvdXQoaWRsZVRpbWVyKTsNCiAgICAgIHJvb3QuY2xhc3NMaXN0LnJlbW92ZSgiaXMtaWRsZSIpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBpZGxlU29vbigpIHsNCiAgICAgIGlkbGVPZmYoKTsNCiAgICAgIGlmICghSURMRV9NUyB8fCB2aWRlby5wYXVzZWQpIHJldHVybjsNCiAgICAgIGlkbGVUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICByb290LmNsYXNzTGlzdC5hZGQoImlzLWlkbGUiKTsNCiAgICAgIH0sIElETEVfTVMpOw0KICAgIH0NCg0KICAgIGlmIChJRExFX01TKSB7DQogICAgICBzdGFnZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBpZGxlU29vbik7DQogICAgICBiYXIuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGlkbGVPZmYpOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0gYmVkaWVuaW5nIC0tLS0tLS0tLS0gKi8NCg0KICAgIGZ1bmN0aW9uIHRvZ2dsZSgpIHsNCiAgICAgIGlmICh2aWRlby5wYXVzZWQpIHsgdmlkZW8ucGxheSgpOyB9IGVsc2UgeyB2aWRlby5wYXVzZSgpOyB9DQogICAgfQ0KDQogICAgcG9zdGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdG9nZ2xlKTsNCiAgICBiUGxheS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRvZ2dsZSk7DQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0b2dnbGUpOw0KDQogICAgYlN0b3AuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7DQogICAgICB2aWRlby5wYXVzZSgpOw0KICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAwOw0KICAgIH0pOw0KDQogICAgYk11dGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7DQogICAgICB2aWRlby5tdXRlZCA9ICF2aWRlby5tdXRlZDsNCiAgICAgIHN5bmNNdXRlKCk7DQogICAgfSk7DQoNCiAgICAvKiAtLS0tIFZvbGxlZGlnIHNjaGVybQ0KDQogICAgICAgRWVuIGlQaG9uZSBrZW50IGRlIEZ1bGxzY3JlZW4gQVBJIHZvb3IgZ2V3b25lIGVsZW1lbnRlbiBOSUVUIC0tDQogICAgICAgYWxsZWVuIGlQYWQgaGVlZnQgZGllLiBEYWFyIGthbiB1aXRzbHVpdGVuZCBoZXQgdmlkZW8tZWxlbWVudCB6ZWxmDQogICAgICAgbmFhciB2b2xsZWRpZyBzY2hlcm0sIHZpYSB3ZWJraXRFbnRlckZ1bGxzY3JlZW4oKS4gRGF0IG9wZW50IGRlDQogICAgICAgc3lzdGVlbXNwZWxlciB2YW4gaU9TOyBkYXQgaXMgb3AgZWVuIGlQaG9uZSBudSBlZW5tYWFsIHdhdA0KICAgICAgIHZvbGxlZGlnIHNjaGVybSBiZXRla2VudC4NCg0KICAgICAgIERlIHZvcmlnZSB2ZXJzaWUgcmllcCBkZSBtZXRob2RlIGFhbiB6b25kZXIgdGUgY29udHJvbGVyZW4gb2YgaGlqDQogICAgICAgYmVzdG9uZC4gT3AgZWVuIGlQaG9uZSBiZXN0b25kIGdlZW4gdmFuIGJlaWRlLCBlbiBkYW4ga2xhcHQgZGUNCiAgICAgICBmdW5jdGllIGVydWl0IC0tIHZhbmRhYXIgZGF0IGRlIGtub3AgZGFhciBuaWV0cyBkZWVkLiBIaWVyb25kZXINCiAgICAgICB3b3JkdCBlbGtlIHZhcmlhbnQgYXBhcnQgZ2Vjb250cm9sZWVyZCB2b29yIGhpaiB3b3JkdCBhYW5nZXJvZXBlbi4NCiAgICAgICAtLS0tICovDQogICAgZnVuY3Rpb24gdG9nZ2xlRnVsbHNjcmVlbigpIHsNCiAgICAgIC8qIEFsIG9wIHZvbGxlZGlnIHNjaGVybT8gRGFuIHNsdWl0ZW4uICovDQogICAgICBpZiAoZnVsbHNjcmVlbkVsZW1lbnQoKSkgew0KICAgICAgICBpZiAoZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4pIHsgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTsgfQ0KICAgICAgICBlbHNlIGlmIChkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbikgeyBkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpOyB9DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCiAgICAgIGlmICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiAmJiB2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbikgew0KICAgICAgICB2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpOw0KICAgICAgICByZXR1cm47DQogICAgICB9DQoNCiAgICAgIC8qIE9wZW5lbjogZWVyc3QgaGV0IGhlbGUgYmVlbGR2bGFrIChkYW4gYmxpamZ0IG9uemUgZWlnZW4NCiAgICAgICAgIGJlZGllbmluZyB6aWNodGJhYXIpLCBlbiBwYXMgYWxzIGRhdCBuaWV0IGthbiBkZSB2aWRlbyB6ZWxmLiAqLw0KICAgICAgaWYgKHN0YWdlLnJlcXVlc3RGdWxsc2NyZWVuKSB7IHN0YWdlLnJlcXVlc3RGdWxsc2NyZWVuKCk7IHJldHVybjsgfQ0KICAgICAgaWYgKHN0YWdlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7IHN0YWdlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCk7IHJldHVybjsgfQ0KICAgICAgaWYgKHZpZGVvLndlYmtpdEVudGVyRnVsbHNjcmVlbikgeyB2aWRlby53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTsgcmV0dXJuOyB9DQogICAgfQ0KDQogICAgYkZ1bGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0b2dnbGVGdWxsc2NyZWVuKTsNCg0KICAgIC8qIE9wIGlQaG9uZSB2dXVydCBmdWxsc2NyZWVuY2hhbmdlIG5pZXQ7IGRhYXIgemlqbiBkZXplIHR3ZWUuICovDQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0YmVnaW5mdWxsc2NyZWVuIiwgZnVuY3Rpb24gKCkgew0KICAgICAgcm9vdC5jbGFzc0xpc3QuYWRkKCJpcy1mdWxsIik7DQogICAgICBiRnVsbC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAiVm9sbGVkaWcgc2NoZXJtIHNsdWl0ZW4iKTsNCiAgICB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRlbmRmdWxsc2NyZWVuIiwgZnVuY3Rpb24gKCkgew0KICAgICAgcm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1mdWxsIik7DQogICAgICBiRnVsbC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAiVm9sbGVkaWcgc2NoZXJtIik7DQogICAgfSk7DQoNCiAgICAvKiBTbGVwZW4gaW4gZGUgdGlqZGJhbGsuICdpbnB1dCcgdnV1cnQgdGlqZGVucyBoZXQgc2xlcGVuLCBkdXMgamUNCiAgICAgICB6aWV0IGhldCBiZWVsZCBtZWVsb3BlbiBpbiBwbGFhdHMgdmFuIHBhcyBiaWogbG9zbGF0ZW4uICovDQogICAgc2Vlay5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBkID0gdmlkZW8uZHVyYXRpb247DQogICAgICBpZiAoIWlzRmluaXRlKGQpIHx8IGQgPD0gMCkgcmV0dXJuOw0KICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAoc2Vlay52YWx1ZSAvIDEwMDApICogZDsNCiAgICAgIHNlZWsuc3R5bGUuc2V0UHJvcGVydHkoIi0tbW12LXByb2dyZXNzIiwgKHNlZWsudmFsdWUgLyAxMCkgKyAiJSIpOw0KICAgICAgaWRsZU9mZigpOw0KICAgIH0pOw0KDQogICAgLyogLS0tLS0tLS0tLSB0b2V0c2VuYm9yZCAtLS0tLS0tLS0tICovDQoNCiAgICBzdGFnZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsNCiAgICBzdGFnZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgIC8qIEJpbm5lbiBkZSB0aWpkYmFsayB6aWpuIGRlIHBpamx0amVzIGFsIHZhbiBkZSBzbGlkZXIgemVsZi4gKi8NCiAgICAgIGlmIChlLnRhcmdldCA9PT0gc2VlayAmJiAoZS5rZXkgPT09ICJBcnJvd0xlZnQiIHx8IGUua2V5ID09PSAiQXJyb3dSaWdodCIpKSByZXR1cm47DQoNCiAgICAgIHN3aXRjaCAoZS5rZXkpIHsNCiAgICAgICAgY2FzZSAiICI6IGNhc2UgImsiOiBjYXNlICJLIjoNCiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IHRvZ2dsZSgpOyBicmVhazsNCiAgICAgICAgY2FzZSAiQXJyb3dSaWdodCI6DQogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyB2aWRlby5jdXJyZW50VGltZSArPSBTS0lQX1M7IGJyZWFrOw0KICAgICAgICBjYXNlICJBcnJvd0xlZnQiOg0KICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgdmlkZW8uY3VycmVudFRpbWUgLT0gU0tJUF9TOyBicmVhazsNCiAgICAgICAgY2FzZSAibSI6IGNhc2UgIk0iOg0KICAgICAgICAgIHZpZGVvLm11dGVkID0gIXZpZGVvLm11dGVkOyBzeW5jTXV0ZSgpOyBicmVhazsNCiAgICAgICAgY2FzZSAiZiI6IGNhc2UgIkYiOg0KICAgICAgICAgIHRvZ2dsZUZ1bGxzY3JlZW4oKTsgYnJlYWs7DQogICAgICB9DQogICAgICBpZGxlU29vbigpOw0KICAgIH0pOw0KDQogICAgLyogLS0tLS0tLS0tLSB2aWRlb2dlYmV1cnRlbmlzc2VuIC0tLS0tLS0tLS0gKi8NCg0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbiAoKSB7DQogICAgICAvKiBab2RyYSBlciBlZW4ga2VlciBpcyBnZXNwZWVsZCwga29tdCBkZSBncm90ZSBrbm9wIGluIGhldCBtaWRkZW4NCiAgICAgICAgIG5pZXQgbWVlciB0ZXJ1ZyAtLSBvb2sgbmlldCBiaWogcGF1emVyZW4uIERlIGtub3AgaW4gZGUgYmFsaw0KICAgICAgICAgYmxpamZ0IHVpdGVyYWFyZCBnZXdvb24gc3RhYW4uICovDQogICAgICByb290LmNsYXNzTGlzdC5hZGQoImhhcy1zdGFydGVkIik7DQogICAgICBzeW5jUGxheSgpOw0KICAgICAgaWRsZVNvb24oKTsNCiAgICB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsIHN5bmNQbGF5KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJlbmRlZCIsIGZ1bmN0aW9uICgpIHsgc3luY1BsYXkoKTsgaWRsZU9mZigpOyB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIiwgc3luY1RpbWUpOw0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwgZnVuY3Rpb24gKCkgew0KICAgICAgc3luY1JhdGlvKCk7DQogICAgICBzeW5jVGltZSgpOw0KICAgIH0pOw0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHN5bmNSYXRpbyk7ICAgLyogYnJvbndpc3NlbCBvZiBhZGFwdGlldmUgc3RyZWFtICovDQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigidm9sdW1lY2hhbmdlIiwgc3luY011dGUpOw0KDQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBmdWxsID0gZnVsbHNjcmVlbkVsZW1lbnQoKSA9PT0gc3RhZ2U7DQogICAgICByb290LmNsYXNzTGlzdC50b2dnbGUoImlzLWZ1bGwiLCBmdWxsKTsNCiAgICAgIGJGdWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGZ1bGwgPyAiVm9sbGVkaWcgc2NoZXJtIHNsdWl0ZW4iIDogIlZvbGxlZGlnIHNjaGVybSIpOw0KICAgIH0pOw0KDQogICAgc3luY1JhdGlvKCk7ICAgICAgLyogbWVlc3RhbCBhbCBiZWtlbmQgYWxzIGRlIG1ldGFkYXRhIGVyIGlzICovDQogICAgc3luY1BsYXkoKTsNCiAgICBzeW5jTXV0ZSgpOw0KICAgIHN5bmNUaW1lKCk7DQogIH0NCg0KICBmdW5jdGlvbiBpbml0QWxsKCkgew0KICAgIHZhciByb290cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tbS12aWRlbyIpOw0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocm9vdHMsIGJ1aWxkKTsNCiAgfQ0KDQogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAibG9hZGluZyIpIHsNCiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgaW5pdEFsbCk7DQogIH0gZWxzZSB7DQogICAgaW5pdEFsbCgpOw0KICB9DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdEFsbCk7ICAgLyogdmFuZ25ldCB2b29yIHRyYWdlIGluaXQgKi8NCn0pKCk7DQo= (), (), IHJhd1RpbGUudHJpbSgpIDogcmF3VGlsZS5zbGljZSgwLCBpZHgpLnRyaW0oKTsNCiAgICB2YXIgc3VidGl0bGUgPSBpZHggPT09IC0xID8gIiIgOiByYXdUaWxlLnNsaWNlKGlkeCArIDIpLnRyaW0oKTsNCiAgICBpZiAoIXRpdGxlICYmICFzdWJ0aXRsZSkgcmV0dXJuIG51bGw7DQoNCiAgICB2YXIgY2FwdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgIGNhcHRpb24uY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fY2FwdGlvbiI7DQoNCiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgIHRleHQuY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fdGV4dCI7DQoNCiAgICB2YXIgdGl0bGVFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsNCiAgICB0aXRsZUVsLmNsYXNzTmFtZSA9ICJtbS1wb3J0Zm9saW8tYmVudG9fX3RpdGxlIjsNCiAgICB0aXRsZUVsLnRleHRDb250ZW50ID0gdGl0bGU7DQogICAgdGV4dC5hcHBlbmRDaGlsZCh0aXRsZUVsKTsNCg0KICAgIGlmIChzdWJ0aXRsZSkgew0KICAgICAgdmFyIHN1YkVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOw0KICAgICAgc3ViRWwuY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fc3VidGl0bGUiOw0KICAgICAgc3ViRWwudGV4dENvbnRlbnQgPSBzdWJ0aXRsZTsNCiAgICAgIHRleHQuYXBwZW5kQ2hpbGQoc3ViRWwpOw0KICAgIH0NCg0KICAgIGNhcHRpb24uYXBwZW5kQ2hpbGQodGV4dCk7DQogICAgcmV0dXJuIGNhcHRpb247DQogIH0NCg0KICBmdW5jdGlvbiBidWlsZEZyb21MZWdhY3koc2NvcGUsIGlubmVyLCBncmlkKSB7DQogICAgdmFyIGNhcHRpb25zID0gbGVnYWN5Q2FwdGlvbnMoc2NvcGUpOw0KICAgIHZhciBpbWFnZXMgPSBpbm5lci5xdWVyeVNlbGVjdG9yQWxsKCJpbWc6bm90KC5tbS1wb3J0Zm9saW8tYmVudG9fX2ltZykiKTsNCg0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoaW1hZ2VzLCBmdW5jdGlvbiAoaW1nLCBpKSB7DQogICAgICBpZiAoaW1nLmNsb3Nlc3QoIi5tbS1wb3J0Zm9saW8tYmVudG9fX3RpbGUiKSkgcmV0dXJuOw0KDQogICAgICB2YXIgbGluayA9IGltZy5jbG9zZXN0KCJhIik7DQogICAgICB2YXIgdGlsZTsNCg0KICAgICAgaWYgKGxpbmspIHsNCiAgICAgICAgdGlsZSA9IGxpbms7ICAgICAgICAgICAgICAgICAgICAgICAvKiBiZXN0YWFuZGUgbGluayB3b3JkdCBkZSBrYWFydCAqLw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICBpbWcucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGlsZSwgaW1nKTsNCiAgICAgICAgdGlsZS5hcHBlbmRDaGlsZChpbWcpOw0KICAgICAgfQ0KDQogICAgICB0aWxlLmNsYXNzTGlzdC5hZGQoIm1tLXBvcnRmb2xpby1iZW50b19fdGlsZSIpOw0KICAgICAgaWYgKCF0aWxlLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSkgdGlsZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsNCiAgICAgIGltZy5jbGFzc0xpc3QuYWRkKCJtbS1wb3J0Zm9saW8tYmVudG9fX2ltZyIpOw0KDQogICAgICB2YXIgcmF3ID0gKGNhcHRpb25zICYmIGkgPCBjYXB0aW9ucy5sZW5ndGgpID8gY2FwdGlvbnNbaV0gOiBGQUxMQkFDS19USVRMRTsNCiAgICAgIHZhciBjYXB0aW9uID0gbGVnYWN5Q2FwdGlvbk5vZGUocmF3KTsNCiAgICAgIGlmIChjYXB0aW9uKSB0aWxlLmFwcGVuZENoaWxkKGNhcHRpb24pOw0KDQogICAgICBpZiAodGlsZS5wYXJlbnROb2RlICE9PSBncmlkKSBncmlkLmFwcGVuZENoaWxkKHRpbGUpOw0KICAgIH0pOw0KICB9DQoNCg0KICAvKiAtLS0tLS0tLS0tIHN0YXJ0IC0tLS0tLS0tLS0gKi8NCg0KICBmdW5jdGlvbiBpbml0U2NvcGUoc2NvcGUpIHsNCiAgICB2YXIgaW5uZXIgPSBzY29wZS5xdWVyeVNlbGVjdG9yKCI6c2NvcGUgPiAuZS1jb24taW5uZXIiKQ0KICAgICAgfHwgc2NvcGUucXVlcnlTZWxlY3RvcigiLmUtY29uLWlubmVyIikNCiAgICAgIHx8IHNjb3BlOw0KDQogICAgdmFyIGdyaWQgPSBlbnN1cmVHcmlkKGlubmVyKTsNCg0KICAgIGlmIChzY29wZS5xdWVyeVNlbGVjdG9yKCIubW0tcG9ydGZvbGlvLWJlbnRvX190aXRsZSIpKSB7DQogICAgICBidWlsZEZyb21IdG1sKGlubmVyLCBncmlkKTsgICAgICAgIC8qIG5pZXV3ZSBtZXRob2RlICovDQogICAgfSBlbHNlIHsNCiAgICAgIGJ1aWxkRnJvbUxlZ2FjeShzY29wZSwgaW5uZXIsIGdyaWQpOyAgLyogdGVydWd2YWwsIHRvdCBqZSBnZW1pZ3JlZXJkIGJlbnQgKi8NCiAgICB9DQogIH0NCg0KICBmdW5jdGlvbiBpbml0QWxsKCkgew0KICAgIHZhciBzY29wZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubW0tcG9ydGZvbGlvLWJlbnRvIik7DQogICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzY29wZXMsIGluaXRTY29wZSk7DQogIH0NCg0KICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImxvYWRpbmciKSB7DQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGluaXRBbGwpOw0KICB9IGVsc2Ugew0KICAgIGluaXRBbGwoKTsNCiAgfQ0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXRBbGwpOyAgIC8qIHZhbmduZXQgdm9vciB0cmFnZSBpbml0ICovDQp9KSgpOw0K ()…
Free
+2 pts
5
Powered by xSpeed
Running WP Rocket instead
Free
+2 pts
Top fixes ranked by points recovered · mobile
1
Largest Contentful Paint ≤ 2.5s
LCP 6.8s
Free
+8 pts
2
Lighthouse performance score (mobile)
70/100 (Lighthouse 13.5.0, mobile)
Free
+5.4 pts
3
No render-blocking resources
Fails the Lighthouse audit — 1 file: jquery.min.js · ~350ms of first paint
Pro
+5 pts
4
Modern, optimized image formats
Fails the Lighthouse audit — 4 files: bedrijfsfilm-laten-maken-768x768.png.webp, animatie-laten-maken-768x768.png.webp, wervingsvideo-laten-maken-afbeelding-768x768.png.webp… · ~450ms of first paint
Pro
+4 pts
5
HTML compression (Brotli/GZIP)
Content-Encoding: gzip
Free
+2.5 pts
6
First Contentful Paint ≤ 1.8s
FCP 2.3s
Free
+2 pts
This is WordPress — the fixes below are one plugin away
✓ WordPress Detected
→ xSpeed Cache installed Free on wordpress.org — the setup wizard turns most of this report green.
– MCP signal present The scan did not confirm MCP availability. Configure it in xSpeed → MCP Server, then verify authenticated access from an MCP client.
– xSpeed Hub signal Optional: review Hub configuration and confirm authorized site membership at app.xspeedcache.com .
7 of these checks map to an xSpeed feature. Install the free xSpeed Cache plugin, connect its built-in MCP server, and your AI assistant can apply every fix and re-verify. If your AI already has access to the site (WP-CLI, SSH or hosting MCP), paste this:
My WordPress site mediamanagers.nl scored 83/100 on xSpeed Scan (https://xspeedcache.com/scan/r/mediamanagers-nl-a40b5735af). Install and activate the free xSpeed Cache plugin from wordpress.org/plugins/xspeed, run "wp xspeed mcp connect" and give me the MCP URL to paste into my AI client. Then read the failing checks from https://xspeedcache.com/scan/r/mediamanagers-nl-a40b5735af.md and apply the fixes: enable page caching, compression, minification and lazy loading, warm the cache, and re-scan at https://xspeedcache.com/scan to confirm the score improved.Copy
Get xSpeed Cache
Explore the features
Hosting is the other half.
xSpeed makes any host faster, but a cache is only as fast as the server behind a MISS.
xCloud — managed hosting from the team behind xSpeed — gives the cache an origin tuned for it, with agent/MCP access built in and bring-your-own-server pricing.
Explore xCloud.host →
Run this scan without the form
Plug xSpeed Scan into your agent stack, or test any site from a chat.
Connect this scanner to your AI assistant
Free. No API key, no sign-up. Scan any public site and get the same graded report as this one, with the fix for every failing check.
Endpoint
https://xspeedcache.com/scan/mcpCopy
Claude Code — one command
claude mcp add --transport http xspeed-scan https://xspeedcache.com/scan/mcpCopy
Claude Desktop, Cursor, or any MCP client — add to your config
{
"mcpServers": {
"xspeed-scan": {
"type": "http",
"url": "https://xspeedcache.com/scan/mcp"
}
}
}Copy
Read the MCP documentation →
A+
Lab performance (Lighthouse)
5/5 checks passed · 39.6/40 pts earned
99/100
Pass
Lighthouse performance score (desktop) 17.6/18 pts
98/100 (Lighthouse 13.5.0, desktop)
Pass
Largest Contentful Paint ≤ 2.5s 8/8 pts
LCP 1.0s
Pass
Cumulative Layout Shift ≤ 0.1 5/5 pts
CLS 0.025
Pass
Total Blocking Time ≤ 200ms 5/5 pts
TBT 101ms
Pass
First Contentful Paint ≤ 1.8s 4/4 pts
FCP 521ms
A
Server response & caching
5/6 checks passed · 27.5/30 pts earned
92/100
Pass
Time to first byte ≤ 200ms 8/8 pts
TTFB 120ms measured from Vilnius, Lithuania (EU) (best of 2 requests). This includes the network round trips between us and your origin, not just server time. Google measured your server responding in 16ms from its own network — the gap between the two numbers is distance, not your server.
Pass
Page served from cache 7/7 pts
Cache HIT evidence in response headers
Partial
HTML compression (Brotli/GZIP) 2.5/5 pts
Content-Encoding: gzip
Compress text responses — Brotli typically saves ~15–20% over GZIP.
xSpeed Free
GZIP (Brotli in Pro)
AI prompt Using my site's xSpeed MCP connection: enable GZIP compression (and Brotli if Pro), then confirm the HTML response is compressed.
Pass
Efficient cache policy on static assets 5/5 pts
Passes the Lighthouse cache-policy audit
Pass
CDN / edge network 3/3 pts
Varnish edge detected
Pass
Clean redirect chain 2/2 pts
No redirects — the URL answers directly
F
Asset optimization
1/5 checks passed · 5/16 pts earned
31/100
Fail
No render-blocking resources 0/5 pts
Fails the Lighthouse audit — 1 file: jquery.min.js · ~50ms of first paint
CSS/JS in <head> blocks first paint. Inline the critical CSS and defer the rest.
xSpeed Pro
Critical CSS + Unused CSS removal
AI prompt Using my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test.
Partial
Minified CSS and JavaScript 2/4 pts
Lighthouse audit score 50% — 8 files: ICJQYXV6ZXJlbiIgOiAiQWZzcGVsZW4iKTsNCiAgICAgIHBvc3Rlci5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBwbGF5aW5nID8gIlBhdXplcmVuIiA6ICJWaWRlbyBhZnNwZWxlbiIpOw0KICAgICAgaWYgKCFwbGF5aW5nKSBpZGxlT2ZmKCk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc3luY011dGUoKSB7DQogICAgICB2YXIgbSA9IHZpZGVvLm11dGVkIHx8IHZpZGVvLnZvbHVtZSA9PT0gMDsNCiAgICAgIHJvb3QuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtbXV0ZWQiLCBtKTsNCiAgICAgIGJNdXRlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG0gPyAiR2VsdWlkIGFhbiIgOiAiR2VsdWlkIHVpdCIpOw0KICAgIH0NCg0KICAgIC8qIEhldCBrYWRlciBkZSBlY2h0ZSBiZWVsZHZlcmhvdWRpbmcgdmFuIGRlIGZpbG0gZ2V2ZW4uIEVsZW1lbnRvcg0KICAgICAgIHpldCBlciBzdGFuZGFhcmQgZWVuIHZhc3RlIDE2Ojkgb3A7IGlzIGRlIGZpbG0gYnJlZGVyLCBkYW4gYmxpamZ0DQogICAgICAgZXIgendhcnQgb3ZlciBvbmRlcmluLiBab2RyYSBkZSBicm93c2VyIGRlIGFmbWV0aW5nZW4ga2VudCwgemV0dGVuDQogICAgICAgd2UgZGUgd2Vya2VsaWprZSB2ZXJob3VkaW5nIGVuIHNsdWl0IGhldCBrYWRlciBwcmVjaWVzIGFhbi4gKi8NCiAgICBmdW5jdGlvbiBzeW5jUmF0aW8oKSB7DQogICAgICB2YXIgdyA9IHZpZGVvLnZpZGVvV2lkdGgsIGggPSB2aWRlby52aWRlb0hlaWdodDsNCiAgICAgIGlmICghdyB8fCAhaCkgcmV0dXJuOw0KICAgICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1tbXYtcmF0aW8iLCB3ICsgIiAvICIgKyBoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzeW5jVGltZSgpIHsNCiAgICAgIHZhciBkID0gdmlkZW8uZHVyYXRpb247DQogICAgICB2YXIgYyA9IHZpZGVvLmN1cnJlbnRUaW1lOw0KICAgICAgdmFyIHBjdCA9IChpc0Zpbml0ZShkKSAmJiBkID4gMCkgPyAoYyAvIGQpICogMTAwIDogMDsNCiAgICAgIHNlZWsudmFsdWUgPSBNYXRoLnJvdW5kKHBjdCAqIDEwKTsNCiAgICAgIHNlZWsuc3R5bGUuc2V0UHJvcGVydHkoIi0tbW12LXByb2dyZXNzIiwgcGN0ICsgIiUiKTsNCiAgICAgIHNlZWsuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIGZtdChjKSArICIgdmFuICIgKyBmbXQoZCkpOw0KICAgICAgdGltZS50ZXh0Q29udGVudCA9IGZtdChjKSArICIgLyAiICsgZm10KGlzRmluaXRlKGQpID8gZCA6IDApOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0gb3B0aW9uZWVsIHdlZ3pha2tlbiAtLS0tLS0tLS0tICovDQoNCiAgICB2YXIgaWRsZVRpbWVyOw0KICAgIGZ1bmN0aW9uIGlkbGVPZmYoKSB7DQogICAgICBjbGVhclRpbWVvdXQoaWRsZVRpbWVyKTsNCiAgICAgIHJvb3QuY2xhc3NMaXN0LnJlbW92ZSgiaXMtaWRsZSIpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBpZGxlU29vbigpIHsNCiAgICAgIGlkbGVPZmYoKTsNCiAgICAgIGlmICghSURMRV9NUyB8fCB2aWRlby5wYXVzZWQpIHJldHVybjsNCiAgICAgIGlkbGVUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICByb290LmNsYXNzTGlzdC5hZGQoImlzLWlkbGUiKTsNCiAgICAgIH0sIElETEVfTVMpOw0KICAgIH0NCg0KICAgIGlmIChJRExFX01TKSB7DQogICAgICBzdGFnZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBpZGxlU29vbik7DQogICAgICBiYXIuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGlkbGVPZmYpOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0gYmVkaWVuaW5nIC0tLS0tLS0tLS0gKi8NCg0KICAgIGZ1bmN0aW9uIHRvZ2dsZSgpIHsNCiAgICAgIGlmICh2aWRlby5wYXVzZWQpIHsgdmlkZW8ucGxheSgpOyB9IGVsc2UgeyB2aWRlby5wYXVzZSgpOyB9DQogICAgfQ0KDQogICAgcG9zdGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdG9nZ2xlKTsNCiAgICBiUGxheS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRvZ2dsZSk7DQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0b2dnbGUpOw0KDQogICAgYlN0b3AuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7DQogICAgICB2aWRlby5wYXVzZSgpOw0KICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAwOw0KICAgIH0pOw0KDQogICAgYk11dGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7DQogICAgICB2aWRlby5tdXRlZCA9ICF2aWRlby5tdXRlZDsNCiAgICAgIHN5bmNNdXRlKCk7DQogICAgfSk7DQoNCiAgICAvKiAtLS0tIFZvbGxlZGlnIHNjaGVybQ0KDQogICAgICAgRWVuIGlQaG9uZSBrZW50IGRlIEZ1bGxzY3JlZW4gQVBJIHZvb3IgZ2V3b25lIGVsZW1lbnRlbiBOSUVUIC0tDQogICAgICAgYWxsZWVuIGlQYWQgaGVlZnQgZGllLiBEYWFyIGthbiB1aXRzbHVpdGVuZCBoZXQgdmlkZW8tZWxlbWVudCB6ZWxmDQogICAgICAgbmFhciB2b2xsZWRpZyBzY2hlcm0sIHZpYSB3ZWJraXRFbnRlckZ1bGxzY3JlZW4oKS4gRGF0IG9wZW50IGRlDQogICAgICAgc3lzdGVlbXNwZWxlciB2YW4gaU9TOyBkYXQgaXMgb3AgZWVuIGlQaG9uZSBudSBlZW5tYWFsIHdhdA0KICAgICAgIHZvbGxlZGlnIHNjaGVybSBiZXRla2VudC4NCg0KICAgICAgIERlIHZvcmlnZSB2ZXJzaWUgcmllcCBkZSBtZXRob2RlIGFhbiB6b25kZXIgdGUgY29udHJvbGVyZW4gb2YgaGlqDQogICAgICAgYmVzdG9uZC4gT3AgZWVuIGlQaG9uZSBiZXN0b25kIGdlZW4gdmFuIGJlaWRlLCBlbiBkYW4ga2xhcHQgZGUNCiAgICAgICBmdW5jdGllIGVydWl0IC0tIHZhbmRhYXIgZGF0IGRlIGtub3AgZGFhciBuaWV0cyBkZWVkLiBIaWVyb25kZXINCiAgICAgICB3b3JkdCBlbGtlIHZhcmlhbnQgYXBhcnQgZ2Vjb250cm9sZWVyZCB2b29yIGhpaiB3b3JkdCBhYW5nZXJvZXBlbi4NCiAgICAgICAtLS0tICovDQogICAgZnVuY3Rpb24gdG9nZ2xlRnVsbHNjcmVlbigpIHsNCiAgICAgIC8qIEFsIG9wIHZvbGxlZGlnIHNjaGVybT8gRGFuIHNsdWl0ZW4uICovDQogICAgICBpZiAoZnVsbHNjcmVlbkVsZW1lbnQoKSkgew0KICAgICAgICBpZiAoZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4pIHsgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTsgfQ0KICAgICAgICBlbHNlIGlmIChkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbikgeyBkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpOyB9DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCiAgICAgIGlmICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiAmJiB2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbikgew0KICAgICAgICB2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpOw0KICAgICAgICByZXR1cm47DQogICAgICB9DQoNCiAgICAgIC8qIE9wZW5lbjogZWVyc3QgaGV0IGhlbGUgYmVlbGR2bGFrIChkYW4gYmxpamZ0IG9uemUgZWlnZW4NCiAgICAgICAgIGJlZGllbmluZyB6aWNodGJhYXIpLCBlbiBwYXMgYWxzIGRhdCBuaWV0IGthbiBkZSB2aWRlbyB6ZWxmLiAqLw0KICAgICAgaWYgKHN0YWdlLnJlcXVlc3RGdWxsc2NyZWVuKSB7IHN0YWdlLnJlcXVlc3RGdWxsc2NyZWVuKCk7IHJldHVybjsgfQ0KICAgICAgaWYgKHN0YWdlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7IHN0YWdlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCk7IHJldHVybjsgfQ0KICAgICAgaWYgKHZpZGVvLndlYmtpdEVudGVyRnVsbHNjcmVlbikgeyB2aWRlby53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTsgcmV0dXJuOyB9DQogICAgfQ0KDQogICAgYkZ1bGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0b2dnbGVGdWxsc2NyZWVuKTsNCg0KICAgIC8qIE9wIGlQaG9uZSB2dXVydCBmdWxsc2NyZWVuY2hhbmdlIG5pZXQ7IGRhYXIgemlqbiBkZXplIHR3ZWUuICovDQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0YmVnaW5mdWxsc2NyZWVuIiwgZnVuY3Rpb24gKCkgew0KICAgICAgcm9vdC5jbGFzc0xpc3QuYWRkKCJpcy1mdWxsIik7DQogICAgICBiRnVsbC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAiVm9sbGVkaWcgc2NoZXJtIHNsdWl0ZW4iKTsNCiAgICB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRlbmRmdWxsc2NyZWVuIiwgZnVuY3Rpb24gKCkgew0KICAgICAgcm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1mdWxsIik7DQogICAgICBiRnVsbC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAiVm9sbGVkaWcgc2NoZXJtIik7DQogICAgfSk7DQoNCiAgICAvKiBTbGVwZW4gaW4gZGUgdGlqZGJhbGsuICdpbnB1dCcgdnV1cnQgdGlqZGVucyBoZXQgc2xlcGVuLCBkdXMgamUNCiAgICAgICB6aWV0IGhldCBiZWVsZCBtZWVsb3BlbiBpbiBwbGFhdHMgdmFuIHBhcyBiaWogbG9zbGF0ZW4uICovDQogICAgc2Vlay5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBkID0gdmlkZW8uZHVyYXRpb247DQogICAgICBpZiAoIWlzRmluaXRlKGQpIHx8IGQgPD0gMCkgcmV0dXJuOw0KICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAoc2Vlay52YWx1ZSAvIDEwMDApICogZDsNCiAgICAgIHNlZWsuc3R5bGUuc2V0UHJvcGVydHkoIi0tbW12LXByb2dyZXNzIiwgKHNlZWsudmFsdWUgLyAxMCkgKyAiJSIpOw0KICAgICAgaWRsZU9mZigpOw0KICAgIH0pOw0KDQogICAgLyogLS0tLS0tLS0tLSB0b2V0c2VuYm9yZCAtLS0tLS0tLS0tICovDQoNCiAgICBzdGFnZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsNCiAgICBzdGFnZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgIC8qIEJpbm5lbiBkZSB0aWpkYmFsayB6aWpuIGRlIHBpamx0amVzIGFsIHZhbiBkZSBzbGlkZXIgemVsZi4gKi8NCiAgICAgIGlmIChlLnRhcmdldCA9PT0gc2VlayAmJiAoZS5rZXkgPT09ICJBcnJvd0xlZnQiIHx8IGUua2V5ID09PSAiQXJyb3dSaWdodCIpKSByZXR1cm47DQoNCiAgICAgIHN3aXRjaCAoZS5rZXkpIHsNCiAgICAgICAgY2FzZSAiICI6IGNhc2UgImsiOiBjYXNlICJLIjoNCiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IHRvZ2dsZSgpOyBicmVhazsNCiAgICAgICAgY2FzZSAiQXJyb3dSaWdodCI6DQogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyB2aWRlby5jdXJyZW50VGltZSArPSBTS0lQX1M7IGJyZWFrOw0KICAgICAgICBjYXNlICJBcnJvd0xlZnQiOg0KICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgdmlkZW8uY3VycmVudFRpbWUgLT0gU0tJUF9TOyBicmVhazsNCiAgICAgICAgY2FzZSAibSI6IGNhc2UgIk0iOg0KICAgICAgICAgIHZpZGVvLm11dGVkID0gIXZpZGVvLm11dGVkOyBzeW5jTXV0ZSgpOyBicmVhazsNCiAgICAgICAgY2FzZSAiZiI6IGNhc2UgIkYiOg0KICAgICAgICAgIHRvZ2dsZUZ1bGxzY3JlZW4oKTsgYnJlYWs7DQogICAgICB9DQogICAgICBpZGxlU29vbigpOw0KICAgIH0pOw0KDQogICAgLyogLS0tLS0tLS0tLSB2aWRlb2dlYmV1cnRlbmlzc2VuIC0tLS0tLS0tLS0gKi8NCg0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbiAoKSB7DQogICAgICAvKiBab2RyYSBlciBlZW4ga2VlciBpcyBnZXNwZWVsZCwga29tdCBkZSBncm90ZSBrbm9wIGluIGhldCBtaWRkZW4NCiAgICAgICAgIG5pZXQgbWVlciB0ZXJ1ZyAtLSBvb2sgbmlldCBiaWogcGF1emVyZW4uIERlIGtub3AgaW4gZGUgYmFsaw0KICAgICAgICAgYmxpamZ0IHVpdGVyYWFyZCBnZXdvb24gc3RhYW4uICovDQogICAgICByb290LmNsYXNzTGlzdC5hZGQoImhhcy1zdGFydGVkIik7DQogICAgICBzeW5jUGxheSgpOw0KICAgICAgaWRsZVNvb24oKTsNCiAgICB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsIHN5bmNQbGF5KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJlbmRlZCIsIGZ1bmN0aW9uICgpIHsgc3luY1BsYXkoKTsgaWRsZU9mZigpOyB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIiwgc3luY1RpbWUpOw0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwgZnVuY3Rpb24gKCkgew0KICAgICAgc3luY1JhdGlvKCk7DQogICAgICBzeW5jVGltZSgpOw0KICAgIH0pOw0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHN5bmNSYXRpbyk7ICAgLyogYnJvbndpc3NlbCBvZiBhZGFwdGlldmUgc3RyZWFtICovDQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigidm9sdW1lY2hhbmdlIiwgc3luY011dGUpOw0KDQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBmdWxsID0gZnVsbHNjcmVlbkVsZW1lbnQoKSA9PT0gc3RhZ2U7DQogICAgICByb290LmNsYXNzTGlzdC50b2dnbGUoImlzLWZ1bGwiLCBmdWxsKTsNCiAgICAgIGJGdWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGZ1bGwgPyAiVm9sbGVkaWcgc2NoZXJtIHNsdWl0ZW4iIDogIlZvbGxlZGlnIHNjaGVybSIpOw0KICAgIH0pOw0KDQogICAgc3luY1JhdGlvKCk7ICAgICAgLyogbWVlc3RhbCBhbCBiZWtlbmQgYWxzIGRlIG1ldGFkYXRhIGVyIGlzICovDQogICAgc3luY1BsYXkoKTsNCiAgICBzeW5jTXV0ZSgpOw0KICAgIHN5bmNUaW1lKCk7DQogIH0NCg0KICBmdW5jdGlvbiBpbml0QWxsKCkgew0KICAgIHZhciByb290cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tbS12aWRlbyIpOw0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocm9vdHMsIGJ1aWxkKTsNCiAgfQ0KDQogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAibG9hZGluZyIpIHsNCiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgaW5pdEFsbCk7DQogIH0gZWxzZSB7DQogICAgaW5pdEFsbCgpOw0KICB9DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdEFsbCk7ICAgLyogdmFuZ25ldCB2b29yIHRyYWdlIGluaXQgKi8NCn0pKCk7DQo= (), (), IHJhd1RpbGUudHJpbSgpIDogcmF3VGlsZS5zbGljZSgwLCBpZHgpLnRyaW0oKTsNCiAgICB2YXIgc3VidGl0bGUgPSBpZHggPT09IC0xID8gIiIgOiByYXdUaWxlLnNsaWNlKGlkeCArIDIpLnRyaW0oKTsNCiAgICBpZiAoIXRpdGxlICYmICFzdWJ0aXRsZSkgcmV0dXJuIG51bGw7DQoNCiAgICB2YXIgY2FwdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgIGNhcHRpb24uY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fY2FwdGlvbiI7DQoNCiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgIHRleHQuY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fdGV4dCI7DQoNCiAgICB2YXIgdGl0bGVFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsNCiAgICB0aXRsZUVsLmNsYXNzTmFtZSA9ICJtbS1wb3J0Zm9saW8tYmVudG9fX3RpdGxlIjsNCiAgICB0aXRsZUVsLnRleHRDb250ZW50ID0gdGl0bGU7DQogICAgdGV4dC5hcHBlbmRDaGlsZCh0aXRsZUVsKTsNCg0KICAgIGlmIChzdWJ0aXRsZSkgew0KICAgICAgdmFyIHN1YkVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOw0KICAgICAgc3ViRWwuY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fc3VidGl0bGUiOw0KICAgICAgc3ViRWwudGV4dENvbnRlbnQgPSBzdWJ0aXRsZTsNCiAgICAgIHRleHQuYXBwZW5kQ2hpbGQoc3ViRWwpOw0KICAgIH0NCg0KICAgIGNhcHRpb24uYXBwZW5kQ2hpbGQodGV4dCk7DQogICAgcmV0dXJuIGNhcHRpb247DQogIH0NCg0KICBmdW5jdGlvbiBidWlsZEZyb21MZWdhY3koc2NvcGUsIGlubmVyLCBncmlkKSB7DQogICAgdmFyIGNhcHRpb25zID0gbGVnYWN5Q2FwdGlvbnMoc2NvcGUpOw0KICAgIHZhciBpbWFnZXMgPSBpbm5lci5xdWVyeVNlbGVjdG9yQWxsKCJpbWc6bm90KC5tbS1wb3J0Zm9saW8tYmVudG9fX2ltZykiKTsNCg0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoaW1hZ2VzLCBmdW5jdGlvbiAoaW1nLCBpKSB7DQogICAgICBpZiAoaW1nLmNsb3Nlc3QoIi5tbS1wb3J0Zm9saW8tYmVudG9fX3RpbGUiKSkgcmV0dXJuOw0KDQogICAgICB2YXIgbGluayA9IGltZy5jbG9zZXN0KCJhIik7DQogICAgICB2YXIgdGlsZTsNCg0KICAgICAgaWYgKGxpbmspIHsNCiAgICAgICAgdGlsZSA9IGxpbms7ICAgICAgICAgICAgICAgICAgICAgICAvKiBiZXN0YWFuZGUgbGluayB3b3JkdCBkZSBrYWFydCAqLw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICBpbWcucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGlsZSwgaW1nKTsNCiAgICAgICAgdGlsZS5hcHBlbmRDaGlsZChpbWcpOw0KICAgICAgfQ0KDQogICAgICB0aWxlLmNsYXNzTGlzdC5hZGQoIm1tLXBvcnRmb2xpby1iZW50b19fdGlsZSIpOw0KICAgICAgaWYgKCF0aWxlLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSkgdGlsZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsNCiAgICAgIGltZy5jbGFzc0xpc3QuYWRkKCJtbS1wb3J0Zm9saW8tYmVudG9fX2ltZyIpOw0KDQogICAgICB2YXIgcmF3ID0gKGNhcHRpb25zICYmIGkgPCBjYXB0aW9ucy5sZW5ndGgpID8gY2FwdGlvbnNbaV0gOiBGQUxMQkFDS19USVRMRTsNCiAgICAgIHZhciBjYXB0aW9uID0gbGVnYWN5Q2FwdGlvbk5vZGUocmF3KTsNCiAgICAgIGlmIChjYXB0aW9uKSB0aWxlLmFwcGVuZENoaWxkKGNhcHRpb24pOw0KDQogICAgICBpZiAodGlsZS5wYXJlbnROb2RlICE9PSBncmlkKSBncmlkLmFwcGVuZENoaWxkKHRpbGUpOw0KICAgIH0pOw0KICB9DQoNCg0KICAvKiAtLS0tLS0tLS0tIHN0YXJ0IC0tLS0tLS0tLS0gKi8NCg0KICBmdW5jdGlvbiBpbml0U2NvcGUoc2NvcGUpIHsNCiAgICB2YXIgaW5uZXIgPSBzY29wZS5xdWVyeVNlbGVjdG9yKCI6c2NvcGUgPiAuZS1jb24taW5uZXIiKQ0KICAgICAgfHwgc2NvcGUucXVlcnlTZWxlY3RvcigiLmUtY29uLWlubmVyIikNCiAgICAgIHx8IHNjb3BlOw0KDQogICAgdmFyIGdyaWQgPSBlbnN1cmVHcmlkKGlubmVyKTsNCg0KICAgIGlmIChzY29wZS5xdWVyeVNlbGVjdG9yKCIubW0tcG9ydGZvbGlvLWJlbnRvX190aXRsZSIpKSB7DQogICAgICBidWlsZEZyb21IdG1sKGlubmVyLCBncmlkKTsgICAgICAgIC8qIG5pZXV3ZSBtZXRob2RlICovDQogICAgfSBlbHNlIHsNCiAgICAgIGJ1aWxkRnJvbUxlZ2FjeShzY29wZSwgaW5uZXIsIGdyaWQpOyAgLyogdGVydWd2YWwsIHRvdCBqZSBnZW1pZ3JlZXJkIGJlbnQgKi8NCiAgICB9DQogIH0NCg0KICBmdW5jdGlvbiBpbml0QWxsKCkgew0KICAgIHZhciBzY29wZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubW0tcG9ydGZvbGlvLWJlbnRvIik7DQogICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzY29wZXMsIGluaXRTY29wZSk7DQogIH0NCg0KICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImxvYWRpbmciKSB7DQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGluaXRBbGwpOw0KICB9IGVsc2Ugew0KICAgIGluaXRBbGwoKTsNCiAgfQ0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXRBbGwpOyAgIC8qIHZhbmduZXQgdm9vciB0cmFnZSBpbml0ICovDQp9KSgpOw0K ()…
Every unminified file here is served by another host (), so minifying them is not yours to fix — the fix is to load fewer of them, or load them later.
xSpeed Free
HTML/CSS/JS Minify
AI prompt Using my site's xSpeed MCP connection: enable HTML, CSS and JS minification, purge the cache, and re-test.
Fail
Modern, optimized image formats 0/4 pts
Fails the Lighthouse audit — 6 files: documentaire-laten-maken.png.webp, bedrijfsfilm-laten-maken.png.webp, wervingsvideo-laten-maken-afbeelding.png.webp… · ~100ms of first paint
Serve WebP/AVIF at the right compression — usually the single largest byte saving.
xSpeed Pro
Image Converter (WebP/AVIF)
AI prompt Using my site's xSpeed MCP connection: enable WebP/AVIF conversion with URL rewriting, then re-test image audits.
Info
LCP image discoverable early —
Audit not reported for this page
Re-run when Lighthouse is available.
xSpeed Free
Resource Hints (preload) + Lazy Load exclusions
AI prompt Using my site's xSpeed MCP connection: preload the LCP image for this page and exclude it from lazy loading, then re-test LCP.
Pass
Total page weight ≤ 1.5MB 3/3 pts
1.1MB transferred
C
Platform & xSpeed readiness
1/4 checks passed · 6/8 pts earned
75/100
Info
Platform
WordPress detected (WP Rocket 3.23.3.3)
Informational.
Pass
Caching plugin active 4/4 pts
WP Rocket (WP Rocket HTML signature)
Partial
Powered by xSpeed 2/4 pts
Running WP Rocket instead
xSpeed bundles caching, minification, lazy-load, image optimization and an AI-controllable MCP server in one plugin — and imports settings from other caching plugins in one click.
xSpeed Free
xSpeed Migration (one-click import)
AI prompt Install xSpeed and use its Migration tool to import your current caching settings, then deactivate the old plugin.
Info
xSpeed MCP route response not confirmed —
This scan did not confirm an xSpeed MCP route response. Client authentication and control were not tested.
Configure an MCP client for this endpoint and verify authenticated access before relying on it to inspect or change the site.
xSpeed Free
MCP Server (built into xSpeed Free)
AI prompt In xSpeed → MCP Server, click Connect and paste the config into your AI client — then ask it to fix this report.
D
Lab performance (Lighthouse)
2/5 checks passed · 24.6/40 pts earned
62/100
Partial
Lighthouse performance score (mobile) 12.6/18 pts
70/100 (Lighthouse 13.5.0, mobile)
The composite Lighthouse score — every fix below moves it.
xSpeed Free
AI Optimize
AI prompt Using my site's xSpeed MCP connection: run optimize_site, then run_benchmark to verify the score improved.
Fail
Largest Contentful Paint ≤ 2.5s 0/8 pts
LCP 6.8s
Serve the hero content faster: cache the page, preload the LCP image, and ship critical CSS.
xSpeed Free
Page Cache + Preloader (Critical CSS in Pro)
AI prompt Using my site's xSpeed MCP connection: enable page caching, start the preloader, and (on Pro) generate critical CSS for this page; then re-test LCP.
Pass
Cumulative Layout Shift ≤ 0.1 5/5 pts
CLS 0.002
Pass
Total Blocking Time ≤ 200ms 5/5 pts
TBT 196ms
Partial
First Contentful Paint ≤ 1.8s 2/4 pts
FCP 2.3s
First paint is gated on server response and render-blocking CSS.
xSpeed Free
Page Cache + CSS Minify
AI prompt Using my site's xSpeed MCP connection: enable page caching and CSS minification, then re-test First Contentful Paint.
A
Server response & caching
5/6 checks passed · 27.5/30 pts earned
92/100
Pass
Time to first byte ≤ 200ms 8/8 pts
TTFB 120ms measured from Vilnius, Lithuania (EU) (best of 2 requests). This includes the network round trips between us and your origin, not just server time. Google measured your server responding in 13ms from its own network — the gap between the two numbers is distance, not your server.
Pass
Page served from cache 7/7 pts
Cache HIT evidence in response headers
Partial
HTML compression (Brotli/GZIP) 2.5/5 pts
Content-Encoding: gzip
Compress text responses — Brotli typically saves ~15–20% over GZIP.
xSpeed Free
GZIP (Brotli in Pro)
AI prompt Using my site's xSpeed MCP connection: enable GZIP compression (and Brotli if Pro), then confirm the HTML response is compressed.
Pass
Efficient cache policy on static assets 5/5 pts
Passes the Lighthouse cache-policy audit
Pass
CDN / edge network 3/3 pts
Varnish edge detected
Pass
Clean redirect chain 2/2 pts
No redirects — the URL answers directly
F
Asset optimization
2/5 checks passed · 9/20 pts earned
45/100
Fail
No render-blocking resources 0/5 pts
Fails the Lighthouse audit — 1 file: jquery.min.js · ~350ms of first paint
CSS/JS in <head> blocks first paint. Inline the critical CSS and defer the rest.
xSpeed Pro
Critical CSS + Unused CSS removal
AI prompt Using my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test.
Partial
Minified CSS and JavaScript 2/4 pts
Lighthouse audit score 50% — 8 files: ICJQYXV6ZXJlbiIgOiAiQWZzcGVsZW4iKTsNCiAgICAgIHBvc3Rlci5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBwbGF5aW5nID8gIlBhdXplcmVuIiA6ICJWaWRlbyBhZnNwZWxlbiIpOw0KICAgICAgaWYgKCFwbGF5aW5nKSBpZGxlT2ZmKCk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc3luY011dGUoKSB7DQogICAgICB2YXIgbSA9IHZpZGVvLm11dGVkIHx8IHZpZGVvLnZvbHVtZSA9PT0gMDsNCiAgICAgIHJvb3QuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtbXV0ZWQiLCBtKTsNCiAgICAgIGJNdXRlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG0gPyAiR2VsdWlkIGFhbiIgOiAiR2VsdWlkIHVpdCIpOw0KICAgIH0NCg0KICAgIC8qIEhldCBrYWRlciBkZSBlY2h0ZSBiZWVsZHZlcmhvdWRpbmcgdmFuIGRlIGZpbG0gZ2V2ZW4uIEVsZW1lbnRvcg0KICAgICAgIHpldCBlciBzdGFuZGFhcmQgZWVuIHZhc3RlIDE2Ojkgb3A7IGlzIGRlIGZpbG0gYnJlZGVyLCBkYW4gYmxpamZ0DQogICAgICAgZXIgendhcnQgb3ZlciBvbmRlcmluLiBab2RyYSBkZSBicm93c2VyIGRlIGFmbWV0aW5nZW4ga2VudCwgemV0dGVuDQogICAgICAgd2UgZGUgd2Vya2VsaWprZSB2ZXJob3VkaW5nIGVuIHNsdWl0IGhldCBrYWRlciBwcmVjaWVzIGFhbi4gKi8NCiAgICBmdW5jdGlvbiBzeW5jUmF0aW8oKSB7DQogICAgICB2YXIgdyA9IHZpZGVvLnZpZGVvV2lkdGgsIGggPSB2aWRlby52aWRlb0hlaWdodDsNCiAgICAgIGlmICghdyB8fCAhaCkgcmV0dXJuOw0KICAgICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1tbXYtcmF0aW8iLCB3ICsgIiAvICIgKyBoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzeW5jVGltZSgpIHsNCiAgICAgIHZhciBkID0gdmlkZW8uZHVyYXRpb247DQogICAgICB2YXIgYyA9IHZpZGVvLmN1cnJlbnRUaW1lOw0KICAgICAgdmFyIHBjdCA9IChpc0Zpbml0ZShkKSAmJiBkID4gMCkgPyAoYyAvIGQpICogMTAwIDogMDsNCiAgICAgIHNlZWsudmFsdWUgPSBNYXRoLnJvdW5kKHBjdCAqIDEwKTsNCiAgICAgIHNlZWsuc3R5bGUuc2V0UHJvcGVydHkoIi0tbW12LXByb2dyZXNzIiwgcGN0ICsgIiUiKTsNCiAgICAgIHNlZWsuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIGZtdChjKSArICIgdmFuICIgKyBmbXQoZCkpOw0KICAgICAgdGltZS50ZXh0Q29udGVudCA9IGZtdChjKSArICIgLyAiICsgZm10KGlzRmluaXRlKGQpID8gZCA6IDApOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0gb3B0aW9uZWVsIHdlZ3pha2tlbiAtLS0tLS0tLS0tICovDQoNCiAgICB2YXIgaWRsZVRpbWVyOw0KICAgIGZ1bmN0aW9uIGlkbGVPZmYoKSB7DQogICAgICBjbGVhclRpbWVvdXQoaWRsZVRpbWVyKTsNCiAgICAgIHJvb3QuY2xhc3NMaXN0LnJlbW92ZSgiaXMtaWRsZSIpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBpZGxlU29vbigpIHsNCiAgICAgIGlkbGVPZmYoKTsNCiAgICAgIGlmICghSURMRV9NUyB8fCB2aWRlby5wYXVzZWQpIHJldHVybjsNCiAgICAgIGlkbGVUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICByb290LmNsYXNzTGlzdC5hZGQoImlzLWlkbGUiKTsNCiAgICAgIH0sIElETEVfTVMpOw0KICAgIH0NCg0KICAgIGlmIChJRExFX01TKSB7DQogICAgICBzdGFnZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBpZGxlU29vbik7DQogICAgICBiYXIuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGlkbGVPZmYpOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0gYmVkaWVuaW5nIC0tLS0tLS0tLS0gKi8NCg0KICAgIGZ1bmN0aW9uIHRvZ2dsZSgpIHsNCiAgICAgIGlmICh2aWRlby5wYXVzZWQpIHsgdmlkZW8ucGxheSgpOyB9IGVsc2UgeyB2aWRlby5wYXVzZSgpOyB9DQogICAgfQ0KDQogICAgcG9zdGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdG9nZ2xlKTsNCiAgICBiUGxheS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRvZ2dsZSk7DQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0b2dnbGUpOw0KDQogICAgYlN0b3AuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7DQogICAgICB2aWRlby5wYXVzZSgpOw0KICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAwOw0KICAgIH0pOw0KDQogICAgYk11dGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7DQogICAgICB2aWRlby5tdXRlZCA9ICF2aWRlby5tdXRlZDsNCiAgICAgIHN5bmNNdXRlKCk7DQogICAgfSk7DQoNCiAgICAvKiAtLS0tIFZvbGxlZGlnIHNjaGVybQ0KDQogICAgICAgRWVuIGlQaG9uZSBrZW50IGRlIEZ1bGxzY3JlZW4gQVBJIHZvb3IgZ2V3b25lIGVsZW1lbnRlbiBOSUVUIC0tDQogICAgICAgYWxsZWVuIGlQYWQgaGVlZnQgZGllLiBEYWFyIGthbiB1aXRzbHVpdGVuZCBoZXQgdmlkZW8tZWxlbWVudCB6ZWxmDQogICAgICAgbmFhciB2b2xsZWRpZyBzY2hlcm0sIHZpYSB3ZWJraXRFbnRlckZ1bGxzY3JlZW4oKS4gRGF0IG9wZW50IGRlDQogICAgICAgc3lzdGVlbXNwZWxlciB2YW4gaU9TOyBkYXQgaXMgb3AgZWVuIGlQaG9uZSBudSBlZW5tYWFsIHdhdA0KICAgICAgIHZvbGxlZGlnIHNjaGVybSBiZXRla2VudC4NCg0KICAgICAgIERlIHZvcmlnZSB2ZXJzaWUgcmllcCBkZSBtZXRob2RlIGFhbiB6b25kZXIgdGUgY29udHJvbGVyZW4gb2YgaGlqDQogICAgICAgYmVzdG9uZC4gT3AgZWVuIGlQaG9uZSBiZXN0b25kIGdlZW4gdmFuIGJlaWRlLCBlbiBkYW4ga2xhcHQgZGUNCiAgICAgICBmdW5jdGllIGVydWl0IC0tIHZhbmRhYXIgZGF0IGRlIGtub3AgZGFhciBuaWV0cyBkZWVkLiBIaWVyb25kZXINCiAgICAgICB3b3JkdCBlbGtlIHZhcmlhbnQgYXBhcnQgZ2Vjb250cm9sZWVyZCB2b29yIGhpaiB3b3JkdCBhYW5nZXJvZXBlbi4NCiAgICAgICAtLS0tICovDQogICAgZnVuY3Rpb24gdG9nZ2xlRnVsbHNjcmVlbigpIHsNCiAgICAgIC8qIEFsIG9wIHZvbGxlZGlnIHNjaGVybT8gRGFuIHNsdWl0ZW4uICovDQogICAgICBpZiAoZnVsbHNjcmVlbkVsZW1lbnQoKSkgew0KICAgICAgICBpZiAoZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4pIHsgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTsgfQ0KICAgICAgICBlbHNlIGlmIChkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbikgeyBkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpOyB9DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCiAgICAgIGlmICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiAmJiB2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbikgew0KICAgICAgICB2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpOw0KICAgICAgICByZXR1cm47DQogICAgICB9DQoNCiAgICAgIC8qIE9wZW5lbjogZWVyc3QgaGV0IGhlbGUgYmVlbGR2bGFrIChkYW4gYmxpamZ0IG9uemUgZWlnZW4NCiAgICAgICAgIGJlZGllbmluZyB6aWNodGJhYXIpLCBlbiBwYXMgYWxzIGRhdCBuaWV0IGthbiBkZSB2aWRlbyB6ZWxmLiAqLw0KICAgICAgaWYgKHN0YWdlLnJlcXVlc3RGdWxsc2NyZWVuKSB7IHN0YWdlLnJlcXVlc3RGdWxsc2NyZWVuKCk7IHJldHVybjsgfQ0KICAgICAgaWYgKHN0YWdlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7IHN0YWdlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCk7IHJldHVybjsgfQ0KICAgICAgaWYgKHZpZGVvLndlYmtpdEVudGVyRnVsbHNjcmVlbikgeyB2aWRlby53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTsgcmV0dXJuOyB9DQogICAgfQ0KDQogICAgYkZ1bGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0b2dnbGVGdWxsc2NyZWVuKTsNCg0KICAgIC8qIE9wIGlQaG9uZSB2dXVydCBmdWxsc2NyZWVuY2hhbmdlIG5pZXQ7IGRhYXIgemlqbiBkZXplIHR3ZWUuICovDQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0YmVnaW5mdWxsc2NyZWVuIiwgZnVuY3Rpb24gKCkgew0KICAgICAgcm9vdC5jbGFzc0xpc3QuYWRkKCJpcy1mdWxsIik7DQogICAgICBiRnVsbC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAiVm9sbGVkaWcgc2NoZXJtIHNsdWl0ZW4iKTsNCiAgICB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRlbmRmdWxsc2NyZWVuIiwgZnVuY3Rpb24gKCkgew0KICAgICAgcm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1mdWxsIik7DQogICAgICBiRnVsbC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAiVm9sbGVkaWcgc2NoZXJtIik7DQogICAgfSk7DQoNCiAgICAvKiBTbGVwZW4gaW4gZGUgdGlqZGJhbGsuICdpbnB1dCcgdnV1cnQgdGlqZGVucyBoZXQgc2xlcGVuLCBkdXMgamUNCiAgICAgICB6aWV0IGhldCBiZWVsZCBtZWVsb3BlbiBpbiBwbGFhdHMgdmFuIHBhcyBiaWogbG9zbGF0ZW4uICovDQogICAgc2Vlay5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBkID0gdmlkZW8uZHVyYXRpb247DQogICAgICBpZiAoIWlzRmluaXRlKGQpIHx8IGQgPD0gMCkgcmV0dXJuOw0KICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAoc2Vlay52YWx1ZSAvIDEwMDApICogZDsNCiAgICAgIHNlZWsuc3R5bGUuc2V0UHJvcGVydHkoIi0tbW12LXByb2dyZXNzIiwgKHNlZWsudmFsdWUgLyAxMCkgKyAiJSIpOw0KICAgICAgaWRsZU9mZigpOw0KICAgIH0pOw0KDQogICAgLyogLS0tLS0tLS0tLSB0b2V0c2VuYm9yZCAtLS0tLS0tLS0tICovDQoNCiAgICBzdGFnZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsNCiAgICBzdGFnZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgIC8qIEJpbm5lbiBkZSB0aWpkYmFsayB6aWpuIGRlIHBpamx0amVzIGFsIHZhbiBkZSBzbGlkZXIgemVsZi4gKi8NCiAgICAgIGlmIChlLnRhcmdldCA9PT0gc2VlayAmJiAoZS5rZXkgPT09ICJBcnJvd0xlZnQiIHx8IGUua2V5ID09PSAiQXJyb3dSaWdodCIpKSByZXR1cm47DQoNCiAgICAgIHN3aXRjaCAoZS5rZXkpIHsNCiAgICAgICAgY2FzZSAiICI6IGNhc2UgImsiOiBjYXNlICJLIjoNCiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IHRvZ2dsZSgpOyBicmVhazsNCiAgICAgICAgY2FzZSAiQXJyb3dSaWdodCI6DQogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyB2aWRlby5jdXJyZW50VGltZSArPSBTS0lQX1M7IGJyZWFrOw0KICAgICAgICBjYXNlICJBcnJvd0xlZnQiOg0KICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgdmlkZW8uY3VycmVudFRpbWUgLT0gU0tJUF9TOyBicmVhazsNCiAgICAgICAgY2FzZSAibSI6IGNhc2UgIk0iOg0KICAgICAgICAgIHZpZGVvLm11dGVkID0gIXZpZGVvLm11dGVkOyBzeW5jTXV0ZSgpOyBicmVhazsNCiAgICAgICAgY2FzZSAiZiI6IGNhc2UgIkYiOg0KICAgICAgICAgIHRvZ2dsZUZ1bGxzY3JlZW4oKTsgYnJlYWs7DQogICAgICB9DQogICAgICBpZGxlU29vbigpOw0KICAgIH0pOw0KDQogICAgLyogLS0tLS0tLS0tLSB2aWRlb2dlYmV1cnRlbmlzc2VuIC0tLS0tLS0tLS0gKi8NCg0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbiAoKSB7DQogICAgICAvKiBab2RyYSBlciBlZW4ga2VlciBpcyBnZXNwZWVsZCwga29tdCBkZSBncm90ZSBrbm9wIGluIGhldCBtaWRkZW4NCiAgICAgICAgIG5pZXQgbWVlciB0ZXJ1ZyAtLSBvb2sgbmlldCBiaWogcGF1emVyZW4uIERlIGtub3AgaW4gZGUgYmFsaw0KICAgICAgICAgYmxpamZ0IHVpdGVyYWFyZCBnZXdvb24gc3RhYW4uICovDQogICAgICByb290LmNsYXNzTGlzdC5hZGQoImhhcy1zdGFydGVkIik7DQogICAgICBzeW5jUGxheSgpOw0KICAgICAgaWRsZVNvb24oKTsNCiAgICB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsIHN5bmNQbGF5KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJlbmRlZCIsIGZ1bmN0aW9uICgpIHsgc3luY1BsYXkoKTsgaWRsZU9mZigpOyB9KTsNCiAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIiwgc3luY1RpbWUpOw0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwgZnVuY3Rpb24gKCkgew0KICAgICAgc3luY1JhdGlvKCk7DQogICAgICBzeW5jVGltZSgpOw0KICAgIH0pOw0KICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHN5bmNSYXRpbyk7ICAgLyogYnJvbndpc3NlbCBvZiBhZGFwdGlldmUgc3RyZWFtICovDQogICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigidm9sdW1lY2hhbmdlIiwgc3luY011dGUpOw0KDQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBmdWxsID0gZnVsbHNjcmVlbkVsZW1lbnQoKSA9PT0gc3RhZ2U7DQogICAgICByb290LmNsYXNzTGlzdC50b2dnbGUoImlzLWZ1bGwiLCBmdWxsKTsNCiAgICAgIGJGdWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGZ1bGwgPyAiVm9sbGVkaWcgc2NoZXJtIHNsdWl0ZW4iIDogIlZvbGxlZGlnIHNjaGVybSIpOw0KICAgIH0pOw0KDQogICAgc3luY1JhdGlvKCk7ICAgICAgLyogbWVlc3RhbCBhbCBiZWtlbmQgYWxzIGRlIG1ldGFkYXRhIGVyIGlzICovDQogICAgc3luY1BsYXkoKTsNCiAgICBzeW5jTXV0ZSgpOw0KICAgIHN5bmNUaW1lKCk7DQogIH0NCg0KICBmdW5jdGlvbiBpbml0QWxsKCkgew0KICAgIHZhciByb290cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tbS12aWRlbyIpOw0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocm9vdHMsIGJ1aWxkKTsNCiAgfQ0KDQogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAibG9hZGluZyIpIHsNCiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgaW5pdEFsbCk7DQogIH0gZWxzZSB7DQogICAgaW5pdEFsbCgpOw0KICB9DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdEFsbCk7ICAgLyogdmFuZ25ldCB2b29yIHRyYWdlIGluaXQgKi8NCn0pKCk7DQo= (), (), IHJhd1RpbGUudHJpbSgpIDogcmF3VGlsZS5zbGljZSgwLCBpZHgpLnRyaW0oKTsNCiAgICB2YXIgc3VidGl0bGUgPSBpZHggPT09IC0xID8gIiIgOiByYXdUaWxlLnNsaWNlKGlkeCArIDIpLnRyaW0oKTsNCiAgICBpZiAoIXRpdGxlICYmICFzdWJ0aXRsZSkgcmV0dXJuIG51bGw7DQoNCiAgICB2YXIgY2FwdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgIGNhcHRpb24uY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fY2FwdGlvbiI7DQoNCiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgIHRleHQuY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fdGV4dCI7DQoNCiAgICB2YXIgdGl0bGVFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsNCiAgICB0aXRsZUVsLmNsYXNzTmFtZSA9ICJtbS1wb3J0Zm9saW8tYmVudG9fX3RpdGxlIjsNCiAgICB0aXRsZUVsLnRleHRDb250ZW50ID0gdGl0bGU7DQogICAgdGV4dC5hcHBlbmRDaGlsZCh0aXRsZUVsKTsNCg0KICAgIGlmIChzdWJ0aXRsZSkgew0KICAgICAgdmFyIHN1YkVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOw0KICAgICAgc3ViRWwuY2xhc3NOYW1lID0gIm1tLXBvcnRmb2xpby1iZW50b19fc3VidGl0bGUiOw0KICAgICAgc3ViRWwudGV4dENvbnRlbnQgPSBzdWJ0aXRsZTsNCiAgICAgIHRleHQuYXBwZW5kQ2hpbGQoc3ViRWwpOw0KICAgIH0NCg0KICAgIGNhcHRpb24uYXBwZW5kQ2hpbGQodGV4dCk7DQogICAgcmV0dXJuIGNhcHRpb247DQogIH0NCg0KICBmdW5jdGlvbiBidWlsZEZyb21MZWdhY3koc2NvcGUsIGlubmVyLCBncmlkKSB7DQogICAgdmFyIGNhcHRpb25zID0gbGVnYWN5Q2FwdGlvbnMoc2NvcGUpOw0KICAgIHZhciBpbWFnZXMgPSBpbm5lci5xdWVyeVNlbGVjdG9yQWxsKCJpbWc6bm90KC5tbS1wb3J0Zm9saW8tYmVudG9fX2ltZykiKTsNCg0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoaW1hZ2VzLCBmdW5jdGlvbiAoaW1nLCBpKSB7DQogICAgICBpZiAoaW1nLmNsb3Nlc3QoIi5tbS1wb3J0Zm9saW8tYmVudG9fX3RpbGUiKSkgcmV0dXJuOw0KDQogICAgICB2YXIgbGluayA9IGltZy5jbG9zZXN0KCJhIik7DQogICAgICB2YXIgdGlsZTsNCg0KICAgICAgaWYgKGxpbmspIHsNCiAgICAgICAgdGlsZSA9IGxpbms7ICAgICAgICAgICAgICAgICAgICAgICAvKiBiZXN0YWFuZGUgbGluayB3b3JkdCBkZSBrYWFydCAqLw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICBpbWcucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGlsZSwgaW1nKTsNCiAgICAgICAgdGlsZS5hcHBlbmRDaGlsZChpbWcpOw0KICAgICAgfQ0KDQogICAgICB0aWxlLmNsYXNzTGlzdC5hZGQoIm1tLXBvcnRmb2xpby1iZW50b19fdGlsZSIpOw0KICAgICAgaWYgKCF0aWxlLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSkgdGlsZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsNCiAgICAgIGltZy5jbGFzc0xpc3QuYWRkKCJtbS1wb3J0Zm9saW8tYmVudG9fX2ltZyIpOw0KDQogICAgICB2YXIgcmF3ID0gKGNhcHRpb25zICYmIGkgPCBjYXB0aW9ucy5sZW5ndGgpID8gY2FwdGlvbnNbaV0gOiBGQUxMQkFDS19USVRMRTsNCiAgICAgIHZhciBjYXB0aW9uID0gbGVnYWN5Q2FwdGlvbk5vZGUocmF3KTsNCiAgICAgIGlmIChjYXB0aW9uKSB0aWxlLmFwcGVuZENoaWxkKGNhcHRpb24pOw0KDQogICAgICBpZiAodGlsZS5wYXJlbnROb2RlICE9PSBncmlkKSBncmlkLmFwcGVuZENoaWxkKHRpbGUpOw0KICAgIH0pOw0KICB9DQoNCg0KICAvKiAtLS0tLS0tLS0tIHN0YXJ0IC0tLS0tLS0tLS0gKi8NCg0KICBmdW5jdGlvbiBpbml0U2NvcGUoc2NvcGUpIHsNCiAgICB2YXIgaW5uZXIgPSBzY29wZS5xdWVyeVNlbGVjdG9yKCI6c2NvcGUgPiAuZS1jb24taW5uZXIiKQ0KICAgICAgfHwgc2NvcGUucXVlcnlTZWxlY3RvcigiLmUtY29uLWlubmVyIikNCiAgICAgIHx8IHNjb3BlOw0KDQogICAgdmFyIGdyaWQgPSBlbnN1cmVHcmlkKGlubmVyKTsNCg0KICAgIGlmIChzY29wZS5xdWVyeVNlbGVjdG9yKCIubW0tcG9ydGZvbGlvLWJlbnRvX190aXRsZSIpKSB7DQogICAgICBidWlsZEZyb21IdG1sKGlubmVyLCBncmlkKTsgICAgICAgIC8qIG5pZXV3ZSBtZXRob2RlICovDQogICAgfSBlbHNlIHsNCiAgICAgIGJ1aWxkRnJvbUxlZ2FjeShzY29wZSwgaW5uZXIsIGdyaWQpOyAgLyogdGVydWd2YWwsIHRvdCBqZSBnZW1pZ3JlZXJkIGJlbnQgKi8NCiAgICB9DQogIH0NCg0KICBmdW5jdGlvbiBpbml0QWxsKCkgew0KICAgIHZhciBzY29wZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubW0tcG9ydGZvbGlvLWJlbnRvIik7DQogICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzY29wZXMsIGluaXRTY29wZSk7DQogIH0NCg0KICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImxvYWRpbmciKSB7DQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGluaXRBbGwpOw0KICB9IGVsc2Ugew0KICAgIGluaXRBbGwoKTsNCiAgfQ0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXRBbGwpOyAgIC8qIHZhbmduZXQgdm9vciB0cmFnZSBpbml0ICovDQp9KSgpOw0K ()…
Every unminified file here is served by another host (), so minifying them is not yours to fix — the fix is to load fewer of them, or load them later.
xSpeed Free
HTML/CSS/JS Minify
AI prompt Using my site's xSpeed MCP connection: enable HTML, CSS and JS minification, purge the cache, and re-test.
Fail
Modern, optimized image formats 0/4 pts
Fails the Lighthouse audit — 4 files: bedrijfsfilm-laten-maken-768x768.png.webp, animatie-laten-maken-768x768.png.webp, wervingsvideo-laten-maken-afbeelding-768x768.png.webp… · ~450ms of first paint
Serve WebP/AVIF at the right compression — usually the single largest byte saving.
xSpeed Pro
Image Converter (WebP/AVIF)
AI prompt Using my site's xSpeed MCP connection: enable WebP/AVIF conversion with URL rewriting, then re-test image audits.
Pass
LCP image discoverable early 4/4 pts
Passes the Lighthouse audit
Pass
Total page weight ≤ 1.5MB 3/3 pts
0.9MB transferred
C
Platform & xSpeed readiness
1/4 checks passed · 6/8 pts earned
75/100
Info
Platform
WordPress detected (WP Rocket 3.23.3.3)
Informational.
Pass
Caching plugin active 4/4 pts
WP Rocket (WP Rocket HTML signature)
Partial
Powered by xSpeed 2/4 pts
Running WP Rocket instead
xSpeed bundles caching, minification, lazy-load, image optimization and an AI-controllable MCP server in one plugin — and imports settings from other caching plugins in one click.
xSpeed Free
xSpeed Migration (one-click import)
AI prompt Install xSpeed and use its Migration tool to import your current caching settings, then deactivate the old plugin.
Info
xSpeed MCP route response not confirmed —
This scan did not confirm an xSpeed MCP route response. Client authentication and control were not tested.
Configure an MCP client for this endpoint and verify authenticated access before relying on it to inspect or change the site.
xSpeed Free
MCP Server (built into xSpeed Free)
AI prompt In xSpeed → MCP Server, click Connect and paste the config into your AI client — then ask it to fix this report.
Share your score a card for X, LinkedIn, Slack — anywhere
Download image
Copy report link
Every check here has a one-click fix in xSpeed Cache
Page caching, compression, image optimization and a built-in MCP server,
so your AI assistant can run this playbook for you.