Aula 03 - Publicando na Web - GitHub e Deploy
Git e GitHub como backup permanente, Vercel/Cloudflare Pages como hospedagem gratuita, e performance como UX
Onde o site vive
Antes de publicar, preciso entender onde um site fica guardado. Todo site vive num servidor: um computador que fica ligado o tempo todo e entrega os arquivos para quem pedir. Mas o tipo de servidor muda conforme o tipo de projeto.
É como escolher o ponto da loja: um vendedor de pipoca na rua precisa de um carrinho. Uma loja de roupas precisa de uma sala. Um restaurante precisa de cozinha, mesa e estoque. Cada projeto cabe num lugar diferente.
Hospedagem para cada tipo de projeto
| Tipo de projeto | Exemplo | Onde vive | Custo |
|---|---|---|---|
| Site estático (HTML/CSS/JS puro) | Cartão de visitas, portfólio, landing page | GitHub Pages, Vercel, Cloudflare Pages | Grátis |
| Site com framework (Astro, React, Next) | Site construído com componentes e montado automaticamente | Vercel, Cloudflare Pages, Netlify | Grátis no início |
| Site dinâmico (com login, banco, pagamento) | Loja com carrinho, sistema de reservas | Hospedagem compartilhada (cPanel), VPS, Render, Railway | Pago |
| Loja virtual pronta | Vender doces, roupas, cursos | Nuvemshop, Shopify | Pago (mensalidade) |
| Aplicativo de celular | App para Android ou iPhone | Google Play, App Store | Taxa de publicação |
As formas de subir o projeto
“Subir o projeto” significa levar os arquivos que estão no meu computador (ou no Replit) até o servidor que vai publicar. Existem quatro formas principais:
| Forma | Como funciona | Exemplos | Para quem serve |
|---|---|---|---|
| Upload manual | Arrasto os arquivos pelo navegador | Vercel Drop, Cloudflare Pages, cPanel | Primeira publicação, teste rápido |
| Git - repositório conectado (GitHub, GitLab, etc) | Conecto o projeto a um repositório; a cada envio, o site atualiza sozinho | GitHub + Vercel, GitHub + Cloudflare | Quem quer backup + deploy automático |
| Terminal (CLI) | Digito comandos que publicam o site | git push, vercel, rsync |
Quem já usa o terminal |
| FTP/SFTP | Programa transfere os arquivos para o servidor | FileZilla | Hospedagem tradicional |
A melhor forma: o Git com repositório conectado
De todas as formas, a mais vantajosa é conectar o projeto a um repositório Git (GitHub, GitLab e outros). O motivo:
| Vantagem | O que ganho |
|---|---|
| Backup permanente | O código fica guardado na nuvem - nunca se perde |
| Histórico de versões | Se eu errar, volto para a versão anterior |
| Deploy automático | Publico uma vez, conecto o repositório, e a cada atualização o site muda sozinho |
| Grátis | Repositório e integração não custam nada |
| Um código, vários lugares | O mesmo repositório conecta com Vercel, Cloudflare, Netlify |
| Seguro contra quedas | Se a hospedagem cair, o código continua salvo no repositório |
É como ter o molho da receita guardado num cofre: mesmo que o restaurante feche, eu tenho a receita e abro em outro lugar. O Git é o cofre, o repositório é onde o cofre fica, e as plataformas de hospedagem são os restaurantes que usam a receita.
Onde o site mora
Antes de publicar, preciso entender onde um site fica guardado. Todo site mora num servidor: um computador que fica ligado o tempo todo e entrega os arquivos para quem pedir. Mas o tipo de servidor muda conforme o tipo de projeto.
É como escolher o ponto da loja: um vendedor de pipoca na rua precisa de um carrinho. Uma loja de roupas precisa de uma sala. Um restaurante precisa de cozinha, mesa e estoque. Cada projeto cabe num lugar diferente.
Hospedagem para cada tipo de projeto
| Tipo de projeto | Exemplo | Onde mora | Custo |
|---|---|---|---|
| Site estático (HTML/CSS/JS puro) | Cartão de visitas, portfólio, landing page | GitHub Pages, Vercel, Cloudflare Pages | Grátis |
| Site com framework (Astro, React, Next) | Site construído com componentes e montado automaticamente | Vercel, Cloudflare Pages, Netlify | Grátis no início |
| Site dinâmico (com login, banco, pagamento) | Loja com carrinho, sistema de reservas | Hospedagem compartilhada (cPanel), VPS, Render, Railway | Pago |
| Loja virtual pronta | Vender doces, roupas, cursos | Nuvemshop, Shopify | Pago (mensalidade) |
| Aplicativo de celular | App para Android ou iPhone | Google Play, App Store | Taxa de publicação |
No curso, eu crio sites estáticos - a parte visual. É por isso que a hospedagem pode ser gratuita: não tem servidor processando nada por trás.
As formas de subir o projeto
“Subir o projeto” significa levar os arquivos que estão no meu computador (ou no Replit) até o servidor que vai publicar. Existem quatro formas principais:
| Forma | Como funciona | Exemplos | Para quem serve |
|---|---|---|---|
| Upload manual | Arrasto os arquivos pelo navegador | Vercel Drop, Cloudflare Pages, cPanel | Primeira publicação, teste rápido |
| Git - repositório conectado (GitHub, GitLab, etc) | Conecto o projeto a um repositório; a cada envio, o site atualiza sozinho | GitHub + Vercel, GitHub + Cloudflare | Quem quer backup + deploy automático |
| Terminal (CLI) | Digito comandos que publicam o site | git push, vercel, rsync |
Quem já usa o terminal |
| FTP/SFTP | Programa transfere os arquivos para o servidor | FileZilla | Hospedagem tradicional |
A melhor forma: o Git com repositório conectado
De todas as formas, a mais vantajosa é conectar o projeto a um repositório Git (GitHub, GitLab e outros). O motivo:
| Vantagem | O que ganho |
|---|---|
| Backup permanente | O código fica guardado na nuvem - nunca se perde |
| Histórico de versões | Se eu errar, volto para a versão anterior |
| Deploy automático | Publico uma vez, conecto o repositório, e a cada atualização o site muda sozinho |
| Grátis | Repositório e integração não custam nada |
| Um código, vários lugares | O mesmo repositório conecta com Vercel, Cloudflare, Netlify |
| Seguro contra quedas | Se a hospedagem cair, o código continua salvo no repositório |
É como ter o molho da receita guardado num cofre: mesmo que o restaurante feche, eu tenho a receita e abro em outro lugar. O Git é o cofre, o repositório é onde o cofre fica, e as plataformas de hospedagem são os restaurantes que usam a receita.
Git - o cofre de versões
Git é um software de versionamento: guarda o histórico de todas as mudanças de um projeto. Se eu errar algo, volto para a versão anterior - é uma máquina do tempo para o código.
É como o histórico de um documento no Google Docs: toda vez que eu salvo, o Google fica com uma versão. Se eu errar, volto. O Git faz a mesma coisa, mas com código.
A analogia do fichário
| Conceito do Git | Analogia | Explicação |
|---|---|---|
| Repositório | O fichário inteiro | Onde todos os arquivos ficam guardados |
| Commit | Uma anotação nova | Cada vez que eu salvo, crio um registro |
| Branch | Uma folha separada | Uma cópia para testar sem bagunçar o original |
| Merge | Colar a folha no fichário | Juntar as mudanças testadas no original |
| Histórico | Todas as anotações anteriores | Se eu errar, vejo o que escrevi antes |
Como funciona na prática
- Eu crio um arquivo e salvo no computador
- Eu faço um commit - o Git guarda essa versão com nome e data
- Eu mudo o arquivo e salvo de novo
- Eu faço outro commit - o Git guarda a versão nova
- Se eu errar, volto para qualquer versão anterior
Por que isso importa para o meu site
Imagine um cartão de visitas digital funcionando. Eu mudo uma cor e o site inteiro quebra. Sem Git, perdi a versão que funcionava. Com Git, volto para ela num clique.
GitHub - o cofre na nuvem
GitHub é uma plataforma online onde eu guardo meus projetos. É como o Google Drive, mas feito para código. Ele usa o Git por trás, então o histórico inteiro fica salvo.
É a diferença entre salvar um documento no pendrive (pode perder) e salvar no Google Drive (acesso de qualquer lugar). O GitHub é o “Google Drive do código”.
Demo: com e sem GitHub
Sem GitHub
Arquivos só no meu computador
Se o computador queima, perdeu tudo. Sem histórico de versões e difícil compartilhar.
Com GitHub
Cópia na nuvem, sempre
Acesso de qualquer lugar, histórico completo e integração automática com Vercel, Cloudflare e Netlify.
O GitHub é como um cofre: mesmo que o computador queime, o telefone seja roubado ou eu apague tudo por engano, o projeto está salvo. É o backup permanente.
O que é um repositório
Um repositório é uma pasta no GitHub onde todos os arquivos de um projeto ficam organizados. Cada projeto tem o seu. A estrutura de um site estático típico é assim:
cartao-de-visitas-digital/
├── index.html - Pagina principal
├── style.css - Visual (cores, fontes, layout)
├── script.js - Funcionalidades (botoes, animacoes)
├── imagens/ - Fotos e icones
│ ├── foto-perfil.jpg
│ └── logo.png
└── README.md - Descricao do projeto
O
index.htmlé o arquivo principal - é ele que o navegador abre quando alguém acessa o site. O nome “index” não é aleatório: é o padrão que os servidores esperam.
Criando uma conta
- Acesse github.com e clique em Sign up
- Digite seu e-mail (pode ser o mesmo do Google)
- Crie uma senha forte (mínimo 8 caracteres)
- Escolha o nome de usuário - vira o endereço do seu perfil (ex:
github.com/seu-nome) - Confirme o e-mail pelo link da caixa de entrada
Criando um repositório
No fluxo do curso, o repositório é criado sozinho quando eu faço o push pelo Replit (o Replit cria o repositório e envia os arquivos). Mas dá pra criar na mão também, se eu quiser começar do zero:
- Clique no ícone + e escolha New repository
- Digite um nome (ex:
cartao-de-visitas-digital) - Escolha público (qualquer pessoa vê) ou privado (só você)
- Marque Add a README file - cria um arquivo inicial
- Clique em Create repository
É como criar uma pasta nova no Google Drive: eu dou um nome, escolho se é público ou privado, e o conteúdo vai para dentro.
Estático ou dinâmico
Site estático não quer dizer parado ou sem graça. Quer dizer que o código-fonte não muda: o servidor entrega o mesmo arquivo para todo mundo. Isso não impede interatividade - formulários que validam na hora, botões que mudam de cor, galerias e animações rodam no navegador do visitante, com JavaScript, sem precisar de servidor.
Site dinâmico tem um servidor processando coisas: senhas, pagamentos, formulários que enviam e-mail, banco de dados. É como um restaurante com cozinha: o pedido chega, alguém prepara, e o resultado volta ao cliente.
| Site dinâmico | Site estático |
|---|---|
| Código gerado a cada visita | Código fixo - igual para todo mundo |
| Processa dados no servidor | Interatividade roda com JS no navegador |
| Precisa de servidor | Não precisa de servidor |
| Mais complexo e caro | Rápido e barato |
| Loja online, login, chat | Linktree, portfólio, cartão de visitas |
GitHub Pages - a hospedagem grátis do GitHub
GitHub Pages é um serviço gratuito do GitHub que hospeda sites estáticos com endereço próprio, no formato seu-usuario.github.io/nome-do-projeto.
É como ter uma vitrine grátis: eu coloco os produtos na prateleira e qualquer pessoa vê, sem pagar nada.
Passo a passo:
- Pedir pra IA criar a integração - no chat da IA do Replit, peça: “Crie a integração com GitHub Pages no meu projeto”. A IA cria o arquivo de instruções (o workflow) que publica o site
- Enviar o código pelo Replit - em Tools (menu inferior) → + → Git → Initialize repository
- Conectar ao GitHub - clique em Connect to GitHub, faça login e autorize a conexão
- Commit e Push - escreva a mensagem (ex: “Primeira versão do site”) e clique em Commit e depois em Push. O Replit cria o repositório no GitHub e envia os arquivos
- Ativar o Pages - no GitHub, em Settings → Pages, escolha Source: GitHub Actions
- Acessar - aguarde alguns minutos (o workflow criado pela IA roda sozinho), volte em Settings → Pages e clique no link que aparece no topo
Como atualizar: faça a mudança no Replit (com IA) e faça commit + push. O GitHub Pages publica a versão nova sozinho, em alguns minutos.
É como editar uma planilha no Google Sheets: quando eu salvo, todo mundo vê a versão nova automaticamente.
Limites do GitHub Pages
| Limite | O que acontece |
|---|---|
| 1 GB por repositório | Limite de tamanho dos arquivos |
| 100 GB de tráfego/mês | Limite de acessos |
| Apenas sites estáticos | Não roda PHP, Python ou outros backends |
| 10 builds por hora | Taxa de construção |
Para a maioria dos nossos projetos (portfólio, cartão de visitas, landing page), esses limites são mais que suficientes.
Vercel - deploy mais fácil
A Vercel é uma plataforma de deploy usada por empresas grandes e projetos pessoais. O diferencial é a CDN: o site é distribuído em servidores pelo mundo inteiro, então carrega rápido em qualquer lugar.
É como uma rede de lojas: em vez de uma loja só, a Vercel tem “filiais” em todos os países. Quando alguém acessa, o site vem da filial mais perto - e carrega mais rápido.
O jeito mais simples: conectar o repositório
O jeito mais simples de publicar na Vercel é conectar o repositório do GitHub. A Vercel lê o código do repositório e publica. E a partir daí, toda vez que eu faço push, o site atualiza sozinho.
Passo a passo:
- Tenha o site no GitHub - mesmo fluxo do GitHub Pages: peça pra IA criar a integração, faça commit e push pelo Replit
- Acesse vercel.com e faça login com Google ou GitHub
- Clique em Add New… → Project
- Escolha Import Git Repository
- Escolha o repositório do site na lista
- Clique em Deploy - a Vercel detecta sozinha que é um site pronto pra publicar
- Em alguns segundos o site ganha um endereço assim:
seu-projeto.vercel.app
Como atualizar: faça a mudança no Replit (com IA) e faça commit + push. A Vercel detecta o push e publica a versão nova sozinha, sem tocar em nada.
Vantagens:
| Vantagem | Por que isso importa |
|---|---|
| CDN global | Site carrega rápido em qualquer lugar do mundo |
| Deploy automático | Conectado ao GitHub, o site atualiza sozinho a cada alteração |
| HTTPS grátis | Cadeado de segurança sem configurar nada |
| Analytics básicos | Vejo quantas pessoas acessaram |
| Domínio próprio | Posso conectar um domínio que comprei |
Limites do plano gratuito (Hobby)
| Limite | O que acontece |
|---|---|
| Não-comercial | Só projetos pessoais - não pode vender nada pelo site |
| 100 deploys por dia | Limite de publicações diárias |
| 1 milhão de requests/mês | Limite de acessos |
| 100 GB de bandwidth | Limite de tráfego mensal |
Atenção: a Vercel proíbe uso comercial no plano Hobby. Se o site é para vender algo (doces, serviços, portfólio profissional), é necessário o plano Pro (US$ 20/mês) ou outra plataforma.
Cloudflare Pages - alternativa sem restrição
Cloudflare Pages é a hospedagem gratuita de um dos maiores serviços de internet do mundo. Ela é rápida, gratuita e não tem restrição de uso comercial.
É como a Vercel, mas sem as restrições do plano gratuito. Pode usar para vender, divulgar, qualquer coisa.
Passo a passo:
- Tenha o site no GitHub - mesmo fluxo do GitHub Pages: peça pra IA criar a integração, faça commit e push pelo Replit
- Acesse dash.cloudflare.com, clique em Sign up e confirme o e-mail
- No painel, vá em Workers & Pages → Create → Pages
- Clique em Connect to Git
- Autorize o Cloudflare a acessar seu GitHub (se pedir)
- Escolha o repositório do site
- Clique em Save and Deploy
- Em poucos minutos o site ganha um endereço assim:
cartao-de-visitas-digital.pages.dev
Como atualizar: faça a mudança no Replit (com IA) e faça commit + push. O Cloudflare detecta o push e publica a versão nova sozinho.
Por que ela é diferente da Vercel no plano gratuito:
| Cloudflare Pages | Vercel (Hobby) |
|---|---|
| Permite uso comercial | Não permite uso comercial |
| Sem limite de tráfego | 100 GB de bandwidth/mês |
| CDN global | CDN global |
| HTTPS grátis | HTTPS grátis |
| Deploy por Git conectado | Deploy por Git conectado |
Se você quer vender algo pelo site (um produto, um serviço, um curso), o Cloudflare Pages é a melhor opção gratuita.
As 4 formas de publicar
Demo: qual plataforma para cada momento
Replit
Para testar rápido
Endereço seu-nome.replit.app. Nível 1-2. Cuidado: o backup expira em 30 dias no plano gratuito.
GitHub Pages
Para guardar e publicar grátis
Endereço seu-usuario.github.io/projeto. Nível 3-4. Site permanente, sem custo, fica no seu repositório.
Vercel
Para velocidade máxima
Endereço seu-projeto.vercel.app. Nível 2-3. CDN global; plano Hobby não permite uso comercial.
Cloudflare Pages
Para vender sem restrição
Endereço seu-projeto.pages.dev. Nível 2-3. Grátis, sem limite de tráfego e sem restrição comercial.
Quando usar cada um
| Situação | Melhor opção |
|---|---|
| Criei o site e quero testar rápido | Replit |
| Quero um site permanente e gratuito | GitHub Pages |
| Quero o site mais rápido possível | Vercel |
| Quero vender algo pelo site | Cloudflare Pages |
| Quero atualização automática a partir do GitHub | Vercel |
| Quero o mais simples possível | Cloudflare Pages |
Dica: o ideal é usar mais de um. O GitHub guarda o código (backup). O Vercel ou Cloudflare publica o site (deploy). Assim, mesmo que uma plataforma caia, o código está salvo no GitHub.
Mini atividade - publicar um projeto já pronto
Quem já tem um site pronto (feito no Replit, no OpenCode ou em outro lugar) pode publicá-lo agora, no ar, em três passos: exportar para o GitHub, conectar o repositório e ver o site no ar.
É como levar a comida pronta para o restaurante: o prato já está feito. Eu só preciso guardar a receita no cofre (GitHub) e colocar o prato na vitrine (Vercel ou Cloudflare).
Passo 1 - Exportar o projeto do Replit para o GitHub
- Abra o projeto no Replit
- Vá em Tools (menu inferior) → clique no + → escolha Git
- Clique em Initialize repository (cria o Git dentro do projeto)
- Clique em Connect to GitHub, faça login e autorize a conexão
- Escreva uma mensagem de commit (ex: “Primeira versão do site”)
- Clique em Commit e depois em Push - o Replit cria o repositório no GitHub e envia os arquivos
- Abra o link do GitHub que aparece para confirmar que o projeto está lá
Agora o código tem um backup permanente. Mesmo que o Replit expire, os arquivos continuam no GitHub.
Passo 2 - Publicar na Vercel conectando o repositório
- Acesse vercel.com e faça login com o GitHub
- Clique em Add New… → Project
- Clique em Import Git Repository (ou Continue with GitHub)
- Escolha o repositório recém-publicado
- Clique em Deploy
- Em alguns minutos o site fica no ar:
seu-projeto.vercel.app
A Vercel já entende que é um site estático. Não precisa configurar nada - é só clicar em Deploy.
Passo 3 - Publicar no Cloudflare Pages conectando o repositório
- Acesse dash.cloudflare.com e faça login
- Vá em Workers & Pages → Create → Pages
- Escolha Connect to Git
- Autorize o Cloudflare a acessar seu GitHub (se pedir)
- Escolha o mesmo repositório
- Clique em Save and Deploy
- Em poucos minutos o site fica no ar:
seu-projeto.pages.dev
Agora o mesmo código está publicado em dois lugares. Se um cair, o outro continua no ar.
Como atualizar daqui para frente
- Volte ao Replit e faça as alterações no código
- No painel Git, escreva a mensagem do commit e clique em Commit
- Clique em Push
- A Vercel e o Cloudflare detectam o envio e atualizam os sites sozinhos, em minutos
É aqui que a integração com o Git brilha: publico uma vez e, depois, cada envio atualiza tudo sozinho. Nada de baixar, arrastar e reenviar a cada mudança.
Performance e UX
Um site demorado faz o visitante ir embora - e não é opinião, é dado:
- 53% das pessoas abandonam um site que demora mais de 3 segundos para carregar (pesquisa do Google)
- O Google penaliza sites lentos nos resultados de busca
É como entrar numa loja: se a porta trava, se o corredor é longo demais, se o caixa demora - eu vou embora para a loja do lado.
O que afeta a velocidade
| Fator | O que faz | Como melhorar |
|---|---|---|
| Imagens grandes | Cada imagem pode pesar vários MB | Comprimir (TinyPNG, Squoosh) |
| Muitos scripts | Cada JavaScript soma tempo de processamento | Usar o mínimo necessário |
| Sem cache | O navegador baixa tudo de novo a cada visita | Configurar cache no servidor |
| Sem CDN | O arquivo vem de um lugar longe do visitante | Vercel e Cloudflare já têm CDN |
| CSS não minificado | Espaços e comentários sobrando | Ferramentas de minificação automática |
PageSpeed Insights - como testar
O PageSpeed Insights é uma ferramenta gratuita do Google que dá notas de 0 a 100 para o site.
É como um exame médico para o seu site: ele verifica tudo e diz o que está bom e o que precisa melhorar.
- Acesse pagespeed.web.dev
- Digite o endereço do site
- Clique em Analyze e aguarde 10-30 segundos
- Veja as notas e as sugestões
| Nota | Significado | Ação |
|---|---|---|
| 90-100 | Excelente, site rápido | Manter assim |
| 50-89 | Precisa melhorar | Corrigir os problemas apontados |
| 0-49 | Ruim, site lento | Priorizar correções |
Métricas principais:
| Métrica | O que mede | Meta |
|---|---|---|
| LCP (Largest Contentful Paint) | Tempo para carregar o maior elemento | Menos de 2,5 segundos |
| FID (First Input Delay) | Tempo para responder ao primeiro clique | Menos de 100 ms |
| CLS (Cumulative Layout Shift) | O quanto o site “pula” enquanto carrega | Menos de 0,1 |
Dicas rápidas para melhorar performance
| Dica | Como fazer | Impacto |
|---|---|---|
| Comprimir imagens | TinyPNG.com ou Squoosh.app antes de enviar | Alto |
| Usar WebP | Formato de imagem menor que JPG/PNG | Alto |
| CSS inline | CSS direto no HTML (para sites pequenos) | Médio |
| Poucos scripts | Sem bibliotecas desnecessárias | Médio |
| CDN automático | Vercel e Cloudflare já fazem por você | Alto |
Fluxo completo do encontro
- Criar o site no Replit - projeto HTML/CSS/JS e colar o prompt do cartão de visitas
- Pedir pra IA criar a integração com GitHub Pages - “Crie a integração com GitHub Pages no meu projeto”
- Criar conta no GitHub (se não tiver) - github.com → Sign up
- Enviar o código pelo Replit - Tools → Git → Initialize repository → Connect to GitHub → Commit → Push
- Ativar GitHub Pages - Settings → Pages → Source: GitHub Actions
- Publicar na Vercel (opcional, mas recomendado) - Add New… → Project → Import Git Repository → Deploy
- Publicar no Cloudflare Pages (opcional) - Workers & Pages → Create → Pages → Connect to Git → Save and Deploy
- Testar performance - pagespeed.web.dev → Analyze
- Melhorar se necessário - se a nota for abaixo de 70, compresse imagens e peça: “Otimize o site pra performance”
Se a nota ficar acima de 90, seu site está mais rápido que 90% dos sites da internet. Isso é excelente.
Prompts pra auxiliar
Ver os 4 prompts prontos para copiar
Criar o cartão de visitas:
"Crie um cartão de visitas digital para [SEU NOME], [SEU CARGO].
Hierarquia:
1. Titulo: '[SEU NOME]' - maior elemento, fonte bold, cor [COR]
2. Subtitulo: '[DESCRICAO CURTA]' - menor que o titulo
3. Foto: perfil centralizado, borda arredondada
4. Contato: WhatsApp, E-mail, Instagram - icones e links
5. Botao: 'Fale comigo' - link para WhatsApp
6. Rodape: (c) 2026 [SEU NOME]
Estilo: [ESTILO]
Cores: [CORES]
Responsivo: mobile first
Performance: imagens otimizadas, codigo minimo"Otimizar para performance:
"Otimize este site pra performance:
- Comprima todas as imagens
- Minimize o CSS (remova espacos e comentarios)
- Remova scripts desnecessarios
- O site deve carregar em menos de 2 segundos
- Mantenha o design atual - so otimize o peso"Adicionar responsividade:
"Torne este site 100% responsivo:
- No celular: tudo em coluna, botoes grandes (minimo 44px de altura)
- No tablet: layout adaptado
- No desktop: layout centralizado com largura maxima
- Imagens que se adaptam ao tamanho da tela"Ajustar links do WhatsApp:
"Ajuste o link do WhatsApp para usar o formato correto:
https://wa.me/55NUMERO (sem tracos, sem parenteses, com o codigo do pais 55)"Problemas comuns
| Problema | Causa | Solução |
|---|---|---|
| Site não aparece no GitHub Pages | Pages ainda não ativou ou workflow não rodou | Aguarde alguns minutos; verifique Settings → Pages e em Actions |
| Imagem não carrega | Caminho incorreto ou arquivo não enviado no push | Verifique se a imagem está na pasta certa e se o push foi feito |
| WhatsApp não abre | Link no formato errado | Use https://wa.me/5511999999999 (55 é o Brasil, sem traços) |
| Funciona no Replit, não no GitHub | Push não foi feito ou arquivos faltando | Faça commit + push no painel Git do Replit e confira os arquivos no repositório |
| PageSpeed com nota baixa | Imagens muito grandes | Comprima com TinyPNG.com e faça commit + push |
| Site ruim no celular | CSS não é responsivo | Peça: “torne o site responsivo para mobile” |
| Deploy na Vercel falhou | Não escolheu o repositório certo no Import Git Repository | Verifique se selecionou o repositório correto (o que tem o site) |
| Endereço do Pages estranho | Nome do repositório diferente do esperado | O endereço é usuario.github.io/nome-do-repositorio/ |
| Site caiu no Replit | Plano gratuito expira em 30 dias | Migre para GitHub/Vercel/Cloudflare (permanente) - o código já está lá |
| Push pelo Replit não conecta ao GitHub | Autorização não concluída | No painel Git, clique em Connect to GitHub e autorize o acesso |
| Push bloqueado ao preparar o projeto no Replit | O Replit não está autenticado no GitHub | No Shell do Replit: gh auth login → GitHub.com → HTTPS → Login via navegador; depois git push origin main |
| GitHub pede senha a cada envio | Autenticação não configurada | Use GitHub Desktop (interface visual) ou chave SSH |
Regra de ouro: se algo não funciona, primeiro veja se todos os arquivos foram enviados. 90% dos problemas são arquivos faltando ou caminhos errados. Depois verifique se todas as configurações estão corretas.
Checklist de publicação
✅ Demo: checklist interativa
Links de apoio
| Recurso | O que é | Link |
|---|---|---|
| GitHub | Plataforma de hospedagem de código | github.com |
| GitHub Pages | Hospedagem gratuita de sites estáticos | pages.github.com |
| Vercel | Deploy com CDN global | vercel.com |
| Cloudflare Pages | Hospedagem gratuita sem restrição comercial | pages.cloudflare.com |
| PageSpeed Insights | Teste de velocidade do Google | pagespeed.web.dev |
| TinyPNG | Compressão de imagens | tinypng.com |
| Squoosh | Compressão de imagens do Google | squoosh.app |
| GitHub Desktop | Interface visual para o Git | desktop.github.com |
| MDN Web Docs | Referência de HTML, CSS e JavaScript | developer.mozilla.org |
| Google (Think with Google) | Pesquisa “brainfood Mobile Performance” - 53% abandonam site que demora mais de 3 segundos | PDF do estudo |