Mundos
Mundo Criação de Sites

Como criar um site em HTML puro do zero, passo a passo

Resposta rápida

Você cria um site em HTML puro escrevendo um arquivo index.html com a estrutura da página, um arquivo CSS para a aparência e, se precisar, um pouco de JavaScript. Depois guarda o código no GitHub e publica com a Cloudflare. Não precisa de WordPress, plugin nem banco de dados. Este passo a passo vai do arquivo vazio ao endereço no ar, e faz parte do guia criar sites sem WordPress.

Rápido: escreva o index.html com doctype, head e body, crie o style.css, teste no navegador, envie ao GitHub e conecte o repositório à Cloudflare.

Ler artigo completo Quero meu site grátis
Neste artigo
  1. O que você precisa antes de começar
  2. Passo a passo: do arquivo vazio ao site no ar
  3. A estrutura básica de um documento HTML5
  4. Como organizar as pastas do site
  5. Como dar estilo com CSS pensando no celular primeiro
  6. Um pouco de JavaScript, só quando precisa
  7. Como publicar no GitHub e na Cloudflare
  8. Erros comuns de quem está começando
  9. Quando o HTML puro não é o melhor caminho
  10. Não quer fazer sozinho?
  11. Em outros Mundos

O que você precisa antes de começar

Você precisa de três coisas: um editor de texto, um navegador e, na hora de publicar, uma conta no GitHub e outra na Cloudflare. As duas contas têm plano grátis. O domínio próprio, se você quiser um, é pago à parte.

Ferramenta Para que serve Custa?
Editor de código Escrever HTML, CSS e JavaScript Há opções grátis
Navegador Ver e testar a página Grátis
Git e GitHub Guardar o código com histórico de versões Plano grátis
Cloudflare Pages Publicar o site na internet Plano grátis com limites
Domínio O endereço do seu negócio Pago no registro

Repositório é a pasta do projeto guardada no GitHub. Segundo a documentação do GitHub, o Git é um sistema de controle de versão que rastreia as mudanças nos arquivos. Cada registro dessas mudanças se chama commit.

Passo a passo: do arquivo vazio ao site no ar

  1. Crie uma pasta chamada meu-site no computador.
  2. Dentro dela, crie o arquivo index.html com a estrutura básica (veja a próxima seção).
  3. Crie a pasta css com o arquivo style.css e ligue esse arquivo no head.
  4. Abra o index.html no navegador e ajuste até ficar como você quer.
  5. Teste em largura de celular com as ferramentas do desenvolvedor do navegador.
  6. Envie a pasta para um repositório novo no GitHub.
  7. Conecte o repositório ao Cloudflare Pages e publique.

Cada etapa leva poucos minutos quando o conteúdo está pronto. O que mais demora é escrever os textos e escolher as fotos, não o código.

A estrutura básica de um documento HTML5

Toda página HTML segue o mesmo esqueleto. A MDN explica cada parte: o doctype no topo, o elemento html que envolve tudo, o head com informações que o visitante não vê e o body com o conteúdo visível.

<!doctype html>
<html lang="pt-BR">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Padaria Exemplo | Pães artesanais</title>
    <meta name="description" content="Pães artesanais feitos todo dia.">
    <link rel="stylesheet" href="css/style.css">
  </head>
  <body>
    <header>
      <nav>
        <a href="index.html">Início</a>
        <a href="sobre.html">Sobre</a>
        <a href="contato.html">Contato</a>
      </nav>
    </header>
    <main>
      <h1>Pães artesanais no seu bairro</h1>
      <p>Fornada nova toda manhã.</p>
    </main>
    <footer>
      <p>Padaria Exemplo</p>
    </footer>
    <script src="js/main.js" defer></script>
  </body>
</html>

O meta charset com utf-8 faz acento e cedilha aparecerem certos. Segundo a MDN, não existe motivo para deixar de declarar a codificação. O lang com pt-BR avisa leitores de tela e buscadores que o texto está em português.

A meta viewport é obrigatória. A MDN explica que, sem ela, navegadores de celular desenham a página numa largura virtual de cerca de 980 pixels e encolhem tudo. Aí o texto fica minúsculo e as suas regras para tela pequena nem chegam a valer.

