10 Cosas que puedes quitarle a tu WordPress para hacerlo más ligero

¡Buenos días! Hoy os traigo un vídeo con 10 cosillas que le podéis quitar a vuestro WordPress para hacerlo más ligero, más limpio y con menos distracciones. ¡Vamos allá!

YouTube video

[cta-pagespeed]

A continuación os dejo los códigos que he utilizado en el vídeo y también algo de información extra para cada punto 🙂

1. Quitar la opción de dejar comentarios

Aquí sólo quería comentaros que si queréis limpiar la base de datos de los comentarios ya existentes, podéis utilizar el siguiente plugin:  Delete All Comments Easily

2. Desactivar o limitar revisiones de posts

Esta es la función que deberéis insertar en el archivo wp-config.php:

define('WP_POST_REVISIONS', 3);

Acordaos de cambiar el número 3 por el numero de revisiones que queréis guardar. Y si no queréis guardar ninguna, podéis poner un cero o un false en su lugar.

Para eliminar las revisiones de posts en WordPress podéis consultar este post. Ya veréis qué alivio para la base de datos 🙂

3. Deshabilitar el editor de plugins y themes

Lo mismo que antes, nos vamos a wp-config.php e insertamos esto:

define('DISALLOW_FILE_EDIT', true );

Acordaos de insertar tanto este código como el del punto anterior antes de la línea /* That’s all… Sinó el código puede no funcionar correctamente (en realidad mientras esté antes de la función if ( ! defined( ‘ABSPATH’ )… todo irá bien ).

4. Deshabilitar los emojis

Esta es la parrafada de código a utilizar:

function disable_emojis() {
 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_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
 add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );}

add_action( 'init', 'disable_emojis' );

function disable_emojis_tinymce( $plugins ) {
 if ( is_array( $plugins ) ) {
 return array_diff( $plugins, array( 'wpemoji' ) );
 } else {
 return array();}}

function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
 if ( 'dns-prefetch' == $relation_type ) {
 $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );
 $urls = array_diff( $urls, array( $emoji_svg_url ) ); }
 return $urls;}

5. Deshabilitar los smileys

Aquí hay menos código 🙂 Sólo es ésta línea:

add_filter( 'option_use_smilies', '__return_false' );

6. Deshabilitar jQuery Migrate

En el caso de jQuery Migrate os recomiendo desconectarlo y acto seguido comprobar que no hayan errores en la consola (en el inspector del navegador). Este el el código:

function cedaro_dequeue_jquery_migrate( $scripts ) {
 if ( ! is_admin() && ! empty( $scripts->registered['jquery'] ) ) {
 $jquery_dependencies = $scripts->registered['jquery']->deps;
 $scripts->registered['jquery']->deps = array_diff( $jquery_dependencies, array( 'jquery-migrate' ) );}}

add_action( 'wp_default_scripts', 'cedaro_dequeue_jquery_migrate' );

7. Desactivar los Embeds

El código es un pelín diferente que el del vídeo, porque lo grabé hace tiempo, pero hace la misma función. Aquí lo tenéis:

function disable_embeds_code_init() {
	add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );
	add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
	add_filter( 'embed_oembed_discover', '__return_false' );
	remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
	remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
	remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
	remove_action( 'wp_head', 'wp_oembed_add_host_js' );
	remove_action( 'rest_api_init', 'wp_oembed_register_route' );}

add_action( 'init', 'disable_embeds_code_init', 9999 );

function disable_embeds_tiny_mce_plugin($plugins) {
    return array_diff($plugins, array('wpembed'));}

function disable_embeds_rewrites($rules) {
    foreach($rules as $rule => $rewrite) {
        if(false !== strpos($rewrite, 'embed=true')) {
            unset($rules[$rule]);}}
    return $rules;}

8. Deshabilitar Font Awesome

Aquí no hay código pero quería comentaros que a veces Font Awesome puede ser cargado por un plugin (por ejemplo un page builder) y el método del vídeo no serviría en este caso. También podéis consultar cómo añadir Font Awesome a WordPress 🙂

9. Deshabilitar los Dashicons

Este es el código para deshabilitar los Dashicons:

add_action( 'wp_print_styles', function() {
    if (!is_admin_bar_showing()) wp_deregister_style( 'dashicons' );
}, 100);

Acordaos de que seguirán cargando para nosotros si tenemos la sesión iniciada en nuestro Wordpress.

10. Quitar fuentes de Google Fonts

El tema de las fuentes es algo delicado así que prepararé otro vídeo donde os hablaré más detalladamente sobre cómo optimizar la entrega de las fuentes en WordPress:) También podéis consultar este vídeo sobre cómo añadir Google Fonts en WordPress.

Bonus track: otras cosas para quitar

En el blog tengo algunos vídeos más sobre las cosillas que se pueden quitar en WordPress. Podéis ver también:

¡Espero que os sirvan!

¿Eres una agencia o diseñador y necesitas un servicio profesional de maquetación web?
Tu web maquetada pixel-perfect en tiempo record con las mejores prácticas de desarrollo y optimización de velocidad
Servicio maquetación web