Indexação de apps (deep linking para pesquisa)

O que foi o Google App Indexing, por que ele foi descontinuado e o que o substituiu de fato — Android App Links (assetlinks.json) e iOS Universal Links (apple-app-site-association). A história, o mito de que deep links ajudam no ranqueamento e como implementar e medir deep links de apps hoje.

Publicado pela primeira vez: 3 de jul. de 2026 · Última atualização: 11 de ago. de 2026 · Avançado
Idiomas

App Indexing foi o sistema do Google (2013–~2021) para rastrear conteúdo de apps nativos e levar apps não instalados aos resultados de pesquisa. Ele foi descontinuado — a AppIndexApi aparece como deprecated na documentação do Google, e o Firebase App Indexing deixou de ser usado pelo app Google Search. O que o substituiu são deep links de apps: Android App Links (verificados por assetlinks.json) e iOS Universal Links (verificados por apple-app-site-association). O fato atual mais importante: deep links não mudam indexação nem ranqueamento — o Google ainda ranqueia a página web —; eles apenas encaminham para o app um usuário que já o tem instalado depois do clique na pesquisa. O único requisito real é a paridade de conteúdo entre a tela do app e a página web. Meça isso com o filtro de aparência Android app do Search Console.

Evidence for this claim Android App Links use verified website associations to open matching web URLs in an installed Android app. Scope: Android deep linking; it does not establish a Google Search ranking benefit. Confidence: high · Verified: Android Developers: App Links Evidence for this claim Apple Universal Links associate HTTPS URLs with installed apps through an apple-app-site-association file and app entitlement. Scope: Apple platform deep linking; separate from historical Google App Indexing. Confidence: high · Verified: Apple Developer: Universal Links

TL;DR — Google App Indexing (2013) → Firebase App Indexing (2016, além de um experimento curto de “app streaming”) → deprecated por volta de 2021. O sucessor são os deep links de apps: Android App Links (verificados com um arquivo Digital Asset Links em /.well-known/assetlinks.json e filtros de intent android:autoVerify) e iOS Universal Links (verificados com um arquivo apple-app-site-association e a autorização Associated Domains). Segundo a orientação do Google de maio de 2025, deep links não mudam a indexação nem o ranqueamento — a Pesquisa continua ranqueando a página web — e o destino do deep link deve corresponder ao conteúdo da URL web. Meça o comportamento dos app links com analytics da plataforma e do app, em vez de presumir que existe um relatório dedicado no Search Console.

Três eras, um nome confuso

O motivo de “App Indexing” causar tanta confusão é que a mesma ideia usou três nomes diferentes em uma década, e a última transição foi uma descontinuação que muito conteúdo antigo nunca incorporou.

2013–2016 — Google App Indexing. Em outubro de 2013, o Google anunciou que “Googlebot can now index content in your Android app” (tradução) «o Googlebot agora pode indexar conteúdo no seu app Android», exibindo deep links para o app “straight in our search results when we think they’re relevant… and if the user has the app installed” (tradução) «diretamente nos nossos resultados de pesquisa quando considerarmos que são relevantes… e se o usuário tiver o app instalado». Você declarava o conteúdo do app por meio do sitemap existente e do Webmaster Tools. Era o Google rastreando dentro de apps, como rastreia páginas web.

2016–~2021 — Firebase App Indexing. Depois da aquisição do Firebase pelo Google em 2014, o App Indexing foi rebatizado de Firebase App Indexing por volta do Google I/O de 2016. Ele adicionou suporte a iOS e, por um tempo, um experimento chamado app streaming — um botão “Try Now” que permitia executar um app não instalado no navegador por alguns minutos, direto de um resultado de pesquisa. O app streaming foi um experimento limitado da era 2015–2016 e desapareceu há muito; não planeje nada em torno dele.

~2021–presente — deprecated. A interface AppIndexApi está marcada como deprecated na documentação Android do Google. A documentação ativa do Firebase agora afirma que o Firebase App Indexing “is no longer the recommended way of indexing content for display as suggested results in Google Search App,” (tradução) «não é mais a maneira recomendada de indexar conteúdo para exibição como resultados sugeridos no aplicativo de Busca do Google», com o alerta explícito de que “the Google Search App for Android no longer uses local content indexed via Firebase App Indexing to provide results to users.” (tradução) «o aplicativo de Busca do Google para Android deixou de usar conteúdo local indexado pelo Firebase App Indexing para fornecer resultados aos usuários». O Firebase agora aponta para App Links e Universal Links como o caminho recomendado. (A virada ocorreu em 2021 — o aviso de descontinuação aparece em um snapshot de arquivo de outubro de 2022, mas não no de outubro de 2020.)

