🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir Could not create directory no WordPress

Time Full Services Time Full Services
Tipo Erro interno do WP
Nome do erro Could not create directory EN: Could not create directory
Severidade Atenção
Descrição Could not create directory aparece quando o WordPress tenta criar uma pasta dentro de wp-content e o servidor recusa por falta de permissão de escrita. É comum ao instalar ou atualizar plugins e temas, quando a pasta wp-content/upgrade ou wp-content/plugins está com dono ou permissão errados.

O que é o erro Could not create directory?

O WordPress precisa criar pastas em disco para instalar e atualizar plugins, temas e para descompactar pacotes na pasta wp-content/upgrade. Quando o usuário do PHP que roda o WordPress não tem permissão de escrita no diretório de destino, a função de criação de pasta falha e o painel mostra Could not create directory. O erro é de permissão de arquivo, não de banco de dados: o site continua no ar, mas instalações, atualizações e às vezes uploads param porque o WordPress não consegue gravar no disco.

Como identificar

  • Mensagem “Could not create directory.” ao instalar ou atualizar um plugin ou tema pelo painel.
  • Em sites em português, a mensagem “Não foi possível criar o diretório.”.
  • A atualização para na tela do instalador, sem concluir, e o plugin fica numa versão antiga.
  • O caminho citado na mensagem aponta para wp-content/upgrade, wp-content/plugins ou wp-content/uploads.
Antes de começar: Nunca deixe a pasta wp-content em 777 de forma permanente. Essa permissão deixa qualquer processo do servidor gravar nos seus arquivos e é um vetor de invasão. Se usar 777 só para testar, volte para 755 logo depois.

Como prevenir

  • Mantenha wp-content e subpastas em 755 e arquivos em 644 após qualquer migração ou restauração de backup
  • Ao mover arquivos por SSH como root, sempre reaplique o dono correto com chown ao terminar
  • Acompanhe a cota de disco da hospedagem para o servidor nunca ficar sem espaço para criar pastas

Causa

  • Pasta wp-content (ou wp-content/upgrade) sem permissão de escrita para o usuário do PHP, geralmente em 644 quando deveria estar 755.
  • Dono dos arquivos diferente do usuário que roda o PHP/Apache, comum após restaurar backup ou migrar de servidor por SSH como root.
  • Pasta wp-content/upgrade ausente, que o WordPress usa como área temporária para descompactar pacotes.
  • Cota de disco da hospedagem esgotada, impedindo a criação de qualquer novo diretório.
  • Regra de open_basedir ou de jail do servidor restringindo onde o PHP pode gravar.

Como resolver

  1. Identifique a pasta citada no erro: leia o caminho na mensagem Could not create directory. Quase sempre é wp-content/upgrade, wp-content/plugins ou wp-content/uploads. É essa pasta que precisa ficar gravável.
  2. Ajuste a permissão da pasta para 755: no cliente FTP ou no gerenciador de arquivos da hospedagem, defina a permissão da pasta wp-content e das subpastas para 755 e os arquivos para 644. Esse é o padrão recomendado pelo WordPress.
  3. Crie a pasta wp-content/upgrade se faltar: via FTP, confira se existe a pasta wp-content/upgrade. Se não existir, crie manualmente com permissão 755. O WordPress usa essa pasta para descompactar as atualizações.
  4. Corrija o dono dos arquivos via SSH: se você tem acesso SSH, ajuste o dono de wp-content para o usuário do servidor web. Em muitas hospedagens é www-data; em painéis cPanel costuma ser o usuário da conta. Use o comando abaixo com o usuário correto.
    chown -R www-data:www-data wp-content
    find wp-content -type d -exec chmod 755 {} ;
    find wp-content -type f -exec chmod 644 {} ;
  5. Teste a instalação de novo: volte ao painel e tente instalar ou atualizar o plugin novamente. Se o erro persistir, confira a cota de disco e o open_basedir com a hospedagem.
BASH
# Via SSH na raiz do site: corrige dono e permissoes do wp-content.
# Troque www-data pelo usuario do seu servidor web (ex.: o usuario da conta no cPanel).
chown -R www-data:www-data wp-content

# Pastas em 755, arquivos em 644 (padrao recomendado pelo WordPress):
find wp-content -type d -exec chmod 755 {} ;
find wp-content -type f -exec chmod 644 {} ;

# Garante a pasta de atualizacao usada pelo instalador:
mkdir -p wp-content/upgrade && chmod 755 wp-content/upgrade

Perguntas frequentes

Por que o WordPress precisa criar diretórios?
Para instalar e atualizar plugins e temas, o WordPress baixa um pacote e o descompacta numa pasta temporária dentro de wp-content/upgrade, depois move os arquivos para o destino. Se ele não consegue criar essas pastas por falta de permissão, a operação falha com Could not create directory.
Qual permissão devo dar à pasta wp-content?
Use 755 para a pasta wp-content e suas subpastas, e 644 para os arquivos. Esse é o padrão recomendado pelo WordPress: permite ao servidor gravar quando precisa, sem abrir a pasta para qualquer processo, como aconteceria com 777.
O erro apareceu depois de restaurar um backup. Por quê?
Restaurações e migrações feitas por SSH como root costumam deixar os arquivos com dono root, em vez do usuário do servidor web. Como o PHP roda com outro usuário, ele perde a permissão de escrita. Reaplicar o dono correto com chown resolve.
Posso usar 777 para resolver de vez?
Não use 777 de forma permanente. Ela deixa qualquer processo do servidor gravar nos seus arquivos, o que é um risco grave de segurança. Se precisar testar se o problema é permissão, use 777 por um instante e volte para 755 assim que confirmar.
Não tenho acesso SSH. Dá para resolver só por FTP?
Sim. Pelo cliente FTP você consegue ajustar as permissões das pastas para 755 e criar a pasta wp-content/upgrade se ela faltar. O que o FTP não faz bem é mudar o dono dos arquivos; nesse caso, peça à hospedagem para corrigir a posse.
Ajustei tudo e o erro continua. O que mais checar?
Confira se a cota de disco da hospedagem não está esgotada, pois sem espaço o servidor não cria nenhuma pasta. Verifique também se uma regra de open_basedir não está bloqueando o caminho. A hospedagem pode confirmar essas duas restrições.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes