Confira a página de captura com um script antes de divulgar
Resposta curta
Você confere a página de captura e a de obrigado do seu funil no Systeme.io com um script de oito verificações que devolve OK ou FALHA para status, formulário, campo de e-mail, noindex, título, http e tamanho. Roda antes de divulgar, conserta o que apareceu e roda de novo. Tudo no mesmo painel.
Assunto: Página de captura
Por Alan Victor · · · 9 min de leitura
- 1Salve as duas páginas e copie os endereços
- 2Cole o script num arquivo
- 3Rode o script e leia a saída
- 4Conserte o que apareceu
- 5Rode de novo e guarde a saída
No fim deste guia você tem um arquivo de script que lê a sua página de captura e a página de obrigado do seu funil no Systeme.io e devolve uma linha OK ou FALHA para cada um dos oito pontos que costumam quebrar depois que o tráfego já começou a chegar. São dois endereços, um arquivo e um comando.
Sai um guia por dia, e o canal do Telegram avisa quando sai. A ferramenta que eu uso para a página, a captura e o e-mail automático no mesmo lugar é a Systeme.io, que tem plano gratuito.
O que você vai ter no fim
- Um arquivo
checagem.shque roda com um comando e testa oito pontos da sua página de captura no Systeme.io. - A saída com uma linha por ponto, e o código de saída do script igual ao número de falhas.
- O mapa de onde corrigir cada falha no editor do Systeme.io, sem adivinhação.
Etapa 1: Salve as duas páginas e copie os endereços
Resposta direta: você precisa de dois endereços que respondam no navegador — o da página que tem o formulário e o da página que o visitante vê depois de enviar o e-mail.
No Systeme.io as duas são páginas do mesmo funil. Salve a página de captura e crie a página de obrigado, se ela ainda não existir. Nas opções do formulário, a ação de depois do envio precisa apontar para essa página de obrigado.
Abra cada uma no navegador e copie o que aparece na barra de endereço. Use esse endereço, não o atalho de pré-visualização do editor: o script precisa do mesmo endereço que o visitante recebe.
Eu monto meus funis no Systeme.io justamente porque a página, o formulário e a lista ficam no mesmo painel. Você não precisa colar o formulário de uma ferramenta dentro da página de outra, nem manter dois lugares para conferir depois. Para mim, é a melhor opção hoje para quem está começando sozinho.
Guardar a lista é outra decisão. No Systeme.io, os contatos que passam pelo formulário entram na lista da própria conta, e o plano grátis já serve para montar a página, o formulário e a lista. Quando o negócio crescer, o plano pago é o próximo degrau, não um pré-requisito para começar.
Etapa 2: Cole o script num arquivo
Resposta direta: crie um arquivo chamado checagem.sh, cole o bloco abaixo inteiro e troque as duas primeiras variáveis pelos endereços que você copiou.
O script não entra na sua conta e não usa senha. Ele faz o que qualquer visitante faz: pede a página e olha o que voltou. Por isso ele pega erro que o painel esconde — elemento que não foi salvo, imagem servida sem https, página de obrigado que não existe.
São oito verificações, e cada uma imprime uma linha. Duas olham o código de resposta das páginas; as outras seis olham o HTML baixado. O passo a passo de cada elemento do funil está na central de ajuda do Systeme.io.
#!/usr/bin/env bash
# checagem.sh - confere a pagina de captura antes de divulgar
# uso: bash checagem.sh
PAGINA="COLE_AQUI_O_ENDERECO_DA_CAPTURA"
OBRIGADO="COLE_AQUI_O_ENDERECO_DA_PAGINA_DE_OBRIGADO"
LIMITE_BYTES=400000
HTML=$(mktemp)
falhas=0
status () { curl -s -o /dev/null -w "%{http_code}" -L --max-time 20 "$1"; }
falhou () { echo "FALHA $1"; falhas=$((falhas + 1)); }
passou () { echo "OK $1"; }
# 1 e 2: as duas paginas respondem 200
for par in "captura:$PAGINA" "obrigado:$OBRIGADO"; do
nome=${par%%:*}
url=${par#*:}
codigo=$(status "$url")
if [ "$codigo" = "200" ]; then passou "$nome respondeu $codigo"; else falhou "$nome respondeu $codigo"; fi
done
# baixa o HTML da captura uma vez so
curl -s -L --max-time 20 "$PAGINA" -o "$HTML"
# 3: existe formulario
if grep -qi "<form" "$HTML"; then passou "formulario encontrado"; else falhou "nenhum formulario no HTML"; fi
# 4: existe campo de e-mail
if grep -qiE 'type="email"|name="email"' "$HTML"; then passou "campo de e-mail encontrado"; else falhou "campo de e-mail nao encontrado"; fi
# 5: a pagina nao pede para ficar fora da busca
if grep -qi "noindex" "$HTML"; then falhou "pagina marcada como noindex"; else passou "pagina indexavel"; fi
# 6: tem tag de titulo
if grep -qi "<title>" "$HTML"; then passou "titulo presente"; else falhou "sem tag de titulo"; fi
# 7: nenhum recurso carregado sem https
sobras=$(grep -oiE 'src="http://[^"]+' "$HTML" | wc -l | tr -d ' ')
if [ "$sobras" = "0" ]; then passou "nenhum recurso em http://"; else falhou "$sobras recursos em http://"; fi
# 8: tamanho do HTML
tamanho=$(wc -c < "$HTML" | tr -d ' ')
if [ "$tamanho" -lt "$LIMITE_BYTES" ]; then
passou "HTML com $tamanho bytes (limite $LIMITE_BYTES)"
else
falhou "HTML com $tamanho bytes, acima do limite $LIMITE_BYTES"
fi
echo "---"
if [ "$falhas" = "0" ]; then echo "TUDO OK: 0 falhas"; else echo "PARE: $falhas falhas"; fi
exit "$falhas"
Etapa 3: Rode o script e leia a saída
Resposta direta: na pasta onde salvou o arquivo, rode bash checagem.sh e leia a última linha: se ela começar com PARE, o número depois dos dois-pontos é quantas coisas quebraram.
A saída é esta, uma linha por verificação:
OK captura respondeu 200
FALHA obrigado respondeu 404
OK formulario encontrado
OK campo de e-mail encontrado
OK pagina indexavel
OK titulo presente
OK nenhum recurso em http://
OK HTML com 84213 bytes (limite 400000)
---
PARE: 1 falhas
O exemplo acima é de uma página com um problema só: a página de obrigado respondeu 404, ou seja, o endereço para onde o formulário manda o visitante depois do envio não existe. As outras sete linhas passaram.
O script termina com código de saída igual ao número de falhas. echo $? devolve 0 quando tudo passou e 1, 2 ou mais quando algo falhou. É esse número que permite pendurar a checagem numa rotina depois.
No Windows, rode dentro de um terminal bash e leia o código com echo %ERRORLEVEL%. O comando de download já vem no Windows 10 em diante.
Existe o caminho pela API do Systeme.io, criando um contato de teste e conferindo se ele entra na lista — mas ele pede chave de API e mais passos; o script resolve em um comando. A documentação oficial da API descreve esse caminho. Se você quiser ir por ali, comece pela central de ajuda do Systeme.io.
Para fazer isso sem montar servidor
O que este guia faz por API, a Systeme.io faz por formulário: página, lista, etiqueta e e-mail automático na mesma conta. É a conta em que eu testo o que aparece aqui, e o plano gratuito já dá para publicar e capturar.
Etapa 4: Conserte o que apareceu
Resposta direta: cada linha FALHA tem um lugar certo para corrigir no editor, e a tabela abaixo é o mapa.
| Linha da saída | O que quer dizer | Onde corrigir no Systeme.io |
|---|---|---|
FALHA captura respondeu 404 | o endereço copiado não existe ou a página não foi salva | abra a página no editor de novo, salve e copie o endereço da barra |
FALHA obrigado respondeu 404 | a página de obrigado não existe ou o redirecionamento aponta para outro lugar | crie a página no funil e aponte a ação de pós-envio do formulário para ela |
FALHA nenhum formulario no HTML | a página salva não tem o elemento de formulário | adicione o elemento de formulário, salve e rode de novo |
FALHA campo de e-mail nao encontrado | o formulário não tem campo de e-mail com type="email" ou name="email" | confira o campo dentro do elemento de formulário |
FALHA pagina marcada como noindex | a página pede aos buscadores para não aparecer | desmarque a opção de não indexar nas configurações de SEO da página, se ela existir |
FALHA N recursos em http:// | alguma imagem ou script carrega sem https | suba a imagem de novo pela biblioteca do Systeme.io e troque no bloco |
FALHA HTML com N bytes | a página passou do limite de bytes que você definiu | comprima as imagens ou reduza a quantidade por dobra |
Corrija uma coisa por vez e rode de novo. Se você mexer em três pontos ao mesmo tempo e a página continuar falhando, não vai saber qual dos três era o problema.
Uma exceção: a página de obrigado pode ficar marcada como noindex sem prejuízo — o script só procura essa marca no HTML da captura.
Etapa 5: Rode de novo e guarde a saída
Resposta direta: a página só recebe tráfego quando a última linha disser TUDO OK, e você guarda a saída num arquivo com a data no nome.
bash checagem.sh | tee checagem-$(date +%F).txt mostra a saída na tela e grava a mesma coisa num arquivo com a data. Se uma alteração de headline derrubar o formulário na semana seguinte, você compara com o arquivo anterior e vê o que mudou.
Rode depois de qualquer edição na página de captura, no formulário ou na página de obrigado. O custo é um comando. O custo de descobrir o problema com tráfego pago já apontado para a página é a verba do dia.
Eu rodo essa checagem sempre que mexo em uma página no Systeme.io. É mais rápido do que abrir o editor e conferir campo por campo, e me dá um registro do que estava no ar naquele dia.
Por que o script lê o HTML e não o painel?
Porque o painel mostra o que você configurou, e o HTML mostra o que chegou ao navegador do visitante. Um elemento pode estar na tela do editor e não sair na página salva; uma imagem pode estar na biblioteca e ser servida por um endereço http.
O script não tem acesso ao construtor de páginas: ele recebe o texto final e procura as marcas que o editor gera — a tag de formulário, o campo de e-mail, a tag de título.
Isso também quer dizer que ele não sabe se o contato entrou na sua lista. Ele confere a porta, não o que acontece depois dela.
Se você ainda não tem conta, comece agora pelo plano grátis do Systeme.io, usando o botão desta página. Crie a conta, monte a página de captura e a página de obrigado e rode a Etapa 1 enquanto este guia está aberto. Cada dia sem uma página conferida é um dia de visita que vai embora sem entrar na lista.
O que eu não vou afirmar
- Não afirmo que o script lê a página antes de ela estar salva e respondendo num endereço; ele lê o que o servidor devolve naquele endereço.
- Não afirmo que passar na checagem garante entrega do e-mail na caixa de entrada — isso depende do provedor e da configuração de domínio.
- Não afirmo que a checagem substitui um cadastro de teste feito à mão com o seu próprio e-mail.
- Não afirmo preço nem limite de plano do Systeme.io: confira no painel da sua conta, que muda sem aviso neste texto.
- Não afirmo que a página vai converter melhor; o script só diz que ela está inteira.
Travou em alguma etapa?
Abra uma discussão em github.com/alanvito1/funil-simples dizendo em que passo parou. Dúvida que aparece mais de uma vez tem boa chance de virar guia, e o código deste site está no mesmo lugar, aberto.
Se ainda não tem onde publicar o que montou, a conta gratuita da Systeme.io resolve a página e a lista.
Perguntas frequentes
Dá para conferir a página de captura sem publicá-la?
Dá, desde que o endereço dela já responda no navegador, porque o script lê o HTML que o servidor devolve para qualquer visitante. Uma página que ainda não foi salva não tem o que ler: no Systeme.io, salve a página, copie o endereço, rode a checagem e só depois aponte tráfego para ela.
O que o script confere na página de captura?
Confere oito coisas: o código de resposta da página de captura e o da página de obrigado, a existência de um formulário, a existência de um campo de e-mail, a marca de noindex, a tag de título, quantos recursos carregam em http e o tamanho do HTML em bytes. Cada item vira uma linha OK ou FALHA.
Preciso instalar alguma coisa para rodar o script?
Nenhuma biblioteca: o script usa comandos que já existem no macOS e na maioria das distribuições Linux. No Windows, rode dentro de um terminal bash; o comando de download já vem no Windows 10 em diante.
O que significa o número que o script devolve no final?
Significa quantas verificações falharam: zero é página pronta, três é três itens para consertar. Você lê esse número com echo $? no macOS e no Linux, ou echo %ERRORLEVEL% no Windows, e pode usá-lo para travar uma rotina automática quando a página quebrar.
O script garante que o e-mail vai ser entregue?
Não. Ele confere o que a página devolve para qualquer visitante: status, formulário, campo, indexação, recursos e tamanho. Se o e-mail chega na caixa de entrada depende do provedor e da configuração de domínio, o que exige um cadastro de teste feito à mão com o seu próprio endereço.
Leve isto com você
Página de captura pronta
É um arquivo HTML completo, com a promessa, um campo, o aceite da LGPD e nada de terceiro — abre no navegador do jeito que está.
Abra no navegador para ver, troque o texto e o endereço do formulário, e suba para a sua hospedagem. Sem cadastro, sem e-mail: o arquivo baixa direto.
Receba o resto por e-mail
Eu testo ferramenta de funil e e-mail e mando o que descubro.