Deep links são, nas palavras do Google, “special URIs that take users beyond your mobile app’s homepage, leading them directly to specific in-app content” (tradução) «URIs especiais que levam os usuários além da página inicial do seu app móvel, conduzindo-os diretamente a conteúdo específico dentro do app». A mudança de mentalidade em relação ao modelo antigo é essencial: isto é verificação e roteamento, tratados no nível do sistema operacional e do navegador — não um pipeline de indexação operado pelo Google. Nada aqui é “enviado para um índice”.

Os Android App Links são, segundo o Google, “an enhanced deep linking capability that verifies deep links to your own website by establishing a trusted association between your app and your website. After they are verified, deep links to your website can immediately open corresponding content in your app, without requiring the user to select your app from a disambiguation dialog.” (tradução) «uma capacidade aprimorada de deep linking que verifica deep links para seu próprio site ao estabelecer uma associação confiável entre seu app e seu site. Depois de verificados, deep links para seu site podem abrir imediatamente o conteúdo correspondente no app, sem exigir que o usuário selecione o app em um diálogo de desambiguação». O App Links é compatível com Android 6 em diante, e o Google o chama de “a recommended approach” (tradução) «uma abordagem recomendada» para deep links para seu próprio site.

O handshake de verificação é um arquivo Digital Asset Links. Quando você coloca android:autoVerify="true" em um filtro de intent e o app está instalado, “Android queries the corresponding websites for the Digital Asset Links file at https://hostname/.well-known/assetlinks.json(tradução) «o Android consulta os sites correspondentes em busca do arquivo Digital Asset Links em https://hostname/.well-known/assetlinks.json». Esse JSON lista qual pacote de app (e qual fingerprint do certificado de assinatura) tem permissão para lidar com os links do seu domínio. O Android 15 adiciona Dynamic App Links, permitindo refinar o comportamento de correspondência de URLs sem enviar uma nova versão do app.

Duas fronteiras de versão/assinatura importam aqui. Primeiro, Dynamic App Links estendem a associação subjacente do manifesto, em vez de substituí-la — em versões do Android anteriores à 15, a verificação ainda roda somente pela correspondência padrão entre manifesto e assetlinks.json. Segundo, a verificação falha por completo, não parcialmente, se o fingerprint do certificado de assinatura listado em assetlinks.json não corresponder exatamente à identidade de assinatura real da build instalada — uma build de debug assinada com uma chave diferente da entrada em assetlinks.json jamais será verificada, mesmo que todos os outros campos estejam corretos.

A distinção que vale manter clara é esta: um deep link Android básico usa filtros de intent, mas pode abrir o diálogo “qual app você quer usar para abrir isto?”. O App Links adiciona a verificação Digital Asset Links para que um domínio verificado abra diretamente no app, sem diálogo.

O equivalente da Apple são os Universal Links. A Apple diz: “When users tap or click a universal link, the system redirects the link directly to your app without routing through the person’s default web browser or your website… because universal links are standard HTTP or HTTPS links, one URL works for both your website and your app. If the person hasn’t installed your app, the system opens the URL in their default web browser.” (tradução) «quando os usuários tocam ou clicam em um universal link, o sistema redireciona o link diretamente para o app sem passar pelo navegador web padrão da pessoa ou pelo seu site… como universal links são links HTTP ou HTTPS padrão, uma URL funciona para seu site e seu app. Se a pessoa não instalou o app, o sistema abre a URL no navegador web padrão».

O arquivo de verificação aqui é apple-app-site-association, hospedado no seu servidor web: “When someone installs your app, the system checks a file stored on your web server to verify that your website allows your app to open URLs on its behalf.” (tradução) «quando alguém instala seu app, o sistema verifica um arquivo armazenado no seu servidor web para confirmar que seu site permite que o app abra URLs em seu nome». No lado do app, você precisa da autorização Associated Domains correspondente aos domínios desse arquivo. O princípio é o mesmo do Android — um handshake de confiança entre site e app, conferido pelo dispositivo, não um sinal de ranqueamento.

