Um baixo limite de tamanho de upload do WordPress impede que você faça upload de arquivos grandes, plugins e temas. Se você está construindo um site pesado de mídia, isso pode ser um obstáculo considerável. É necessário aumentar o tamanho máximo de upload no WordPress ou em seu servidor (ou em ambos) em tais casos.

Dependendo de seu provedor de hospedagem e servidor, há muitas maneiras de resolver este problema. Cobriremos todas elas neste artigo e lhe mostraremos como aumentar rapidamente o tamanho máximo de upload no WordPress.

Vamos nessa!

Qual é o tamanho máximo de upload no WordPress?

O upload de arquivos grandes para um servidor consumirá muitos recursos do servidor. Para evitar que os usuários causem um timeout no servidor, o tamanho máximo padrão de upload no WordPress normalmente varia de 4 MB a 128 MB. Normalmente, o provedor de hospedagem estabelece este limite no nível do servidor.

O WordPress também inclui constantes que definem este limite, mas na maioria dos casos eles não podem sobrepor-se às configurações em nível de servidor.

Para verificar isso, vá para a Biblioteca de Mídia do seu site WordPress. Aqui, tente fazer o upload de um arquivo que ultrapasse este limite máximo de tamanho de arquivo para upload. Você verá uma mensagem de erro que se parece com algo assim:

Erro ao fazer upload de um arquivo grande no WordPress
Erro ao fazer upload de um arquivo grande no WordPress

O erro “excede o tamanho máximo de upload para este site” pode ser frustrante, mas ele existe por duas razões principais: segurança e eficiência. Ele impede os proprietários do site e outros usuários, incluindo atores maliciosos, de carregar arquivos enormes (por exemplo, imagens de alta resolução, vídeos grandes).

Sem este limite, o upload de um arquivo grande pode exceder a capacidade do servidor, causando a queda do seu site. Ou pior, pode fazer com que seu site caia por completo!

Como verificar o tamanho máximo atual de upload no WordPress

Há muitas maneiras de verificar o tamanho máximo atual de upload do seu site WordPress. Vamos percorrer todas elas.

Na biblioteca de mídia

A maneira mais rápida de verificar o tamanho máximo atual de upload do seu site é ir ao seu painel do WordPress, e de lá, ir para Mídia > Biblioteca. Aqui, clique no botão Adicionar novo para ativar a ferramenta de upload de mídia.

O "limite máximo de tamanho de upload" no WordPress
O “limite máximo de tamanho de upload” no WordPress

Como Kinsta hospeda este site, a mensagem Maximum upload file size: 128 MB. é exibida abaixo do botão Select Files. Caso você estiver usando um provedor de hospedagem web diferente, você pode ver um limite diferente listado aqui.

Você também pode ir para Mídia > Adicionar novo diretamente e ver a mesma mensagem exibida na parte inferior.

O "Tamanho máximo do arquivo de upload" na Biblioteca de Mídia do WordPress
O “Tamanho máximo do arquivo de upload” na Biblioteca de Mídia do WordPress

Novamente, você pode ver aqui o tamanho máximo de 128 MB de arquivo para upload.

Nas informações de saúde do site

O WordPress 5.2 adicionou a ferramenta Saúde do Site para ajudar você a depurar melhor seu site WordPress. Aqui, você pode encontrar quase todas as informações sobre seu servidor e a configuração do WordPress.

Como tanto o servidor quanto o WordPress lidam com o tamanho máximo do arquivo de upload, há duas maneiras de encontrar seu valor nesta tela.

Primeiro, você pode encontrá-lo listado no menu suspenso Media Handling. Aqui, procure o valor do constante de Max size of an uploaded file.

Configurações de 'Manuseio da mídia' no painel 'Site Health Info'
Configurações de ‘Media Handling’ no painel ‘Site Health Info’

O segundo método é olhar sob o menu suspenso Server. Você encontrará muitas opções relacionadas à configuração do seu webserver aqui embaixo. Por favor, procure o valor para Upload max filesize para ver o que é. Neste site, o limite máximo de tamanho de arquivo para upload é de 128 MB.

Configurações do 'Servidor' no painel 'Site Health Info'.
Configurações ‘Server’ no painel ‘Site Health Info’.

Você também pode ver outras constantes do PHP e seus valores, como por exemplo:

  • PHP post max size: Define o limite máximo de upload para pedidos de POST.
  • PHP memory limit: Define a memória alocada para PHP. Deve ser definida igual ou maior que o limite de Upload max filesize. Caso contrário, o upload falhará.

