# Como corrigir a página de login inacessivel pelo Perfmatters

A página de login inacessivel pelo Perfmatters login url acontece quando o recurso Change Login URL renomeia a entrada do painel e você perde a URL nova, já que o /wp-admin e o /wp-login.php passam a responder com a mensagem This has been disabled. Sem a string personalizada salva, não ha como autenticar pela rota padrão.

## O que é a página de login inacessivel pelo Perfmatters login url?

O Perfmatters login url e o recurso Change Login URL do plugin Perfmatters, que troca o endereco padrão de login do WordPress por uma string personalizada para reduzir varreduras de bots e tentativas de forca bruta. A página de login fica inacessivel quando esse recurso esta ativo mas você não tem mais a URL nova: o Perfmatters bloqueia os enderecos padrão /wp-admin e /wp-login.php e responde com a mensagem This has been disabled e status HTTP 403, enquanto a única rota valida e a string secreta que ficou perdida. O acesso so volta recuperando essa string no banco de dados ou desativando o plugin temporariamente por fora do painel.

## Como identificar

- Ao abrir /wp-admin ou /wp-login.php aparece a mensagem This has been disabled em vez do formulário de login.
- A aba de rede do navegador mostra status HTTP 403 Forbidden na requisicao da página de login padrão.
- Você digita a URL de login antiga que sempre usou e o navegador devolve a tela de bloqueio ou a 404 do tema.
- Outro administrador relata que também não consegue chegar ao painel após você ter ativado o recurso de troca de login.

**Antes de começar:** Faca um backup do banco de dados antes de editar a tabela wp_options pelo phpMyAdmin. Uma alteração errada na opção perfmatters_options pode deixar o site fora do ar, e o backup permite reverter na hora.

## Como prevenir

- Ao ativar o Change Login URL, anote a string personalizada num gerenciador de senhas antes de salvar e clicar fora da página.
- Exclua a URL de login do cache do plugin, do servidor e do CDN logo após definir, para não receber a tela de bloqueio por cache.
- Mantenha apenas um plugin de troca de login url ativo por site, evitando que dois disputem a rota de autenticacao.
- Guarde um acesso SFTP e o caminho do phpMyAdmin da hospedagem, que são as duas vias de recuperação quando o painel fica inacessivel.

Erros relacionados

