Title: Speculative Loading
Author: WordPress Performance Team
Published: <strong>19 janeiro, 2024</strong>
Last modified: 2 dezembro, 2025

---

Pesquisar 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/)

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

 * [Detalhes](https://br.wordpress.org/plugins/speculation-rules/#description)
 * [Avaliações](https://br.wordpress.org/plugins/speculation-rules/#reviews)
 *  [Instalação](https://br.wordpress.org/plugins/speculation-rules/#installation)
 * [Desenvolvimento](https://br.wordpress.org/plugins/speculation-rules/#developers)

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

## Descrição

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.

Um filtro pode ser usado para excluir certos caminhos de URL de serem elegíveis 
para pré-carga e pré-montagem (veja a seção FAQ). Como alternativa, você pode adicionar
a classe CSS `no-prerender` a qualquer link (tag `<a>`) que não deva ser pré-carregado.
Veja a FAQ para mais informações.

#### Compatibilidade com navegadores

A API Speculation Rules (API de Regras para Especulação) é uma nova API da Web e
a funcionalidade implementada neste plugin é compatível com navegadores baseados
no Chromium, como Chrome, Edge ou Opera, usando a versão 121 ou superior. Outros
navegadores, como Safari e Firefox, ignorarão a funcionalidade sem efeitos colatareis;
eles simplesmente não se beneficiarão do carregamento especulativo. Observe que 
certas extensões de navegador podem desabilitar o pré-carregamento por padrão.

 * [Compatibilidade de navegadores com a Speculation Rules API em geral](https://caniuse.com/mdn-html_elements_script_type_speculationrules)
 * [Informações sobre o suporte à sintaxe das regras de documentos usadas pelo plugin](https://developer.chrome.com/docs/web-platform/prerender-pages?hl=pt-br)

_Este plugin era anteriormente conhecido como Speculation Rules._

## Instalação

#### Instalação a partir do WordPress

 1. Vá em Plugins > Adicionar plugin.
 2. Procure por **Speculative Loading**.
 3. Instale e ative o plugin **Speculative Loading**.

#### Instalação manual

 1. Envie a pasta `speculation-rules` para o diretório `/wp-content/plugins/`.
 2. Vá para seção Plugins no menu administrativo do WordPress.
 3. Ative o 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.

## Perguntas frequentes

### Como posso evitar que determinados URLs sejam pré-carregados e pré-montados?

Nem todo o URL pode ser pré-montado de maneira razoável. A pré-montagem de conteúdo
estático é normalmente confiável, no entanto, a pré-montagem de conteúdo dinâmico
ou interativo, como uma página de saída de sessão, pode levar a problemas. Por esse
motivo, certas páginas do WordPress, como `/wp-login.php` e `/wp-admin/*`, são excluídas
da pré-carga e pré-montagem. Além disso, quaisquer URLs gerados com `wp_nonce_url()`(
ou que contenham a variável de consulta `_wpnonce`) e links `nofollow` também são
ignorados. Você pode excluir padrões adicionais de URL usando o filtro `plsr_speculation_rules_href_exclude_paths`.

O exemplo a seguir garante que URLs como `https://example.com/cart/` ou `https://
example.com/cart/foo` sejam excluídas da pré-carga e pré-montagem:

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

Lembre-se de que, às vezes, pode ser útil excluir um URL da pré-montagem mas permitir
que ele seja pré-carregado. Por exemplo, uma página com JavaScript do lado do cliente
para atualizar o status do usuário provavelmente não deve ser pré-montada, mas seria
razoável fazer a pré-carga.

Para esse propósito, o filtro `plsr_speculation_rules_href_exclude_paths` recebe
o modo atual — “prefetch” (pré-carga) ou “prerender” (pré-montagem) — para fornecer
exclusões condicionais.

O exemplo a seguir garante que URLs como `https://example.com/products/...` não 
possam ser pré-montadas, mas ainda permite que sejam pré-carregadas:

    ```
    <?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
    );
    ```

Conforme mencionado acima, adicionar a classe CSS `no-prerender` a um link impedirá
que ele seja pré-montado (mas não pré-carregado). Além disso, links com `rel=nofollow`
não serão pré-carregados nem pré-montados porque alguns plugins adicionam isso a
links não-[idempotentes](https://developer.mozilla.org/pt-BR/docs/Glossary/Idempotent)(
links não-redundantes, por exemplo: adicionar ao carrinho); tais links idealmente
devem ser botões que disparam uma solicitação POST ou pelo menos devem usar `wp_nonce_url()`.

### Há alguma consideração especial sobre o comportamento do carregamento especulativo?

Por razões de segurança, toda a funcionalidade de carregamento especulativo é desabilitada
por padrão para usuários autenticados e para sites que não usam “pretty permalinks”(
links permanentes amigáveis). Este último é o caso porque os plugins geralmente 
usam URLs com parâmetros de consulta personalizados para permitir que os usuários
executem ações, e tais URLs não devem ser carregadas de maneira especulativa. Para
sites sem links amigáveis, é impossível ou pelo menos extremamente complexo diferenciar
entre quais parâmetros de consulta são comuns e quais são personalizados.

Se você estiver executando este plugin em um site sem links amigáveis (“pretty permalinks”)
e tiver certeza de que não há parâmetros de consulta personalizados em uso que possam
causar alterações de estado das páginas quando chamados, você pode optar por ativar
o carregamento especulativo diretamente com o filtro `plsr_enabled_without_pretty_permalinks`:

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

### Como isso irá impactar a análise e a personalização?

A pré-montagem pode afetar análises e personalizações.

Para o JavaScript do lado do cliente, é recomendado atrasar isso até que o pré-montador
seja ativado (por exemplo, clicando no link). Algumas soluções (como o Google Analytics)
já fazem isso automaticamente, veja [Impacto nas análises](https://developer.chrome.com/docs/web-platform/prerender-pages?hl=pt-br#impact-on-analytics).
Além disso, iframes de origem cruzada não são carregados até a ativação, o que ainda
pode evitar mais problemas aqui.

Especular com modo padrão “moderado” (`moderate`) diminui o risco de que uma página
pré-montada não seja visitada pelo usuário e, portanto, evitará quaisquer efeitos
colaterais de carregar tal página com antecedência. Em contrapartida, a especulação“
ávida”(`eager`) aumenta o risco de que páginas pré-montadas não sejam vistas. Alternativamente,
o plugin oferece especular apenas com o mouse/ponteiro clicado (modo “conservative”,
conservador), o que reduz ainda mais este risco, e é uma opção para websites que
não se importam em ter ganhos menores de desempenho.

Uma página pré-montada é vinculada à página que a chama, então a personalização 
pode já ser conhecida neste ponto e as alterações (por exemplo, navegar em outros
produtos ou iniciar/encerrar uma sessão) geralmente exigem um novo carregamento 
de página e, portanto, um novo pré-montador, que levará isso em consideração. Mas
definitivamente é algo para estar ciente e testar! As páginas pré-montadas podem
ser canceladas removendo da página o elemento `<script>`com as regras de especulação,
usando APIs DOM padrão do JavaScript, caso isso seja necessário quando o estado 
mudar sem uma nova carga de página.

### Onde posso enviar os meus comentários sobre o plugin?

Comentários e sugestões são encorajados e muito apreciados, especialmente porque
este plugin pode conter futuras funcionalidades para o núcleo do WordPress. Se tiver
sugestões ou pedidos de novas funcionalidades, pode [submetê-los como um _issue_ no repositório GitHub da equipe de desempenho do WordPress](https://github.com/WordPress/performance/issues/new/choose).
Se precisar de ajuda para resolver problemas ou tiver uma pergunta sobre o plugin,
por favor [crie um novo tópico no nosso fórum de suporte](https://wordpress.org/support/plugin/speculation-rules/#new-topic-0).

### Onde posso relatar erros de segurança?

A equipe de desempenho e a comunidade WordPress levam as brechas de segurança a 
sério. Apreciamos os seus esforços para divulgar de forma responsável as suas descobertas
e faremos nosso melhor para reconhecer as suas contribuições.

Para comunicar um problema de segurança, visite o programa [WordPress HackerOne](https://hackerone.com/wordpress).

### Como eu posso contribuir com o plugin?

Contribuições são sempre bem-vindas! Saiba mais sobre como se envolver com o projeto,
consulte o [Manual da equipe de desempenho do WordPress](https://make.wordpress.org/performance/handbook/get-involved/)

## Avaliações

![](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 abril, 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 fevereiro, 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 agosto, 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 julho, 2024 1 resposta

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 junho, 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 maio, 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.

 [ Leia todas as 18 avaliações ](https://wordpress.org/support/plugin/speculation-rules/reviews/)

## Colaboradores e desenvolvedores

“Speculative Loading” é um programa de código aberto. As seguintes pessoas contribuíram
para este plugin.

Colaboradores

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

Speculative Loading” foi traduzido para 15 localidades. Agradecemos aos [tradutores](https://translate.wordpress.org/projects/wp-plugins/speculation-rules/contributors)
por suas contribuições.

[Traduzir o “Speculative Loading” para seu idioma.](https://translate.wordpress.org/projects/wp-plugins/speculation-rules)

### Interessado no desenvolvimento?

[Navegue pelo código](https://plugins.trac.wordpress.org/browser/speculation-rules/),
consulte o [repositório SVN](https://plugins.svn.wordpress.org/speculation-rules/)
ou assine o [registro de desenvolvimento](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).

## Registro de alterações

#### 1.6.0

**Melhorias**

 * 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

**Melhorias**

 * Adiciona o suporte à API de carregamento especulativo do núcleo do WP, carregando
   a implementação da API do próprio plugin somente se necessário. ([1883](https://github.com/WordPress/performance/pull/1883))

#### 1.4.0

**Melhorias**

 * Implementa avaliações no carregamento especulativo para um comportamento mais
   seguro. ([1784](https://github.com/WordPress/performance/pull/1784))

#### 1.3.1

**Correções de erros**

 * Verifica se o parâmetro “rel” contém “nofollow” (em vez de ser somente “nofollow”)
   ao excluir do carregamento especulativo. ([1232](https://github.com/WordPress/performance/pull/1232))

#### 1.3.0

**Melhorias**

 * Evita o carregamento especulativo de links para os diretórios de envios, conteúdos,
   plugins, modelos ou folhas de estilo. ([1167](https://github.com/WordPress/performance/pull/1167))
 * Facilita integrar o carregamento especulativo em outros plugins e/ou temas. (
   [1159](https://github.com/WordPress/performance/pull/1159))
 * Melhora na qualidade geral do código com verificações de análise estática mais
   rigorosas. ([775](https://github.com/WordPress/performance/issues/775))
 * Incrementa o requisito mínimo do PHP para 7.2. ([1130](https://github.com/WordPress/performance/pull/1130))

#### 1.2.2

**Correções de erros**

 * Corrige a composição de caminhos de exclusão “href” a fim de considerar em conta
   a codificação JSON e URLs Site e Home discrepantes. ([1164](https://github.com/WordPress/performance/pull/1164))

**Documentação**

 * Atualiza o arquivo Readme com informações de compatibilidade dos navegadores 
   e uma seção de perguntas frequentes sobre análises e personalização. ([1155](https://github.com/WordPress/performance/pull/1155))

#### 1.2.1

**Melhorias**

 * Adiciona um item de configurações aos links de ações do plugin Speculative Loading.(
   [1145](https://github.com/WordPress/performance/pull/1145))
 * Incrementa o versão mínima do PHP para 7.2. ([1130](https://github.com/WordPress/performance/pull/1130))

**Correções de erros**

 * Exclui URLs _wpnonce nas regras de especulação. ([1143](https://github.com/WordPress/performance/pull/1143))
 * Exclui links “rel=nofollow” de serem pré-carregados e pré-montados. ([1142](https://github.com/WordPress/performance/pull/1142))

#### 1.2.0

 * Adiciona um inexistente uninstall.php para excluir as opções do plugin do banco
   de dados. ([1128](https://github.com/WordPress/performance/pull/1128))

#### 1.1.0

 * Permite a exclusão de padrões de URL da pré-montagem ou da pré-carga, especificamente.(
   [1025](https://github.com/WordPress/performance/pull/1025))
 * Renomeia o plugin para “Speculative Loading”. ([1101](https://github.com/WordPress/performance/pull/1101))
 * Adiciona a tag geradora do Speculative Loading. ([1102](https://github.com/WordPress/performance/pull/1102))
 * Incrementa a versão mínima exigida do WP para 6.4. ([1062](https://github.com/WordPress/performance/pull/1062))
 * Atualização testada até o WordPress 6.5. ([1027](https://github.com/WordPress/performance/pull/1027))

#### 1.0.1

 * Remove prefixos de caminhos de arquivo e restringe-os a ser um nome de caminho
   simples nas regras de especulação. ([951](https://github.com/WordPress/performance/pull/951))
 * Força o suporte ao HTML5 do tema ao imprimir scripts JSON. ([952](https://github.com/WordPress/performance/pull/952))
 * Adiciona as imagens do ícone e testeira para o diretório de plugins. ([987](https://github.com/WordPress/performance/pull/987))

#### 1.0.0

 * Lançamento inicial do plugin Speculative Loading como um plugin independente.(
   [ 733 ](https://github.com/WordPress/performance/pull/733))

## Plugin da comunidade

Este plugin é desenvolvido e mantido por uma comunidade. [Contribua com este plugin](https://github.com/WordPress/performance)

## Meta

 *  Versão **1.6.0**
 *  Última atualização **4 meses atrás**
 *  Instalações ativas **70.000+**
 *  Versão do WordPress ** 6.6 ou superior **
 *  Testado até **6.9.4**
 *  Versão do PHP ** 7.2 ou 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/) e [Vietnamese](https://vi.wordpress.org/plugins/speculation-rules/).
 *  [Traduzir para seu idioma](https://translate.wordpress.org/projects/wp-plugins/speculation-rules)
 * Tags
 * [javascript](https://br.wordpress.org/plugins/tags/javascript/)[performance](https://br.wordpress.org/plugins/tags/performance/)
   [prefetch](https://br.wordpress.org/plugins/tags/prefetch/)[prerender](https://br.wordpress.org/plugins/tags/prerender/)
 *  [Visualização avançada](https://br.wordpress.org/plugins/speculation-rules/advanced/)

## Classificações

 5 de 5 estrelas.

 *  [  18 avaliações com 5 estrelas     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=5)
 *  [  0 avaliação com 4 estrela     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=4)
 *  [  0 avaliação com 3 estrela     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=3)
 *  [  0 avaliação com 2 estrela     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=2)
 *  [  0 avaliação com 1 estrela     ](https://wordpress.org/support/plugin/speculation-rules/reviews/?filter=1)

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

[Ver todas avaliações](https://wordpress.org/support/plugin/speculation-rules/reviews/)

## Colaboradores

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

## Suporte

Problemas resolvidos nos últimos dois meses:

     1 de 1

 [Ver fórum de suporte](https://wordpress.org/support/plugin/speculation-rules/)