Sua hospedagem web define estas opções. Normalmente, os planos de hospedagem inicial terão um limite de tamanho de upload menor do que os planos de hospedagem da empresa. Alguns provedores de hospedagens podem permitir que você ultrapasse estes limites. Mas, na maioria dos casos, você pode precisar da assistência do seu provedor de hospedagem (e talvez uma atualização do plano) para aumentá-los.

Por que aumentar o tamanho máximo do arquivo de upload no WordPress?

Há muitas razões pelas quais você pode precisar aumentar o tamanho máximo do arquivo de upload de seu site WordPress. Aqui estão as mais comuns:

Agora que já cobrimos o básico do tamanho máximo de arquivo para upload no WordPress, vamos aprender como aumentá-lo.

10 maneiras de aumentar o tamanho máximo do arquivo de upload no WordPress

Há muitas maneiras de corrigir o problema do tamanho máximo de upload do WordPress. Começaremos com as mais fáceis primeiro, e depois passaremos para os tutoriais de nível intermediário.

Entre em contato com seu provedor de hospedagem para obter ajuda

Se você estiver enfrentando problemas com o upload de arquivos e limites de tamanho de arquivos, chegar ao seu provedor de hospedagem para assistência é uma das soluções mais rápidas. Aumentar o limite de upload é uma tarefa trivial para o suporte técnico, portanto, a maioria das empresas de hospedagem podem ajudá-lo a resolver este problema rapidamente.

A manipulação com seu servidor ou arquivos de configuração do site sempre pode ser um desafio. Por isso, recomendamos sempre que você experimente este método primeiro.

Caso você estiver hospedando seu site com a Kinsta, nossa equipe de suporte está a apenas um clique de distância e disponível 24/7. Para começar, vá até seu painel MyKinsta e clique no ícone do chat no canto inferior direito.

Iniciando um chat com o suporte no MyKinsta.
Iniciando um chat com o suporte no MyKinsta.

Em seguida, clique no botão “Enviar uma mensagem” e nos informe como podemos ajudar:

Enviando uma mensagem de chat para o suporte na Kinsta através do MyKinsta.
Enviando uma mensagem de chat para o suporte na Kinsta através do MyKinsta.

Temos representantes para ajudá-lo em muitos idiomas, incluindo inglês, espanhol, francês, alemão, italiano e português.

Aumentando o tamanho máximo do arquivo de upload no WordPress Multisite

Se você estiver executando uma rede WordPress Multisite, então você pode modificar o tamanho máximo do arquivo de upload para sua rede.

Primeiro, dirija-se ao seu painel de controle e depois vá para Settings > Network Settings. Aqui, role para baixo até encontrar a seção Upload Settings. Você encontrará o campo Max upload file size nesta área.

O campo 'Tamanho máximo do arquivo de upload' em 'Configurações de rede'.
O campo ‘TMax upload file size’ em ‘Network Settings’.

O valor padrão do tamanho máximo do arquivo de upload em um Multisite WordPress é de 1500 KB (~1,5 MB). Você pode alterar isso para um valor maior e clicar no botão Save Changes.

Nota: Você não pode contornar o limite de tamanho máximo de upload em nível do servidor a partir daqui. Se o limite que você definir aqui for maior que o limite máximo de tamanho de upload do servidor, o servidor irá ignorá-lo. Você pode usar os métodos descritos acima para encontrar a configuração do seu servidor web.

O novo 'Tamanho máximo do arquivo de upload' em 'Configurações de rede'.
O novo ‘Max upload file size’ em ‘Network Settings’.

Aqui, definimos o novo tamanho máximo do arquivo de upload para 131072 KB (~128 MB).

Você também pode limitar o tamanho total dos arquivos carregados em um site individual na rede Multisite. No entanto, ele é desativado por padrão.

Atualize seu arquivo “.htaccess

Caso seu servidor web roda no Apache, você pode atualizar o arquivo .htaccess do seu site para aumentar o tamanho máximo de upload no WordPress. Você pode encontrar seu arquivo .htaccess no diretório raiz do site WordPress.

De acordo com a documentação PHP, três diretrizes PHP são responsáveis pela forma como o WordPress lida com os uploads. Elas são:

  • upload_max_filesize
  • post_max_size
  • memory_limit

Já discutimos isso na seção de Informações de Saúde do Site acima. Ajudaria se você modificasse os valores destas três diretrizes para admitir os tamanhos de seus arquivos. Por exemplo, se o arquivo maior que você está planejando carregar for de 32 MB, recomendamos as seguintes configurações:

  • upload_max_filesize = 32M
  • post_max_size = 64M
  • memory_limit = 128M

