Pular para o conteúdo

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

  1. 1Salve as duas páginas e copie os endereços
  2. 2Cole o script num arquivo
  3. 3Rode o script e leia a saída
  4. 4Conserte o que apareceu
  5. 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

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.

Ver o plano gratuito

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ídaO que quer dizerOnde corrigir no Systeme.io
FALHA captura respondeu 404o endereço copiado não existe ou a página não foi salvaabra a página no editor de novo, salve e copie o endereço da barra
FALHA obrigado respondeu 404a página de obrigado não existe ou o redirecionamento aponta para outro lugarcrie a página no funil e aponte a ação de pós-envio do formulário para ela
FALHA nenhum formulario no HTMLa página salva não tem o elemento de formulárioadicione o elemento de formulário, salve e rode de novo
FALHA campo de e-mail nao encontradoo 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 noindexa página pede aos buscadores para não aparecerdesmarque 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 httpssuba a imagem de novo pela biblioteca do Systeme.io e troque no bloco
FALHA HTML com N bytesa página passou do limite de bytes que você definiucomprima 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

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á.

Baixar (HTML, 3.1 kB)

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.