# Como corrigir o Customizer que não salva alterações no Astra Pro

O erro do Astra Customizer que não salva acontece quando o Astra Pro no Personalizar acumula muitos controles e o POST de gravação é truncado pelo max_input_vars ou bloqueado por mod_security, fazendo o botão Publicar girar sem nunca confirmar. A correção é liberar o limite de campos e a requisição customize_save no servidor.

## O que é o erro do Astra Customizer que não salva?

O Astra Customizer que não salva é a falha em que você ajusta opções em Aparência -> Personalizar com o Astra Pro ativo, clica em Publicar e o botão fica girando ou volta a Salvar sem persistir nada. O Personalizar do WordPress grava as alterações por uma requisição AJAX (a ação customize_save) enviada ao admin-ajax.php com todos os campos do tema de uma vez. Como o Astra Pro adiciona dezenas de controles (cabeçalho, rodapé, blog, tipografia, cores globais), esse POST fica grande. Se o servidor corta a requisição pelo limite de max_input_vars, bloqueia a ação por uma regra de mod_security ou derruba o processo por falta de memória, o save chega incompleto ou nunca chega, e a tela do Personalizar mostra sucesso visual no preview mas não grava no banco.

## Como identificar

- O botão Publicar do Personalizar fica girando com "Salvando..." e nunca muda para "Publicado".
- Você recarrega Aparência -> Personalizar e os ajustes do Astra Pro voltaram ao estado anterior, como se nada tivesse sido salvo.
- No console do navegador (F12 -> Network) a chamada para admin-ajax.php com a ação customize_save retorna status 403, 500 ou 0 (conexão cortada).
- Mensagem "Não foi possível salvar. Tente novamente." ou "A publicação falhou." no rodapé do Personalizar.
- Apenas algumas opções do Astra Pro são gravadas e o restante é perdido, sinal clássico de POST truncado pelo limite de campos.

**Antes de começar:** Faça backup do wp-config.php e do php.ini antes de editar. Mexa nessas diretivas com cuidado: um valor inválido no php.ini pode derrubar o site inteiro com erro 500. Se você não tem acesso ao php.ini, peça as mudanças ao suporte do host em vez de forçar pelo .htaccess, que nem todo servidor aceita.

## Como prevenir

- Mantenha o max_input_vars do PHP em pelo menos 3000 em sites com Astra Pro e muitos controles de Personalizar ativos.
- Use uma hospedagem cujo mod_security não bloqueie o admin-ajax.php logado, ou deixe a regra de wp-admin em allowlist desde o início.
- Antes de uma sessão grande de personalização, limpe o cache para garantir que o nonce do Personalizar esteja fresco.
- Atualize o tema Astra e o plugin Astra Pro sempre juntos, para evitar que um save quebre por divergência de versão entre tema e addon.

Erros relacionados

