elfsightSari la conținut
Cum dezactivați funcțiile WordPress inutile pentru performanță

Cum dezactivați funcțiile WordPress inutile pentru performanță

O instalare WordPress implicită încarcă numeroase funcționalități pe care multe website-uri nu le folosesc niciodată: emoji-uri, embed-uri oEmbed, XML-RPC, feed-uri RSS, versiunea WordPress în codul sursă și diverse scripturi care adaugă cereri HTTP și milisecunde la fiecare încărcare de pagină. Fiecare funcționalitate inutilă consumă resurse de server și crește timpul de răspuns, afectând atât experiența vizitatorilor, cât și poziționarea în motoarele de căutare.

Dezactivarea funcționalităților neutilizate este o metodă eficientă de optimizare a performanței care nu necesită pluginuri suplimentare și nu afectează funcționalitățile pe care le folosiți efectiv. Diferența poate părea mică per funcționalitate, dar cumulativ, eliminarea a 10-15 elemente inutile poate reduce timpul de încărcare cu 100-300 milisecunde și numărul de cereri HTTP cu 5-10. Aceste milisecunde contează în contextul în care Google utilizează viteza de încărcare ca factor de clasare.

În acest ghid veți descoperi care funcționalități WordPress puteți dezactiva în siguranță, cum să le dezactivați prin cod sau pluginuri și cum să verificați impactul asupra metricilor de performanță. Toate modificările prezentate se aplică în fișierul functions.php al child theme-ului activ sau într-un plugin personalizat – niciodată direct în fișierele WordPress core.

Cum dezactivați funcțiile WordPress inutile pentru performanță

Optimizarea prin dezactivare funcționează pe principiul simplu: codul care nu se execută nu consumă resurse. Fiecare funcționalitate dezactivată reduce cantitatea de CSS, JavaScript și cereri HTTP pe care browserul trebuie să le proceseze. Înainte de a dezactiva orice funcționalitate, creați o copie de rezervă a website-ului și testați modificările mai întâi pe un mediu de staging, dacă este disponibil.

Unde plasați codul de dezactivare

Există două locuri recomandate pentru a adăuga codul de optimizare:

  • Child theme – functions.php: Cea mai comună metodă, dar codul se pierde dacă schimbați tema
  • Plugin personalizat: Metoda recomandată – codul rămâne activ indiferent de tema folosită
  • Plugin dedicat (Perfmatters, Asset CleanUp): Interfață vizuală fără necesitatea scrierii de cod

Pentru a crea un plugin simplu de optimizare, creați fișierul wp-content/plugins/optimizare-personalizata/optimizare-personalizata.php cu antetul corespunzător, apoi adăugați funcțiile de dezactivare în el.

Dezactivarea emoji-urilor WordPress

WordPress încarcă un script JavaScript și o foaie de stiluri CSS pentru emoji-uri pe fiecare pagină, chiar dacă nu le folosiți în conținut. Browserele moderne suportă emoji-uri nativ fără acest script, care adaugă o cerere HTTP suplimentară la fiecare vizită.

// Dezactivează scripturile emoji WordPress
function dezactiveaza_emoji() {
    remove_action('wp_head', 'print_emoji_detection_script', 7);
    remove_action('admin_print_scripts', 'print_emoji_detection_script');
    remove_action('wp_print_styles', 'print_emoji_styles');
    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');
}
add_action('init', 'dezactiveaza_emoji');

Această dezactivare este sigură pentru orice website care nu depinde de emoji-uri inserate prin editorul WordPress. Emoji-urile din text vor continua să fie afișate de browserele moderne, dar fără scriptul suplimentar.

Dezactivarea oEmbed și a scripturilor asociate

WordPress include un sistem oEmbed care permite inserarea automată de conținut de pe alte website-uri (YouTube, Twitter, Instagram) prin simpla lipire a URL-ului. Dacă nu folosiți embed-uri sau preferați să le inserați manual prin iframe, dezactivați scripturile oEmbed care sunt încărcate pe fiecare pagină:

// Dezactivează oEmbed
function dezactiveaza_oembed() {
    remove_action('wp_head', 'wp_oembed_add_discovery_links');
    remove_action('wp_head', 'wp_oembed_add_host_js');
    remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
    remove_action('rest_api_init', 'wp_oembed_register_route');
    add_filter('embed_oembed_discover', '__return_false');
}
add_action('init', 'dezactiveaza_oembed');

Atenție: dacă aveți articole cu URL-uri de YouTube sau alte platforme inserate ca text simplu, acestea nu vor mai fi convertite automat în playere embed după dezactivare. Verificați conținutul existent înainte de a aplica această modificare.