Observe que todos os valores usam M em vez de MB. É assim que o PHP lida com suas diretrizes.

Os uploads podem conter informações extras além do próprio arquivo. Portanto, dar a todas as outras diretrizes relacionadas a upload algum espaço para respirar é uma boa ideia. Você pode ler nosso tutorial detalhado sobre como melhorar o limite de memória PHP no WordPress para obter mais informações.

Acesse seu arquivo .htaccess via FTP/SFTP ou o gerenciador de arquivos de seu provedor de hospedagem.

Encontrando o arquivo ".htaccess
Encontrando o arquivo “.htaccess

Abra o arquivo .htaccess com um editor de texto ou editor de código, e então adicione o seguinte código:

php_value upload_max_filesize 32M
php_value post_max_size 64M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300

Você pode notar duas outras diretrizes PHP no código acima:  max_execution_timemax_input_time. Elas definem o tempo que um servidor gasta em uma única tarefa PHP. Quanto maiores forem seus uploads, maior será o tempo gasto. Você precisa definir seus valores para um número, que seja apropriado para seu caso de uso.

Nota: Você pode obter um erro 500 interno do servidor após usar o método acima. Muito provavelmente, é porque seu servidor está rodando PHP no modo CGI. Nesses casos, você não pode usar os comandos acima em seu arquivo .htaccess.

Crie ou modifique o arquivo ‘php.ini

O arquivo php.ini é onde você define as mudanças em suas configurações padrão de PHP. Tipicamente, ele contém diretrizes que definem os tempos de expiração do arquivo, o tamanho máximo de upload e os limites de recursos.

Usando SSH ou FTP, você pode encontrar o arquivo php.ini em seu diretório raiz do WordPress. Em alguns casos, você pode não localizá-lo lá. Não se preocupe! Você pode criar um novo arquivo com o mesmo nome no diretório raiz do seu site.

Como criar um novo arquivo php.ini
Como criar um novo arquivo php.ini

Com um editor de código ou texto, adicione o seguinte código ao seu arquivo php.ini existente ou novo:

upload_max_filesize = 32M
post_max_size = 64M
memory_limit = 128M

Não esqueça de salvar seu arquivo após fazer as mudanças. Algumas hospedagens não permitem que você modifique as configurações do PHP através deste método. Em tal caso, você pode, em vez disso, tentar a seguinte solução.

Crie ou Modifique o arquivo ‘.user.ini’

Caso o seu provedor de hospedagem bloqueou as configurações globais de PHP, ele pode ter configurado o servidor para trabalhar com arquivos .user.ini ao invés de arquivos php.ini.

Como os arquivos php.ini e .htaccess, você pode encontrar o .user.ini no diretório raiz do seu site. Se você não conseguir encontrá-lo, então você pode criar um novo arquivo .user.ini no mesmo local. Siga o mesmo procedimento descrito no método anterior para criar um novo arquivo php.ini.

A seguir, adicione o seguinte código ao seu arquivo .user.ini:

upload_max_filesize = 32M
post_max_size = 64M
memory_limit = 128M

Você vai notar que é uma repetição do método anterior, exceto com um nome de arquivo diferente.

Alterar opções do PHP via cPanel

Caso o seu provedor de hospedagem usa o painel de controle cPanel para ajudá-lo a gerenciar seu servidor e configuração do site, você pode alterar o tamanho máximo do arquivo de upload através de sua interface.

Para começar, vá para seu painel de controle cPanel e selecione Select PHP version sob a seção Software.

Clique em 'Selecionar versão PHP' no painel do cPanel
Clique em ‘Select PHP version’ no painel do cPanel

Aqui, você pode alterar a versão atual do seu servidor PHP e habilitar/desabilitar muitas extensões PHP. Clique no link Options no menu de navegação para acessar o painel de Opções PHP.

Ir para as configurações 'PHP Options' no cPanel
Configurações ‘PHP Options’ no cPanel

Role para baixo aqui para modificar os valores das diretrizes PHP como upload_max_filesize, post_max_size, memory_limit, max_execution_time, e max_input_time. Os valores máximos que você pode definir aqui dependem de seu plano de hospedagem atual.

A tela 'PHP Options' no cPanel
A tela ‘PHP Options’ no cPanel

Caso você tiver alguma dúvida sobre estes valores, sugerimos que entre em contato com seu provedor de hospedagem. O último painel de controle cPanel salva as mudanças automaticamente, para que você não tenha que clicar em nada. Mas se você estiver usando uma versão mais antiga do cPanel, certifique-se de clicar no botão Save Changes.

