WordPress er et kraftsenter, men “one size fits all”-filosofien betyr at det ofte leveres med bagasje som de fleste moderne prosjekter ikke trenger. Gjennom årene har jeg finjustert et spesifikt sett med kodesnutter for å fjerne overflødig “fett” uten å gå på bekostning av kjerneopplevelsen.
Denne guiden er ikke bare en liste over ting du kan slette; det er en strategisk tilnærming til ytelse. Den er inspirert av Terence Edens utmerkede liste, som jeg har paret med mine egne produksjonstestede løsninger.
Hvorfor fjerne last i WordPress?
Hvorfor bry seg om noen få små skript? Fordi de summerer seg opp. Hver unødvendige linje er en potensiell konflikt, en liten rendering-forsinkelse eller bortkastet båndbredde.
Hva vi målretter:
- DOM-størrelse – Fjerning av ubrukte inline-stiler.
- HTTP-overhead – Dequeuing av skript som ikke burde være der.
- Sikkerhetsflate – Deaktivering av utdaterte protokoller som XML-RPC.
- Core Web Vitals – Direkte påvirkning på LCP og CLS ved å fjerne elementer som blokkerer renderingen.
[!IMPORTANT] Vær forsiktig: Ikke alt som kalles “bloat” er ubrukelig. Hvis du er avhengig av de spesifikke stilene i den klassiske editoren eller har brukere på svært gamle nettlesere som trenger emoji-skript, kan det hende at noen av disse fiksene ikke passer for deg. Test alltid i et testmiljø først.
Det komplette optimaliseringsskriptet
Legg til følgende i temaets functions.php-fil. Hver seksjon er kommentert med forklaringer og kildelenker.
1. Fjern classic theme styles
WordPress legger til “classic-theme-styles” selv på egendefinerte temaer. Fjern dem:
// Fjern obligatorisk classic theme.
function disable_classic_theme_styles() {
wp_deregister_style( "classic-theme-styles" );
wp_dequeue_style( "classic-theme-styles" );
}
add_action( "wp_enqueue_scripts", "disable_classic_theme_styles" );
2. Fjern emoji-støtte
WordPress konverterer tekst-emojier til bilder og legger til deteksjonsskript. Hvis besøkende har emoji-støtte (som alle moderne nettlesere har), er dette unødvendig:
// Fjern WP Emoji.
// https://www.denisbouquet.com/remove-wordpress-emoji-code/
remove_action( "wp_head", "print_emoji_detection_script", 7 );
remove_action( "wp_print_styles", "print_emoji_styles" );
remove_action( "admin_print_scripts", "print_emoji_detection_script" );
remove_action( "admin_print_styles", "print_emoji_styles" );
// https://wordpress.org/support/topic/remove-the-new-dns-prefetch-code/
add_filter( "emoji_svg_url", "__return_false" );
// Stopp emoji-erstatning med bilder i RSS / Atom Feeds
// https://danq.me/2023/09/04/wordpress-stop-emoji-images/
remove_filter( "the_content_feed", "wp_staticize_emoji" );
remove_filter( "comment_text_rss", "wp_staticize_emoji" );
3. Deaktiver automatisk tekstformatering
WordPress “teksturiserer” innholdet ditt, konverterer rette anførselstegn til krøllede, doble bindestreker til tankestreker, osv. Dette kan ødelegge kodeeksempler:
// Fjern automatisk formatering.
// https://css-tricks.com/snippets/wordpress/disable-automatic-formatting/
remove_filter( "the_content", "wptexturize" );
remove_filter( "the_excerpt", "wptexturize" );
remove_filter( "comment_text", "wptexturize" );
remove_filter( "the_title", "wptexturize" );
// Mer formatering.
add_action("init", function() {
remove_filter( "the_content", "convert_smilies", 20 );
foreach ( array( "the_content", "the_title", "wp_title", "document_title" ) as $filter ) {
remove_filter( $filter, "capital_P_dangit", 11 );
}
remove_filter( "comment_text", "capital_P_dangit", 31 );
remove_filter( "the_content", "do_blocks", 9 );
}, 11);
Merk: Filteret
capital_P_dangiter WordPresss måte å autokorrigere “WordPress” til “WordPress”. Det er aggressivt og ofte uønsket.
4. Fjern Gutenberg-stiler og -skript
Hvis du bruker et egendefinert tema og ikke er avhengig av Gutenbergs frontend-stiler, fjern dem:
// Fjern Gutenberg Styles.
// https://wordpress.org/support/topic/how-to-disable-inline-styling-style-idglobal-styles-inline-css/
remove_action( "wp_enqueue_scripts", "wp_enqueue_global_styles" );
// Fjern Gutenberg redigeringswidgets.
// Fra https://wordpress.org/plugins/classic-widgets/
add_filter( "gutenberg_use_widgets_block_editor", "__return_false" );
add_filter( "use_widgets_block_editor", "__return_false" );
// Fjern Gutenberg Block Library CSS fra lasting på frontend.
// https://smartwp.com/remove-gutenberg-css/
function remove_wp_block_library_css() {
wp_dequeue_style( "wp-block-library" );
wp_dequeue_style( "wp-block-library-theme" );
wp_dequeue_style( "wp-components" );
}
add_action( "wp_enqueue_scripts", "remove_wp_block_library_css", 100 );
5. Fjern header meta tags
Rydd opp i <head>-seksjonen din ved å fjerne unødvendige meta-tagger:
// Fjern shortlink.
// https://stackoverflow.com/questions/42444063/disable-wordpress-short-links
remove_action( "wp_head", "wp_shortlink_wp_head" );
// Fjern RSD.
// https://wpengineer.com/1438/wordpress-header/
remove_action( "wp_head", "rsd_link" );
// Fjern ekstra feed-lenker.
// https://developer.wordpress.org/reference/functions/feed_links/
add_filter( "feed_links_show_comments_feed", "__return_false" );
add_filter( "feed_links_show_posts_feed", "__return_false" );
// Fjern api.w.org-lenke.
// https://wordpress.stackexchange.com/questions/211467/remove-json-api-links-in-header-html
remove_action( "wp_head", "rest_output_link_wp_head" );
remove_action( "template_redirect", "rest_output_link_header", 11, 0 );
6. Fjern bildeforbedringer
WordPress legger til sizes-attributter og andre forbedringer til bilder. Hvis du håndterer disse selv, fjern dem:
// Fjern WordPress tvungen bildestørrelse
// https://core.trac.wordpress.org/ticket/62413#comment:40
add_filter( "wp_img_tag_add_auto_sizes", "__return_false" );
// Fjern <img>-forbedringer
// https://developer.wordpress.org/reference/functions/wp_filter_content_tags/
remove_filter( "the_content", "wp_filter_content_tags", 12 );
// Stopp omskriving av http:// URLer for hoveddomenet.
remove_filter( "the_content", "wp_replace_insecure_home_url", 10 );
// Fjern attachment-ting
remove_filter( "the_content", "prepend_attachment" );
// Fjern blokkfilter
remove_filter( "the_content", "apply_block_hooks_to_content_from_post_object", 8 );
7. Fjern nettlesersjekk og andre admin-funksjoner
// Fjern nettlesersjekk fra Admin-dashbordet.
if ( !empty( $_SERVER["HTTP_USER_AGENT"] ) ) {
add_filter( "pre_site_transient_browser_" . md5( $_SERVER["HTTP_USER_AGENT"] ), "__return_null" );
}
// Fjern hovercards på kommentarlenker i admin-området.
add_filter( "akismet_enable_mshots", "__return_false" );
Mine ekstra anbefalinger
Utover teknikkene ovenfor, her er mine egne løsninger for ytterligere optimalisering:
8. Deaktiver XML-RPC
Hvis du ikke bruker eksterne apper til å poste til WordPress, deaktiver XML-RPC for bedre sikkerhet:
// Deaktiver XML-RPC helt
add_filter( 'xmlrpc_enabled', '__return_false' );
// Fjern XML-RPC-lenke fra head
remove_action( 'wp_head', 'rsd_link' );
9. Fjern jquery migrate
Moderne WordPress-temaer og -plugins trenger sjelden jQuery Migrate. Hvis nettstedet ditt fungerer uten det, fjern det:
function remove_jquery_migrate( $scripts ) {
if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
$script = $scripts->registered['jquery'];
if ( $script->deps ) {
$script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
}
}
}
add_action( 'wp_default_scripts', 'remove_jquery_migrate' );
10. Deaktiver oembed
Hvis du ikke bygger inn innhold fra andre nettsteder (YouTube, Twitter, osv.), deaktiver oEmbed:
// Fjern oEmbed-oppdagelseslenker
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
// Fjern oEmbed REST API-endepunkt
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// Deaktiver oEmbed auto-oppdagelse
add_filter( 'embed_oembed_discover', '__return_false' );
11. Utsett javascript-lasting
Legg til defer til ikke-kritiske skript for bedre ytelse:
function add_defer_attribute( $tag, $handle ) {
// Skript som IKKE skal utsettes
$scripts_to_not_defer = array( 'jquery-core' );
if ( in_array( $handle, $scripts_to_not_defer ) ) {
return $tag;
}
return str_replace( ' src', ' defer src', $tag );
}
add_filter( 'script_loader_tag', 'add_defer_attribute', 10, 2 );
Måle effekten
Etter å ha implementert disse endringene, test nettstedet ditt med:
- Google PageSpeed Insights – Sjekk Core Web Vitals
- GTmetrix – Detaljert waterfall-analyse
- WebPageTest – Flere testlokasjoner og tilkoblingshastigheter
Du bør se:
- Redusert sidestørrelse (færre CSS/JS-bytes)
- Færre HTTP-forespørsler
- Forbedret Time to First Byte (TTFB)
- Bedre Largest Contentful Paint (LCP)
Konklusjon
WordPresss “batterier inkludert”-tilnærming er flott for nybegynnere, men utviklere som søker maksimal ytelse må trimme bort fettet. Teknikkene i denne guiden, inspirert av Terence Edens utmerkede debloating-skript, vil hjelpe deg å oppnå en slankere, raskere WordPress-installasjon.
Husk: mindre er mer. Hver kodelinje du fjerner er ett potensielt feilpunkt mindre, én byte mindre å laste ned, og ett skritt nærmere en perfekt PageSpeed-score.



