So optimieren Sie WordPress auf Geschwindigkeit ohne Plugins (Der Nur-Code-Leitfaden)

Veröffentlicht am | Von
6 Min. gelesen

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: Sie installieren Plugins, um Ihre Website zu beschleunigen, aber die Plugins selbst verursachen eine Aufblähung der Datenbank, Cron-Jobs im Hintergrund und eigene CSS/JS-Nutzlasten.

Die Wahrheit ist, dass WordPress keine 15 Leistungs-Plugins benötigt, um es in weniger als einer Sekunde zu laden. Echte Geschwindigkeitsoptimierung findet auf der Metallschicht statt – dem Server, der Datenbank und dem Kerncode.

In diesem Leitfaden werden wir das Plugin-Ökosystem vollständig umgehen. Wir optimieren WordPress mithilfe serverseitiger Konfigurationen. wp-config.php Anpassungen und chirurgische Eingriffe functions.php Schnipsel.


1. Die serverseitige Grundlage (kein PHP erforderlich)

Bevor Sie eine einzige Zeile WordPress-Code berühren, muss Ihre Serverumgebung stark optimiert werden. Ein schwacher Server kann nicht durch Front-End-Caching behoben werden.

Upgrade auf PHP 8.1+

WordPress läuft auf PHP. Der Wechsel von PHP 7.4 auf PHP 8.1 oder 8.2 kann zu einer Reduzierung der Ausführungszeit um 20–30 % und einem deutlich geringeren Speicherverbrauch führen. Aktion: Ändern Sie dies in Ihrem cPanel, Plesk oder über CLI, wenn Sie Ihren eigenen VPS verwalten.

Komprimierung auf Serverebene aktivieren (Brotli über Gzip)

Während Gzip Standard ist, Brotli (entwickelt von Google) bietet etwa 15–20 % bessere Komprimierungsraten für Textdateien (HTML, CSS, JS) bei gleichen CPU-Kosten. Aktion (Nginx): Stellen Sie sicher, dass Ihre nginx.conf hat Brotli aktiviert:

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

Implementieren Sie FastCGI Caching (Nginx) oder LiteSpeed ​​Cache

Anstatt ein PHP-basiertes Caching-Plugin zu verwenden (das immer noch erfordert, dass WordPress teilweise geladen wird, um den Cache bereitzustellen), sollten Sie den Cache auf der Ebene des Webservers durchführen. Nginx FastCGI-Caching speichert den generierten HTML-Code im RAM oder auf der Festplatte und stellt ihn direkt bereit, wobei PHP und MySQL für anonyme Besucher vollständig umgangen werden.


2. Härten und Verdünnen durch wp-config.php

Der wp-config.php Datei ist Ihr Kontrollraum. Standardmäßig lässt WordPress bestimmte Verhaltensweisen zu, die Ihre Datenbank mit der Zeit aufblähen.

Fügen Sie diese Snippets direkt vor dem hinzu /* That's all, stop editing! Happy publishing. */ Linie.

Begrenzen Sie Beitragsrevisionen

Standardmäßig speichert WordPress unbegrenzt viele Überarbeitungen Ihrer Beiträge. Ein Beitrag, der 50 Mal aktualisiert wird, hat 50 Exemplare in Ihrem Verzeichnis wp_posts Datenbanktabelle, wodurch Datenbankabfragen erheblich verlangsamt werden.

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

Optimieren Sie das Autosave-Intervall

WordPress speichert alle 60 Sekunden automatisch. Wenn mehrere Editoren arbeiten, belastet dies die Datenbank. Machen Sie es langsamer.

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

Leeren Sie den Papierkorb schneller

Gelöschte Beiträge und Kommentare verbleiben 30 Tage lang in der Datenbank. Reduzieren Sie dies, um die Datenbank schlank zu halten.

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

3. Der „Anti-Bloat“ functions.php Master-Snippet

