O que é

Nem todo site precisa de PHP. Uma landing page em HTML, a pasta dist de um projeto React ou Vue,
um site gerado por IA ou por um framework: tudo isso é conteúdo pronto, que o nginx serve
direto. O tipo Custom é o caminho para esses casos.

É o mais rápido e o mais seguro dos três tipos: sem PHP executando, a superfície de ataque some
quase por completo.

Criando o site

Use Instalar site Custom e responda como abaixo:

  1. Domínio: o endereço do site.
  2. Com PHP: deixe desligado. Conteúdo estático não executa nada; ligar o PHP só abriria
    uma porta sem necessidade.
  3. Com banco de dados: deixe desligado. Site estático não usa banco.
  4. SSL: ligado. Com a integração Cloudflare, o painel cria o DNS
    e emite o certificado sozinho.

O site nasce vazio, esperando os arquivos.

Enviando os arquivos

Os arquivos públicos ficam em htdocs/, dentro da pasta do site. Duas formas de colocá-los lá:

  • Gerenciador de arquivos do painel: abra a aba Arquivos e envie por ali. Bom para poucos
    arquivos ou um ajuste rápido.
  • SFTP: habilite o acesso SFTP do site e envie pelo seu cliente (FileZilla,
    WinSCP, Cyberduck) ou por linha de comando. É o caminho para um projeto inteiro, e o que dá para
    automatizar em um script de publicação.

Envie o conteúdo de dentro da pasta dist/build, não a pasta em si. O index.html precisa
ficar na raiz do htdocs/: se ele acabar em htdocs/dist/index.html, o site abre em branco.

Se o envio for feito por outro caminho (por exemplo, extraindo um .zip pelo SSH como root), os
arquivos podem ficar com o dono errado e o site responde 403. O botão Corrigir permissões, na
aba de arquivos, devolve tudo ao usuário do site. Ver
Arquivos e permissões.

Quando ligar o modo SPA

Sites de página única (React, Vue, Angular) tratam as rotas no navegador: /sobre não existe como
pasta no servidor, quem resolve é o JavaScript. Sem ajuste, abrir seusite.com/sobre direto na
barra de endereços devolve 404: o nginx procura um arquivo que não existe.

O modo SPA resolve: todas as rotas caem no index.html, e o aplicativo cuida do resto.

  • Site em HTML com páginas de verdade (index.html, sobre.html, uma pasta por seção):
    deixe o SPA desligado. Com ele ligado você perde a página 404 própria.
  • Aplicação de página única com rotas no navegador, ligue o SPA. O sintoma clássico é: navegar
    pelo menu funciona, mas recarregar a página dá 404.

Na dúvida, publique com o SPA desligado e teste um link direto para uma página interna. Se der 404,
ligue.

Depois de publicar

  • O cache do servidor não se aplica a sites Custom: arquivos estáticos já são servidos
    direto, sem PHP no caminho.
  • Para atualizar o site, basta reenviar os arquivos; não há passo de publicação no painel.
  • O backup do site funciona normalmente e guarda os arquivos no seu S3.

Veja também