Title: Speculative Loading
Author: WordPress Performance Team
Published: <strong>19 de Enero de  2024</strong>
Last modified: 19 de Mayo de  2026

---

Buscar plugins

![](https://ps.w.org/speculation-rules/assets/banner-772x250.png?rev=3098224)

![](https://ps.w.org/speculation-rules/assets/icon.svg?rev=3098224)

# Speculative Loading

 Por [WordPress Performance Team](https://profiles.wordpress.org/performanceteam/)

[Descargar](https://downloads.wordpress.org/plugin/speculation-rules.1.6.0.zip)

 * [Detalles](https://cl.wordpress.org/plugins/speculation-rules/#description)
 * [Reseñas](https://cl.wordpress.org/plugins/speculation-rules/#reviews)
 *  [Instalación](https://cl.wordpress.org/plugins/speculation-rules/#installation)
 * [Desarrollo](https://cl.wordpress.org/plugins/speculation-rules/#developers)

 [Soporte](https://wordpress.org/support/plugin/speculation-rules/)

## Descripción

This plugin adds support for the [Speculation Rules API](https://developer.mozilla.org/en-US/docs/Web/API/Speculation_Rules_API),
which allows defining rules by which certain URLs are dynamically prefetched or 
prerendered. This core Speculative Loading functionality was [merged into WordPress 6.8](https://make.wordpress.org/core/2025/03/06/speculative-loading-in-6-8/),
but it only prefetches with conservative eagerness by default. In contrast, this
plugin defaults to prerendering with moderate eagerness (i.e. when interacting with
a link), and it provides a user interface to customize the mode and eagerness via
the “Speculative Loading” section on the _Settings > Reading_ admin screen.

By default, speculative loading is only enabled for logged-out users, since unauthenticated
pages are typically only eligible for caching and so more efficient to prefetch/
prerender. This means that sites with frequent logged-in users on the frontend—such
as e-commerce, forums, or membership sites—will not benefit from the feature. If
your server can handle the additional load (for example, with persistent object 
caching), you can opt in to enable speculative loading for all logged-in users or
for administrators only. This setting exclusively affects frontend pages; admin 
screens are always excluded.

Se puede utilizar un filtro para excluir determinadas rutas URL de la precarga y
la prelectura (ve a la sección FAQ). Alternativamente, puedes agregar la clase CSS`
no-prerender` a cualquier enlace (etiqueta `<a>`) que no deba tener precarga. Ver
la FAQ para más información.

#### Compatibilidad con navegadores

La API de reglas de especulación es una nueva API web, y la funcionalidad utilizada
por el plugin es compatible con navegadores basados en Chromium como Chrome, Edge
u Opera que utilicen la versión 121 o superior. Otros navegadores como Safari y 
Firefox ignorarán la funcionalidad sin efectos negativos; simplemente no se beneficiarán
de la carga especulativa. Ten en cuenta que algunas extensiones de navegador pueden
desactivar la carga especulativa por defecto.

 * [Compatibilidad general de navegadores de la API de reglas de especulación](https://caniuse.com/mdn-html_elements_script_type_speculationrules)
 * [Información sobre la sintaxis de las reglas de documentos que utiliza el plugin](https://developer.chrome.com/docs/web-platform/prerender-pages)

_Este plugin era conocido anteriormente como Speculation Rules._

## Instalación

#### Instalación desde dentro de WordPress

 1. Visita **Plugins > Agregar nuevo**.
 2. Busca **Speculative Loading**.
 3. Instala y activa el plugin **Speculative Loading**.

#### Instalación manual

 1. Sube toda la carpeta `speculation-rules` al directorio `/wp-content/plugins/`.
 2. Visita **Plugins**.
 3. Activa el plugin **Speculative Loading**.

#### After activation

 1. Visit the **Settings > Reading** admin screen.
 2. Use the controls in the **Speculative Loading** section to configure speculative
    loading.

## FAQ

### ¿Cómo puedo evitar que se haga precarga y prelectura de ciertas URLs?

No es razonable precargar todas las URL. Precargar conrtenido estático suele ser
fiable, sin embargo, precargar conrtenido interactivo, como una URL de desconexión,
puede conllevar fallos. Por este motivo, ciertas URLs del núcleo de WordPress, como
por ejemplo `/wp-login.php` y `/wp-admin/*` se excluyen de la precarga y de la prelectura.
Adicionalmente, cualquier URL generada con `wp_nonce_url()` (o que contenga la query
var `_wpnonce`) y los enlaces `nofollow` también se ignoran. Puedes excluir patrones
de URL adicionales usando el filtro `plsr_speculation_rules_href_exclude_paths`.

El siguiente ejemplo asegura que URLs como `https://ejemplo.com/carrito/` o `https://
ejemplo.com/carrito/foo` se excluyan de precarga o prelectura:

    ```
    <?php
    add_filter(
        'plsr_speculation_rules_href_exclude_paths',
        function ( array $exclude_paths ): array {
            $exclude_paths[] = '/cart/*';
            return $exclude_paths;
        }
    );
    ```

Ten en cuenta que a veces puede ser útil excluir una URL de la precarga y permitir
al mismo tiempo que tenga prelectura. Por ejemplo, una página con JavaScript del
lado del cliente para actualizar el estado del usuario probablemente no debería 
ser precargada, pero sería razonable hacer prelectura.

Con este objetivo, el filtro `plsr_speculation_rules_href_exclude_paths` recibe 
el modo actual (o “prelectura” o “precarga”) para ofrecer exclusiones condicionales.

El siguiente ejemplo garantiza que las URL como `https://ejemplo.com/productos/...`
no se puedan precargar, al tiempo que permite que se prelean:

    ```
    <?php
    add_filter(
        'plsr_speculation_rules_href_exclude_paths',
        function ( array $exclude_paths, string $mode ): array {
            if ( 'prerender' === $mode ) {
                $exclude_paths[] = '/products/*';
            }
            return $exclude_paths;
        },
        10,
        2
    );
    ```

Como se ha mencionado arriba, agregar la clase CSS `no-prerender` a un enlace impedirá
que se precargue (pero no su prelectura). Además, los enlaces con `rel=nofollow`
no se precargan ni preleen porque algunos plugins agregan esto a enlaces no redundantes(
p. ej.: agregar al carrito); idealmente, esos enlaces deberían ser botones que lancen
una petición POST o, al menos, deberían usar `wp_nonce_url()`.

### ¿Existen consideraciones especiales para el comportamiento de carga especulativa?

Por razones de seguridad, toda la característica de carga especulativa está desactivada
por defecto para los usuarios conectados y para los sitios que no utilizan enlaces
permanentes bonitos. Esto último se debe a que los plugins suelen utilizar URL con
parámetros de consulta personalizados para permitir a los usuarios realizar acciones,
y dichas URL no deberían cargarse de forma especulativa. Para los sitios sin enlaces
permanentes bonitos, es imposible o al menos extremadamente complejo diferenciar
entre qué parámetros de consulta son los predeterminados del núcleo y qué parámetros
de consulta son personalizados.

Si estás utilizando este plugin en un sitio sin enlaces permanentes bonitos y estás
seguro de que no hay parámetros de consulta personalizados en uso que puedan causar
cambios de estado, puedes optar por activar la carga especulativa a través del filtro`
plsr_enabled_without_pretty_permalinks`:

    ```
    <?php
    add_filter( 'plsr_enabled_without_pretty_permalinks', '__return_true' );
    ```

### ¿Cómo afectará esto a la analítica y la personalización?

La precarga puede afectar a la analítica y la personalización.

En el caso de JavaScript del lado del cliente, se recomienda retrasarlos hasta que
se active la precarga (por ejemplo, haciendo clic en el enlace). Algunas soluciones(
como Google Analytics) ya lo hacen automáticamente, ve el [impacto en Analytics](https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics).
Además, los iframes de origen cruzado no se cargan hasta su activación, lo que puede
evitar problemas en este caso.

La especulación con la anticipación `moderada` por defecto disminuye el riesgo de
que la página en precarga no llegue a ser visitada por el usuario y, por lo tanto,
evitará cualquier efecto secundario de cargar dicho enlace por adelantado. Por el
contrario, la anticipación `ansiosa` aumenta el riesgo de que las páginas en precarga
no se carguen. Alternativamente, el plugin ofrece especular solo cuando el ratón
o el puntero están pulsados (conservador), lo que reduce el riesgo aún más y es 
una opción para los sitios que están preocupados por esto, a costa de tener menos
tiempo de espera y por lo tanto menos ganancia de rendimiento.

Una página en precarga está vinculada a la página que la precarga, por lo que es
posible que la personalización ya se conozca en este punto y que los cambios (por
ejemplo, navegar por otros productos o iniciar o cerrar sesión) requieran a menudo
una nueva carga de la página y, por tanto, una nueva precarga, que los tendrá en
cuenta. Pero sin duda es algo que hay que tener en cuenta y probar. Las páginas 
en precarga pueden cancelarse eliminando el elemento `<script>` de las reglas de
especulación de la página mediante las API de DOM de JavaScript estándar en caso
de que sea necesario cuando cambie el estado sin que se cargue una nueva página.

### ¿Dónde puedo enviar mis comentarios sobre el plugin?

Te animamos a que nos envíes tus comentarios, especialmente porque este plugin puede
contener futuras características del núcleo de WordPress. Si tienes sugerencias 
o peticiones de nuevas características puedes [enviarlas como un issue en el repositorio del equipo de rendimiento de WordPress](https://github.com/WordPress/performance/issues/new/choose).
Si necesitas ayuda con el diagnóstico o tienes alguna pregunta sobre el plugin, 
por favor, [crea un nuevo debate en nuestro foro de soporte](https://wordpress.org/support/plugin/speculation-rules/#new-topic-0).

### ¿Dónde puedo informar de fallos de seguridad?

El equipo de rendimiento y la comunidad WordPress se toman en serio los fallos de
seguridad. Apreciamos tu esfuerzo para divulgar responsablemente tus hallazgos, 
y haremos todo lo posible para reconocer tus contribuciones.

Para informar de un problema de seguridad, visita el programa [WordPress HackerOne](https://hackerone.com/wordpress).

### ¿Cómo puedo contribuir al plugin?

¡Las contribuciones son siempre bienvenidas! Obtén más información sobre cómo participar
en el [manual del equipo de rendimiento del núcleo](https://make.wordpress.org/performance/handbook/get-involved/).

## Reseñas

![](https://secure.gravatar.com/avatar/9a91528deeb53161704f4fa1b82687f084fb9ea390704058ffc5a5e2e3578e10?
s=60&d=retro&r=g)

### 󠀁[Very promising and impressive plugin!](https://wordpress.org/support/topic/very-promising-and-impressive-plugin/)󠁿

 [Terry J](https://profiles.wordpress.org/texasbiz/) 16 de Abril de 2025

Although I have not tried the plugin on live sites, my testing on 3-4 dev boxes 
leaves me impressed. I can see and feel the speed increase I have a couple of heavy
sites and can see this plugin fitting right into the flow. Will get on it soon 🙂

![](https://secure.gravatar.com/avatar/6ac7c2e9bb1e43d09d87b780c06c09b391a52680c3b1512bcd094176376a1a26?
s=60&d=retro&r=g)

### 󠀁[Does what it needs to do.](https://wordpress.org/support/topic/does-what-it-needs-to-do-50/)󠁿

 [OllieJones](https://profiles.wordpress.org/olliejones/) 1 de Febrero de 2025

This works. That’s good.

![](https://secure.gravatar.com/avatar/b74336db946c8d8c3f811c4cdcdc350380f0a869db5674c41ab11151e3d3566c?
s=60&d=retro&r=g)

### 󠀁[Very fast and functional – Thanks for this.](https://wordpress.org/support/topic/very-fast-and-functional-thanks-for-this/)󠁿

 [mrimpact](https://profiles.wordpress.org/mrimpact/) 9 de Agosto de 2024

We have done a lot of testing on WordPress sites and WooCommerce stores. Everything
works beautifully and fast. Thank you very much for this amazing plugin.

![](https://secure.gravatar.com/avatar/39a932effeea71cd4f7f4ff167ea1cca1fd832db475adcc1225327e01ef91b2c?
s=60&d=retro&r=g)

### 󠀁[Seriously Impressive](https://wordpress.org/support/topic/seriously-impressive-2/)󠁿

 [groggy72](https://profiles.wordpress.org/groggy72/) 19 de Julio de 2024 1 respuesta

I was using another plugin which does a similar job but Speculative Loading appears
to be substantially quicker. Using on about 10 sites and no issues. Thank you

![](https://secure.gravatar.com/avatar/4b04f3868d5d00557a0e117f43262a23de2b023b16cf33e18bf233ecce7e4515?
s=60&d=retro&r=g)

### 󠀁[Interesting and Impressive](https://wordpress.org/support/topic/interesting-and-impressive/)󠁿

 [Hudson Atwell](https://profiles.wordpress.org/hudson-atwell/) 4 de Junio de 2024

Amazing results on install. Will continue to check this one out.

![](https://secure.gravatar.com/avatar/80e914c33cfcb58bb025742ce294e1d12f214079d7e14ac31b35e24477c06eda?
s=60&d=retro&r=g)

### 󠀁[Ein absolut sinnvolles Plugin](https://wordpress.org/support/topic/ein-absolut-sinnvolles-plugin/)󠁿

 [lacoste89](https://profiles.wordpress.org/lacoste89/) 27 de Mayo de 2024

Es verkürzt die Ladzeit für einen Benutzer sichtbar, auch wenn im Hintergrund die
Seite gleichschnell geladen wird, so fühlt es sich für einen Benutzer extrem schnell
an.

 [ Leer los 18 comentarios ](https://wordpress.org/support/plugin/speculation-rules/reviews/)

## Colaboradores & Desarrolladores

“Speculative Loading” es software de código abierto. Las siguientes personas han
contribuido a este plugin.

Colaboradores

 *   [ WordPress Performance Team ](https://profiles.wordpress.org/performanceteam/)
 *   [ WordPress.org ](https://profiles.wordpress.org/wordpressdotorg/)

“Speculative Loading” ha sido traducido en 15 idiomas. Gracias a [los traductores](https://translate.wordpress.org/projects/wp-plugins/speculation-rules/contributors)
por sus contribuciones.

[Traduce “Speculative Loading” a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/speculation-rules)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/speculation-rules/),
echa un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/speculation-rules/),
o suscríbete al [registro de desarrollo](https://plugins.trac.wordpress.org/log/speculation-rules/)
por [RSS](https://plugins.trac.wordpress.org/log/speculation-rules/?limit=100&mode=stop_on_copy&format=rss).

## Historial de cambios

#### 1.6.0

**Mejoras**

 * Add Speculative Loading opt-in for authenticated requests. ([2097](https://github.com/WordPress/performance/pull/2097))
 * Add warning notice to Speculative Loading setting for authenticated users when
   persistent object cache is not present. ([2144](https://github.com/WordPress/performance/pull/2144))
 * Update Speculative Loading readme description to note purpose after core merge.(
   [2120](https://github.com/WordPress/performance/pull/2120))

#### 1.5.0

**Mejoras**

 * Add support for Speculative Loading WP Core API, loading the plugin’s own API
   implementation conditionally. ([1883](https://github.com/WordPress/performance/pull/1883))

#### 1.4.0

**Mejoras**

 * Implement speculative loading considerations for safer behavior. ([1784](https://github.com/WordPress/performance/pull/1784))

#### 1.3.1

**Correcciones de fallos**

 * Check if rel contains nofollow instead of being just nofollow when excluding 
   speculative loading. ([1232](https://github.com/WordPress/performance/pull/1232))

#### 1.3.0

**Mejoras**

 * Prevent speculatively loading links to the uploads, content, plugins, template,
   or stylesheet directories. ([1167](https://github.com/WordPress/performance/pull/1167))
 * Facilitate embedding Speculative Loading in other plugins/themes. ([1159](https://github.com/WordPress/performance/pull/1159))
 * Improve overall code quality with stricter static analysis checks. ([775](https://github.com/WordPress/performance/issues/775))
 * Bump minimum PHP requirement to 7.2. ([1130](https://github.com/WordPress/performance/pull/1130))

#### 1.2.2

**Correcciones de fallos**

 * Fix composition of href exclude paths to account for JSON encoding and differing
   site/home URLs. ([1164](https://github.com/WordPress/performance/pull/1164))

**Documentación**

 * Update readme with browser support and FAQ section about analytics and personalization.(
   [1155](https://github.com/WordPress/performance/pull/1155))

#### 1.2.1

**Mejoras**

 * Add settings link to Speculative Loading plugin action links. ([1145](https://github.com/WordPress/performance/pull/1145))
 * Bump minimum PHP version to 7.2. ([1130](https://github.com/WordPress/performance/pull/1130))

**Correcciones de fallos**

 * Exclude _wpnonce URLs in speculation rules. ([1143](https://github.com/WordPress/performance/pull/1143))
 * Exclude rel=nofollow links from prefetch/prerender. ([1142](https://github.com/WordPress/performance/pull/1142))

#### 1.2.0

 * Add missing uninstall.php to remove plugin’s database option. ([1128](https://github.com/WordPress/performance/pull/1128))

#### 1.1.0

 * Allow excluding URL patterns from prerendering or prefetching specifically. (
   [1025](https://github.com/WordPress/performance/pull/1025))
 * Rename plugin to “Speculative Loading”. ([1101](https://github.com/WordPress/performance/pull/1101))
 * Add Speculative Loading generator tag. ([1102](https://github.com/WordPress/performance/pull/1102))
 * Bump minimum required WP version to 6.4. ([1062](https://github.com/WordPress/performance/pull/1062))
 * Update tested WordPress version to 6.5. ([1027](https://github.com/WordPress/performance/pull/1027))

#### 1.0.1

 * Escape path prefix and restrict it to be a pathname in Speculation Rules. ([951](https://github.com/WordPress/performance/pull/951))
 * Force HTML5 script theme support when printing JSON script. ([952](https://github.com/WordPress/performance/pull/952))
 * Add icon and banner assets for plugin directory. ([987](https://github.com/WordPress/performance/pull/987))

#### 1.0.0

 * Initial release of the Speculative Loading plugin as a standalone plugin. ([733](https://github.com/WordPress/performance/pull/733))

## Plugin de la comunidad

Este plugin está desarrollado y recibe soporte de una comunidad. [Contribuir a este plugin](https://github.com/WordPress/performance)

## Meta

 *  Versión **1.6.0**
 *  Última actualización **hace 4 semanas**
 *  Instalaciones activas **70,000+**
 *  Versión de WordPress ** 6.6 o superior **
 *  Probado hasta **7.0**
 *  Versión de PHP ** 7.2 o superior **
 *  Idiomas
 * [Chinese (Taiwan)](https://tw.wordpress.org/plugins/speculation-rules/), [English (US)](https://wordpress.org/plugins/speculation-rules/),
   [French (France)](https://fr.wordpress.org/plugins/speculation-rules/), [German](https://de.wordpress.org/plugins/speculation-rules/),
   [Hindi](https://hi.wordpress.org/plugins/speculation-rules/), [Korean](https://ko.wordpress.org/plugins/speculation-rules/),
   [Norwegian (Bokmål)](https://nb.wordpress.org/plugins/speculation-rules/), [Persian](https://fa.wordpress.org/plugins/speculation-rules/),
   [Portuguese (Brazil)](https://br.wordpress.org/plugins/speculation-rules/), [Portuguese (Portugal)](https://pt.wordpress.org/plugins/speculation-rules/),
   [Russian](https://ru.wordpress.org/plugins/speculation-rules/), [Spanish (Chile)](https://cl.wordpress.org/plugins/speculation-rules/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/speculation-rules/), [Swedish](https://sv.wordpress.org/plugins/speculation-rules/),
   [Turkish](https://tr.wordpress.org/plugins/speculation-rules/), y [Vietnamese](https://vi.wordpress.org/plugins/speculation-rules/).
 *  [Traducir a tu idioma](https://translate.wordpress.org/projects/wp-plugins/speculation-rules)
 * Etiquetas
 * [javascript](https://cl.wordpress.org/plugins/tags/javascript/)[performance](https://cl.wordpress.org/plugins/tags/performance/)
   [prefetch](https://cl.wordpress.org/plugins/tags/prefetch/)[prerender](https://cl.wordpress.org/plugins/tags/prerender/)
 *  [Vista Avanzada](https://cl.wordpress.org/plugins/speculation-rules/advanced/)

## Calificaciones

 5 de 5 estrellas.

 *  [  18 valoraciones de 5 estrellas     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=5)
 *  [  0 valoraciones de 4 estrellas     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=4)
 *  [  0 valoraciones de 3 estrellas     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=3)
 *  [  0 valoraciones de 2 estrellas     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=2)
 *  [  0 valoraciones de 1 estrellas     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/speculation-rules/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/speculation-rules/reviews/)

## Colaboradores

 *   [ WordPress Performance Team ](https://profiles.wordpress.org/performanceteam/)
 *   [ WordPress.org ](https://profiles.wordpress.org/wordpressdotorg/)

## Soporte

Problemas resueltos en los últimos dos meses:

     1 de 1

 [Ver el foro de soporte](https://wordpress.org/support/plugin/speculation-rules/)