Pular para o conteúdo
Programação

Como hospedar um site grátis no GitHub Pages: guia passo a passo

Sim, dá para hospedar um site grátis no GitHub Pages, desde que ele seja estático — feito principalmente com HTML, CSS e JavaScript. O serviço publica os arquivos de um repositório e entrega uma URL pública, sem exigir um servidor tradicional para começar.

O caminho mais simples é criar um repositório, colocar um arquivo index.html, ativar o Pages nas configurações e escolher a branch que será publicada. Neste guia, mostro o processo completo, explico quando usar um site de usuário ou de projeto e também os limites que tornam o GitHub Pages inadequado para alguns tipos de aplicação.

Fluxo de publicação de um site no GitHub Pages
O fluxo básico: arquivos no repositório, uma fonte de publicação e a página acessível pela internet.

O que é o GitHub Pages?

O GitHub Pages é um serviço de hospedagem para sites estáticos. Em termos simples, ele pega arquivos como index.html, folhas de estilo e scripts JavaScript armazenados em um repositório e os publica na web. A documentação do GitHub também prevê um processo de build, caso você use um gerador de site ou um fluxo com GitHub Actions.

A diferença para uma hospedagem com PHP, Node.js ou banco de dados é importante: o Pages não executa uma aplicação de servidor dentro da página publicada. Ele é ótimo para portfólio, documentação, landing page, currículo, página de projeto e blog gerado estaticamente. Já um sistema de login, painel administrativo ou checkout precisa de serviços externos ou de outra hospedagem.

GitHub Pages é realmente gratuito?

O recurso está disponível em repositórios públicos com o GitHub Free. A documentação informa que repositórios privados podem usar Pages nos planos pagos compatíveis, como Pro, Team e Enterprise. Portanto, “grátis” normalmente significa manter o código público no plano gratuito — algo que você precisa aceitar antes de publicar.

O site publicado fica acessível pela internet mesmo quando o repositório é privado, se o plano permitir esse cenário. Por isso, não coloque senhas, chaves de API, dados de clientes ou arquivos confidenciais no repositório. Tornar o código privado não transforma automaticamente o conteúdo publicado em secreto.

Qual tipo de site você pode criar?

Existem dois formatos principais:

  • Site de usuário ou organização: usa um repositório com o nome seu-usuario.github.io e costuma gerar o endereço https://seu-usuario.github.io.
  • Site de projeto: fica ligado a outro repositório e normalmente usa um endereço como https://seu-usuario.github.io/nome-do-projeto/.

Para o primeiro site pessoal, o repositório seu-usuario.github.io é o caminho mais direto. Para documentar uma biblioteca, publicar uma página de evento ou criar uma demonstração de código, o site de projeto costuma fazer mais sentido.

Como hospedar um site no GitHub Pages

1. Crie o repositório

Entre no GitHub, clique em New repository e escolha um nome. Para um site pessoal, use exatamente seu-usuario.github.io, substituindo “seu-usuario” pelo seu nome de usuário ou da organização. Se a ideia for um site de projeto, escolha um nome comum, como meu-portfolio.

Se você está começando do zero, pode criar o repositório com um README. O ponto essencial é ter permissão para administrar o repositório e saber em qual branch os arquivos serão publicados.

2. Adicione o arquivo index.html

Crie um arquivo chamado index.html na pasta que será usada como fonte. Este exemplo já produz uma página funcional:

<!doctype html>
<html lang="pt-BR">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Meu site</title>
</head>
<body>
  <h1>Olá, GitHub Pages</h1>
  <p>Este é meu primeiro site publicado.</p>
</body>
</html>

Você pode criar o arquivo pela interface do GitHub ou enviar um projeto existente com Git. Para trabalhar com uma API ou outro projeto de programação antes de publicá-lo, veja também o guia do JSMS sobre como criar uma API REST com Node.js e Express. A API não roda no GitHub Pages, mas pode ser hospedada separadamente enquanto a interface fica no Pages.

3. Faça o commit dos arquivos

Na interface web, abra o repositório, clique em Add file e depois em Upload files ou Create new file. Adicione o index.html, escreva uma mensagem de commit e confirme a alteração.

Se preferir o terminal, a sequência básica é:

git clone https://github.com/seu-usuario/nome-do-repositorio.git
cd nome-do-repositorio
# copie seus arquivos para esta pasta
git add .
git commit -m "Publica o site"
git push origin main

O nome da branch pode ser main, master ou outro. O importante é selecionar a branch correta no próximo passo.

4. Ative o Pages e escolha a fonte