Um arquivo apple-app-site-association válido e uma autorização correspondente correta não garantem que todo toque abrirá o app. A Apple documenta casos reais em que um Universal Link ainda abre no Safari apesar de uma associação funcionando — por exemplo, quando o link é tocado dentro do próprio Safari enquanto a pessoa já navega no mesmo domínio, ou quando ela escolheu anteriormente continuar abrindo os links desse domínio no navegador. E quando o app realmente não está instalado, ou a associação não corresponde, um link HTTP(S) padrão deve voltar a abrir no navegador em vez de terminar em um esquema customizado quebrado — esse fallback é o sistema funcionando como projetado, não um bug a perseguir.

As duas plataformas são compatíveis com o Google Search como destinos de deep link.

Esta é a correção mais importante de todo o tema, porque páginas de ranqueamento ainda erram nisso. Você encontrará artigos afirmando coisas como “App Indexing will influence ranking… whether or not the user has your app installed” (tradução) «o App Indexing influenciará o ranqueamento… tenha ou não o usuário o app instalado» ou “Google will use the content within your app as a signal in ranking” (tradução) «o Google usará o conteúdo do seu app como sinal de ranqueamento». Essas afirmações são falsas, e a publicação do Google de maio de 2025 diz isso diretamente:

“Adding deep links to your website connects the website’s URLs with the relevant app pages. It doesn’t change how Google Search shows your content; Search continues to use the content of your web pages for indexing and ranking. App deep links enable users to go from Search results directly to the corresponding app page (if installed), resulting in a better user experience.” (tradução) «adicionar deep links ao seu site conecta as URLs do site às páginas correspondentes do app. Isso não muda como o Google Search mostra seu conteúdo; a Pesquisa continua usando o conteúdo das suas páginas web para indexação e ranqueamento. Deep links de apps permitem que usuários passem dos resultados da Pesquisa diretamente para a página correspondente do app (se instalado), proporcionando uma experiência melhor.»

Evidence for this claim Google says adding app deep links does not change how Search indexes or ranks content; the corresponding web page remains the indexing and ranking source. Scope: public web Confidence: high · Verified: App deep links: connecting your website and app

Leia com atenção: a página web é o que é indexado e ranqueado. O deep link é uma camada de roteamento pós-clique que só entra em ação para usuários que já têm o app. É uma melhoria de UX, não uma alavanca de visibilidade. Se alguém disser que configurar assetlinks.json elevará seu ranqueamento, essa pessoa está errada.

O único requisito real: paridade de conteúdo

Existe exatamente uma regra substantiva, e ela trata de honestidade com o usuário. O Google:

“Because Search uses your web page content for indexing and ranking, you should only add deep links in cases where the app page contains the same content as the corresponding web page. Otherwise, the title and snippet shown for the page in Google Search could mislead users about the content they will see after they click. Layout or other UX differences between app pages and the corresponding web pages are OK, as long as the content matches.(tradução) «como a Pesquisa usa o conteúdo da sua página web para indexação e ranqueamento, você só deve adicionar deep links quando a página do app contiver o mesmo conteúdo da página web correspondente. Caso contrário, o título e o snippet mostrados para a página no Google Search poderiam enganar os usuários sobre o conteúdo que verão depois do clique. Diferenças de layout ou de outra UX entre páginas de app e páginas web correspondentes são aceitáveis, desde que o conteúdo corresponda.»

Portanto: uma tela nativa, mais bonita e com layout diferente é aceitável. Uma tela que mostra conteúdo diferente da página web não é — porque o snippet tocado pelo usuário foi construído a partir da página web, e agora ele chegou a um lugar que não corresponde. Paridade trata de conteúdo, não de aparência.

Como implementar hoje

Android: use App Links. Associe seu app ao site no manifesto do app (filtros de intent com android:autoVerify="true") e publique /.well-known/assetlinks.json no site, listando o nome do pacote do app e o fingerprint do certificado de assinatura. O Android verifica a associação na instalação. O App Links Assistant do Android Studio e a página Deep Links do Play Console ajudam a gerar e validar a configuração.

