¿Cómo puedo cargar plugins solo cuando sean necesarios?

Para cargar plugins condicionalmente en WordPress, desactiva sus assets (CSS/JS) globalmente con wp_dequeue_style/script y luego cárgalos con wp_enqueue_style/script usando condicionales (is_page(), etc.). Para usuarios avanzados.

LucusHost, el mejor hosting

La carga condicional de plugins es una técnica avanzada muy útil para optimizar el rendimiento de tu sitio WordPress.

Consiste en cargar un plugin (o partes de él, como sus scripts y estilos) solo cuando realmente es necesario, en lugar de cargarlo en cada página. Esto evita que código innecesario ralentice tu sitio en páginas donde el plugin no se utiliza.

Para lograr esto, necesitas un enfoque basado en código. Generalmente, implica deshabilitar la carga por defecto del plugin y luego usar hooks de WordPress para cargar sus activos (CSS y JavaScript) o incluso activar el plugin completo solo en condiciones específicas.

Enfoque 1: Deshabilitar la carga de CSS/JS de un plugin y cargarlos condicionalmente

Este es el método más común, ya que muchos plugins cargan sus estilos y scripts en todas las páginas.

  1. Identificar los handles del plugin:
    Necesitas saber los nombres (handles) de los scripts y estilos que el plugin en cuestión registra. Puedes descubrirlos inspeccionando el código fuente de tu sitio (buscando las etiquetas <link> y <script>) o usando un plugin de rendimiento como Asset CleanUp o Query Monitor, que te muestran los assets cargados.
  2. Desregistrar los scripts/estilos globalmente:
    Para los scripts se usa wp_dequeue_script( 'handel del js' ) y wp_deregister_script( 'handle del js' ).
    Para los estilos se usan wp_dequeue_style( 'handle del css' ) y wp_deregister_style( 'handle del css' ).
    Esto evitará que los scripts y estilos del plugin se carguen por defecto.
    Nota: wp_dequeue_style/script elimina el asset de la cola de carga, mientras que wp_deregister_style/script lo elimina del registro.
  3. Cargar los scripts/estilos condicionalmente:
    Después, usamos las etiquetas condicionales de WordPress para cargar los assets solo donde se necesiten.
    Algunas de las más comunes:
    • is_front_page(): Verdadero si es la página de inicio.
    • is_home(): Verdadero si es la página de entradas del blog (puede ser la misma que is_front_page() o no, según tus ajustes).
    • is_page('slug-pagina'): Verdadero si es una página específica (por su slug o ID). Puedes pasar un array de slugs/IDs: is_page(array('contacto', 'presupuesto')).
    • is_single(): Verdadero si es una entrada individual de cualquier tipo de post.
    • is_single('slug-post'): Verdadero si es una entrada específica.
    • is_singular('tipo-de-post'): Verdadero si es una entrada individual de un tipo de post específico (ej. is_singular('product') para productos de WooCommerce).
    • is_category('slug-categoria'): Verdadero si es una página de categoría.
    • is_tag('slug-etiqueta'): Verdadero si es una página de etiqueta.
    • is_archive(): Verdadero si es una página de archivo (categoría, etiqueta, fecha, autor…).
    • is_404(): Verdadero si es la página de error 404.
    • is_user_logged_in(): Verdadero si el usuario actual está conectado.
    • Para WooCommerce: is_woocommerce(), is_shop(), is_product_category(), is_product(), is_cart(), is_checkout().

Tienes la información completa en mi guía sobre la carga condicional de plugins en WordPress.

Enfoque 2: Desactivar/activar el plugin completo condicionalmente (¡Método arriesgado!)

Este método es mucho más complejo y arriesgado, y solo se recomienda para desarrolladores experimentados. Implica manipular el array de plugins activos en la base de datos de WordPress. Si se hace mal, puede romper tu sitio.

No se puede «desactivar» un plugin por completo para que no se cargue su lógica PHP de forma condicional tan fácilmente, ya que los plugins se cargan al inicio del proceso de WordPress. La «carga condicional» de plugins suele referirse a la carga condicional de sus assets (CSS/JS).

Advertencia: Este método es propenso a errores y conflictos si el plugin depende de otras acciones tempranas o si otros plugins dependen de él. No se recomienda para la mayoría de los usuarios.

Recomendación: Usar un plugin de gestión de assets

Para la mayoría de los usuarios, la forma más segura y sencilla de implementar la carga condicional de assets es usar un plugin especializado que facilite esta tarea sin tocar código:

  • Asset CleanUp: Page Speed Booster: Este plugin te permite deshabilitar la carga de CSS y JavaScript de plugins y temas en páginas específicas, posts, categorías, etc. Ofrece una interfaz visual para hacerlo, lo que reduce el riesgo de errores.
  • Perfmatters (Premium): Un plugin de optimización premium que también incluye esta funcionalidad de deshabilitar assets por página.

Estos plugins te permiten lograr el mismo objetivo (mejorar el rendimiento al cargar solo lo necesario) de una forma mucho más segura y amigable.

¿Tienes alguna duda o pregunta?Envía el formulario y procuraré darle respuesta
Formulario de pregunta
Responsable » Jose Ramón Bernabeu Guillem. Finalidad » Ponernos en contacto. Legitimación » Tu consentimiento al marcar la casilla verificación. Destinatarios » Los datos que proporciones estarán ubicados en los servidores de LucusHost, proveedor de hosting de este sitio. Derechos » por supuesto tendrás derecho, entre otros, a acceder, rectificar, limitar y suprimir tus datos.
Si creees que esto puede ser de utilidad a alguien más, pues... compártelo que es gratis 🙂
Sitio alojado en un servidor verde según The Green Web Foundation

LucusHost, el mejor hosting

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2025 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram