Gamine Migracao SiteGround-Hostinger
GAMINE | RELATORIO CONSOLIDADO DE MIGRACAO
Migracao SiteGround
para Hostinger VPS
WordPress -> Stack Open Source | Brand Continuidade | SEO Moderno
v1.0 | Maio 2026 | Para decisao e planeamento
Sumario Executivo
Este relatorio consolida a analise completa da migracao do site Gamine de WordPress/SiteGround para uma stack open source self-hosted no Hostinger VPS. Cobre a metodologia de acesso via browser (Claude Code + Chrome com dois paineis em simultaneo), a estrategia de preservacao de brand, a arquitectura tecnica do novo site, as ferramentas open source seleccionadas, os riscos e planos de contingencia, a estrategia SEO, e a estimativa de tempo e custo.
1. Metodologia de Acesso --- Claude Code com Browser
1.1 Como o Claude Code vai operar
O Claude Code utiliza o Computer Use --- capacidade de ver e interagir com o ecra como um utilizador humano. Com o Chrome aberto em duas sessoes simultaneas, o Claude Code pode navegar os dois paineis de controlo sem precisar de credenciais SSH no contexto da sessao.
Setup recomendado: Abrir o Chrome com duas janelas lado a lado: janela esquerda com o SiteGround Site Tools, janela direita com o Hostinger hPanel. O Claude Code ve ambas em simultaneo e opera as duas sem intervencao manual.
1.2 O que o Claude Code faz em cada painel
SiteGround Site Tools Hostinger hPanel (leitura/exportacao) (construcao/deploy)
Aceder a WordPress Admin -> Tools Criar subdominio de staging: -> Export Exportar todo o conteudo new.gamine.org Apontar para em formato WXR (XML) directoria isolada no VPS
File Manager -> SSH Terminal no hPanel Dar comandos
wp-content/uploads/ Download de de setup do stack novo
todo o media (imagens, videos,
PDFs)
WordPress Admin -> Appearance -> File Manager -> upload de Customize Documentar cores, fontes, ficheiros Deploy de containers logotipos em uso Docker novos
WordPress Admin -> Plugins -> DNS Manager -> adicionar registos Installed Inventariar Configuracao de dominio para funcionalidades a replicar staging
1.3 Limitacoes do acesso via browser
-
Velocidade: operacoes via GUI sao mais lentas que SSH directo --- compensado pelo facto de nao requererem preparacao adicional
-
File Manager do SiteGround tem limite de upload/download por sessao --- para ficheiros > 500MB usar o FTP credentials disponiveis no mesmo painel
-
O SSH Terminal do Hostinger hPanel tem timeout de sessao --- o Claude Code deve manter actividade ou usar tmux para sessoes longas
-
Se o SiteGround bloquear por deteccao de bot: desactivar temporariamente o Cloudflare Bot Fight Mode em Security -> WAF
2. Auditoria do WordPress Existente
2.1 O que vai ser auditado
Antes de construir qualquer coisa, o Claude Code faz uma auditoria completa do site WordPress actual para garantir que nada se perde na migracao. A auditoria cobre seis areas:
Area O que se extrai Metodo
Conteudo Todos os posts, paginas, WP Export (WXR XML)
categorias, tags, via WP Admin
comentarios, menus de
navegacao
Media Todas as imagens, videos, File Manager PDFs, documentos com URLs SiteGround -> originais wp-content/uploads/
Brand / Design Cores HEX, fontes (nome + WP Customizer + peso + tamanho), logotipos inspecao CSS via em todos os formatos, DevTools espacamentos
Estrutura de URLs Todas as URLs publicas Screaming Frog (posts, paginas, arquivos) (gratis ate 500 URLs) para mapa de redirects ou crawl manual
Funcionalidades Lista de plugins activos e o WP Admin -> Plugins
que cada um faz: -> Installed Plugins
formularios, SEO, cache,
newsletter, analytics
SEO actual Meta titles, meta Yoast/RankMath descriptions, structured export + Google data, sitemap XML, Search Console robots.txt existentes
Prioridade critica: O mapa completo de URLs existentes tem de ser extraido ANTES de qualquer alteracao DNS. E a base para os redirects 301 que preservam o SEO acumulado nos 3 anos de site Gamine.
3. Preservacao de Brand --- A Preocupacao Central
3.1 O problema
A maior preocupacao declarada e que a mudanca de plataforma nao seja perceptivel visualmente --- apenas um revamp intencional do site. Isto implica que o novo site tem de replicar com precisao absoluta o design system do WordPress antes de o evoluir.
3.2 Processo de extraccao do brand actual
O Claude Code extrai o brand system do WordPress existente em tres passos:
-
Inspectar o CSS do tema activo via Chrome DevTools (F12 -> Sources -> tema.css) e documentar todas as variaveis CSS definidas: cores, fontes, espacamentos, border-radius
-
Extrair o ficheiro style.css do tema via File Manager SiteGround e fazer parse automatico de todas as custom properties
-
Documentar em brand-tokens.json --- um ficheiro estruturado que se torna a fonte de verdade para o novo site
// brand-tokens.json --- gerado automaticamente pelo Claude Code
{
\"colors\": {
\"primary\": \"#6B3FA0\", // purpura Gamine --- extraido do CSS
\"primary_light\":\"#9B6BC8\",
\"primary_pale\": \"#F5F0FB\",
\"text\": \"#1A1A1A\",
\"text_muted\": \"#6A5A7A\",
\"background\": \"#FFFFFF\",
\"background_alt\":\"#FAF8FF\"
},
\"typography\": {
\"font_heading\": \"[nome extraido do WP]\",
\"font_body\": \"[nome extraido do WP]\",
\"size_h1\": \"[valor extraido]\",
\"size_h2\": \"[valor extraido]\",
\"size_body\": \"[valor extraido]\",
\"line_height\": \"[valor extraido]\"
},
\"spacing\": {
\"section_padding\": \"[valor extraido]\",
\"card_padding\": \"[valor extraido]\"
},
\"logos\": {
\"main_svg\": \"/assets/brand/gamine-logo.svg\",
\"favicon\": \"/assets/brand/favicon.ico\",
\"og_image\": \"/assets/brand/og-1200x630.jpg\"
}
}
3.3 Como o novo site usa o brand-tokens.json
O ficheiro brand-tokens.json e a fonte de verdade unica. O Astro (ou Next.js) importa os tokens em build time e gera CSS custom properties automaticamente. Qualquer alteracao futura ao brand e feita num so lugar e propaga-se a todo o site.
/* global.css --- gerado a partir de brand-tokens.json */
:root {
--color-primary: #6B3FA0;
--color-primary-light:#9B6BC8;
--font-heading: \'NomeFonte\', sans-serif;
--font-body: \'NomeFonte\', sans-serif;
--size-h1: 2.5rem;
/* ... todos os tokens */
}
3.4 Fontes --- o caso especial
As fontes sao o elemento mais critico de continuidade visual. Ha tres cenarios possiveis:
Cenario Situacao Solucao
Fonte Google Ex: Inter, Lato, Montserrat Self-host via fontsource Fonts --- gratuitas e open source (npm) --- sem dependencia Google, GDPR compliant
Fonte Adobe Requer licenca Adobe --- Manter ligacao ao Adobe Fonts (Typekit) nao open source Fonts CDN, OU substituir por alternativa open source de perfil similar
Fonte Ficheiros .woff2 na pasta Extrair ficheiros do File proprietaria do tema WP Manager SiteGround e comprada self-host no novo site (licenca segue o site)
Avenir (Brandbook Eureekka): A fonte Avenir nao e open source --- e proprietaria da Linotype. Se estiver a ser usada no site Gamine, a solucao e: (a) licenca web font via Adobe Fonts, ou (b) usar Nunito como substituto open source de perfil geometrico muito proximo.
4. Stack Tecnica --- 100% Open Source
4.1 Arquitectura do novo site
CAMADA DE APRESENTACAO
+----------------------------------+
| Astro 4 (framework principal) |
| - Paginas estaticas por defeito |
| - Ilhas React para interacoes |
| - Build: HTML/CSS/JS optimizado |
+----------------------------------+
| consome via API
v
CAMADA DE CONTEUDO (CMS)
+----------------------------------+
| Directus (headless CMS) |
| - Interface para Marta/Alice |
| - Editor rich text (igual ao WP)|
| - Media library |
| - REST API + GraphQL |
+----------------------------------+
| persiste em
v
CAMADA DE DADOS
+----------------------------------+
| PostgreSQL (ja no stack) |
| MinIO (media storage) |
+----------------------------------+
|
CAMADA DE SERVICOS ADICIONAIS
+----------------------------------+
| Listmonk (newsletters) |
| Nginx (reverse proxy TLS) |
| Docker (containers) |
+----------------------------------+
4.2 Tabela de ferramentas open source
Funcionalidade Ferramenta Substitui Licenca / Notas (WP)
Framework web Astro 4 Tema WordPress MIT --- build estatico, velocidade maxima
Headless CMS Directus WP Admin + editor BSL 1.1 --- self-hosted, interface igual ao WP
Newsletter Listmonk Mailchimp plugin AGPL --- self-hosted, / WP Newsletter sem custo por subscritor
SEO tecnico astro-seo + Yoast SEO MIT --- integrado no schema.org build, sem plugin manual overhead
Analytics Umami Google Analytics MIT --- GDPR nativo, / Jetpack Stats self-hosted
Formularios Formbricks Contact Form 7 / MIT --- self-hosted, Gravity Forms workflows de resposta
Pesquisa interna Meilisearch WP Search / MIT --- full-text Relevanssi search, extremamente rapido
Media CDN MinIO + Nginx WP Media Library Apache 2.0 --- ja no stack
Cache Nginx WP Super Cache --- nativo no Nginx, sem proxy_cache plugin
Imagens sharp (build Smush / Imagify Apache 2.0 --- time) optimizacao automatica no build
Sitemap XML astro-sitemap Yoast Sitemap MIT --- gerado automaticamente no build
Redirects Nginx map Redirection --- ficheiro de directive plugin configuracao, zero runtime
4.3 Casos em que open source nao e possivel
Caso Porque nao open Alternativa e custo source
Fonte Avenir (se Proprietaria Adobe Fonts (\~€25/mes plano em uso) Linotype --- nao individual) OU substituir por pode ser Nunito (Google Fonts, gratis, redistribuida perfil similar)
Email Self-hosting SMTP Brevo (ex-Sendinblue) --- 300
transaccional em VPS tem emails/dia gratis, depois €9/mes.
(confirmacoes, deliverability OU Amazon SES \~\$0.10/1000
newsletters) baixa --- IPs de emails
VPS partilhado
estao
frequentemente em
blacklists
Mapas (se o site Google Maps API tem Leaflet.js (MIT) + OpenStreetMap tiver localizacao custo apos tiles (gratis). Para geocoding: de servicos) threshold. Nominatim (gratis) ou Geoapify OpenStreetMap e (\~€0/mes ate 3000 req/dia) open source mas sem routing avancado
Video hosting Self-hosting de Mux.com (\~\$0.015/min (se houver videos video consome visualizado) para videos premium, no site) largura de banda OU embed YouTube/Vimeo para elevada no VPS conteudo publico --- custo zero
5. SEO --- Estrategia Moderna
5.1 O que o novo site faz melhor que o WordPress
O WordPress com Yoast e uma abordagem defensiva ao SEO --- corrige problemas que o WordPress cria. O Astro nao cria esses problemas de origem. A diferenca em termos de SEO tecnico e substancial:
Metrica SEO WordPress + Yoast Astro novo site
Core Web Vitals 2-5s (JS pesado, render \< 1s (HTML estatico, (LCP) blocking) zero JS por defeito)
Tamanho da pagina 800KB-2MB tipico \< 200KB tipico
JavaScript jQuery + plugins = Zero JS por defeito, bloqueante multiplos scripts apenas onde necessario
Seguranca (HTTPS, Depende de plugins e TLS 1.3, CSP, HSTS headers) configuracao SiteGround configurados no Nginx
Structured data Plugin Yoast (nem sempre Gerado (Schema.org) correcto) programaticamente, 100% controlado
Sitemap XML Yoast gera, pode ter astro-sitemap --- gerado erros no build, sempre correcto
5.2 Structured data especifico para a Gamine
O novo site implementa Schema.org para os tipos de conteudo relevantes para o nicho de saude materna. Isto e critico para Rich Snippets no Google:
-
Article / BlogPosting: todos os posts do blog com author, datePublished, image
-
MedicalWebPage: paginas de conteudo clinico (gravidez, parto, pos-parto)
-
FAQPage: secoes de perguntas frequentes --- aparecem directamente nos resultados Google
-
LocalBusiness: informacao da Gamine em Lisboa (morada, telefone, horario)
-
BreadcrumbList: navegacao hierarquica --- melhora CTR nos resultados
-
Event: se a Gamine tiver eventos ou workshops presenciais
5.3 Estrategia de preservacao de SEO na migracao
A migracao e o momento de maior risco para o SEO acumulado. Tres acoes criticas:
-
Exportar todos os dados de Search Console ANTES da migracao: queries, paginas, impressoes, CTR. Baseline para comparar pos-migracao.
-
Criar ficheiro de redirects 301 completo: CADA URL antiga -> nova URL correspondente. Zero 404s apos migracao. Implementado em Nginx com directiva map.
-
Manter os mesmos slugs onde possivel. Se /blog/titulo-do-post era o formato WP, manter /blog/titulo-do-post no novo site. Evita redirects desnecessarios.
# nginx.conf --- redirects 301 gerados automaticamente pelo Claude Code
# a partir do mapa de URLs exportado do WordPress
map \$uri \$redirect_uri {
default 0;
/2023/04/titulo-do-post/ /blog/titulo-do-post;
/category/gravidez/ /blog/gravidez;
/wp-content/uploads/2023/imagem.jpg /media/imagem.jpg;
# ... gerado automaticamente para todas as URLs
}
server {
if (\$redirect_uri) {
return 301 \$redirect_uri;
}
}
5.4 Novas oportunidades SEO que o WordPress nao permite facilmente
-
Multilingue PT/EN com hreflang correcto --- critico para audiencia expat anglofona
-
Paginas de aterragem por bairro de Lisboa: \'Maternidade expat Chiado\', \'Gravidez expat Belem\' --- long-tail SEO local
-
Hub de conteudo tematico: todas as paginas sobre \'primeiro trimestre\' interligadas em cluster semantico --- melhora authority por tema
-
Performance extrema (\< 1s LCP) --- desde 2024 o Google usa Core Web Vitals como factor de ranking directamente
6. Riscos --- O Que Pode Correr Bem e Mal
6.1 Riscos de alto impacto
Risco Probabilidade Impacto Mitigacao
Queda de SEO MEDIA Perda de trafico Mapa de redirects pos-migracao organico acumulado em 100% antes de (redirects mal 3 anos --- cortar DNS. feitos) potencialmente grave Monitorizar Search para aquisicao de Console clientes diariamente nas 2 semanas pos-migracao.
Media em falta BAIXA Paginas com imagens Verificar todos os apos migracao quebradas --- mau UX e assets antes de (imagens 404) penalizacao SEO cortar DNS com script de crawl automatico.
Downtime durante BAIXA Minutos a horas de Corte de DNS apos corte de DNS site inacessivel --- validacao total em impacto em clientes staging. TTL activos reduzir para 300s 24h antes do corte.
Funcionalidade MEDIA Plugin especifico (ex: Auditoria de WordPress sem booking, pagamentos) plugins na Fase 1 equivalente open sem substituto directo identifica casos. source Alternativa desenvolvida antes de cortar WP.
Directus BAIXA Conteudo nao e Sessao de formacao demasiado complexo actualizado porque a de 1h com a Alice. para Marta/Alice interface e dificil Interface Directus e comparavel ao WP Admin em complexidade.
VPS Hostinger sem BAIXA Stack ja tem 21 Directus e capacidade para containers --- Listmonk sao stack adicional adicionar Astro leves. Astro e build + Directus + estatico pos-build Listmonk pode --- sem runtime. pressionar CPU/RAM Monitorizar apos deploy.
6.2 O que pode correr especialmente bem
-
Velocidade do novo site: a diferenca de performance entre um site WordPress tipico e um Astro estatico e dramatica e imediatamente perceptivel pelos visitantes e pelo Google
-
Custo zero de hosting adicional: o site Gamine passa a correr no VPS Hostinger que ja pagas --- elimina a subscricao SiteGround
-
Controlo total: sem actualizacoes automaticas de plugins que quebram o site, sem vulnerabilidades WordPress conhecidas, sem dependencia do SiteGround
-
Newsletter integrada: o Listmonk self-hosted elimina custos de Mailchimp/Brevo a medida que a lista cresce --- relevante quando a lista ultrapassar os 2000 subscritores
-
Multilingue PT/EN nativo: o Astro suporta i18n de origem, sem plugins --- critico para a estrategia de expansao anglofona com os videos dobrados
7. Plano de Implementacao --- 5 Fases
FASE 1 | Auditoria e Extraccao (SiteGround)
Objectivo: Backup completo, brand system documentado, mapa de URLs gerado
-
Abrir Chrome: janela esquerda SiteGround Site Tools, janela direita Hostinger hPanel
-
SiteGround -> WordPress Admin -> Tools -> Export All -> download WXR
-
SiteGround -> File Manager -> wp-content/uploads/ -> download ZIP de todo o media
-
Chrome DevTools no site live -> extrair CSS do tema -> gerar brand-tokens.json
-
SiteGround -> WordPress Admin -> Plugins -> listar todos os plugins activos com funcao
-
Screaming Frog (gratis, instalar localmente) -> crawl de gamine.org -> exportar todas as URLs
-
Google Search Console -> exportar dados de performance das ultimas 12 semanas
-
Estimar duracao: 4-8 horas
FASE 2 | Setup do Ambiente Staging (Hostinger)
Objectivo: Subdominio new.gamine.org operacional com stack completo
-
Hostinger hPanel -> DNS -> adicionar A record: new.gamine.org -> IP do VPS
-
SSH Terminal Hostinger -> criar directoria /opt/prod/gamine-web/
-
Docker Compose -> subir Directus + PostgreSQL + Nginx para new.gamine.org
-
Docker Compose -> subir Listmonk para newsletters.gamine.org
-
Configurar TLS com Let\'s Encrypt para new.gamine.org
-
Testar acesso: https://new.gamine.org deve mostrar pagina de placeholder
-
Estimar duracao: 3-5 horas
FASE 3 | Migracao de Conteudo e Build do Site
Objectivo: Todo o conteudo WP migrado, site novo visualmente identico ao WP
-
Script Python -> parser do WXR exportado -> posts e paginas inseridos no Directus via API
-
Upload de todos os ficheiros media para MinIO -> actualizar URLs no Directus
-
Scaffold do projecto Astro com brand-tokens.json como fonte de verdade
-
Implementar todos os componentes do site: Home, Blog, Post, Sobre, Servicos, Contacto
-
Integrar astro-seo + structured data Schema.org em todas as paginas
-
Gerar ficheiro de redirects Nginx a partir do mapa de URLs exportado
-
Build do Astro -> deploy de HTML estatico para Nginx
-
Validacao visual: comparar new.gamine.org com gamine.org pagina a pagina
-
Estimar duracao: 20-40 horas (a parte mais longa --- construcao do site novo)
FASE 4 | Validacao e QA
Objectivo: Zero erros, SEO validado, performance confirmada
-
Screaming Frog -> crawl de new.gamine.org -> zero 404s
-
Google PageSpeed Insights -> new.gamine.org -> confirmar LCP \< 2.5s, CLS \< 0.1
-
Validacao Schema.org: schema.org/validator para cada tipo de pagina
-
Testar formularios, newsletter signup, todos os links internos e externos
-
Testar em mobile (Chrome DevTools) e em Safari (compatibilidade)
-
Marta e Alice: revisao visual completa e aprovacao formal
-
Estimar duracao: 4-8 horas
FASE 5 | Corte de DNS e Go-Live
Objectivo: gamine.org serve o novo site, SiteGround cancelado
-
24h antes: reduzir TTL dos registos DNS para 300 segundos
-
Confirmar que o backup completo do WordPress esta guardado localmente (nao depender do SiteGround)
-
Hostinger hPanel -> DNS -> alterar A record de gamine.org para IP do VPS
-
Aguardar propagacao DNS (5-30 minutos com TTL baixo)
-
Verificar https://gamine.org -> novo site a funcionar
-
Monitorizar Google Search Console diariamente durante 14 dias
-
Submeter novo sitemap XML ao Google Search Console
-
Submeter pedido de re-indexacao para as paginas principais via URL Inspection
-
Cancelar subscricao SiteGround apos confirmar estabilidade (aguardar 30 dias)
-
Estimar duracao: 2-4 horas
8. Estimativa de Tempo e Custo
8.1 Tempo total estimado
Fase Minimo Maximo Notas
Fase 1 --- Auditoria 4h 8h Depende do SiteGround tamanho do arquivo media
Fase 2 --- Setup 3h 5h Relativamente Hostinger staging previsivel
Fase 3 --- Migracao e 20h 40h A mais variavel construcao --- depende da complexidade do WP actual
Fase 4 --- QA e validacao 4h 8h Mais lenta se forem encontrados erros
Fase 5 --- Corte DNS e 2h 4h Rapida se tudo go-live estiver preparado
TOTAL 33h 65h 2-4 sessoes intensivas Claude Code
Nota sobre o Claude Code: Cada sessao Claude Code tem um limite de contexto. Para um projecto desta dimensao, planear 4-6 sessoes de trabalho separadas, cada uma com um objectivo claro (Fase 1, Fase 2, etc.). Documentar o estado no final de cada sessao para a seguinte comecar com contexto completo.
8.2 Custo total
Item Custo Notas
SiteGround (cancelar Poupanca Subscricao actual --- cancela apos go-live) \~€20-30/mes 30 dias apos go-live
Hostinger VPS (ja pago) €0 adicional Site Gamine corre no VPS existente sem custo extra
Directus (CMS) €0 Open source, self-hosted no VPS
Listmonk (newsletters) €0 Open source, self-hosted no VPS
Astro (framework) €0 Open source, MIT
Email transaccional €0 ate 300/dia Gratis ate threshold, depois (Brevo) €9/mes se necessario
Fonte Avenir (se em uso) €0 ou €25/mes €0 se substituir por Nunito; €25/mes Adobe Fonts se manter
Claude Code (sessoes) \~€10-30 Estimativa baseada em 33-65h de uso intensivo
TOTAL de custos €10-30 Custo marginal quasi-zero --- novos one-time poupanca de €20-30/mes
Conclusao: A migracao custa praticamente zero em termos financeiros e poupa €20-30/mes em SiteGround. O investimento real e de tempo --- 33 a 65 horas de trabalho Claude Code distribuidas por 4-6 sessoes. O resultado e um site mais rapido, mais seguro, com melhor SEO e com controlo total sobre a infraestrutura.
--- fim do documento ---