As tags header, nav, main e footer dão sentido às partes da página. Elas ajudam o leitor de tela a pular direto para o conteúdo e deixam o código mais fácil de manter.

Como organizar as pastas do site

Uma estrutura simples evita caminho quebrado e facilita a publicação. A Cloudflare procura o index.html na raiz da pasta publicada, então ele fica no topo.

meu-site/
  index.html
  sobre.html
  contato.html
  css/
    style.css
  js/
    main.js
  img/
    fachada.webp
Pasta ou arquivo O que guarda
index.html A página inicial
sobre.html, contato.html As outras páginas, uma por arquivo
css/ As folhas de estilo
js/ Os scripts, quando houver
img/ Fotos e ícones, já otimizados

Use nomes curtos, em minúsculas, sem acento e sem espaço. Um arquivo chamado "Foto Fachada.JPG" funciona no seu computador e pode falhar no servidor.

Como dar estilo com CSS pensando no celular primeiro

O CSS define cores, fontes, espaços e colunas. A MDN recomenda começar com uma coluna para telas estreitas e só abrir mais colunas quando houver espaço. Essa abordagem se chama mobile first.

* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, sans-serif; line-height: 1.6; color: #1f2937; }
main { max-width: 70ch; margin: 0 auto; padding: 1rem; }
img { max-width: 100%; height: auto; }
nav a { display: inline-block; padding: 0.75rem; }

@media (width >= 48rem) {
  .servicos { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.5rem; }
}

A regra de imagem com max-width 100% impede que a foto passe da largura da tela. A media query só aplica as três colunas quando a janela tem largura suficiente. Para ir além, leia o guia de site responsivo e acessível.

Um pouco de JavaScript, só quando precisa

Um site institucional funciona sem JavaScript. Ele entra quando a página precisa reagir ao visitante, como abrir o menu em tela pequena.

const botao = document.querySelector(".menu-botao");
const menu = document.querySelector("nav");
botao.addEventListener("click", () => {
  const aberto = menu.classList.toggle("aberto");
  botao.setAttribute("aria-expanded", aberto);
});

O atributo defer na tag script faz o navegador carregar o arquivo sem travar a leitura da página. O aria-expanded avisa ao leitor de tela se o menu está aberto ou fechado.

Como publicar no GitHub e na Cloudflare

Publicar é o passo que mais assusta quem começa, e é o mais curto. A documentação da Cloudflare descreve o caminho para um site sem framework.

  1. Crie um repositório vazio no GitHub.
  2. Na pasta do site, rode git init, git add, git commit e git push para enviar os arquivos.
  3. No painel da Cloudflare, abra Workers & Pages e escolha criar uma aplicação.
  4. Na aba Pages, importe o repositório do GitHub.
  5. Em comando de build, use exit 0, porque não há nada para compilar.
  6. Em pasta de saída, informe a pasta onde está o index.html.
  7. Publique. O site ganha um endereço com final pages.dev.

Depois disso, cada novo envio ao repositório gera uma nova publicação. A página de limites do Pages informa 500 builds por mês, até 20.000 arquivos por site e arquivos de até 25 MiB no plano grátis. A mesma documentação da Cloudflare recomenda começar projetos novos pelo Workers, que também serve arquivos estáticos. Os detalhes estão em Cloudflare Pages e em como usar o GitHub para criar sites.

O GitHub Pages é outra opção para publicar. A documentação do GitHub, porém, diz que ele não serve como hospedagem grátis para tocar um negócio online. Para site de empresa, use a Cloudflare ou uma hospedagem paga.

Erros comuns de quem está começando

Erro O que acontece Como corrigir
Salvar como .txt O navegador mostra o código como texto Confira a extensão .html
Esquecer a meta viewport A página aparece encolhida no celular Inclua a tag no head
Caminho de imagem errado A foto não aparece Confira pasta, nome e maiúsculas
Tag sem fechamento O layout sai torto Feche cada tag que abriu
Imagem enorme A página demora a carregar Reduza e converta para WebP
Falta de index.html na raiz Erro 404 depois de publicar Mova o arquivo para a raiz

Antes de publicar, abra cada página no celular de verdade, clique em todos os links e leia os textos em voz alta. Erro de digitação no telefone de contato custa cliente.

Quando o HTML puro não é o melhor caminho

