Como corrigir Sorry, you are not allowed to access this page no WordPress
O que é o erro Not Allowed To Access no WordPress?
Sorry, you are not allowed to access this page e a mensagem que o WordPress mostra quando bloqueia uma tela do admin porque o usuário atual não tem a capability necessaria. Diferente do erro 403, que vem do servidor web, este bloqueio vem de dentro do próprio WordPress: ele consultou o papel do usuário na tabela de capacidades e não encontrou a permissão pedida. Por isso a tela carrega o cabeçalho do painel e so entao corta o acesso, em vez de devolver um erro de servidor.
Como identificar
- A tela do admin abre o topo do painel e mostra “Sorry, you are not allowed to access this page.” no lugar do conteúdo.
- O acesso some logo após uma migração de site, troca de prefixo de tabela ou restauração de backup.
- Um usuário que era administrador agora aparece como assinante ou sem papel definido em Usuários.
- So algumas áreas falham (ex.: Plugins ou Ferramentas) enquanto o resto do painel abre normal.
Antes de começar: Antes de editar wp_options ou wp_usermeta, exporte uma copia da tabela no phpMyAdmin. Uma query de UPDATE errada na linha de capacidades pode trancar todos os administradores para fora do painel de uma vez.
Como prevenir
- Após migrar, confirme sempre que o $table_prefix do wp-config.php casa com o prefixo real das tabelas
- Mantenha pelo menos dois usuários administradores ativos, para nunca ficar sem acesso ao painel
- Faca backup do banco antes de instalar plugins de papeis, associacao ou restricao de acesso
Causa
- Prefixo de tabela do wp-config.php diferente do prefixo real do banco após migração, fazendo o WordPress ler capacidades vazias.
- Papel do usuário rebaixado de administrator para subscriber por um plugin de associacao ou conflito de cadastro.
- Linha wp_user_roles corrompida ou apagada na tabela wp_options, deixando o site sem definição de capacidades.
- Limite de memória PHP estourado durante o carregamento das capacidades, que ficam incompletas na sessao.
- Plugin de segurança ou de restricao de acesso removendo a capability da rota específica.
Como resolver
- Confira o prefixo da tabela: via FTP, abra o wp-config.php e veja o valor de $table_prefix. No phpMyAdmin, confirme que as tabelas do banco usam exatamente esse prefixo. Se não baterem, ajuste o wp-config.php para o prefixo real.
- Restaure o papel de administrador pelo WP-CLI: se você tem acesso SSH, promova o usuário de volta a administrador sem entrar no painel:
wp user list --role=administrator wp user set-role SEU_LOGIN administrator - Verifique a linha wp_user_roles: no phpMyAdmin, abra wp_options e procure a option_name terminando em _user_roles. Se estiver vazia ou truncada, restaure-a de um backup limpo do banco.
- Desative plugins por FTP: renomeie a pasta wp-content/plugins para plugins_off e tente acessar. Se voltar, foi um plugin de segurança ou de papeis removendo a capability; reative um a um para achar o culpado.
- Aumente a memória PHP se necessário: se o erro for intermitente, adicione define('WP_MEMORY_LIMIT', '256M'); ao wp-config.php para garantir que as capacidades carreguem por inteiro.
SQL
-- Reatribui o papel de administrador a um usuario direto no banco.
-- Troque wp_ pelo prefixo REAL das suas tabelas e USER_ID pelo id do usuario.
UPDATE wp_usermeta
SET meta_value = 'a:1:{s:13:"administrator";b:1;}'
WHERE user_id = USER_ID
AND meta_key = 'wp_capabilities';
-- Confere o nivel do usuario (admin = 10)
UPDATE wp_usermeta
SET meta_value = '10'
WHERE user_id = USER_ID
AND meta_key = 'wp_user_level';
Perguntas frequentes
Esse erro e a mesma coisa que o 403 Forbidden?
Não. O 403 vem do servidor web (Apache ou Nginx) antes de o WordPress rodar. O Sorry, you are not allowed vem de dentro do WordPress, que carregou a página e so entao barrou o acesso por falta de capability do usuário.
Perdi o acesso depois de migrar o site. O que mudou?
Quase sempre o prefixo da tabela. Se as tabelas usam um prefixo e o wp-config.php aponta outro, o WordPress le as capacidades como vazias e bloqueia até o administrador. Acerte o $table_prefix e o acesso volta.
Consigo voltar a ser admin sem entrar no painel?
Sim. Com SSH, o comando wp user set-role login administrator resolve. Sem SSH, da para reescrever a meta_key wp_capabilities do usuário direto no phpMyAdmin para o papel de administrator.
Um plugin pode causar esse bloqueio?
Pode. Plugins de associacao, de papeis personalizados e de segurança alteram capacidades. Renomeie a pasta wp-content/plugins por FTP; se o acesso voltar, reative um a um até achar o que removeu a permissão.
O erro so aparece em algumas telas. Por que?
Porque cada tela exige uma capability específica. Se o seu papel perdeu apenas algumas capacidades (ex.: activate_plugins), so as telas que dependem delas falham, enquanto o resto do painel continua abrindo.
Editei wp_usermeta e travou todos os admins. E agora?
Restaure a tabela wp_usermeta a partir do backup que você exportou antes de editar. Por isso o backup e obrigatório: uma query errada na linha de capacidades pode rebaixar todos os administradores de uma vez.














