Skip to main content
Voltar aos Artigos
Github

Aposente o FTP: Como Criar um Ambiente WordPress Seguro, Versionado e Automatizado

Chega de ficar só criando sites WordPress direto em produção, sem ter nenhum versionamento do código. Fazer tudo direto na hospedagem é um risco enorme e te deixa sem controle nenhum sobre a evolução do seu próprio projeto. Neste artigo, você vai aprender a estruturar um fluxo de desenvolvimento extremamente seguro e descomplicado. Descubra como usar o DDEV para rodar ambientes locais padronizados em poucos minutos, as regras de ouro para versionar seu código com Git (salvando apenas o que importa) e como configurar o GitHub Actions para fazer o deploy das suas alterações de forma automática e à prova de falhas. O guia definitivo para sair do amadorismo e blindar seus projetos com um ecossistema profissional.

5 minutos de leitura 7 23 Ago 2026

Fala, comunidade PHP Belém!

Quem trabalha com ecossistemas PHP há algum tempo sabe que o WordPress é uma ferramenta fantástica, mas a forma como muitos projetos ainda são gerenciados — com edições diretas pelo FTP, banco de dados subindo "na mão" e zero rastreabilidade — é um convite para dores de cabeça.

A boa notícia é que não precisa ser assim. Hoje, vamos estruturar um fluxo de trabalho moderno, isolado e extremamente seguro para seus projetos WordPress, utilizando o trio de ouro: DDEV para o ambiente local, Git para o versionamento e GitHub Actions para automação de deploy.

1. O Fim do "Na minha máquina funciona": Ambiente Local com DDEV

Esqueça as configurações complexas do XAMPP ou as brigas com portas do sistema. O DDEV é uma ferramenta baseada em Docker que cria ambientes isolados em containers para projetos PHP (funciona incrivelmente bem tanto para WordPress quanto para Drupal e Laravel).

DDEV

A grande vantagem é que toda a sua equipe (ou você mesmo daqui a 6 meses) pode rodar o projeto exatamente com as mesmas versões de PHP, MariaDB e Nginx, independentemente do sistema operacional.

Subindo um WordPress em 3 minutos:

Abra seu terminal e rode os seguintes comandos para iniciar um projeto do zero:

 

# Crie a pasta do projeto e entre nela

mkdir meu-wp-seguro && cd meu-wp-seguro

 

# Configure o DDEV para entender que é um projeto WordPress

ddev config --project-type=wordpress --docroot=.

 

# Inicie os containers Docker

ddev start

 

# Baixe o core do WordPress usando o WP-CLI embutido no DDEV

ddev wp core download

 

# Instale o WordPress rapidamente (substitua os dados conforme necessário)

ddev wp core install --url="https://meu-wp-seguro.ddev.site" --title="Comunidade PHP" --admin_user=admin --admin_password=admin --admin_email=admin@teste.com

Pronto! Seu ambiente está rodando de forma isolada, com certificado SSL configurado localmente e banco de dados rodando em container.

2. Versionamento Inteligente com Git

Um dos maiores erros de segurança no WordPress é versionar tudo. Você não deve colocar o core do WordPress (que recebe atualizações constantes) ou a pasta de uploads dos usuários no seu repositório Git.

O foco do seu versionamento deve ser exclusivamente o que você produz: seus temas customizados, seus plugins desenvolvidos internamente e configurações específicas.

Crie um arquivo .gitignore na raiz do seu projeto com a seguinte estrutura de blindagem:

# Ignorar arquivos de sistema e IDEs
.DS_Store
.idea/
.vscode/

# Ignorar ambiente DDEV local
.ddev/

# Ignorar Core do WP
wp-admin/
wp-includes/
*.php
!wp-config.php

# Ignorar Mídias e Plugins de terceiros (Versionar apenas o seu código!)
wp-content/uploads/
wp-content/plugins/*
!wp-content/plugins/meu-plugin-exclusivo/
wp-content/themes/*
!wp-content/themes/meu-tema-customizado/

Com isso, o seu repositório no GitHub ficará limpo, leve e focado apenas na regra de negócio da sua aplicação.

3. Deploy Contínuo com GitHub Actions

Se você não usa mais FTP para enviar arquivos arrastando de uma janela para outra, parabéns, você está no caminho certo! O GitHub Actions permite criar um "pipeline" (uma esteira de automação): toda vez que você enviar código para a branch principal, um robô do GitHub testa seu código e o envia de forma segura para o servidor.

Fluxo Wordpress

Criando sua esteira de Deploy (CI/CD)

No seu repositório, crie um arquivo no caminho .github/workflows/deploy.yml. Aqui está um exemplo usando rsync sobre SSH, que é um dos métodos mais seguros e rápidos, pois envia apenas os arquivos que sofreram alterações:

name: Deploy WordPress para Produção

on:
  push:
    branches:
      - main # O deploy acontece automaticamente ao atualizar a main

jobs:
  deploy:
    runs-on: ubuntu-latest
    
    steps:
      - name: 📥 Baixar o código mais recente
        uses: actions/checkout@v3

      - name: 🚀 Deploy via Rsync
        uses: easingthemes/ssh-deploy@main
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
          ARGS: "-rlgoDzvc -i --delete"
          SOURCE: "wp-content/themes/meu-tema-customizado/"
          REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
          REMOTE_USER: ${{ secrets.REMOTE_USER }}
          TARGET: "/var/www/html/meu-site/wp-content/themes/meu-tema-customizado/"

 

Por que isso é extremamente seguro?

  1. Credenciais ocultas: As senhas e chaves SSH do seu servidor ficam salvas nos Secrets do repositório do GitHub. Nenhum desenvolvedor da equipe precisa ter a senha de produção no próprio computador.
  2. Histórico e Rollback: Se o deploy quebrar o site, basta reverter (revert) o último commit no Git, e o GitHub Actions enviará a versão anterior estável automaticamente em segundos.
  3. Ambientes múltiplos: Você pode criar o mesmo arquivo apontando para uma branch staging e enviando para um servidor de testes antes de aprovar para a main.

 

Conclusão

Adotar DDEV + Git + GitHub Actions eleva o padrão de qualquer projeto WordPress. Você ganha ambientes locais idênticos para toda a equipe, proteção total do código-fonte e entregas automatizadas onde o erro humano de esquecer de enviar um arquivo simplesmente deixa de existir.

Bora aplicar isso nos próximos projetos e discutir os resultados nos canais da comunidade!

 

Compartilhe este conteúdo
Diônata Garcia
Sobre o autor
Diônata Garcia
Colaborador da comunidade PHP Belém

Conteúdos relacionados

04 Ago 2026 5 min

Análise de Dados e Machine Learning: explorando o ecossistema PHP

Descubra como o PHP moderno pode ser utilizado para Análise de Dados e Machine Learning sem a necessidade de adotar novas linguagens ou dividir a infraestrutura do seu projeto. Neste artigo, exploramos bibliotecas nativas como Rubix ML e MathPHP, arquiteturas que delegam a carga pesada para o banco de dados e técnicas de alta performance com o uso de Generators (yield). Entenda por que manter uma stack unificada pode simplificar a manutenção, reduzir custos operacionais e acelerar a entrega de valor em sistemas corporativos robustos.

Continue lendo

Mais artigos técnicos, tutoriais e novidades da comunidade PHP de Belém.

Ver todos os artigos