- [Como corrigir o erro de CSS no Customizer do Astra Pro](https://full.services/wp-fixer/corrigir-css-customizer-astra-pro/)
- [Como corrigir o erro de cores no Global Color Palette do Astra Pro](https://full.services/wp-fixer/corrigir-global-color-palette-astra-pro/)
- [Como corrigir o Customizer bloqueado pelo firewall do All in One Security com Astra Pro](https://full.services/wp-fixer/corrigir-conflito-customizer-aios-astra/)

## Causa

- Diretiva max_input_vars do PHP baixa (padrão 1000) enquanto o POST do Personalizar com Astra Pro envia mais variáveis que isso, truncando os campos extras antes de chegarem ao customize_save.
- Regra de mod_security ou WAF da hospedagem bloqueando a requisição admin-ajax.php?action=customize_save por ela conter muitos parâmetros ou CSS no payload, devolvendo 403.
- Limite de memory_limit do PHP abaixo de 256M, fazendo o handler do save do Astra Pro estourar a memória e morrer no meio da gravação (erro 500).
- Plugin de cache ou de otimização (WP Rocket, LiteSpeed, W3 Total Cache) servindo um nonce antigo do Personalizar, o que invalida a ação customize_save e devolve 0 ou 403.
- Conflito de outro plugin que engancha no customize_save_after ou registra controles no Personalizar e lança um erro de PHP que interrompe a gravação do Astra Pro.
- Diretiva max_execution_time muito curta no servidor, encerrando a requisição de save do Astra Pro antes de ela terminar de escrever todas as opções.

## Como resolver

1. Confirme onde o save falha pelo console do navegador: abra o Personalizar, pressione F12, vá na aba Network, clique em Publicar e localize a chamada para o admin-ajax.php. O status da resposta diz a causa: 403 aponta mod_security, 500 aponta memória ou erro de PHP, e 0 aponta requisição cortada pelo servidor. Filtre por:

```
admin-ajax.php?action=customize_save
```

2. Aumente o max_input_vars do PHP: essa é a causa mais comum no Astra Pro, porque o Personalizar manda muitos campos de uma vez. Suba o limite para 5000 no php.ini do site (ou peça ao host). Depois confirme o valor novo em Ferramentas -> Saúde do site -> Informações -> Servidor:

```
max_input_vars = 5000
max_execution_time = 120
```

3. Suba o memory_limit do WordPress: se a chamada retornou 500, o save morre por falta de memória. Aumente o limite no wp-config.php, colando antes da linha que pede para parar de editar:

```
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
```

4. Libere a ação customize_save no mod_security: se o status foi 403, o WAF do host está barrando a requisição. Peça ao suporte da hospedagem para colocar a regra em allowlist para a sua URL de admin, ou desligue o mod_security do diretório wp-admin. A regra a liberar é a que casa com:

```
/wp-admin/admin-ajax.php
action=customize_save
```

5. Limpe o cache e teste com o Astra puro: limpe o cache do plugin de cache, do host e do Cloudflare para renovar o nonce do Personalizar. Em seguida desative os demais plugins e teste o save só com o Astra e o Astra Pro; se voltar a salvar, reative um a um para achar o conflito. Limpe também:

```
Painel WP -> Configurações do cache -> Limpar cache
wp-content/cache/
```


## Código

```apache
# php.ini (ou .user.ini na raiz do site) — libera o POST grande do Personalizar do Astra Pro
; o save do Customizer manda muitos campos de uma vez; o padrao 1000 trunca
max_input_vars = 5000
; memoria suficiente para o handler do save nao estourar
memory_limit = 256M
; tempo extra para a gravacao de todas as opcoes do Astra Pro
max_execution_time = 120
; tamanho do corpo do POST (CSS adicional + controles)
post_max_size = 32M
```

## Perguntas frequentes

### Por que o Astra Customizer mostra a alteração no preview mas não salva?

Porque o preview do Personalizar é renderizado no navegador antes de gravar. Quando você clica em Publicar, o WordPress envia a ação customize_save ao servidor; se esse POST é truncado pelo max_input_vars ou bloqueado pelo mod_security, o banco nunca recebe os dados. O preview parece certo, mas ao recarregar tudo volta ao estado anterior.

### Qual é a causa mais comum do Astra Pro não salvar no Personalizar?

O max_input_vars baixo. O Astra Pro acrescenta dezenas de controles ao Personalizar, então o POST de gravação envia muitas variáveis de uma vez. Com o padrão de 1000, o servidor corta os campos excedentes e o save chega incompleto. Subir o limite para 3000 ou 5000 resolve a maioria dos casos.

### Como sei se é o mod_security que está bloqueando o save?

Abra o Personalizar, pressione F12, vá na aba Network e clique em Publicar. Se a chamada para o admin-ajax.php com a ação customize_save retornar status 403, é o mod_security ou o WAF do host barrando a requisição. Nesse caso, peça ao suporte da hospedagem para liberar a regra para o wp-admin.

### Mexer no max_input_vars pelo wp-config.php funciona?

Não. O max_input_vars é uma diretiva do PHP que precisa ser definida antes de o WordPress carregar, então ela só tem efeito no php.ini, no .user.ini ou na configuração do servidor. Definir no wp-config.php é tarde demais e não surte efeito. Use o php.ini ou peça ao host.

### Desativei todos os plugins e o Astra Customizer continua sem salvar. E agora?

Se o problema persiste sem plugins, a causa está no servidor, não em conflito. Confira pelo console se o status da chamada customize_save é 403 (mod_security), 500 (memória) ou 0 (POST cortado por limite). Cada um aponta para uma diretiva diferente do PHP ou para uma regra do WAF a ajustar.

### O erro de não salvar afeta o tema Astra grátis ou só o Astra Pro?

Costuma aparecer com o Astra Pro porque o addon adiciona muito mais controles ao Personalizar, deixando o POST de gravação grande o bastante para estourar o max_input_vars. No tema Astra grátis, com menos campos, o limite padrão raramente é atingido, então o save costuma funcionar.

### Preciso de acesso ao servidor para corrigir o Astra Customizer?

Para a causa mais comum, sim. Subir o max_input_vars e o memory_limit exige php.ini ou painel do host, e liberar o mod_security depende do suporte da hospedagem. Sem esse acesso, abra um chamado pedindo max_input_vars em 5000 e a regra do customize_save em allowlist; é uma solicitação padrão.

### O cache pode fazer o Astra Customizer falhar ao salvar?

Pode. Plugins de cache às vezes servem um nonce antigo do Personalizar, e o WordPress rejeita a ação customize_save com nonce inválido, devolvendo 0 ou 403. Limpar o cache do plugin, do host e do Cloudflare antes de personalizar renova o nonce e costuma destravar o save.

**Fonte:** [Astra — Documentação oficial](https://wpastra.com/docs/)