iOS: implemente Universal Links. Publique um arquivo apple-app-site-association no servidor web, descrevendo quais caminhos mapeiam para o app, e adicione a autorização Associated Domains no app para os domínios correspondentes. A documentação de depuração de Universal Links da Apple percorre falhas comuns (content-type errado no arquivo, autorização ausente, associação em cache).

Nenhum dos dois arquivos é rastreado para um “índice de pesquisa” como o App Indexing sugeria — são handshakes de confiança conferidos pelo dispositivo. Se estiverem errados, os links simplesmente voltam ao navegador; se estiverem certos, usuários com o app instalado são encaminhados para dentro dele.

Verificação mínima do arquivo de associação

curl -sI https://example.com/.well-known/assetlinks.json
curl -sI https://example.com/.well-known/apple-app-site-association

Os dois endpoints devem retornar 200 sem redirecionamento e expor a resposta JSON esperada. A lente Scripts traz verificações ampliadas de content-type, redirecionamento, PowerShell, DevTools e bookmarklet.

Como medir: filtro Android app do Search Console

O Google expõe o desempenho de deep links de apps de forma nativa: “Search Console includes performance of your site’s app deep links for Android. In the Performance report, you can use the Android App Search appearance filter to see when your Android app deep links are found and shown to users.” (tradução) «o Search Console inclui o desempenho dos deep links de apps do seu site para Android. No relatório de desempenho, você pode usar o filtro de aparência de pesquisa Android App para ver quando os deep links do seu app Android são encontrados e exibidos aos usuários». Isso fornece cliques, impressões, CTR e posição dos resultados em que o deep link Android apareceu — o meio concreto e atual de ver se tudo isso faz alguma diferença. (Esse filtro foi adicionado em 2019; continua sendo a ferramenta atual segundo a publicação do Google de 2025.)

Separe os dois trabalhos, porém. O filtro do Search Console é um relatório de tráfego/aparência — somente Android, dependente de o Google realmente mostrar o tratamento de app-deep-link para uma consulta, e não prova por si só que algo está indexado ou ranqueando. Confirmar que um deep link funciona tecnicamente é outro exercício: busque os arquivos de associação e teste o toque em dispositivos reais (veja as abas Scripts e Validation Tests). Não trate um relatório silencioso no Search Console como evidência de que sua configuração está quebrada, nem trate cliques no relatório como sinal de SEO — ele informa volume de roteamento, não ranqueamento.

Não presuma paridade entre Google e Bing. O Bing executou um programa de “app linking” centrado no Windows a partir de abril de 2014, voltado a Windows 8,1 e Windows Phone — mas aquelas páginas morreram (a URL de desenvolvimento retorna 404, as publicações do blog redirecionam para a página inicial genérica), e o próprio Windows Phone foi descontinuado. Não existe um equivalente atual, publicado pelo Bing, da orientação do Google de 2025 sobre deep links de apps. Na prática, App Links e Universal Links continuam funcionando no Bing/Edge móvel porque são padrões no nível do sistema operacional e do navegador, não algo que um mecanismo de busca precise habilitar — portanto você os implementa da mesma maneira. Só não há documentação do Bing para indicar.

Coisas legadas que você ainda verá por aí

Algumas técnicas adjacentes causam confusão; dê nome a elas e siga em frente:

  • Marcação schema.org potentialAction / ViewAction com um destino de deep link android-app://. É uma técnica legada ligada à era antiga do App Indexing. Você ainda pode encontrá-la em bases de código e no vocabulário de ações do schema.org, mas a recomendação atual do Google é configurar App Links / Universal Links, não usar essa marcação. Trate-a como “você ainda pode ver isto”, não como recomendação.
  • Firebase Dynamic Links é um produto Firebase diferente e também descontinuado — um serviço de encurtamento de URLs / deep linking adiado para atribuição de marketing, não o sistema de indexação de conteúdo do App Indexing. Ele também está sendo encerrado, e sua própria orientação de migração aponta para App Links e Universal Links. Não confunda as duas descontinuações.

O modelo limpo para levar daqui é: (1) sistema antigo de rastreamento e streaming do Google App Indexing / Firebase App Indexing = morto; (2) deep linking com App Links / Universal Links = atual, somente roteamento/UX, sem efeito no ranqueamento; (3) o antigo app linking do Bing na era Windows = também morto, sem substituto documentado.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.