The EU Cookie Law
requires a notice about cookies on every website. My wife’s
website is built on
Wordpress, so to display the cookie notice I use the
GDPR Cookie Consent plugin.
every page, but they are really only needed on the first page load: the user
accepts the cookies if they stay using the website, so the notice isn’t shown a
second time to anyone. If the cookie that the plugin uses is set when processing
the user request (yes, the cookie law plugin uses a cookie), then the CSS and
the page is sent to the browser. This is relatively simple to do with
Wordpress, but figuring out the right incantation is not easy. The code to do
this is in the functions
This is the second implementation of removing these resources when they are
unnecessary - the first implementation was broken by changes to the plugin. The
resources are also removed for certain Google user-agents, so that testing with
and similar tools produces results closer to the typical user experience.
Removing the cookie law resources was the last step (so far) in my quest to speed up Ariane’s website. There are several standard Wordpress resources unconditionally removed by the various incantations in functions.php
- search for
Remove unnecessary resources that Wordpress or plugins includeto find them - e.g. not loading emoji support that isn’t used anywhere in the website:
// Stop loading emoji stuff. remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles');
To suppress these resources I repeated this process:
- Used PageSpeed Insights to test the speed of various pages.
- Looked at the results where it complained about unused resources.
- Searched online for the resource filename until I found a description of how somebody else suppressed that resource.
- Cargo-culted those instructions and verified that the resource was no longer referenced.
Occasionally more work was needed because Wordpress had changed enough that the instructions didn’t work, but they at least pointed me in the right direction.