O Google está indexando o seu endereço vercel.app? Como manter previews e duplicatas fora da busca
Quais endereços da Vercel o Google indexa, por que seu-projeto.vercel.app concorre com o seu domínio e o que ajustar em redirect, canonical e proteção.
4 min de leitura
Todo projeto na Vercel tem mais endereços do que o que está no seu cartão de visita. Há o seu domínio, www.yourcompany.com. Há o endereço de produção que a Vercel cria, your-project.vercel.app. E cada deploy ganha o próprio endereço, além de um por branch para os previews.
A maioria deles nunca aparece no Google, porque a Vercel cuida disso. Um deles costuma aparecer, e concorre com o seu domínio de verdade pelas mesmas buscas. Este artigo explica qual é qual e como fechar essa brecha.
O que a Vercel já faz
A Vercel adiciona um cabeçalho X-Robots-Tag: noindex, que diz aos buscadores para não indexar a página, a:
- todo deploy de preview, ou seja, todo deploy de uma branch que não é a de produção;
- deploys de produção antigos: quando um novo deploy é promovido, o anterior passa a responder com
noindex.
O deploy de produção atual fica de fora, porque é esse o site que você quer na busca. Dá para confirmar o que um endereço envia com um comando:
curl -sI https://your-project-git-feature-team.vercel.app | grep -i x-robots-tagAs duas brechas
1. O endereço vercel.app de produção
your-project.vercel.app serve as mesmas páginas de produção que o seu domínio, sem noindex. Se o Google encontra um link para ele (um README antigo, um teste que você compartilhou, um diretório que lista projetos da Vercel), passa a ter duas cópias de cada página e precisa escolher uma. Duplicatas não geram penalidade, mas dividem os sinais, e às vezes o Google escolhe o endereço que você não quer.
2. Um domínio próprio numa branch de preview
Se você deu a uma branch que não é a de produção o próprio domínio, como staging.yourcompany.com, a Vercel não adiciona noindex a ele. Um site de staging no Google mostra páginas inacabadas, preços de teste e conteúdo duplicado com a sua marca.
As correções
Redirecione o endereço vercel.app para o seu domínio
A correção mais limpa é um redirecionamento permanente que vale só para esse host e mantém o caminho, para que your-project.vercel.app/pricing?plan=pro caia em www.yourcompany.com/pricing?plan=pro:
{
"redirects": [
{
"source": "/:path*",
"has": [{ "type": "host", "value": "your-project.vercel.app" }],
"destination": "https://www.yourcompany.com/:path*",
"permanent": true
}
]
}Restringir ao host exato é importante: uma regra sem essa condição redirecionaria o seu domínio para ele mesmo, e um padrão amplo pegaria também os endereços de preview de que você ainda precisa.
Teste com uma página interna e uma query string. Você deve ver um 308 e o Location certo:
curl -sI "https://your-project.vercel.app/pricing?plan=pro" | grep -iE "^HTTP|^location"Use canonicals absolutas, no seu domínio
Cada página deve declarar como canonical o próprio endereço no seu domínio, escrito por completo: <link rel="canonical" href="https://www.yourcompany.com/pricing">. Dois erros comuns:
- Canonicals montadas a partir do host da requisição: em
your-project.vercel.app, a página declara o endereço vercel.app como o principal, e a duplicata confirma a si mesma. Monte-as a partir de uma configuração fixa com a URL do site. - Todas as páginas apontando para a página inicial. Isso pede ao Google que ignore todas as outras páginas.
Adicione noindex às branches de preview com domínio próprio
Para staging.yourcompany.com, adicione você mesmo o cabeçalho, restrito a esse host:
{
"headers": [
{
"source": "/:path*",
"has": [{ "type": "host", "value": "staging.yourcompany.com" }],
"headers": [{ "key": "X-Robots-Tag", "value": "noindex" }]
}
]
}Não bloqueie pelo robots.txt no lugar disso. Uma página bloqueada para rastreamento não pode ser lida, então o Google nunca vê o noindex dela, e o endereço ainda pode aparecer nos resultados só por causa de links.
Ligue a Deployment Protection para tudo o que não é produção
Nas configurações do projeto, a Deployment Protection com Standard Protection exige login na Vercel em todos os endereços, exceto nos seus domínios de produção, e está disponível em todos os planos. Os previews deixam de ser públicos, o que também é bom para tudo o que você ainda não anunciou. Se um serviço externo precisa acessar um preview protegido (um executor de testes, um cliente revisando), a Vercel tem opções de bypass para isso.
Limpe o que o Google já tem
Se o endereço vercel.app ou um domínio de staging já está no Google:
- Primeiro, publique o redirecionamento ou o
noindex. O Google remove as páginas quando volta a visitá-las e vê a mudança. - Pesquise
site:your-project.vercel.apppara ver o que está indexado. - Para esconder uma página mais rápido, o Search Console tem a ferramenta Remoções. Ela esconde o endereço por cerca de seis meses; o que torna isso permanente é o redirecionamento ou o
noindex.
Não apague o projeto nem o domínio para o problema sumir: um endereço que de repente passa a dar erro deixa o Google sem nada para seguir, enquanto um redirecionamento passa o histórico dele para o seu domínio.
Depois de cada deploy
Configurações como essas quebram em silêncio: um novo vercel.json perde o redirecionamento, uma atualização do framework muda a forma como as canonicals são montadas. Quando você conferir as páginas importantes depois de um deploy, como em o que um deploy pode quebrar no seu SEO, inclua a canonical e uma requisição ao endereço vercel.app.
SEOVercelHospedagem
Continue lendo
Todos os artigos
Sites
Build verde, SEO quebrado: o que um deploy pode estragar sem que nenhum teste perceba
Um build pode passar em todos os testes e ainda esconder páginas do Google. Oito mudanças que passam batido, como achar cada uma e o que ver após o deploy.
5 min de leitura

Sites
O que a manutenção mensal de um site realmente inclui (e o que acontece quando ninguém faz)
Backups, atualizações, monitoramento, renovações e formulários: o que um site precisa todo dia, mês e trimestre, e o que perguntar antes de contratar.
4 min de leitura

Sites
Por que os e-mails do formulário do seu site caem no spam (e como SPF, DKIM e DMARC resolvem)
Mensagens do formulário do site vão para o spam ou nem chegam? Quase sempre o problema é o envio. O que verificar e os três registros de DNS que corrigem.
4 min de leitura