Eliminarea versiunii WordPress din cod

WordPress adaugă automat versiunea instalării în codul sursă HTML (meta tag generator) și în URL-urile resurselor CSS/JS. Aceasta facilitează identificarea versiunii de către atacatori care caută vulnerabilități specifice. Eliminarea acestei informații este o măsură elementară de securitate:

// Elimină versiunea WordPress din header și resurse
remove_action('wp_head', 'wp_generator');

// Elimină versiunea din URL-urile CSS și JS
function elimina_versiunea_resurse($src) {
    if (strpos($src, 'ver=')) {
        $src = remove_query_arg('ver', $src);
    }
    return $src;
}
add_filter('style_loader_src', 'elimina_versiunea_resurse');
add_filter('script_loader_src', 'elimina_versiunea_resurse');

Eliminarea parametrului ver= din URL-urile resurselor îmbunătățește și rata de cache-uire a browserului, deoarece URL-urile nu se mai schimbă la fiecare actualizare WordPress, dacă nu ați modificat fișierele respective.

Dezactivarea XML-RPC

XML-RPC este un protocol vechi pentru comunicarea la distanță cu WordPress. Dacă nu folosiți aplicația mobilă WordPress sau publicare la distanță, dezactivați-l pentru a preveni atacurile brute force. XML-RPC este frecvent vizat de botneturi care încearcă autentificări în masă prin această cale:

// Dezactivează XML-RPC complet
add_filter('xmlrpc_enabled', '__return_false');

// Elimină link-urile XML-RPC din header
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');

Sau blocați accesul la nivel de server prin .htaccess, metodă mai eficientă deoarece oprește cererile înainte ca WordPress să se încarce:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

Dezactivarea REST API pentru utilizatorii neautentificați

WordPress REST API este accesibil public implicit, expunând informații despre utilizatori și conținut. Dacă nu aveți aplicații externe care consumă API-ul, restricționați accesul pentru a reduce riscul de expunere a datelor și pentru a diminua încărcarea serverului cauzată de cereri automate:

// Restricționează REST API la utilizatorii autentificați
add_filter('rest_authentication_errors', function($result) {
    if (!is_user_logged_in()) {
        return new WP_Error(
            'rest_not_logged_in',
            'API disponibil doar pentru utilizatorii autentificați.',
            array('status' => 401)
        );
    }
    return $result;
});

Atenție: această restricție poate afecta pluginuri care folosesc REST API pe frontend (Gutenberg, WooCommerce, formulare de contact). Testați cu atenție după aplicare și verificați că toate funcționalitățile website-ului operează corect.

Dezactivarea Heartbeat API

WordPress Heartbeat API trimite cereri AJAX la fiecare 15-60 de secunde pentru funcționalități precum salvarea automată și notificările în timp real. Pe website-uri cu mulți utilizatori simultani în admin, acest lucru consumă resurse semnificative de server. Pe frontend, Heartbeat este complet inutil pentru vizitatori:

// Dezactivează Heartbeat pe frontend, limitează în admin
function optimizeaza_heartbeat($settings) {
    $settings['interval'] = 60; // O cerere pe minut în loc de 15 secunde
    return $settings;
}
add_filter('heartbeat_settings', 'optimizeaza_heartbeat');

// Dezactivează complet pe frontend
function dezactiveaza_heartbeat_frontend() {
    if (!is_admin()) {
        wp_deregister_script('heartbeat');
    }
}
add_action('init', 'dezactiveaza_heartbeat_frontend', 1);

Eliminarea link-urilor inutile din header

WordPress adaugă implicit mai multe link-uri în secțiunea <head> a paginii care nu sunt necesare pentru majoritatea website-urilor. Aceste link-uri cresc dimensiunea paginii și expun informații despre structura website-ului:

// Elimină link-uri inutile din wp_head
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'rest_output_link_wp_head');
remove_action('wp_head', 'wp_resource_hints', 2);
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);

Feed-urile RSS pot fi utile dacă aveți cititori care vă urmăresc prin agregatori de știri. Dacă nu știți sigur dacă feed-urile dvs. sunt folosite, păstrați liniile feed_links și feed_links_extra.

Dezactivarea sistemului de comentarii

Dacă nu folosiți sistemul de comentarii WordPress (website-uri de prezentare, portofolii, magazine online), dezactivați-l complet pentru a elimina câmpurile de comentarii, scripturile asociate și solicitările de baze de date inutile:

// Dezactivează comentariile pe toate tipurile de conținut
function dezactiveaza_comentarii() {
    $post_types = get_post_types();
    foreach ($post_types as $post_type) {
        if (post_type_supports($post_type, 'comments')) {
            remove_post_type_support($post_type, 'comments');
            remove_post_type_support($post_type, 'trackbacks');
        }
    }
}
add_action('admin_init', 'dezactiveaza_comentarii');