- [Como corrigir funcionalidades quebradas pelo Perfmatters](https://full.services/wp-fixer/corrigir-funcionalidades-quebradas-perfmatters/)
- [Como corrigir o conflito de otimização entre Perfmatters e WP Rocket](https://full.services/wp-fixer/corrigir-conflito-perfmatters-wp-rocket/)
- [Como proteger contra ataques de forca bruta no login](https://full.services/wp-fixer/proteger-forca-bruta-login-wordpress/)

## Causa

- O recurso Change Login URL do Perfmatters esta ativo em Perfmatters -> General -> Login URL e a string personalizada que substitui o /wp-admin não foi anotada nem salva em local seguro.
- O comportamento Disabled behavior do Perfmatters esta como Message ou 404 Template, fazendo o /wp-admin e o /wp-login.php devolverem 403 ou a 404 do tema em vez do formulário.
- A URL de login personalizada não foi excluida do cache, e a camada de cache (plugin, servidor ou CDN) serve a versão errada com erros como Cookies are blocked ou link de reset invalido.
- Outro plugin de troca de login url já estava ativo junto com o Perfmatters, e os dois disputam a rota de autenticacao deixando nenhuma URL funcional.
- O valor da string de login foi gravado na opção perfmatters_options da tabela wp_options e ninguem fora do painel sabe consultar esse registro.

## Como resolver

1. Tente lembrar a URL personalizada e limpar o cache de borda: antes de mexer em arquivos, abra a string que você escolheu como rota de login e force a renovacao do cache. Se a página abrir, o problema era so a camada de cache servindo a versão antiga.

```
https://seudominio.com/SUA-STRING-DE-LOGIN
```

2. Desative o Perfmatters por SFTP renomeando a pasta: conecte ao servidor por SFTP ou pelo gerenciador de arquivos da hospedagem, va na pasta de plugins e renomeie a pasta do Perfmatters. Isso desliga o recurso e libera o login padrão na hora.

```
/wp-content/plugins/perfmatters
renomear para: /wp-content/plugins/perfmatters_old
```

3. Volte ao painel pela rota padrão: com a pasta renomeada, o WordPress aceita de novo o endereco padrão de login. Entre por ele e em seguida renomeie a pasta de volta para reativar o plugin sem perder as outras otimizacoes.

```
https://seudominio.com/wp-admin/
renomear de volta para: /wp-content/plugins/perfmatters
```

4. Se não tiver SFTP, leia a string de login no banco pelo phpMyAdmin: abra o phpMyAdmin da hospedagem, entre na tabela de opções e busque o registro de configuração do Perfmatters. A URL de login fica entre os valores salvos nesse registro e e o que você usa para voltar a autenticar.

```
tabela: wp_options
campo option_name = perfmatters_options
SELECT option_value FROM wp_options WHERE option_name = 'perfmatters_options';
```

5. Reentre, refaca o login url e exclua-o do cache: já dentro do painel, defina uma nova string de login em Perfmatters -> General -> Login URL, anote em local seguro e exclua essa URL do cache do plugin, do servidor e do CDN para evitar a tela de bloqueio por cache de novo.

```
Perfmatters -> General -> Login URL -> Change Login URL
```


## Código

```bash
# Recuperar acesso por WP-CLI quando o painel esta bloqueado.
# 1) Ler a URL de login que o Perfmatters salvou (procure a chave 'login_url'):
wp option get perfmatters_options --format=json

# 2) Se quiser voltar o login ao padrao, limpe so a chave de login do array:
wp option patch delete perfmatters_options login_url

# 3) Alternativa: desativar o plugin inteiro sem renomear pasta:
wp plugin deactivate perfmatters

# 4) Limpe o cache de objeto para a mudanca valer de imediato:
wp cache flush
```

## Perguntas frequentes

### Por que o Perfmatters mostra This has been disabled no meu wp-admin

Porque o recurso Change Login URL esta ativo e o Perfmatters bloqueia os enderecos padrão /wp-admin e /wp-login.php, respondendo com a mensagem This has been disabled e status HTTP 403. A única rota valida passa a ser a string personalizada que você definiu; sem ela, a entrada padrão fica fechada.

### Como recupero o acesso se esqueci a URL de login do Perfmatters

Você tem dois caminhos. Renomeie a pasta do plugin por SFTP para desativar o Perfmatters e voltar pelo /wp-admin, ou abra o phpMyAdmin, consulte a opção perfmatters_options na tabela wp_options e leia a string de login salva ali. Qualquer um dos dois devolve o acesso ao painel.

### Renomear a pasta do plugin apaga minhas configurações do Perfmatters

Não. Renomear a pasta apenas desativa o plugin temporariamente, mas as configurações continuam salvas na tabela wp_options do banco. Ao renomear de volta para o nome original, o Perfmatters reativa com todas as otimizacoes e a URL de login intactas.

### O recurso de troca de login do Perfmatters serve para que

Ele troca o endereco padrão de login por uma string secreta para reduzir varreduras de bots e ataques de forca bruta. Sites que recebem milhares de tentativas de login diarias diminuem muito esse tráfego ao esconder a rota padrão, o que também alivia o servidor.

### Por que recebo erro de cookies ou de link de reset invalido na página de login nova

Esse sintoma costuma vir de cache. Quando a URL de login personalizada não e excluida do cache do plugin, do servidor ou do CDN, a página e servida de forma incorreta e gera erros como Cookies are blocked ou link de reset invalido. Excluir a URL de login do cache resolve.

### Preciso de acesso ao banco de dados para corrigir isso

Nem sempre. Se você tiver SFTP ou um gerenciador de arquivos, renomear a pasta do plugin já resolve sem tocar no banco. O phpMyAdmin so e necessário quando você não tem acesso aos arquivos mas quer apenas descobrir a string de login que ficou salva na opção perfmatters_options.

### Posso usar o Perfmatters e outro plugin de login juntos

Não e recomendado. Dois plugins mudando a rota de login ao mesmo tempo disputam o controle da autenticacao e podem deixar nenhuma URL funcional. A própria documentação do Perfmatters pede que você desative qualquer outro plugin de troca de login antes de configurar o recurso.

**Fonte:** [Perfmatters — Forgot your WordPress login URL?](https://perfmatters.io/docs/forgot-wordpress-login-url/)
