UC02649 · Publicar um website na internet
Introdução
Construir um website é apenas metade do trabalho; a outra metade é colocá-lo no ar de forma rápida, segura e encontrável. Esta UC (25h) ensina o processo completo de publicação: escolher hosting e domínio, configurar DNS, fazer deploy (com foco em sites estáticos e deploy contínuo), garantir HTTPS e segurança, optimizar performance e SEO técnico, e manter o site ao longo do tempo.
O resultado esperado é a capacidade de levar um site da máquina local para a internet, com domínio próprio, HTTPS e boas práticas — uma competência profissional essencial.
1. Hosting e domínios
1.1 Como um site é servido
Utilizador escreve o domínio → DNS traduz para um IP →
o pedido chega ao servidor (hosting) → o servidor entrega os ficheiros → browser mostra
Publicar é, no essencial, colocar os ficheiros num servidor acessível e ligar-lhe um domínio.
1.2 Tipos de hosting
| Tipo | Como funciona | Vantagens | Limitações |
|---|---|---|---|
| Shared | Recursos partilhados com outros sites | Barato, simples | Desempenho limitado |
| VPS | Servidor virtual dedicado | Controlo, recursos garantidos | Requer administração |
| Cloud | Infra escalável (AWS, GCP, Azure) | Escala, fiabilidade | Complexidade, custo variável |
| Dedicado | Servidor físico só seu | Máximo controlo | Caro |
| Static / Jamstack | Netlify, Vercel, Pages | Rápido, barato/grátis, seguro | Só conteúdo estático/SSG |
Para sites estáticos modernos, o hosting estático/Jamstack é normalmente a melhor escolha: gratuito ou barato, com CDN e HTTPS incluídos.
1.3 Domínios
Um domínio é o nome legível (ex: aulify.pt):
- Registado num registrar (Namecheap, GoDaddy, registo.pt para .pt).
- Pago anualmente.
- O TLD (.pt, .com, .org) influencia percepção e SEO local.
- Aponta para o servidor via DNS.
1.4 DNS
O DNS (Domain Name System) é a "lista telefónica" da internet: traduz domínios em endereços IP.
| Registo | Função |
|---|---|
| A | Domínio → IPv4 |
| AAAA | Domínio → IPv6 |
| CNAME | Domínio → outro domínio (ex: www → apex) |
| MX | Servidores de email |
| TXT | Verificações (SPF, DKIM, validações) |
| NS | Servidores de nomes do domínio |
A propagação de alterações pode demorar de minutos a 48 h (TTL). Plataformas estáticas costumam indicar exactamente que registos criar.
2. Deploy de sites estáticos
2.1 O que é um site estático
Um site estático é um conjunto de ficheiros prontos (HTML, CSS, JS, imagens) servidos directamente, sem servidor a gerar páginas a cada pedido. Inclui sites criados à mão e os gerados por SSG (geradores estáticos: Astro, Eleventy, Hugo, Next.js export).
Vantagens: velocidade, custo baixo, segurança (sem servidor dinâmico a atacar) e escalabilidade trivial via CDN.
2.2 Plataformas de hosting estático
| Plataforma | Pontos fortes |
|---|---|
| Netlify | Deploy por Git, forms, functions, previews |
| Vercel | Optimizado para frameworks (Next.js), edge |
| GitHub Pages | Gratuito, ligado ao repositório |
| Cloudflare Pages | CDN global, generoso no plano grátis |
Todas oferecem HTTPS gratuito, CDN e domínios personalizados.
2.3 Deploy contínuo (CI/CD)
O fluxo moderno liga o repositório Git à plataforma:
git push → a plataforma faz build → publica o resultado → site no ar
Benefícios: - Automatização: cada commit pode publicar. - Previews por branch/PR (testar antes de ir para produção). - Rollback imediato para um deploy anterior. - Histórico de versões.
2.4 Passos típicos
- Colocar o código num repositório (GitHub/GitLab).
- Na plataforma: Import do repositório.
- Definir build command (ex:
npm run build) e output directory (ex:dist). Para sites HTML puro, sem build. - Deploy automático; obtém-se um URL
*.netlify.app/*.vercel.app. - Adicionar domínio personalizado e configurar DNS conforme indicado.
- HTTPS activado automaticamente.
3. FTP/SFTP e cPanel
3.1 Upload tradicional
Em hosting clássico (shared), o site sobe por transferência de ficheiros:
| Protocolo | Segurança |
|---|---|
| FTP | Sem encriptação (evitar) |
| FTPS | FTP com TLS |
| SFTP | FTP sobre SSH (encriptado) — preferir |
Clientes: FileZilla, Cyberduck. Os ficheiros do site colocam-se na pasta pública (public_html ou www).
3.2 cPanel
O cPanel é um painel web de gestão de alojamento partilhado, com: - File Manager (gestão de ficheiros). - MySQL Databases e phpMyAdmin. - Email accounts. - Subdomínios e gestão de domínios. - SSL/TLS (instalar/gerir certificados). - Backups.
3.3 Bases de dados
Sites dinâmicos (ex: WordPress) precisam de base de dados: 1. Criar BD e utilizador com permissões. 2. Configurar a aplicação com host, nome da BD, utilizador e password. 3. Gerir tabelas via phpMyAdmin. 4. Backup regular da BD (export SQL).
4. HTTPS e segurança
4.1 Porquê HTTPS
O HTTPS encripta a comunicação entre browser e servidor: - Protege dados sensíveis (logins, formulários, pagamentos). - Garante integridade (ninguém altera o conteúdo em trânsito). - É requisito de SEO e de confiança (cadeado no browser).
Hoje o HTTP simples é marcado como "não seguro"; HTTPS é obrigatório.
4.2 Certificados SSL/TLS
O HTTPS assenta num certificado: - Let's Encrypt: autoridade gratuita e automática, standard atual. - Plataformas estáticas (Netlify/Vercel/Pages) emitem e renovam sozinhas. - Em cPanel, há AutoSSL (Let's Encrypt) com poucos cliques.
4.3 Forçar HTTPS
- Redireccionar todo o HTTP → HTTPS (301).
- Activar HSTS (
Strict-Transport-Security) para o browser usar sempre HTTPS. - Eliminar mixed content: todos os recursos (imagens, scripts) também por HTTPS.
4.4 Headers de segurança
| Header | Protege contra |
|---|---|
Content-Security-Policy |
XSS e injecção de scripts |
X-Frame-Options / frame-ancestors |
Clickjacking |
Strict-Transport-Security |
Downgrade para HTTP |
X-Content-Type-Options: nosniff |
MIME sniffing |
Referrer-Policy |
Fuga de informação no referrer |
Configuram-se no servidor ou num ficheiro de cabeçalhos da plataforma (ex: _headers no Netlify). Verificar com securityheaders.com.
5. Performance e SEO técnico
5.1 CDN e cache
- CDN (Content Delivery Network): replica o site por servidores em todo o mundo, servindo cada utilizador do nó mais próximo → menor latência.
- Cache: o browser e a CDN guardam recursos, evitando re-download. Controla-se com
Cache-Controle versionamento de ficheiros (hash no nome).
A velocidade afecta tanto a experiência como o ranking (Core Web Vitals).
5.2 Optimização de performance
| Técnica | Efeito |
|---|---|
| Compressão (Gzip/Brotli) | Menos bytes de texto |
| Imagens em WebP/AVIF + dimensão certa | Páginas mais leves |
| Lazy loading de imagens | Carregar só o necessário |
| Minificar CSS/JS | Ficheiros menores |
| Reduzir/adiar JS | Render mais rápido |
| Preload de recursos críticos | Primeiro conteúdo mais cedo |
Medir com Lighthouse / PageSpeed Insights e olhar os Core Web Vitals (LCP, CLS, INP).
5.3 SEO técnico
Ajudar os motores de busca a rastrear e perceber o site:
- Meta tags:
<title>e<meta name="description">únicos por página. - sitemap.xml: lista as URLs do site (submeter no Google Search Console).
- robots.txt: regras de rastreamento e localização do sitemap.
- URLs limpas, estrutura de cabeçalhos (
h1-h2), conteúdo semântico. - Dados estruturados (schema.org) para rich results.
- Canonical para evitar conteúdo duplicado.
5.4 Meta tags e Open Graph
<title>Aulify · Formação digital</title>
<meta name="description" content="Plataforma de formação profissional digital.">
<link rel="canonical" href="https://aulify.pt/">
<!-- Open Graph (redes sociais) -->
<meta property="og:title" content="Aulify">
<meta property="og:description" content="Formação digital profissional.">
<meta property="og:image" content="https://aulify.pt/og.jpg">
<meta name="twitter:card" content="summary_large_image">
O Open Graph define como o link aparece quando partilhado.
6. Manutenção
6.1 Backups
- Automáticos e regulares (ficheiros + base de dados).
- Guardar offsite (fora do servidor).
- Testar o restauro periodicamente — um backup nunca testado pode falhar.
- O Git funciona como backup do código (mas não dos dados/uploads).
6.2 Monitorização de uptime
- Serviços como UptimeRobot ou Pingdom verificam o site periodicamente.
- Alertas por email/SMS quando cai.
- Métrica de disponibilidade (uptime %).
6.3 Analytics
- Medir visitas, origem do tráfego, páginas mais vistas, conversões.
- Ferramentas: Google Analytics 4, Plausible, Matomo (as duas últimas mais respeitadoras da privacidade).
- Cumprir o RGPD: consentimento de cookies, política de privacidade.
6.4 Actualizações e higiene
- Manter CMS, plugins, temas e dependências actualizados (a maioria das invasões explora software desactualizado).
- Renovar domínio e certificados (se manuais).
- Corrigir links partidos, conteúdo desactualizado, e rever performance/SEO regularmente.
6.5 Checklist de go-live
| Item | Verificar |
|---|---|
| Domínio + DNS | A apontar correctamente |
| HTTPS | Activo, HTTP → HTTPS, sem mixed content |
| SEO | Titles/descriptions, sitemap, robots, canonical |
| Performance | Lighthouse OK, imagens optimizadas |
| Analytics | Instalado + consentimento de cookies |
| Erros | Página 404 personalizada, links a funcionar |
| Backup | Configurado |
| Monitorização | Uptime activo |
Conclusão
Publicar um website com qualidade profissional envolve muito mais do que "subir ficheiros": é escolher o hosting certo, configurar domínio e DNS, automatizar o deploy, garantir HTTPS e segurança, optimizar performance e SEO técnico, e estabelecer rotinas de manutenção. Dominar este processo — sobretudo o fluxo moderno de deploy contínuo de sites estáticos — é uma competência altamente valorizada e diretamente aplicável.