// Închide comentariile pe frontend
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// Ascunde comentariile existente
add_filter('comments_array', '__return_empty_array', 10, 2);

Limitarea revizuirilor articolelor

WordPress salvează o revizuire la fiecare salvare automată, acumulând zeci de revizuiri per articol care măresc baza de date. Pe un website cu sute de articole, tabelul wp_posts poate ajunge la zeci de mii de înregistrări inutile, afectând viteza interogărilor. Limitați-le în wp-config.php:

// Limitează la 3 revizuiri per articol
define('WP_POST_REVISIONS', 3);

// Sau dezactivează complet revizuirile
// define('WP_POST_REVISIONS', false);

// Crește intervalul de autosave (implicit 60 secunde)
define('AUTOSAVE_INTERVAL', 120);

Pentru a curăța revizuirile existente din baza de date, puteți folosi un plugin precum WP-Optimize sau o interogare SQL directă prin phpMyAdmin. Curățarea periodică a revizuirilor vechi contribuie la menținerea unei baze de date compacte și rapide.

Dezactivarea scripturilor și stilurilor neutilizate per pagină

Pluginurile WordPress încarcă adesea scripturile și stilurile lor pe toate paginile, chiar dacă sunt folosite doar pe câteva. Această abordare crește semnificativ numărul de resurse CSS și JavaScript. Dezactivați-le selectiv:

// Dezactivează stilul Contact Form 7 pe paginile fără formular
function dezactiveaza_cf7_global() {
    if (!is_page('contact')) {
        wp_dequeue_style('contact-form-7');
        wp_dequeue_script('contact-form-7');
    }
}
add_action('wp_enqueue_scripts', 'dezactiveaza_cf7_global', 99);

Același principiu se aplică pentru WooCommerce, pluginuri de slider, galerii foto și orice alt plugin care adaugă resurse globale. Pluginul Asset CleanUp Pro oferă o interfață vizuală pentru gestionarea acestor dezactivări fără a scrie cod manual.

Utilizarea unui plugin de optimizare dedicat

Dacă preferați o interfață vizuală în locul codului, există câteva opțiuni bine evaluate:

  • Perfmatters: Panou de setări complet, dezactivare per pagină/post, optimizare JavaScript
  • Asset CleanUp Pro: Control granular per pagină pentru fiecare script și stil în parte
  • WP Rocket: Soluție all-in-one pentru performanță, include dezactivarea funcționalităților inutile

Avantajul acestor pluginuri față de codul manual este că oferă opțiuni de dezactivare condiționată – puteți dezactiva un script pe toate paginile cu excepția celor unde este necesar, fără a scrie logică PHP personalizată.

Verificarea impactului optimizărilor

După fiecare dezactivare, verificați că website-ul funcționează corect și măsurați îmbunătățirile:

  • Testați toate funcționalitățile pe frontend – formulare, galerii, coșul de cumpărături, butoane sociale
  • Verificați panoul de administrare pentru erori sau avertismente
  • Rulați un test cu Google PageSpeed Insights înainte și după pentru a compara scorurile
  • Folosiți GTmetrix sau WebPageTest pentru analiza detaliată a cererilor HTTP
  • Verificați jurnalele de erori pentru probleme PHP sau JavaScript
  • Testați pe mai multe browsere și dispozitive mobile

Dezactivarea funcționalităților WordPress inutile este o optimizare cu risc redus și impact semnificativ asupra performanței. Evaluați ce funcționalități folosiți efectiv, dezactivați restul prin cod în child theme sau cu un plugin dedicat și verificați impactul cu instrumente de măsurare. Combinată cu un sistem de cache și imagini optimizate, această abordare contribuie la un website WordPress rapid care oferă experiența pe care vizitatorii și motoarele de căutare o așteaptă.

Servicii SEO speciale – Oferim servicii speciale de optimizare SEO și promovare pentru motoarele de căutare. Contactați-ne acum!

Dorel Tănase

Dorel Tănase – specialist SEO și Web Design-er cu peste 18 ani de experiență. Dorel Tănase este unul dintre specialiștii în optimizare SEO din România, cu o activitate neîntreruptă în mediul online de peste 18 ani.

Parcursul său profesional a început în anul 1997, odată cu lansarea website-ului cisnet.ro – unul dintre primele proiecte web românești axate pe servicii IT și prezență online.

Articolul precedent
Următorul articol

Comments (0)

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Înapoi sus
Caută
ROEN