Aumente o tamanho máximo do arquivo de upload em Nginx

Nginx é outro webserver como o Apache, mas também é muito mais. Tipicamente, o Nginx pode lidar com mais solicitações concorrentes do que o Apache, tornando-o muito mais rápido. A Kinsta usa o Nginx para potencializar suas soluções de hospedagem de WordPress com desempenho otimizado.

Caso você estiver rodando seu site WordPress no Nginx, precisará modificar tanto seus arquivos php.ini quanto nginx.conf. Já lidamos com o arquivo anterior antes. O último é chamado de arquivo de configuração Nginx.

Em um servidor Nginx, você pode encontrar o arquivo php.ini em /etc/php/7.4/fpm/php.ini. Dependendo da versão PHP que você instalou, o caminho exato pode variar ligeiramente.

upload_max_filesize = 64M
post_max_size = 128M

Você não precisa definir o memory_limit no arquivo acima, pois o Nginx o trata diferentemente. Para mais informações, você pode verificar este tópico da Stack Overflow. Após salvar seu arquivo php.ini, habilite as mudanças reiniciando o PHP-FPM usando o código abaixo em seu terminal:

sudo service php7.4-fpm restart

Novamente, o código exato pode variar ligeiramente dependendo da versão PHP instalada em seu servidor.

Em seguida, use a diretiva client_max_body_size da Nginx para definir o novo limite máximo de tamanho de upload. Você precisa declarar esta diretiva no arquivo nginx.conf, que você pode encontrar em /etc/nginx/nginx.conf.

Você pode declarar esta diretiva no bloco http {...}, do server {...} ou da location {...} do bloco.

Colocá-lo no bloco http afetará todos os sites/apps hospedados neste servidor.

http {
    ...
    client_max_body_size 128M;
}

Defini-lo no bloco do server só afetará um site/app específico hospedado por este servidor.

server {
    ...
    client_max_body_size 128M;
}

O bloco de location afeta apenas o diretório especificado (por exemplo, fileupload) dentro de um site/app.

location /files {
    ...
    client_max_body_size 128M;
}

Não se esqueça de salvar o arquivo e reiniciar o Nginx para aplicar as mudanças. Para fazer isso, você pode usar o seguinte comando em seu terminal:

sudo service nginx reload

Se você é um cliente Kinsta, não pode acessar diretamente sua configuração Nginx. No entanto, você pode contatar nossa equipe de suporte, e eles podem realizar as mudanças rapidamente para você.

Use o filtro ‘upload_size_limit’ do WordPress

O WordPress 2.5 introduziu o filtro upload_size_limit, que filtra o tamanho máximo de upload permitido no php.ini. Até o WordPress usa este filtro para mostrar o tamanho máximo de upload permitido, como na Biblioteca de Mídia e nas telas de Informações de Saúde do Site.

Abaixo está um exemplo deste filtro em ação do colaborador do WordPress Drew Jaynes. Ele define o limite de tamanho de upload para todas as funções não-administrativas.

/**
* Filter the upload size limit for non-administrators.
*
* @param string $size Upload size limit (in bytes).
* @return int (maybe) Filtered size limit.
*/
function filter_site_upload_size_limit( $size ) {
// Set the upload size limit to 10 MB for users lacking the 'manage_options' capability.
if ( ! current_user_can( 'manage_options' ) ) {
// 10 MB.
$size = 1024 * 10000;
}
return $size;
}
add_filter( 'upload_size_limit', 'filter_site_upload_size_limit', 20 );

O código acima usa a capacidade manage_options do WordPress para definir este limite apenas para não administradores. Você pode modificar o código para direcionar funções específicas do usuário ou id de usuário. Leia nosso Artigo Definitivo para as Funções e Capacidades de Usuários do WordPress para obter mais informações.

Use um plugin WordPress

A troca de códigos usando SSH ou FTP/SFTP não é para todos. Se você não estiver à vontade para escrever ou editar código, você pode usar um plugin WordPress em seu lugar.

WP Plugin de tamanho máximo de upload de arquivo
Plugin WP Maximum Upload File Size

Estaremos usando aqui o plugin WP Maximum Upload File Size. A partir da escrita deste, é o único plugin atualizado no repositório de plugins do WordPress que ajuda você a fazer isto.

Para começar, instale e ative o plugin WP Maximum Upload File Size. A seguir, vá para sua tela de configurações no painel do WordPress. Aqui, você pode ver o tamanho máximo de arquivo de upload definido tanto pelo seu provedor de hospedagem quanto pelo WordPress.