HTML puro serve bem para site institucional, página de serviço, cardápio, portfólio e landing page. Ele fica rápido, tem pouca coisa para atacar e não depende de plugin. O código é seu e muda de lugar quando você quiser.

O cenário muda quando o site precisa de área de login, carrinho de compras ou centenas de páginas que outra pessoa vai editar todo dia. Aí um sistema com painel, como o WordPress bem cuidado, ou uma loja virtual pronta, pode fazer mais sentido. Repetir menu e rodapé em dezenas de arquivos também cansa: nesse ponto, um gerador de site estático resolve.

O pilar criar sites sem WordPress compara os caminhos. Se a dúvida é sobre o que vem antes do código, a resposta sobre o que é preciso para criar um site lista domínio, conteúdo e hospedagem. O índice completo do tema está na resposta do Mundo Criação de Sites, e o panorama do portal começa pela resposta.

Não quer fazer sozinho?

A gente cria o seu site em HTML puro sem cobrar pela criação. A condição é contratar uma hospedagem de sites da HostGator em ciclo anual pelo link do MundoBlá e depois chamar no WhatsApp. O MundoBlá recebe uma comissão da HostGator quando você contrata pelo link, sem custo extra para você.

Hospedagem e domínio você paga direto à HostGator. O escopo do site é combinado no WhatsApp antes de começar, e o código fica guardado no GitHub.

Em outros Mundos

Se você quer ir além do HTML e aprender a programar, o Mundo Programação reúne guias de linguagens e lógica para iniciantes.

Perguntas frequentes

O que é HTML?

HTML é a linguagem de marcação que descreve a estrutura de uma página: títulos, parágrafos, imagens, links e listas. O navegador lê essas marcações e monta o conteúdo na tela. A aparência fica com o CSS e o comportamento interativo com o JavaScript, cada um no seu arquivo.

Preciso pagar algum programa para criar um site em HTML?

Não. Um editor de texto e um navegador bastam para escrever e testar a página. Editores de código gratuitos ajudam porque colorem as tags e apontam erros de digitação. O que pode ter custo depois é o domínio e, se você escolher, uma hospedagem paga.

Por que o arquivo principal se chama index.html?

Porque servidores e plataformas abrem o index.html quando alguém acessa a raiz do site ou de uma pasta. A documentação da Cloudflare avisa que um erro 404 na publicação costuma vir da falta desse arquivo na raiz. Use letras minúsculas e evite espaços nos nomes de arquivo.

O que o doctype faz no começo da página?

O doctype avisa o navegador que o documento segue o padrão atual de HTML. Segundo a MDN, ele é um resquício histórico, mas precisa estar no topo para o resto funcionar direito. A forma curta, com a palavra html depois do doctype, é a recomendada hoje.

Para que serve o meta charset utf-8?

Ele informa ao navegador a codificação de caracteres da página. Com utf-8, acentos, cedilha e til aparecem certos. A MDN lembra que não existe motivo para deixar de declarar a codificação, porque isso evita letras estranhas no texto em português e em outros idiomas.

O que é a meta viewport e por que ela é obrigatória?

A meta viewport diz ao celular para usar a largura real da tela. Sem ela, a MDN explica que navegadores móveis desenham a página numa largura virtual de cerca de 980 pixels e encolhem tudo. A recomendação é sempre incluir a tag no head.

Preciso saber CSS para ter um site apresentável?

Para publicar, não. Para o site parecer profissional, sim, pelo menos o básico: cores, fontes, espaçamento e colunas. Com poucas regras de CSS você já organiza a página. O resto você aprende conforme surge a necessidade, sem precisar dominar a linguagem antes de começar.

Quando preciso de JavaScript em um site HTML?

Quando a página precisa reagir ao visitante: abrir um menu no celular, validar um campo ou carregar dados de um arquivo. Um site institucional funciona sem nenhuma linha de JavaScript. Comece sem ele e acrescente só o trecho que resolve um problema real da página.

Como organizo as pastas de um site em HTML?

Deixe o index.html na raiz, cada página em um arquivo próprio e separe css, js e img em pastas. Essa ordem facilita achar os arquivos e evita caminho quebrado. Os nomes devem ser curtos, em minúsculas e sem acento, para funcionar em qualquer servidor.

