Tornar um portfólio Next.js visível no Google: o SEO que realmente conta
Favicon, nome do site, dados estruturados, sitemap multilíngue: os sinais técnicos concretos que decidem a aparência do seu site nos resultados de busca — e como os ajustei neste portfólio.
O problema: bem posicionado não quer dizer bem apresentado
Quando se digita meu nome no Google, meu portfólio aparece em primeiro lugar. O posicionamento funciona. Mas um bom ranking não garante uma boa apresentação: o ícone exibido ao lado do link, o nome do site, a descrição — tudo isso se decide em sinais técnicos precisos que o Google lê no seu código.
Este artigo detalha os ajustes que fazem a diferença entre um resultado genérico e um que inspira confiança.
O favicon: uma restrição que quase ninguém respeita
O Google mostra um ícone à esquerda de cada resultado. Para que seja o seu e não um fallback genérico, três condições:
- O favicon deve ser servido numa URL estável e declarado via
<link rel="icon">. - Seu tamanho deve ser um múltiplo de 48px (48, 96, 144…). Um
64×64, por mais comum que seja, é simplesmente ignorado pelo Google. - Ele deve permanecer legível em tamanho muito pequeno: um monograma ou um símbolo, nunca um logo detalhado.
No Next.js, um simples arquivo app/icon.tsx gera o favicon e injeta automaticamente a tag <link>. A armadilha se esconde no tamanho exportado.
Um favicon perfeito, mas em
64×64, nunca aparecerá nos resultados do Google. O detalhe que custa semanas de dúvida.
O «nome do site»: retomar o controle do que o Google exibe
Por padrão, o Google costuma exibir o domínio (meusite.com) no lugar do nome verdadeiro. Para lhe impor um nome próprio, é preciso alinhar três sinais que devem ser rigorosamente idênticos:
- O campo
namedos dados estruturadosWebSite(JSON-LD). - A tag
og:site_name(Open Graph). - A meta
application-name.
Se esses três valores divergirem — ainda que seja só «Jean Portfólio» de um lado e «Jean — Portfólio» do outro — o Google desiste e recai no domínio. A coerência é a única regra.
Os dados estruturados: explicar quem você é
O JSON-LD Person é o que permite ao Google entender que o site fala de um indivíduo específico, com uma profissão, uma localização e perfis sociais. Os campos que mais pesam:
name,jobTitle,description— a identidade de base.sameAs— a lista dos seus perfis (GitHub, LinkedIn). É o que liga seu site à sua presença online e alimenta o Knowledge Panel.image— uma foto, útil para os resultados enriquecidos.
Ligar cada entidade por um identificador @id (#person, #website) evita duplicatas e dá ao Google um grafo limpo em vez de uma coleção de fichas isoladas.
O sitemap multilíngue: não se deixar devorar pelos hreflang
Um site em vários idiomas deve dizer ao Google qual versão mostrar a quem. Sem isso, os diferentes idiomas se canibalizam no índice. A regra: cada URL declara todas as suas variantes linguísticas via alternates.languages, mais um x-default.
O Next.js gera um sitemap.ts nativo onde cada entrada carrega seus hreflang. É mais confiável que os plugins de terceiros, que muitas vezes perdem as rotas dinâmicas do tipo [locale].
O que realmente conta, em ordem
Se eu tivesse que priorizar para um novo projeto:
- Google Search Console — sem ele, você está cego. Envie o sitemap, solicite a indexação.
- Coerência dos sinais de identidade — favicon em conformidade, nome do site alinhado, JSON-LD limpo.
- Conteúdo real — um site de uma única página atinge o teto rápido. Artigos técnicos como este fazem você existir em consultas reais.
- Os Core Web Vitals — um site rápido é um site mais bem posicionado. Meça, depois otimize.
O SEO técnico não é mágica: é uma série de sinais claros, enviados com limpeza, e depois deixados ao tempo que o Google leva para re-rastrear. A paciência faz o resto.