Total: {{ versions_list.length }} / 10 versões
{{ version.name }}
{{ version.timestamp }}
Nenhuma versão salva. Clique em "Salvar Versão Atual" para começar.
Campos Alterados:
Nenhuma alteração entre versões.
{{ selectedVersionA.name }}
Título: {{ selectedVersionA.data.seo.title }}
{{ selectedVersionB.name }}
Título: {{ selectedVersionB.data.seo.title }}
Simule a estratégia de marketing e gere automaticamente o código Next.js (App Router) para a equipe.
Arquivo: app/page.js - Metadata API
Selecione o Cluster:
Genérico:
gestão de projetos, colaboração, produtividade
Startups:
gestão ágil, sprint planning, OKR software
Enterprise:
governança PMO, BI, integração APIs
{{ codes.keywords }}
Segmentado:
// Startup
keywords: 'gestão ágil, sprint, OKR'
Cenário: Múltiplos públicos
Resultado: +50% relevância
Arquivo: app/page.js - Metadata API
{{ codes.social }}
Black Friday: imagem com "50% OFF"
Resultado: +60% cliques sociais
Arquivo: app/page.js - Metadata API (alternates)
Idiomas Disponíveis:
Canonical: Define URL "oficial" para evitar duplicação
Hreflang: Indica variações por idioma/país
{{ codes.hreflang }}
Expansão Espanha:
alternates: {
languages: {
'pt-BR': '/pt/',
'en': '/en/',
'es-ES': '/es/'
}
}
Cenário: Operar em Brasil, EUA e México
Resultado: +35% conversão (idioma local)
Ação: Hreflang para cada variação
Arquivo: app/page.js - JSON-LD com script tag
{{ codes.schema }}
Atualização Mensal:
aggregateRating: {
ratingValue: '4.9',
ratingCount: '115'
}
Cenário: 100+ reviews, sem estrelas no Google
Resultado: Rich Snippet em 2-5 dias, CTR +35%
Monitor: Atualize mensalmente
Arquivo: app/page.js - Metadata API (robots)
O que cada opção significa:
Index: Página aparece em buscas
Follow: Links internos são rastreados
NoIndex: Esconde de buscas (login, checkout)
{{ codes.robots }}
Landing Page:
robots: {
index: true,
follow: true
}
Cenário: Checkout no Google
Resultado: Use noindex,nofollow
Arquivo: app/sitemap.ts - Sitemap API
Prioridades por tipo:
1.0: Homepage
0.8: Landing pages
0.6: Categorias
0.4: Blog posts
0.2: Páginas secundárias
{{ codes.sitemap }}
Blog dinâmico:
const posts = await getPosts()
return posts.map(post => ({
url: `/blog/${post.slug}`,
changeFrequency: 'weekly'
}))
Cenário: 20 novos posts
Resultado: Indexação em 24-48h, +15% tráfego
Arquivo: app/icon.png, app/apple-icon.png - Icon Convention
Tamanhos Necessários:
16x16: Favicon (tab browser)
32x32: Favicon HD
180x180: Apple Touch Icon
192x192: Android Chrome
512x512: PWA Splash Screen
Next.js Convention: Coloque icon.png e apple-icon.png em app/
Geração automática de todos os tamanhos!
{{ codes.icons }}
Favicon Sazonal (Black Friday):
// Temporário: badge "50% OFF"
// Reverta após campanha
Cenário: Usuários não acham sua aba
Resultado: Favicon distintivo, +25% produtividade
Arquivo: app/layout.tsx - Viewport Export
Core Web Vitals:
LCP: < 2.5s (imagem principal)
FID: < 100ms (interatividade)
CLS: < 0.1 (layout shift)
{{ codes.viewport }}
Otimização Mobile-First:
export const viewport = {
width: 'device-width',
initialScale: 1
}
Cenário: Bounce rate mobile 60%
Resultado: Cai para 35%, conversão +30%
Arquivo: app/layout.tsx - Metadata API (verification)
Como obter tokens:
1. Google Search Console → Verificar propriedade → Meta tag
2. Bing Webmaster → Add site → Meta tag
Copie apenas o código (content="...")
{{ codes.verification }}
Monitoramento:
// Search Console → URL Inspection
// Monitor queries: "black friday"
// Otimize meta tags baseado em CTR
Cenário: Tráfego caiu 30%
Resultado: Search Console identifica noindex acidental