No repositório, abra Settings e procure Pages na área de código e automação. Em Build and deployment, escolha como o site será publicado:

  • Deploy from a branch: publica uma branch e uma pasta, geralmente /(root) ou /docs. É a opção mais simples para HTML, CSS e JavaScript prontos.
  • GitHub Actions: usa um workflow para instalar dependências, gerar o site e publicar o resultado. É a alternativa mais adequada quando existe uma etapa de build.

Para este tutorial, selecione Deploy from a branch, escolha main e a pasta /(root). Clique em Save. O GitHub iniciará a publicação automaticamente quando detectar a alteração. Se o projeto exigir uma etapa de compilação, consulte a documentação sobre fontes de publicação e considere um workflow do GitHub Actions.

5. Abra e teste o endereço

Depois do deploy, volte à área Settings > Pages. O GitHub mostrará o endereço do site quando a publicação terminar. Também é possível acessar o formato correspondente ao projeto: seu-usuario.github.io para o site pessoal ou seu-usuario.github.io/repositorio para um site de projeto.

Faça um teste simples: abra a página em uma janela anônima, confira se o CSS carregou e abra o console do navegador para verificar erros de JavaScript. Se o conteúdo aparecer sem estilo, procure caminhos absolutos como /style.css; em um site de projeto, o arquivo pode precisar de um caminho relativo, como ./style.css.

Como usar um domínio próprio

O GitHub Pages permite trocar o endereço github.io por um domínio que você possui. Na área de Pages, informe o domínio personalizado e siga a documentação de domínio próprio do GitHub para configurar no registrador os registros DNS indicados pelo GitHub. Para um domínio como www.exemplo.com, normalmente você usará um registro CNAME apontando para o endereço Pages indicado na documentação.

Também é possível usar um arquivo CNAME no repositório. Depois que o DNS propagar, ative Enforce HTTPS quando a opção estiver disponível. A propagação pode levar algum tempo e um erro de DNS não é corrigido dentro do código HTML.

Limites e problemas comuns

O GitHub Pages é prático, mas não deve ser tratado como um servidor ilimitado. A documentação atual recomenda que o repositório de origem tenha até 1 GB, limita o site publicado a 1 GB, informa um limite de tempo de 10 minutos para deploys e cita limites suaves de 100 GB de banda por mês e 10 builds por hora. Um workflow personalizado do GitHub Actions não fica sujeito ao limite suave de 10 builds por hora mencionado para o processo padrão.

  • Página 404: confirme o nome do repositório, a branch, a pasta de publicação e a presença de index.html.
  • CSS ou imagens quebradas: revise caminhos relativos e lembre que sites de projeto vivem dentro de uma subpasta.
  • Alteração não apareceu: espere o deploy terminar, confira a aba Actions e faça uma atualização forçada no navegador.
  • Site dinâmico: mova o backend, banco e autenticação para um serviço próprio; o Pages pode continuar servindo apenas a interface.
  • Dados sensíveis: remova segredos do repositório e use variáveis de ambiente no serviço que executa o backend. Não tente esconder uma chave dentro do JavaScript enviado ao navegador.

Vale a pena usar o GitHub Pages?

Para uma página estática, sim. Ele combina versionamento, histórico de alterações e publicação automática em um fluxo que um estudante consegue aprender em uma tarde. Também é uma boa vitrine para portfólios e projetos porque o código fica ligado ao repositório.

O limite aparece quando a necessidade deixa de ser “entregar arquivos ao navegador” e passa a ser “executar regras no servidor”. Nesse momento, usar o Pages sozinho vira gambiarra: você precisará de um backend, de um serviço de autenticação, de um banco ou de uma plataforma especializada. Comece com o Pages quando a página for estática e migre apenas a parte dinâmica quando ela realmente existir.

Perguntas frequentes

Preciso saber Git para usar o GitHub Pages?

Não obrigatoriamente. É possível criar e editar arquivos pela interface do GitHub, mas aprender o básico de commit, branch e push facilita a manutenção do site.

Posso publicar um site feito com React?

Sim, desde que o projeto seja compilado para arquivos estáticos e o resultado seja enviado ao Pages. Nesse caso, GitHub Actions costuma ser mais conveniente do que publicar diretamente a pasta de desenvolvimento.

O GitHub Pages aceita PHP ou banco de dados?

Não como parte da hospedagem do Pages. Ele publica arquivos estáticos; o código de servidor e o banco precisam ficar em outra infraestrutura.

O site fica privado se o repositório for privado?

Não necessariamente. Quando o plano permite publicar a partir de um repositório privado, o site pode continuar público. Nunca use o repositório como cofre para informações que não deveriam chegar ao navegador.