WP Tela de configuração do tamanho máximo de upload de arquivo
Configurações de Upload do TWP Maximum Upload File Size

Aqui, você pode ver que o tamanho máximo do arquivo de upload definido pelo WordPress é menor que o definido pelo seu provedor de hospedagem. Portanto, você pode aumentá-lo escolhendo o Maximum Upload File Size com o dropdown apresentado.

Nota: Se você quiser definir um limite máximo de tamanho de arquivo para upload que seja maior que o definido por seu provedor de hospedagem, não é possível fazê-lo através deste plugin. Para isso, você precisa entrar em contato com seu provedor de hospedagem.

Upload de arquivos via FTP/SFTP

Você ainda está lutando com todos os métodos acima? Ou com seu provedor de hospedagem para eles aumentarem o limite do tamanho do arquivo de upload? Você sempre pode fazer o upload de arquivos grandes via FTP/SFTP.

Arraste e solte arquivos para e para seu servidor e computador com SFTP
Arraste e solte arquivos para e para seu servidor e computador com SFTP

Se você tem muitos arquivos grandes para fazer upload, este é o método mais rápido. Você pode ler nosso tutorial detalhado sobre como enviar arquivos em massa para a biblioteca de mídia WordPress para obter mais informações.

Algumas vezes, o WordPress não reconhece arquivos carregados via FTP/SFTP. Se este for o caso, você pode usar o plugin gratuito Add From Server para importar os arquivos carregados para o WordPress.

Alternativamente, você pode fazer o mesmo diretamente da linha de comando, importando imagens usando WP-CLI. O comando wp media import permite a criação de anexos a partir de arquivos locais ou URLs.

Não edite o arquivo ‘wp-config.php’

A edição do arquivo wp-config.php não funciona mais. Estamos adicionando-o aqui porque encontramos muitos tutoriais web que o listam como uma forma legítima de aumentar o tamanho máximo de upload no WordPress.

Isso envolve ir ao diretório raiz do seu site via FTP/SFTP ou SSH e depois editar o arquivo wp-config.php.

Encontrando o arquivo 'wp-config.php
Encontrando o arquivo ‘wp-config.php

Sugerimos acrescentar o seguinte código ao arquivo wp-config.php:

@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '128M');
@ini_set( 'memory_limit', '256M' );

Não funciona porque você só pode usar a função ini_set() para definir diretivas PHP que pertencem ao modo PHP_INI_ALL mutável.

Como upload_max_size e post_max_size pertencem ao modo PHP_INI_PERDIR mutável. Você só pode configurá-los via php.ini, .htaccess, http.conf, ou .user.ini.

Se você já tentou este método antes sem ver nenhum resultado, agora você sabe porque ele falha.

Verifique o novo tamanho máximo de arquivo de upload do seu site WordPress

Finalmente, é hora de verificar se o novo limite máximo de tamanho de arquivo para upload está implementado em seu site WordPress. Para fazer isso, siga o mesmo procedimento que discutimos acima para verificar o tamanho máximo de arquivo a ser carregado no WordPress.

Vá até sua Media Library  no painel do WordPress e verifique se o limite máximo de tamanho de arquivo para upload mudou.

Verificação do novo tamanho máximo de arquivo para upload no 'Media Library'.
Verificação do novo tamanho máximo de arquivo para upload no ‘Media Library’.

Sim, ela mudou. Isso é um sucesso!

Você também pode ir ao painel de Site Health Info e verificar se há o mesmo em Media Handling e no dropdown do Server.

Verificação do novo tamanho máximo de arquivo para upload em 'Site Health Info > Biblioteca de mídia'.
Verificação do novo tamanho máximo de arquivo para upload em ‘Site Health Info > Media Library’.
Verificação do novo tamanho máximo de arquivo de upload em 'Site Health Info > Servidor'.
Verificação do novo tamanho máximo de arquivo de upload em ‘Site Health Info > Server’.

Resumo

Como você já viu, aumentar o tamanho máximo de upload de arquivos no WordPress não é tão difícil assim. Quer você esteja construindo um site com um portfólio de mídia pesado ou instalando um grande tema, você só precisa saber onde procurar e quais comandos ou ferramentas usar.

Na maioria dos casos, chegar ao seu provedor de hospedagem deve ser suficiente. Entretanto, se você estiver preso a um provedor de hospedagem problemático, nós lhe mostramos alguns métodos alternativos que você pode tentar antes de migrar para uma melhor hospedagem.

Faça o upload!

Cobrimos tudo? Se você já experimentou um caso teimoso de limites de tamanho de arquivo para upload, informe-nos como você conseguiu corrigir.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.