# Como corrigir o conflito de permissões entre Rank Math e All in One Security no WordPress

O conflito de permissões entre Rank Math e All in One Security acontece quando o endurecimento do AIOS (bloqueio da REST API para não logados, proteção contra enumeracao de usuários ou regras de firewall) impede o Rank Math de carregar, ou quando o Role Manager do Rank Math remove as capacidades do papel do usuário que acessa o painel.

## O que é conflito de permissões entre Rank Math e o AIOS?

O conflito de permissões entre Rank Math e All in One Security ocorre porque os dois plugins atuam sobre o mesmo recurso: o acesso autorizado as áreas administrativas e as APIs do WordPress. O Rank Math depende da REST API e de chamadas admin-ajax para carregar o painel de configurações, o editor de schema, o Content AI e a integração de Analytics. O All in One Security (AIOS) endurece justamente esses canais, podendo bloquear a REST API para requisicoes não logadas, restringir a enumeracao de usuários e aplicar regras de firewall por .htaccess. Quando o endurecimento do AIOS pega uma chamada legitima do Rank Math, o menu não abre, o Content AI para de responder ou o editor exibe erro de salvamento.

Ha ainda uma segunda frente de conflito, interna ao próprio Rank Math. O Rank Math traz o Role Manager, recurso que restringe cada funcionalidade do plugin por papel de usuário e expoe 14 capacidades controlaveis (Títulos e Meta, Configurações Gerais, Sitemap, 404 Monitor, Redirecionamentos, Analytics, Content AI, entre outras). Se o papel do usuário teve essas capacidades removidas no Role Manager, ou se uma rotina de hardening alterou os papeis do site, o usuário perde acesso a partes do Rank Math mesmo sendo administrador no WordPress. Os dois cenarios aparecem como falta de permissão, por isso e preciso separar o que e bloqueio do AIOS do que e restricao do Role Manager.

## Como identificar

- O menu do Rank Math abre em branco ou retorna a mensagem 'Sorry, you are not allowed to access this page.' logo após ativar ou configurar o All in One Security.
- O console do navegador (F12 -> Network) mostra respostas 401 ou 403 em chamadas para /wp-json/rankmath/ quando o editor ou as configurações do Rank Math são carregados.
- O Content AI e a integração de Analytics do Rank Math param de carregar dados e exibem erro de conexão, enquanto o restante do painel funciona.
- Ao salvar um post, o metabox do Rank Math no editor de blocos retorna 'Updating failed' ou 'A solicitacao falhou', porque a chamada REST de salvamento foi barrada.
- Um usuário com papel Editor ou Autor deixa de ver itens do menu do Rank Math que via antes, sinal de que as capacidades foram removidas no Role Manager.

**Antes de começar:** Antes de desativar regras de firewall do AIOS ou alterar capacidades no Role Manager, faça um backup completo do site (arquivos e banco) ou teste primeiro em um ambiente de staging. Reative cada proteção do AIOS assim que confirmar a causa, para não deixar o site exposto durante o diagnostico.

## Como prevenir

- Ative as protecoes do AIOS de forma incremental e teste o Rank Math (editor, Content AI e salvamento) após cada nova regra, em vez de ligar tudo de uma vez.
- Mantenha a restricao de REST API do AIOS limitada a requisicoes não logadas, nunca bloqueando chamadas de usuários autenticados que o Rank Math precisa.
- Documente as capacidades definidas no Role Manager do Rank Math por papel, para que um ajuste de permissão não tire acesso de um usuário sem querer.
- Antes de renomear a página de login ou ativar a prevencao de forca bruta por cookie no AIOS, valide que as sessoes de admin continuam validas para as chamadas REST e admin-ajax do Rank Math.

Erros relacionados