Posso ter mais de uma página em um site HTML?

Pode. Cada página é um arquivo .html com o próprio head e body. Você liga uma à outra com a tag a e o caminho no atributo href. O cuidado é repetir o menu e o rodapé em cada arquivo, ou usar um gerador de site estático para isso.

O que é o GitHub e por que guardar o site lá?

O GitHub hospeda repositórios Git, que guardam o código com o histórico de cada mudança. Segundo a documentação do GitHub, o Git é um sistema de controle de versão que rastreia alterações em arquivos. Se algo quebrar, você volta a uma versão anterior sem perder trabalho.

Como publico o site HTML na Cloudflare?

Envie o código para um repositório no GitHub e conecte esse repositório ao Pages, no painel da Cloudflare. Para HTML puro, a documentação manda usar exit 0 como comando de build e apontar a pasta dos arquivos. Cada novo envio ao repositório gera uma nova publicação.

Publicar na Cloudflare tem limite no plano grátis?

Tem. A página de limites do Pages informa 500 builds por mês e até 20.000 arquivos por site no plano grátis, com arquivo de até 25 MiB. Para um site institucional isso costuma sobrar. Confira a documentação antes, porque os limites podem mudar.

Posso usar o GitHub Pages em vez da Cloudflare?

Pode, para projetos pessoais e de documentação. O GitHub Pages publica HTML, CSS e JavaScript direto de um repositório. A documentação do GitHub diz que ele não serve como hospedagem grátis para tocar um negócio online, então para empresa a Cloudflare ou uma hospedagem paga encaixam melhor.

Como vejo a página enquanto escrevo o código?

Abra o index.html no navegador e recarregue a aba a cada vez que salvar. Se a mudança não aparecer, force o recarregamento com Ctrl e F5. Deixe o editor de um lado da tela e o navegador do outro para acompanhar cada alteração.

HTML é uma linguagem de programação?

Não. HTML é uma linguagem de marcação: descreve o que é cada parte do conteúdo, sem decisões nem repetições. A lógica fica com o JavaScript. Isso não diminui o HTML, que é a base de toda página da web e o primeiro passo de quem cria sites.

Vale criar o site sozinho ou pedir para alguém?

Depende do seu tempo e do que o site precisa fazer. Uma página simples sai em uma tarde com este passo a passo. Se o negócio precisa de mais páginas, formulário e domínio configurado, pedir ajuda poupa retrabalho, e o MundoBlá cria o site sem cobrar pela criação.

Fontes e data de verificação

MDN Web Docs, sintaxe básica de HTML, MDN Web Docs, meta viewport, MDN Web Docs, design responsivo, GitHub Docs, sobre o GitHub e o Git, GitHub Docs, GitHub Pages, Cloudflare Docs, publicar site estático, Cloudflare Docs, limites do Pages, Cloudflare Docs, Pages. Conferido em 5 de novembro de 2026.

Referências

  • MDN Web Docs, sintaxe básica de HTML. Disponível em: https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content/Basic_HTML_syntax.
  • MDN Web Docs, meta viewport. Disponível em: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/name/viewport.
  • MDN Web Docs, design responsivo. Disponível em: https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/CSS_layout/Responsive_Design.
  • GitHub Docs, sobre o GitHub e o Git. Disponível em: https://docs.github.com/en/get-started/start-your-journey/about-github-and-git.
  • GitHub Docs, o que é o GitHub Pages. Disponível em: https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages.
  • Cloudflare Docs, publicar site estático no Pages. Disponível em: https://developers.cloudflare.com/pages/framework-guides/deploy-anything/.
  • Cloudflare Docs, limites do Pages. Disponível em: https://developers.cloudflare.com/pages/platform/limits/.
  • Cloudflare Docs, visão geral do Pages. Disponível em: https://developers.cloudflare.com/pages/.

Fontes conferidas em 05 de novembro de 2026.

Carregando avaliações… — visitas
Escrito por

Redação MundoBlá

Equipe editorial

Equipe que pesquisa, escreve e revisa os guias do MundoBlá. Todo conteúdo cita fontes oficiais e mostra a data da última conferência. Perfis de especialistas reais entram aqui só quando houver pessoa verificada.

Quero meu site grátis