Sådan optimerer du WordPress til hastighed uden plugins (The Code-Only Guide)

Udgivet den | Ved
6 min læst

If you’re reading this, you’re likely tired of the standard WordPress performance advice. The usual routine—installing WP Rocket, adding an image optimizer plugin, and throwing in an asset manager—often leads to a paradox: du installerer plugins for at fremskynde dit websted, men pluginsene selv tilføjer database-bloat, baggrunds-cron-job og deres egne CSS/JS-nyttelast.

Sandheden er, at WordPress ikke har brug for 15 ydeevne plugins for at indlæse på under et sekund. Ægte hastighedsoptimering sker på metallaget - serveren, databasen og kernekoden.

I denne guide kommer vi til at omgå plugin-økosystemet helt. Vi vil optimere WordPress ved hjælp af server-side konfigurationer, wp-config.php justeringer og kirurgisk functions.php uddrag.


1. Server-Side Foundation (ingen PHP påkrævet)

Før du rører en enkelt linje WordPress-kode, skal dit servermiljø være stærkt optimeret. En svag server kan ikke rettes ved frontend-cache.

Opgrader til PHP 8.1+

WordPress kører på PHP. Flytning fra PHP 7.4 til PHP 8.1 eller 8.2 kan give en 20-30 % reduktion i eksekveringstid og væsentligt lavere hukommelsesforbrug. Handling: Skift dette i din cPanel, Plesk eller via CLI, hvis du administrerer din egen VPS.

Aktiver komprimering på serverniveau (Brotli over Gzip)

Mens Gzip er standard, Brotli (udviklet af Google) giver ca. 15-20 % bedre komprimeringsforhold for tekstfiler (HTML, CSS, JS) til samme CPU-pris. Handling (Nginx): Sørg for din nginx.conf har Brotli aktiveret:

brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;

Implementer FastCGI Caching (Nginx) eller LiteSpeed ​​Cache

I stedet for at bruge et PHP-baseret cache-plugin (som stadig kræver, at WordPress indlæses delvist for at betjene cachen), skal du cache på webserverniveau. Nginx FastCGI caching gemmer den genererede HTML i RAM eller på disk og serverer den direkte, helt uden om PHP og MySQL for anonyme besøgende.


2. Hærdning og udtynding via wp-config.php

De wp-config.php fil er dit kontrolrum. Som standard tillader WordPress visse adfærd, der blæser din database over tid.

Tilføj disse uddrag lige før /* That's all, stop editing! Happy publishing. */ linje.

Begræns efter revisioner

Som standard gemmer WordPress uendelige revisioner af dine indlæg. Et indlæg opdateret 50 gange vil have 50 kopier i din wp_posts databasetabel, hvilket dramatisk bremser databaseforespørgsler.

// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );

Optimer Autosave-intervallet

WordPress gemmer automatisk hvert 60. sekund. Hvis du har flere redaktører, der arbejder, hamrer dette databasen. Sæt farten ned.

// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );

Tøm papirkurven hurtigere

Slettede indlæg og kommentarer sidder i databasen i 30 dage. Reducer dette for at holde databasen slank.

// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );

3. "Anti-bloat" functions.php Master Snippet

WordPress-kernen injicerer en enorm mængde af ældre supportscripts, opdagelseslinks og inline-stile i din  og 

 som standard.

For at opnå maksimal informationsgevinst i forhold til konkurrenter, vil vi ikke bare fortælle dig at "bruge et debloat-plugin." Her er den nøjagtige kode til kirurgisk fjernelse af den mest almindelige WordPress-bloat.

Bemærk: Føj dette til dine børnetemaer functions.php eller et drop-in mu-plugin.

/**
 * The Ultimate WordPress Debloat Snippet
 */
add_action('init', function() {
    // 1. Remove RSD, XMLRPC, and WLW links
    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wlwmanifest_link');
    add_filter('xmlrpc_enabled', '__return_false');

    // 2. Remove WordPress version footprint (Security & Speed)
    remove_action('wp_head', 'wp_generator');

    // 3. Remove Shortlinks and REST API links from header
    remove_action('wp_head', 'wp_shortlink_wp_head');
    remove_action('wp_head', 'rest_output_link_wp_head');

    // 4. Disable native Emojis (Saves 1 JS and 1 CSS HTTP Request)
    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');
    remove_filter('the_content_feed', 'wp_staticize_emoji');
    remove_filter('comment_text_rss', 'wp_staticize_emoji');
    remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

    // 5. Disable oEmbeds (If you don't embed external URLs automatically)
    remove_action('wp_head', 'wp_oembed_add_discovery_links');
    remove_action('wp_head', 'wp_oembed_add_host_js');
    add_action('wp_footer', function() { wp_deregister_script('wp-embed'); });
});