- [Como corrigir as permissões do Role Manager no Rank Math](https://full.services/wp-fixer/corrigir-role-manager-rank-math/)
- [Como corrigir o conflito de tags duplicadas entre Rank Math e SEOPress](https://full.services/wp-fixer/corrigir-conflito-rank-math-seopress/)
- [Como corrigir o sitemap do Rank Math quebrado pelo cache do WP Rocket](https://full.services/wp-fixer/corrigir-sitemap-rank-math-wp-rocket/)

## Causa

- A opção do AIOS que desabilita a REST API para requisicoes não autenticadas (REST API access) barra chamadas /wp-json/rankmath/ usadas pelo editor de schema, Content AI e Analytics do Rank Math antes do contexto de login ser reconhecido.
- A proteção do AIOS que bloqueia a enumeracao de usuários nega URLs com o parametro author e endpoints REST de usuários, que o Rank Math consulta para montar o autor no schema e nas configurações.
- A prevencao de forca bruta por cookie do AIOS invalida a sessao após a troca da página de login renomeada, fazendo as chamadas admin-ajax e REST do Rank Math saírem como não logadas e retornarem 403.
- As regras de firewall .htaccess do AIOS (incluindo as regras 6G) capturam parametros de query do Rank Math em rotas de Redirections ou Sitemap e devolvem 403 Forbidden para o que parece tráfego suspeito.
- No Role Manager do Rank Math o papel do usuário teve capacidades como Configurações Gerais ou Content AI desmarcadas, retirando o acesso aquela área do plugin mesmo para quem e administrador no WordPress.

## Como resolver

1. Confirme se a falha some com o AIOS desativado: Desative temporariamente o All in One Security e recarregue o painel do Rank Math. Se o menu, o Content AI e o salvamento voltarem a funcionar, o conflito esta no endurecimento do AIOS e não no Rank Math. Reative o AIOS antes de seguir para ajustar so o que for necessário.

```
Painel WP -> Plugins -> Plugins Instalados
Desative 'All-In-One Security' e recarregue Rank Math -> Painel
Reative 'All-In-One Security' após o teste
```

2. Libere a REST API para usuários logados no AIOS: No AIOS, a restricao de REST API deve bloquear apenas requisicoes não autenticadas. Garanta que a opção não esteja barrando chamadas de usuários logados, pois o Rank Math usa a REST API no editor e nas configurações mesmo com você autenticado.

```
Painel WP -> WP Security -> Miscellaneous -> aba REST API
Mantenha o bloqueio apenas para requisicoes não logadas (não bloqueie tudo)
Salve e recarregue o editor de um post com o Rank Math ativo
```

3. Ajuste a proteção contra enumeracao de usuários: Se o schema de autor ou o painel do Rank Math continua falhando, revise a proteção do AIOS que bloqueia a enumeracao de usuários. Ela nega endpoints de usuários que o Rank Math consulta. Mantenha a proteção para visitantes, mas valide que ela não quebra as chamadas internas do plugin no wp-admin.

```
Painel WP -> WP Security -> Brute Force -> ou Firewall -> opção de enumeracao de usuários
Teste salvar um post e abrir Rank Math -> Configurações do Título após cada ajuste
```

4. Identifique a regra de firewall que devolve 403: Com o console aberto na aba Network, reproduza a falha e veja qual requisicao retorna 403. Se for uma rota /wp-json/rankmath/ ou admin-ajax, desligue temporariamente as regras de firewall do AIOS, comecando pelas regras 6G, para confirmar a origem antes de reativar so as seguras.

```
Navegador -> F12 -> Network -> reproduza a acao que falha
Painel WP -> WP Security -> Firewall -> desative as regras 6G e teste
Reative as regras uma a uma até isolar a que bloqueia o Rank Math
```

5. Revise o Role Manager do Rank Math: Se apenas alguns usuários perdem acesso a partes do Rank Math, o problema esta no Role Manager, não no AIOS. Abra o Role Manager, confira as capacidades marcadas para o papel afetado e, se preciso, use o botão Reset para voltar as capacidades padrão do plugin.

```
Painel WP -> Rank Math -> Role Manager
Marque as capacidades necessarias para o papel afetado e clique em Update Capabilities
Use o botão Reset para restaurar as capacidades padrão se estiver em duvida
```


## Código

```php
<?php
// Libera as rotas REST do Rank Math quando outro plugin de seguranca
// restringe a REST API para usuarios logados no wp-admin.
add_filter( 'rest_authentication_errors', 'full_liberar_rest_rank_math', 5 );
function full_liberar_rest_rank_math( $result ) {
    // Se outro filtro ja autorizou ou negou, respeita a decisao.
    if ( true === $result || is_wp_error( $result ) ) {
        // So intervem para rotas do Rank Math com usuario autenticado.
        $route = isset( $_SERVER['REQUEST_URI'] ) ? wp_unslash( $_SERVER['REQUEST_URI'] ) : '';
        if ( is_user_logged_in() && false !== strpos( $route, '/wp-json/rankmath/' ) ) {
            return true;
        }
    }
    return $result;
}
```

## Perguntas frequentes

### Por que o Rank Math parou de abrir depois que ativei o All in One Security

O All in One Security endurece a REST API e o login, canais que o Rank Math usa para carregar o painel e o editor. Quando o AIOS bloqueia a REST API para requisicoes não logadas ou invalida a sessao, as chamadas do Rank Math voltam como 401 ou 403 e o menu não abre. Desative o AIOS para confirmar e depois libere so a regra necessaria.

### O AIOS bloqueia a REST API que o Rank Math usa

Pode bloquear. O AIOS oferece uma opção para restringir a REST API, e a recomendacao e que ela barre apenas requisicoes não autenticadas. Se estiver configurada para bloquear tudo, ela atinge as chamadas /wp-json/rankmath/ do editor, do Content AI e do Analytics. Ajuste a opção para não afetar usuários logados.

### Como saber se o problema e do AIOS ou do Role Manager do Rank Math

Se a falha some ao desativar o All in One Security, a causa esta no endurecimento do AIOS. Se a falha atinge apenas certos papeis de usuário e o administrador acessa normalmente, a causa esta no Role Manager do Rank Math, que restringe funções por papel. Teste com o AIOS desligado para separar os dois cenarios.

### O que e o Role Manager do Rank Math

Segundo a documentação do Rank Math, o Role Manager permite restringir as funcionalidades do plugin para cada papel de usuário, expondo 14 capacidades controlaveis como Configurações Gerais, Content AI, Analytics e Redirecionamentos. Se uma capacidade for desmarcada para um papel, aquele usuário perde acesso aquela área do Rank Math.

### Como restaurar as permissões padrão do Rank Math

Abra Rank Math e o Role Manager e use o botão Reset, que devolve todas as configurações do Role Manager para o padrão com que o plugin vem instalado, conforme a documentação oficial. Depois ajuste apenas as capacidades que você realmente quer restringir por papel.

### A proteção contra enumeracao de usuários do AIOS atrapalha o Rank Math

Pode atrapalhar. Essa proteção bloqueia URLs e endpoints que revelam dados de usuários, e o Rank Math consulta o autor para montar o schema e algumas telas. Mantenha a proteção para visitantes, mas confirme que ela não esta quebrando as chamadas internas do plugin dentro do wp-admin.

### Preciso desativar o All in One Security para usar o Rank Math

Não. Os dois plugins convivem quando as regras certas são liberadas. Restrinja a REST API apenas para não logados, isole a regra de firewall que devolve 403 nas rotas do Rank Math e mantenha as demais protecoes ativas. Desativar tudo deixaria o site exposto sem necessidade.

### A prevencao de forca bruta por cookie do AIOS pode causar erro de salvamento no Rank Math

Sim. Quando essa prevencao invalida a sessao ou exige novo login na página renomeada, as chamadas admin-ajax e REST do editor saem como não logadas e o salvamento do metabox do Rank Math falha com 403. Refaça o login na página correta e valide a sessao antes de editar.

**Fonte:** [Rank Math - How to Use the Role Manager](https://rankmath.com/kb/role-manager/)