Der WordPress-Kern fügt eine riesige Menge älterer Support-Skripte, Discovery-Links und Inline-Stile in Ihr System ein  Und 

 standardmäßig.

Um einen maximalen Informationsgewinn gegenüber der Konkurrenz zu erzielen, empfehlen wir Ihnen nicht einfach, „ein Debloat-Plugin zu verwenden“. Hier ist der genaue Code zur chirurgischen Entfernung der häufigsten WordPress-Blähungen.

Hinweis: Fügen Sie dies zu Ihrem Child-Theme hinzu functions.php oder ein 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;
});

Was haben wir gerade erreicht?

Durch Hinzufügen des obigen Codes haben Sie bis zu sofort eliminiert 5-8 unnötige HTTP-Anfragen und Dutzende Zeilen Inline-CSS/JS aus jedem einzelnen Seitenladevorgang entfernt – und das alles ohne die Installation eines einzigen Plugins.


4. Medienoptimierung (auf die harte Tour)

Plugins wie Smush oder Imagify sind praktisch, führen jedoch die Bildverarbeitung auf Ihrem PHP-Server aus und verbrauchen CPU-Ressourcen.

Manuelle WebP/AVIF-Konvertierung

Bevor Sie ein Bild auf WordPress hochladen, lassen Sie es durch einen externen, verlustfreien Kompressor laufen Squoosh.app (von Google) oder TinyPNG. Besser noch, konvertieren Sie sie in .webp oder .avif Formate vor dem Hochladen lokal speichern.

Nutzen Sie natives Lazy Loading

Seit WordPress 5.5 ist natives Lazy Loading integriert. WordPress fügt automatisch hinzu loading="lazy" zu Ihren Bildern. Sie benötigen kein JavaScript-basiertes Lazy-Loading-Plugin. Stellen Sie jedoch sicher, dass Ihre „Above the Fold“-Bilder (wie Ihr Logo oder Ihr Heldenbild) dieses Attribut NICHT haben, da es den Largest Contentful Paint (LCP) verzögert.

Sie können Lazy Loading für das erste Bild auf einer Seite über entfernen 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. Datenbankdefragmentierung über phpMyAdmin

Optimierungs-Plugins verfügen normalerweise über eine Schaltfläche „Datenbank bereinigen“. Sie können dies nativ auf Datenbankebene tun.

  1. Melden Sie sich bei Ihrem Hosting-Panel an und öffnen Sie es phpMyAdmin.
  2. Wählen Sie Ihre WordPress-Datenbank aus.
  3. Scrollen Sie nach unten und prüfen Sie Überprüfen Sie alles.
  4. Wählen Sie im Dropdown-Menü „Mit ausgewählt:“ eine Option aus Tabelle optimieren.

MySQL erstellt die Tabellenindizes neu und gewinnt ungenutzten Speicherplatz zurück. Führen Sie dies einmal im Monat manuell durch.


Das Urteil

Bei der Optimierung von WordPress ohne Plugins geht es nicht nur darum, bei Premium-Abonnements Geld zu sparen. Es ist eine Philosophie von Reduzierung der technischen Schulden. Jedes Plugin, das Sie nicht installieren, stellt eine Sicherheitslücke dar, die Sie nicht beheben müssen, eine Datenbanktabelle, die Sie nicht bereinigen müssen, und ein PHP-Skript, das Ihr Server nicht ausführen muss.

Verlagern Sie die Arbeitslast auf den Server (PHP 8.1+, Nginx FastCGI), sorgen Sie für Disziplin in Ihrem wp-config.php, und schneiden Sie den aufgeblähten Kern mit Ihrem ab functions.php. Ihre Time to First Byte (TTFB) und Ihre Core Web Vitals spiegeln den Unterschied wider.

Teilen Sie diesen Beitrag

Ajay Malik

Ajay Malik ist ein WordPress-Entwickler und Elite-Freiberufler mit mehr als 8 Jahren Erfahrung.