/**
 * 6. Remove Global Styles (WP 5.9+ Inline CSS Bloat)
 */
add_action('wp_enqueue_scripts', function() {
    wp_dequeue_style('global-styles');
    wp_dequeue_style('classic-theme-styles');
}, 100);

/**
 * 7. Remove jQuery Migrate (If using modern themes/plugins)
 */
add_action('wp_default_scripts', function($scripts) {
    if (!is_admin() && isset($scripts->registered['jquery'])) {
        $script = $scripts->registered['jquery'];
        if ($script->deps) {
            $script->deps = array_diff($script->deps, ['jquery-migrate']);
        }
    }
});

/**
 * 8. Throttle the Heartbeat API
 * Prevents high CPU usage when leaving the WP Admin open
 */
add_filter('heartbeat_settings', function($settings) {
    $settings['interval'] = 60; // Throttle to 60 seconds
    return $settings;
});

Hvad har vi lige opnået?

Ved at tilføje koden ovenfor, har du øjeblikkeligt elimineret op til 5-8 unødvendige HTTP-anmodninger og fjernede snesevis af linjer med inline CSS/JS fra hver enkelt sideindlæsning – alt sammen uden at installere et eneste plugin.


4. Medieoptimering (den hårde måde)

Plugins som Smush eller Imagify er praktiske, men de kører billedbehandling på din PHP-server, hvilket forbruger CPU-ressourcer.

Manuel WebP/AVIF-konvertering

Før du uploader et billede til WordPress, skal du køre det gennem en ekstern, tabsfri kompressor som Squoosh.app (af Google) eller Lille PNG. Endnu bedre, konverter dem til .webp eller .avif formater lokalt før upload.

Udnyt Native Lazy Loading

Siden WordPress 5.5 er native lazy loading indbygget. WordPress tilføjer automatisk loading="lazy" til dine billeder. Du behøver ikke et JavaScript-baseret plugin til doven indlæsning. Sørg dog for, at dine "over skillelinjen"-billeder (som dit logo eller heltebillede) IKKE har denne egenskab, da det vil forsinke den største indholdsfulde maling (LCP).

Du kan fjerne lazy loading for det første billede på en side via functions.php:

add_filter( 'wp_get_attachment_image_attributes', function( $attr, $attachment, $size ) {
    static $is_first_image = true;
    if ( $is_first_image ) {
        $attr['loading'] = 'eager'; // Force immediate load for LCP
        $is_first_image = false;
    }
    return $attr;
}, 10, 3 );

5. Databasedefragmentering via phpMyAdmin

Optimeringsplugins har normalt knappen "Ren database". Du kan gøre dette indbygget på databaseniveau.

  1. Log ind på dit hostingpanel og åbn phpMyAdmin.
  2. Vælg din WordPress-database.
  3. Rul til bunden, tjek Tjek alle.
  4. I rullemenuen "Med valgt:" skal du vælge Optimer tabellen.

MySQL vil genopbygge tabelindeksene og genvinde ubrugt plads. Gør dette manuelt en gang om måneden.


Dommen

At optimere WordPress uden plugins handler ikke kun om at spare penge på premium-abonnementer. Det er en filosofi om reduktion af teknisk gæld. Hvert plugin, du ikke installerer, er en sikkerhedssårbarhed, du ikke behøver at reparere, en databasetabel, du ikke behøver at rense, og et PHP-script, som din server ikke behøver at udføre.

Flyt arbejdsbyrden til serveren (PHP 8.1+, Nginx FastCGI), håndhæv disciplin i din wp-config.php, og skær kernebloat væk ved hjælp af din functions.php. Din Time to First Byte (TTFB) og Core Web Vitals vil afspejle forskellen.

Ajay Malik

Ajay Malik er en WordPress-udvikler og Elite Freelancer med 8+ års erfaring.