Bilder er ytelsesdreper nr. 1 på WordPress-sider. I 2026, med Core Web Vitals som en viktig rangeringsfaktor, betyr en treg side tapte inntekter. Likevel serverer de fleste WordPress-sider fortsatt tunge JPEGer og oppretter ubrukelige “vedleggssider” for hvert eneste bilde som lastes opp.
Denne omfattende ingeniørguiden dekker hele medieoptimaliseringsstakken for moderne WordPress.
Del 1: Vedleggsside-problemet
Som standard oppretter WordPress en egen side for hvert bilde du laster opp.
Eksempel: dittnettsted.no/bildenavn/
Hvorfor dette er dårlig:
- SEO-forvirring: Google indekserer disse tomme sidene i stedet for det faktiske innholdet ditt.
- Sløsing med crawl-budsjett: Googlebot kaster bort tid på ubrukelige sider.
- Brukeropplevelse: Brukere som klikker på bilder lander på blindveier.
Løsningen: Deaktiver vedleggssider
Metode 1: Videreformidling til foreldreinnlegg (Anbefalt)
add_action( 'template_redirect', function() {
if ( is_attachment() ) {
global $post;
if ( $post && $post->post_parent ) {
wp_redirect( get_permalink( $post->post_parent ), 301 );
exit;
}
}
} );
Metode 2: Returner 404-feil
add_action( 'template_redirect', function() {
if ( is_attachment() ) {
global $development;
$development->set_404();
status_header( 404 );
}
} );
Del 2: Moderne bildeformater (AVIF & WEBP)
JPEG har eksistert siden 1992. Det er på tide å gå videre.
Format-sammenligning 2026:
- JPEG: 100KB baseline
- WebP: 60KB (40 % mindre, god nettleserstøtte)
- AVIF: 40KB (60 % mindre, utmerket kvalitet)
Aktivering av AVIF i WordPress
WordPress 6.5+ støtter AVIF-opplasting naturlig, men du må ofte aktivere det:
add_filter( 'wp_image_editors', function( $editors ) {
array_unshift( $editors, 'WP_Image_Editor_Imagick' );
return $editors;
} );
add_filter( 'image_editor_output_format', function( $formats ) {
$formats['image/jpeg'] = 'image/avif';
$formats['image/png'] = 'image/avif';
return $formats;
} );
Advarsel: Dette konverterer ALLE opplastinger. Test grundig før bruk.
Del 3: Lazy loading (nativ & avansert)
Fra versjon 5.5 legger WordPress til loading="lazy" automatisk. Men du kan optimalisere videre.
Problemet med nativ lazy loading
Det laster bilder når de er i viewport + en margin. For herobilder (de første bildene brukeren ser) kan dette føre til Layout Shift (dårlig CLS-score).
Løsning: Ekskluder bilder “over bretten” (above-the-fold)
add_filter( 'wp_lazy_loading_enabled', function( $default, $tag_name, $context ) {
if ( 'img' === $tag_name && 'the_content' === $context ) {
// Ikke bruk lazy loading på det første bildet
static $first_image = true;
if ( $first_image ) {
$first_image = false;
return false;
}
}
return $default;
}, 10, 3 );
Del 4: Responsive bilder (srcset)
WordPress genererer automatisk flere bildestørrelser. Sørg for at du bruker dem riktig:
// I temaet ditt
the_post_thumbnail( 'large', [
'sizes' => '(max-width: 600px) 100vw, 50vw'
] );
Dette forteller nettleseren:
- På mobil: bruk full bredde
- På desktop: bruk 50 % bredde
Del 5: CDN og tjenester for bildeoptimalisering
For nettsteder med mye trafikk er det best å flytte bildeprosesseringen til en CDN.
Alternativer i 2026:
- Cloudflare Images: Rimelig og god integrasjon.
- Cloudinary: Avansert API for bildebehandling i sanntid.
- imgix: Sanntidsbildebehandling via URL-parametere.
Eksempel: Cloudinary-integrasjon
add_filter( 'wp_get_attachment_url', function( $url, $post_id ) {
$cloudinary_base = 'https://res.cloudinary.com/dincloud/image/upload/';
$path = wp_get_attachment_metadata( $post_id )['file'];
return $cloudinary_base . 'f_auto,q_auto/' . $path;
}, 10, 2 );
Del 6: Rengjøring av database og mediebibliotek
Over tid fylles mediebiblioteket med ubrukte bilder som tar opp plass.
Finn foreldreløse medier (sql)
SELECT * FROM wp_posts
WHERE post_type = 'attachment'
AND ID NOT IN (
SELECT meta_value FROM wp_postmeta
WHERE meta_key = '_thumbnail_id'
);
Anbefaling: Media Cleaner av Jordy Meow er det beste verktøyet for trygg sletting.
Del 7: Strategier for bildekomprimering
Komprimering handler om å finne balansen mellom kvalitet og ytelse.
Innstillinger for JPEG og AVIF
- 90-100: Nesten ingen komprimering, for store filer (anbefales ikke).
- 80-89: Høy kvalitet, moderat komprimering (bra for bilder).
- 70-79: Balansert kvalitet/størrelse (anbefales for de fleste).
- Under 60: Synlig kvalitetstap.
Automatisk komprimering under opplasting
add_filter('wp_handle_upload_prefilter', function($file) {
if ($file['type'] === 'image/jpeg' || $file['type'] === 'image/png') {
$image = wp_get_image_editor($file['file']);
if (!is_wp_error($image)) {
$image->set_quality(82);
$image->save($file['file']);
}
}
return $file;
});
Del 8: Organisering av mediebiblioteket
Et rotete mediebibliotek sinker arbeidet og gjør innholdsstyring vanskelig.
Navnekonvensjoner
Dårlig: IMG_1234.jpg, skjermbilde-2026.png.
Bra: hero-forside-2026.avif, produkt-laptop-dell-xps-15.jpg.
Automatisk omdøping
add_filter('wp_handle_upload_prefilter', function($file) {
$pathinfo = pathinfo($file['name']);
$extension = $pathinfo['extension'];
if (isset($_POST['post_id']) && $_POST['post_id']) {
$post_title = get_the_title($_POST['post_id']);
$sanitized = sanitize_file_name($post_title);
$file['name'] = $sanitized . '-' . time() . '.' . $extension;
}
return $file;
});
Del 9: Overvåking av ytelse
Du kan ikke optimalisere det du ikke måler.
Verktøy for overvåking
- Google PageSpeed Insights: Måler Core Web Vitals og gir anbefalinger.
- GTmetrix: Viser detaljerte lastediagrammer.
- Query Monitor: Analyserer databaseforespørsler knyttet til medier.
Del 10: Avanserte teknikker
WEBP med fallback for eldre nettlesere
Hvis du må støtte eldre nettlesere, bruk <picture>-elementet:
function serve_webp_with_fallback($html, $post_id) {
$webp_url = wp_get_attachment_image_url($post_id, 'full', false, ['format' => 'webp']);
$jpeg_url = wp_get_attachment_image_url($post_id, 'full');
if ($webp_url) {
$html = '<picture>
<source srcset="' . esc_url($webp_url) . '" type="image/webp">
<img src="' . esc_url($jpeg_url) . '" alt="' . esc_attr(get_post_meta($post_id, '_wp_attachment_image_alt', true)) . '">
</picture>';
}
return $html;
}
add_filter('wp_get_attachment_image', 'serve_webp_with_fallback', 10, 2);
Del 11: Vanlige feil
- Opplasting av full oppløsning: Last opp 1200px i stedet for 4000px hvis det er alt du trenger.
- Ignorere Alt-tekst: Manglende beskrivelser skader SEO og tilgjengelighet.
- Manglende optimalisering av Featured Images: Disse bildene er avgjørende for deling i sosiale medier (Open Graph).
Oppsummering: Sjekkliste for optimalisering 2026
- Deaktiver vedleggssider (301 eller 404).
- Bruk AVIF/WebP for 60 % mindre filer.
- Ekskluder herobilder fra lazy loading (forbedre CLS).
- Bruk srcset for full responsivitet.
- Innføre navnestandarder for filer.
- Måle resultater regelmessig med PageSpeed Insights.
I 2026 er bildeoptimalisering ikke lenger et valg – det er fundamentet i din SEO-strategi og brukeropplevelse. Godt optimaliserte medier betyr en raskere side, bedre rangeringer og fornøyde brukere.



