Regras de auditoria
A lista das 201 regras que a auditoria do site confere. Para cada regra, você encontra o que ela significa e como corrigir.
A auditoria do site confere cada página e o site como um todo com 201 regras: 13 críticas, 92 avisos e 96 informativas. Esse é o número de IDs na lista de regras do aplicativo, e cada um aparece nas tabelas abaixo. As regras se dividem em três grupos. Críticas (13 regras): o Google não consegue ver ou entender a página, então corrija-as primeiro. Avisos (92 regras): podem reduzir aos poucos as posições e os cliques. Informações (96 regras): pequenas oportunidades de melhoria. Na pontuação, as regras críticas valem 40, os avisos 15 e as informações 3. O número de páginas afetadas também conta.
A tabela traz o nome da regra mostrado na tela, o que ela significa e o primeiro passo para corrigir. O texto completo da correção está no cartão do problema na tela. A última coluna é o ID da regra, que aparece no arquivo CSV e nas respostas do assistente.
Termos comuns
- canonical (canônico): um modo de dizer ao Google "este é o endereço principal".
- noindex: uma etiqueta que oculta uma página da busca.
- hreflang: a etiqueta da versão de idioma. Aponta para a mesma página em outros idiomas.
- meta description (meta descrição): o resumo em cinza abaixo do título em um resultado de busca.
- structured data (dados estruturados, JSON-LD): uma nota oculta que diz ao Google o que a página é (um produto, um artigo e assim por diante). Pode acrescentar extras ao resultado da busca, como estrelas ou uma imagem (resultado enriquecido).
- robots.txt: o arquivo que diz ao Google quais páginas ele pode visitar. Uma linha "Disallow" é uma linha que proíbe.
- sitemap (mapa do site): a lista das páginas do seu site. lastmod: a data em que a página mudou pela última vez.
- redirect (redirecionamento): enviar os visitantes de um endereço para outro endereço.
- user agent (agente de usuário): o nome que um navegador ou rastreador dá a si mesmo.
- title (etiqueta de título): o título mostrado na aba e na busca. H1: o título principal da página. alt text (texto alternativo): um texto curto que diz o que uma imagem mostra.
- nofollow: uma etiqueta que diz "não siga este link". head: a parte de cima do código-fonte da página.
- LCP: quanto tempo o conteúdo principal da página leva para aparecer. CLS: o conteúdo se deslocando enquanto a página carrega. INP: quanto tempo a página leva para responder a um clique.
- Lighthouse: a ferramenta do Google que mede páginas. Certificado SSL: o documento que torna o seu site https (um endereço seguro).
Crítico
| Regra | O que significa | Como corrigir | ID |
|---|---|---|---|
| O rastreador foi bloqueado | A proteção contra robôs do seu site barrou o rastreador. O Google também pode estar bloqueado. | No seu firewall, permita o agente de usuário "seotracker-audit". | blocked-page |
| Erro de servidor (5xx) | A página retorna um erro de servidor. O Google remove essas páginas da busca. | Encontre nos registros do servidor o erro deste endereço e corrija-o. | server-error |
| O arquivo robots.txt retorna erro de servidor | Se o Google não conseguir ler o arquivo, ele pode parar de rastrear o site por completo. | Corrija o erro. Confira se o endereço do robots.txt abre normalmente. | robots-txt-server-error |
| O endereço inicial está bloqueado pelo robots.txt | O endereço de onde o rastreamento começa está proibido no robots.txt. | Se ele deve ser rastreado, apague a linha "Disallow" correspondente. | robots-txt-blocks-start-url |
| Página do mapa do site não abre | Uma página que você disse ao Google que existe retorna um erro. | Se a página deve existir, corrija o erro. Se não, remova-a do mapa do site. | sitemap-broken-page |
| Um arquivo de que a página precisa está bloqueado pelo robots.txt | O Google não consegue acessar o arquivo de design ou de código de que precisa para exibir a página. | Apague a regra do robots.txt que cobre esses arquivos. | blocked-resource |
| Arquivo inseguro em uma página segura | Uma página segura (https) carrega um arquivo de um endereço inseguro (http). Os navegadores bloqueiam isso. | Mude o endereço do arquivo para que comece com https. | mixed-content-resource |
| Uma página oculta é indicada como endereço principal | A página indicada como endereço principal está oculta da busca. As duas indicações se anulam. | Remova o noindex da página de destino, ou faça do endereço principal o próprio endereço da página. | canonical-to-noindex |
| O Google trata a página como vazia (soft 404) | O Google trata a página como "não existe" e a mantém fora da busca. | Se a página realmente não existe, retorne o código de erro 404 ou 410. Se existe, acrescente conteúdo real. | google-soft-404 |
| O Google não consegue rastrear a página por causa do robots.txt | Resposta do Google: o robots.txt a bloqueia. | Encontre e apague a linha "Disallow" do robots.txt que cobre este endereço. | google-blocked-by-robots |
| O robots.txt fecha o site inteiro para o Google | O robots.txt proíbe o Google de rastrear a página inicial (em geral uma linha "Disallow: /"). O Google não rastreia o site. | Apague a linha "Disallow: /" ou limite-a às pastas que devem ficar ocultas. | robots-disallow-all |
| O endereço http não redireciona para https | O endereço http do site abre sem passar para a versão segura. O navegador mostra "Não seguro". | Ative "Forçar HTTPS" no painel da hospedagem ou adicione um redirecionamento permanente (301). | no-https-redirect |
| O certificado SSL está prestes a vencer | O certificado vence em menos de 14 dias. Depois disso, os navegadores abrem o site atrás de um aviso de página inteira. | Renove o certificado agora. Se a renovação é automática, veja por que não funcionou. | ssl-expiring-very-soon |
Aviso
| Regra | O que significa | Como corrigir | ID |
|---|---|---|---|
| Atingiu o limite de solicitações (429) | O site disse ao rastreador "muitas solicitações". | Aumente o limite de solicitações no servidor ou isente o "seotracker-audit" do limite. | rate-limited-page |
| Rastreamento interrompido cedo: limite de solicitações | O rastreamento parou quando a espera passou de 30 minutos. | Reinicie a auditoria quando o limite de solicitações do site for zerado. | crawl-rate-limited |
| Link interno quebrado | Um link do seu site leva a uma página que não abre. | Aponte o link para o endereço certo ou apague-o. | broken-internal-link |
| A página retorna erro ao abrir (4xx) | A página retorna um erro como "não encontrada". | Se a página deve existir, publique-a de novo. Se não, apague os links que levam a ela. | broken-page |
| Cadeia de redirecionamentos | O endereço redireciona várias vezes antes de chegar à página final. | Redirecione o primeiro endereço, e os links para ele, direto para a página final. | redirect-chain |
| Laço de redirecionamento | O endereço redireciona para si mesmo ou em círculo. | Siga as regras de redirecionamento e quebre o laço. | redirect-loop |
| Página para a qual nenhuma página aponta | A página existe só no mapa do site. O Google lhe dá pouco valor. | Coloque um link para ela no menu, em posts relacionados ou em uma página de categoria. | orphan-page |
| Não foi possível acessar o robots.txt | O arquivo não respondeu de forma alguma. | Abra o endereço do robots.txt em um navegador e confira se ele responde. | robots-txt-unreachable |
| O robots.txt passa do limite de 500 KB | O Google não lê o fim do arquivo. | Encurte o arquivo. | robots-txt-truncated |
| Página do mapa do site redireciona | O mapa do site tem um endereço que redireciona para outro endereço. | Coloque no mapa do site o endereço final para o qual ele redireciona. | sitemap-redirect-page |
| Endereço do mapa do site está bloqueado pelo robots.txt | O mapa do site diz "venha", o robots.txt diz "não venha". | Se ele deve aparecer na busca, remova o bloqueio. Se não, apague-o do mapa do site. | sitemap-disallowed-page |
| Arquivo do mapa do site grande demais para ler | O arquivo passa do limite de 10 MB. | Divida o mapa do site em partes. | sitemap-too-large |
| O mapa do site tem mais de 50.000 endereços | O Google aceita no máximo 50.000 endereços em um arquivo. | Divida o arquivo em partes abaixo de 50.000. Una as partes com um arquivo de mapa do site principal. | sitemap-too-many-urls |
| O mapa do site tem uma data lastmod no futuro | A data é posterior a hoje. O Google deixa de confiar nas datas. | Confira o que gera as datas. | sitemap-lastmod-future |
| A página abre por http inseguro | A página não é segura (https). | Peça à sua empresa de hospedagem que ative o certificado SSL gratuito. | not-https |
| Falta a etiqueta de título | A página não tem etiqueta de título (title). | Acrescente um título que descreva o assunto e seja específico da página. De 50 a 60 caracteres é um bom tamanho. | missing-title |
| Falta a meta descrição | Falta o resumo em cinza no resultado da busca. | Escreva uma descrição que resuma a página e leve as pessoas a clicar. | missing-meta-description |
| Imagens sem texto alternativo | Nada diz o que as imagens mostram. | Escreva um texto alternativo curto para cada imagem que tenha significado. | images-missing-alt |
| Mais de uma etiqueta de título na página | Há duas etiquetas de título. O Google escolhe uma ao acaso. | Procure "title" no código-fonte da página e mantenha apenas uma. | multiple-titles |
| Mais de uma meta descrição diferente na página | Há duas descrições. | Procure name="description" no código-fonte da página e mantenha apenas uma. | multiple-meta-descriptions |
| A etiqueta de título é um texto genérico | O título é algo como "Ana sayfa" (Página inicial) ou "Sem título". | Escreva o seu próprio título, que descreva o assunto da página. | placeholder-title |
| Título duplicado | Várias páginas usam o mesmo título. | Dê a cada página o seu próprio título, que descreva o conteúdo dela. | duplicate-title |
| Título principal (H1) duplicado | Várias páginas têm o mesmo título principal. | Escreva um H1 diferente para cada página. | duplicate-h1 |
| Meta descrição duplicada | Várias páginas usam a mesma descrição. | Escreva para cada página a sua própria descrição ou apague a repetida. | duplicate-meta-description |
| Conteúdo de página duplicado | Duas páginas têm o mesmo texto. | Escolha a página principal. Ligue a outra a ela com canonical. | duplicate-content |
| As declarações de endereço principal se contradizem | O HTML e a resposta do servidor indicam endereços principais diferentes. | Escolha um endereço principal e informe-o em um único lugar. | canonical-conflict |
| A página indicada como endereço principal não abre | A página indicada como endereço principal retorna um erro. | Mude o endereço principal para uma página que funcione ou publique de novo o destino. | canonical-to-broken |
| Uma página que redireciona é indicada como endereço principal | O endereço principal é um endereço que redireciona para outra página. | Faça do endereço principal a página final para a qual ele redireciona. | canonical-to-redirect |
| O Google vê uma etiqueta de ocultação (noindex) na página | Resposta do Google: ele viu noindex na página. | Compare o código-fonte da página com o que o Google vê. Um plugin ou um modelo pode estar acrescentando a etiqueta. | google-blocked-by-meta |
| O Google escolheu outro endereço principal | O Google não aceitou o seu endereço principal. | Olhe o endereço que o Google escolheu. Ou faça dele o endereço principal, ou deixe as duas páginas claramente diferentes. | google-chose-different-canonical |
| O código da versão de idioma (hreflang) é inválido | Foi escrito um código que não existe, como "en-UK". | Escreva o código certo. Para o Reino Unido, é "en-GB". | hreflang-invalid-code |
| A página não se lista entre as versões de idioma (hreflang) | A página lista os outros idiomas, mas não a si mesma. | Acrescente à lista o endereço da própria página, com o código do seu idioma. | hreflang-missing-self |
| A página desativa os seus links com uma diretiva de robôs | A página desativou o seguimento dos seus links (nofollow). | Se você quer que os links dela sejam seguidos, apague o texto "nofollow". | nofollow-page |
| Página paginada aponta para a primeira página como endereço principal | A página 2 indica a página 1 como endereço principal. O Google ignora a página 2. | Faça do endereço principal de cada página o seu próprio endereço. | paginated-canonical-to-first-page |
| As versões de idioma não apontam de volta umas para as outras (hreflang) | A página A aponta para B, mas B não aponta para A. | Acrescente à página B uma linha hreflang que aponte para A. | hreflang-no-return-tag |
| A versão de idioma aponta para uma página que não abre ou foi removida do índice | A versão de idioma para a qual aponta retorna um erro ou está oculta da busca. | Olhe o endereço nos detalhes. Corrija-o ou tire-o da lista. | hreflang-target-broken |
| O endereço principal (canonical) aponta para outro domínio ou para http | O endereço principal aponta para outro site ou para um endereço inseguro (http). | A menos que você tenha feito isso de propósito, faça do endereço principal o próprio endereço https da página. | canonical-cross-host-or-http |
| O bloco de dados estruturados está quebrado | O bloco de dados estruturados (JSON-LD) não pode ser lido. | Cole o bloco em um verificador de JSON. Em geral há uma vírgula a mais. | structured-data-invalid-json |
| O Google rastreou, mas não indexou | Resposta do Google: ele não achou o conteúdo bom o bastante. | Na "Ferramenta de inspeção de URL" do Google, confira se há noindex, arquivos bloqueados ou conteúdo que parece vazio. | google-crawled-not-indexed |
| O Google encontrou, mas ainda não rastreou | O Google conhece o endereço e o colocou na fila. | Esperar costuma bastar. Coloque links para ele a partir de páginas rastreadas com frequência. | google-discovered-not-indexed |
| O Google viu conteúdo duplicado e nenhum endereço principal está definido | O Google encontrou uma cópia da página e você não definiu um endereço principal. | Acrescente um canonical que aponte para o endereço principal em cada página do grupo de cópias. | google-duplicate-no-canonical |
| O Google não conhece este endereço de forma alguma | O endereço nunca chegou ao Google. | Acrescente-o ao mapa do site e envie o mapa do site ao Search Console. | google-url-unknown |
| O Google encontrou um erro nos dados estruturados | Falta um campo na marcação escrita para um resultado enriquecido. | Abra o endereço no Teste de resultados avançados do Google. Ele mostra ali o campo que falta. | google-rich-results-invalid |
| A página declara endereços principais que se contradizem | A página tem mais de uma etiqueta canonical. | Decida qual está certa. Desligue o plugin que produz a outra. | multiple-canonical-tags |
| O conteúdo principal da página carrega tarde (LCP) | O maior elemento chega depois de mais de 4 segundos. | Olhe o maior elemento no relatório do PageSpeed. Em geral é uma imagem. Reduza o tamanho dela e converta-a para WebP. | cwv-lcp-poor |
| O conteúdo se desloca enquanto a página carrega (CLS) | A pontuação de deslocamento é maior que 0,25. | Dê largura e altura às imagens e às caixas incorporadas. | cwv-cls-poor |
| A página responde devagar aos cliques (INP) | A resposta a um clique leva mais de 500 milissegundos. | Encontre os trechos de código que mais pesam na página. Adie-os ou remova-os. | cwv-inp-poor |
| A pontuação da auditoria de SEO do Google é baixa | A pontuação de SEO do Lighthouse está abaixo de 90. | Abra a página no PageSpeed Insights. Olhe as verificações reprovadas na seção de SEO. | lighthouse-seo-low |
| O site abre com e sem www | Os dois endereços abrem a página e nenhum redireciona para o outro. O Google vê duas cópias do mesmo conteúdo. | Escolha um endereço principal e redirecione o outro para ele de forma permanente (301). | www-and-apex-both-serve |
| Uma página inexistente responde 200 em vez de 404 | Um endereço que não existe responde "OK" (200). O Google trata isso como soft 404. | Faça a sua página de erro devolver o código 404. O conteúdo pode continuar o mesmo. | soft-404-on-missing-page |
| O HTML da página inicial passa de 2 MB | O Google processa só os primeiros 2 MB do HTML e ignora o resto. | Mova dados grandes embutidos para arquivos separados. Divida listas longas em páginas. | html-too-large |
| O servidor demora a responder (TTFB) | O primeiro byte da página inicial chegou depois de mais de 800 milissegundos. | Ative o cache de páginas, encontre plugins lentos e use uma CDN perto dos visitantes. | slow-ttfb |
| A página bloqueia o zoom | A tag viewport desliga o zoom no celular. Quem enxerga pouco não consegue ampliar o texto. | Remova user-scalable=no e maximum-scale da tag viewport. | viewport-zoom-disabled |
| Links com endereço "javascript:" | O Google não consegue seguir esses links e, por esse caminho, não encontra as páginas deles. | Se o link leva a uma página, escreva o endereço real. Se executa uma ação, use um botão (button). | javascript-href-links |
| Campos de formulário sem rótulo | Um leitor de tela não consegue dizer o que vai no campo. | Dê a cada campo um rótulo visível (label) ou um aria-label. | form-input-without-label |
| A estrutura HTML da página é grande demais | A página tem mais de 1.500 elementos HTML. Isso deixa tudo mais lento, principalmente no celular. | Carregue o conteúdo oculto só quando necessário. Reduza camadas de contêineres desnecessárias. | dom-too-large |
| Conteúdo quase idêntico | O conteúdo principal destas páginas muda só em poucas palavras. O Google pode mostrar apenas uma. | Dê a cada página um conteúdo próprio ou junte as páginas e adicione um canonical. | near-duplicate-content |
| Faltam propriedades obrigatórias nos dados estruturados | Faltam campos que o Google exige para este tipo (como Product ou FAQPage). Nenhum resultado avançado aparece. | Adicione os campos que faltam e confira o resultado no Teste de pesquisa avançada do Google. | structured-data-required-props-missing |
| O ID do Analytics nas páginas não corresponde à propriedade conectada | Os dados de visitantes provavelmente estão indo para outra propriedade do Analytics. | Troque a tag das páginas pelo ID certo ou conecte a propriedade certa em Configurações. | analytics-id-mismatch |
| Sem cabeçalho HSTS | O cabeçalho que diz ao navegador "use sempre https neste site" não é enviado. | Adicione o cabeçalho Strict-Transport-Security à resposta do servidor. | missing-hsts |
| O certificado SSL vence em menos de 30 dias | Segundo os registros públicos de certificados, o certificado vence em até 30 dias. | Confira no painel da hospedagem se a renovação automática está ligada. | ssl-expiring-soon |
| O domínio vence em menos de 30 dias | Sem renovação, o site e o e-mail param. Outra pessoa pode registrar o domínio. | Renove o domínio e ative a renovação automática. | domain-expiring-soon |
| Arquivos estão bloqueando a primeira exibição da página | CSS e scripts atrasam a primeira exibição. | Adicione defer aos scripts de que a primeira tela não precisa. | lh-render-blocking |
| A página carrega JavaScript que não usa | É baixado JavaScript que nunca roda. | Remova plugins e tags que não são usados. | lh-unused-javascript |
| As imagens são baixadas maiores do que o necessário | As imagens pesam mais do que o tamanho em que aparecem. | Converta para WebP/AVIF, comprima e redimensione. | lh-image-delivery |
| A página redireciona antes de abrir | Há redirecionamentos antes de a página abrir. | Aponte os links direto para o endereço final. | lh-document-redirects |
| A página é enviada sem compressão | O HTML é enviado sem compressão. | Ative a compressão gzip ou Brotli. | lh-text-compression |
| A imagem principal está marcada para carregar depois | A imagem principal tem loading="lazy". | Remova o lazy da imagem principal da primeira tela. | lh-lcp-lazy-loaded |
| Alguns textos têm pouco contraste de cor | O texto não se destaca o suficiente do fundo. | Garanta contraste de pelo menos 4,5:1. | lh-a11y-color-contrast |
| Faltam textos alternativos nas imagens (Lighthouse) | No navegador há imagens sem texto alt. | Escreva texto alt para as imagens que têm significado. | lh-a11y-image-alt |
| Campos de formulário sem rótulo (Lighthouse) | Os campos do formulário não têm rótulo. | Ligue um elemento label a cada campo. | lh-a11y-label |
| Alguns links não têm nome legível | Alguns links não têm nome legível. | Adicione texto ou aria-label. | lh-a11y-link-name |
| Alguns botões não têm nome legível | Alguns botões não têm nome legível. | Adicione texto ou aria-label. | lh-a11y-button-name |
| A página não tem título no navegador (Lighthouse) | Não há elemento title no navegador. | Adicione um título ao HTML que o servidor envia. | lh-a11y-document-title |
| O zoom está bloqueado no celular (Lighthouse) | A configuração da viewport impede o zoom. | Remova user-scalable=no e maximum-scale. | lh-a11y-meta-viewport |
| A página faz requisições inseguras (http) | A página carrega itens por http. | Sirva todos os arquivos por https. | lh-is-on-https |
| Alguns links não podem ser rastreados (Lighthouse) | Há links que o Google não consegue seguir. | Dê a cada link um href de verdade. | lh-crawlable-anchors |
| O Google não consegue indexar a página (Lighthouse) | O Lighthouse considerou a página não indexável. | Confira o robots.txt e as regras de noindex. | lh-is-crawlable |
| O robots.txt tem linhas inválidas | Há linhas inválidas no robots.txt. | Corrija as linhas para o formato "Campo: valor". | lh-robots-txt |
| As tags hreflang são inválidas (Lighthouse) | As tags hreflang são inválidas. | Use códigos de idioma válidos e endereços completos. | lh-hreflang |
| A tag canonical é inválida (Lighthouse) | A tag canonical é inválida. | Deixe um único canonical apontando para o próprio endereço da página. | lh-canonical |
| Imagem, vídeo ou frame inseguro em página segura | Uma página https carrega imagens, vídeos ou frames por http. | Faça os endereços começarem com https. | mixed-content-media |
| Os dados do formulário são enviados sem criptografia | O formulário envia os dados para um endereço http. | Mude o endereço action do formulário para https. | form-action-http |
| A tag canonical está no corpo da página | O canonical está no body; o Google não o lê ali. | Mova a tag para o head. | canonical-outside-head |
| As tags robots se contradizem | As tags robots da página se contradizem. | Deixe uma única tag robots. | robots-meta-conflict |
| A página diz "não encontrada" mas responde com sucesso | A página diz "não encontrada" mas devolve 200. | Se a página não existe, devolva 404 ou 410. | page-says-not-found |
| Ficou texto de preenchimento (lorem ipsum) na página | A página tem texto de preenchimento lorem ipsum. | Troque por conteúdo real. | lorem-ipsum-text |
| Uma página seguinte de uma lista está escondida da busca | As páginas 2 em diante de uma lista estão com noindex. | Remova o noindex e dê a cada página o seu próprio canonical. | paginated-page-noindex |
| Em um site seguro, links internos vão para endereços http | Em um site https, links internos apontam para http. | Escreva os links internos com https ou de forma relativa. | internal-http-links |
| Um link para outro site está quebrado | Um link para outro site não abre. | Atualize ou remova o link. | broken-external-link |
| O arquivo de imagem é grande demais | Um arquivo de imagem passa de 200 KB. | Redimensione, comprima e converta para WebP/AVIF. | image-file-too-large |
| O mapa do site lista endereços de outro site | O mapa do site traz endereços de outro domínio. Em geral, o Google os ignora. | Publique o mapa no site a que os endereços pertencem ou corrija o endereço do site na configuração que gera o mapa. | sitemap-off-host-urls |
Informação
| Regra | O que significa | Como corrigir | ID |
|---|---|---|---|
| A resposta do servidor é lenta | A primeira resposta do servidor chega tarde. | Olhe o tempo do servidor e do banco de dados. Ligue o cache (guardar cópias prontas). | slow-response |
| Página do mapa do site aponta para outra página como endereço principal | O mapa do site tem um endereço que é uma cópia. | Mantenha só endereços principais no mapa do site. | sitemap-canonicalized-page |
| Página do mapa do site está oculta dos resultados de busca | O mapa do site tem uma página oculta da busca. | Se ela deve aparecer na busca, remova o noindex. Se não, apague-a do mapa do site. | sitemap-noindex-page |
| A página está profunda demais na estrutura do site | A página está a muitos cliques da página inicial. | Encurte o caminho com links de categorias, menus ou listas em destaque. | deep-page |
| O mapa do site não tem nenhuma data lastmod | O Google não sabe a data da última alteração. | Na configuração que gera o mapa do site, ative o lastmod para cada endereço. | sitemap-lastmod-missing |
| Link interno leva a um redirecionamento | O link leva a um endereço antigo e redireciona dali. | Troque o link pelo novo endereço para o qual ele redireciona. | internal-link-to-redirect |
| A codificação de caracteres não está declarada | Os caracteres turcos podem quebrar em alguns navegadores. | Acrescente a linha meta charset="utf-8" no início da seção head. | missing-charset |
| O endereço da página é longo demais | O endereço é longo e difícil de ler. | Mantenha o endereço curto e com sentido. | url-too-long |
| O endereço tem letras maiúsculas ou sublinhados | Podem aparecer duas grafias separadas da mesma página. | Escreva os endereços em minúsculas, com hifens. | url-uppercase-or-underscore |
| Falta o título H1 | A página não tem título principal. | Acrescente um único H1 que descreva o assunto. | missing-h1 |
| Mais de um título H1 | Há mais de um título principal. | Mantenha um único H1. Transforme os outros em H2 ou H3. | multiple-h1 |
| A página quase não tem texto | O rastreador não encontrou texto. O texto pode estar carregando depois, com JavaScript. | Confira no código-fonte da página se o texto aparece. | thin-content |
| A página não tem links para nenhum outro lugar | Uma página sem saída, que não leva a nenhum outro lugar. | Acrescente links para páginas relacionadas, para a categoria superior ou para a página inicial. | no-outgoing-links |
| O título é longo demais | O Google corta o que passa de 60 caracteres. | Encurte o título para 50 a 60 caracteres. Coloque as palavras importantes primeiro. | title-too-long |
| O título é curto demais | O título não descreve a página. | Escreva um título de 30 a 60 caracteres que diga o que você oferece. | title-too-short |
| A meta descrição é longa demais | O Google corta o que passa de 160 caracteres. | Coloque a mensagem principal primeiro e encurte para 70 a 160 caracteres. | meta-description-too-long |
| A meta descrição é curta demais | A descrição não dá nenhum motivo para clicar. | Escreva de 70 a 160 caracteres que resumam a página. | meta-description-too-short |
| Os níveis de título são pulados | Pula direto de H1 para H3. | Use os títulos em ordem: H1, H2, H3. | heading-order-skip |
| Falta a etiqueta de visualização para celular (viewport) | A página aparece minúscula no celular. | Acrescente a linha viewport na seção head. | missing-viewport |
| O idioma da página não está declarado | Não diz em que idioma a página está (sem lang na etiqueta html). | Para uma página em turco, escreva html lang="tr". | missing-lang |
| As imagens não têm largura e altura | O conteúdo salta enquanto a página carrega. | Escreva o tamanho real da imagem em cada etiqueta img. | images-missing-dimensions |
| Texto longo sem subtítulos | O post longo é um único bloco. | Divida o texto por assunto. Dê a cada seção um título H2. | no-subheadings |
| O texto alternativo da imagem é um nome de arquivo | O texto alternativo é algo como "IMG_1234.jpg". | No texto alternativo, escreva o que há na imagem. | alt-is-filename |
| O texto alternativo da imagem é longo demais | O texto alternativo é do tamanho de um parágrafo. | Descreva a imagem em uma frase. Cerca de 125 caracteres bastam. | alt-too-long |
| O título principal (H1) é longo demais | O H1 é do tamanho de um parágrafo. | Reduza o H1 a um título curto, de uma frase. | h1-too-long |
| Links internos sem texto | O link não tem texto ou só tem um ícone. | Acrescente um texto visível ou um aria-label (um nome oculto para leitores de tela). | empty-anchor-text |
| Textos de link sem sentido, como "clique aqui" | O texto do link não diz para onde ele leva. | Troque o texto do link pelo assunto da página de destino. | generic-anchor-text |
| Links demais na página | A página tem centenas de links. | Limite o menu e o rodapé às páginas mais importantes. | too-many-links |
| Links nofollow para páginas do seu próprio site | Um link para as suas próprias páginas tem nofollow. | Apague rel="nofollow" desses links. | internal-nofollow-links |
| A página não tem etiqueta canonical (endereço principal) | O Google adivinha o endereço principal. | Acrescente na seção head uma linha canonical que aponte para o endereço completo da própria página. | missing-canonical |
| A página está oculta dos resultados de busca (noindex) | A página está oculta da busca, de propósito ou por engano. | Se ela deve aparecer na busca, remova o noindex. | noindex-page |
| A página aponta para outra página como endereço principal | A página se declara uma cópia. | Se ela deve aparecer na busca com o próprio nome, faça do endereço principal o seu próprio endereço. | canonicalized-page |
| As versões de idioma não têm versão padrão (x-default) | Não há versão padrão para os visitantes cujo idioma não corresponde. | Acrescente uma linha x-default à lista hreflang. | hreflang-missing-x-default |
| A resposta do Google sobre algumas páginas está desatualizada | As respostas do Google guardadas têm mais de 3 ou 14 dias. | Na aba Dizin durumu (Status de indexação), clique no botão "Google'da durumunu kontrol et" (Verificar o status no Google). | stale-google-verdicts |
| O site não tem etiquetas de compartilhamento em redes sociais (Open Graph) | Nenhuma imagem ou título aparece quando é compartilhado. | Na seção head do modelo, acrescente og:title, og:description e um og:image de 1200x630 pixels. | open-graph-missing-site |
| O site não tem nenhum dado estruturado | Não há chance de um resultado enriquecido aparecer na busca. | Comece por uma marcação que combine com o tipo de página (como Organization, Product ou Article). | structured-data-missing-site |
| O Google não rastreia esta página há muito tempo | A última visita do Google tem mais de 90 dias. | Coloque links para ela a partir de páginas rastreadas com frequência. Confira se a página está no mapa do site. | google-crawl-stale |
| Páginas inexistentes redirecionam para a página inicial | Um endereço que não existe leva à página inicial. O Google costuma tratar isso como soft 404. | Mostre uma página de erro que devolva 404. Redirecione só as páginas que mudaram de endereço. | not-found-redirects-home |
| Ícone do site (favicon) não encontrado | Na busca no celular aparece um ícone genérico ao lado do nome do site. | Envie um ícone quadrado de pelo menos 48x48 pixels e declare-o no head. | missing-favicon |
| O robots.txt não aponta para o mapa do site | Falta a linha "Sitemap:" no robots.txt. O Bing e outros robôs encontram o mapa por ali. | Adicione no fim do arquivo uma linha "Sitemap:" com o endereço completo do mapa. | robots-missing-sitemap-line |
| Alguns robôs de IA estão bloqueados no robots.txt | Robôs como GPTBot e ClaudeBot estão proibidos. É uma escolha; a busca do Google não é afetada. | Se foi de propósito, deixe como está. Para aparecer em respostas de IA, libere os robôs de busca. | ai-crawlers-blocked |
| Sem arquivo llms.txt (opcional) | Falta o arquivo proposto para assistentes de IA. Não é um padrão e o Google não o usa. | Se quiser, coloque na raiz um /llms.txt com as páginas principais. | missing-llms-txt |
| A página inicial chegou sem compressão | A página chegou sem compressão gzip ou brotli. | Ative a compressão no servidor ou na CDN. | no-compression |
| Tags Open Graph incompletas | Falta o título, a descrição ou a imagem do cartão de compartilhamento. | Adicione og:title, og:description e og:image juntos. | og-incomplete |
| Sem tag de cartão do X (Twitter) | No X, o link pode aparecer como endereço simples, sem cartão. | Adicione uma tag twitter:card (summary_large_image) no head. | twitter-card-missing |
| A tag title e o H1 são idênticos | Não é um erro, mas uma das duas chances é desperdiçada. | Escreva o title para o resultado da busca e o H1 para quem lê a página. | title-equals-h1 |
| O título pode ser cortado nos resultados | O título é curto, mas letras largas o levam além de uns 580 pixels. | Encurte o título ou escreva em caixa normal as palavras em maiúsculas. | title-pixel-too-wide |
| Tag meta keywords desnecessária | O Google não usa essa tag. | Remova-a do modelo ou das configurações do plugin de SEO. | meta-keywords-present |
| Links externos abrem em nova aba sem noopener | Uma nota de boa prática. Os navegadores atuais já fazem isso sozinhos. | Adicione rel="noopener" a esses links. | blank-target-without-noopener |
| Imagens mais abaixo carregam na hora | Mais de seis imagens abaixo da primeira tela carregam assim que a página abre. | Adicione loading="lazy" a elas. Não na imagem principal da primeira tela. | images-not-lazy |
| Imagens em formatos antigos | Três ou mais imagens estão em JPEG, PNG ou GIF sem alternativa em formato mais novo. | Converta as imagens para WebP ou AVIF. | images-legacy-format |
| O mesmo id em vários elementos | Rótulos de formulário e links internos da página podem apontar para o elemento errado. | Torne cada id único. Se for só para estilo, use uma class. | duplicate-ids |
| Elementos HTML aninhados demais | A página tem elementos aninhados com mais de 32 níveis. | Remova do modelo as camadas de contêineres desnecessárias. | dom-too-deep |
| Muito pouco texto visível em relação ao código | O texto visível é menos de um décimo do HTML. | Mova o código embutido grande para arquivos. Confira se o texto está no código-fonte da página. | low-text-ratio |
| Faltam propriedades recomendadas nos dados estruturados | Faltam campos que o Google recomenda para Article ou Organization. Os resultados avançados não são bloqueados. | Adicione os campos que faltam com informações visíveis na página. Não é urgente. | structured-data-recommended-props-missing |
| Nenhuma tag do Google Analytics encontrada nas páginas | O HTML não tem ID G-, GTM- ou UA-. Se a tag carrega depois, ignore este aviso. | Adicione o código do Analytics ou do Gerenciador de tags no head de todas as páginas. | analytics-tag-missing |
| Sem cabeçalho X-Content-Type-Options | O navegador pode adivinhar o tipo dos arquivos. Não afeta as posições. | Adicione "X-Content-Type-Options: nosniff" às respostas do servidor. | missing-x-content-type-options |
| A página pode ser embutida em frames de outros sites | Outro site pode colocar a sua página em um frame invisível (clickjacking). | Adicione o cabeçalho "frame-ancestors 'self'" ou "X-Frame-Options: SAMEORIGIN". | missing-clickjacking-protection |
| Sem cabeçalho Referrer-Policy | Não é urgente. O cabeçalho define quanto do seu endereço é compartilhado quando o visitante vai para outro site. | Adicione o cabeçalho "Referrer-Policy: strict-origin-when-cross-origin". | missing-referrer-policy |
| O domínio não tem registro SPF | Outras pessoas podem enviar e-mails falsos em seu nome. Não afeta o SEO diretamente. | Adicione ao DNS, como TXT, o registro SPF que o seu serviço de e-mail recomenda. | missing-spf |
| O domínio não tem registro DMARC | Nada diz o que fazer com e-mails que falham na verificação. Não afeta o SEO diretamente. | Adicione ao DNS um registro TXT chamado \_dmarc. Comece com p=none. | missing-dmarc |
| A página carrega CSS que não usa | São baixadas regras de estilo que a página não usa. | Desligue as folhas de estilo sem uso. | lh-unused-css |
| Os arquivos JavaScript não estão minificados | Os arquivos JavaScript não estão minificados. | Ative a minificação na ferramenta de build ou na CDN. | lh-unminified-javascript |
| Os arquivos CSS não estão minificados | Os arquivos CSS não estão minificados. | Ative a minificação na ferramenta de build ou na CDN. | lh-unminified-css |
| Os arquivos não ficam tempo suficiente no navegador | Os arquivos têm um tempo curto de cache no navegador. | Dê um Cache-Control longo aos arquivos que não mudam. | lh-cache-policy |
| O tamanho total de download da página é muito grande | A página passa de 2,5 MB no total. | Reduza as maiores imagens, vídeos e scripts. | lh-total-byte-weight |
| A estrutura da página montada no navegador é muito grande | A estrutura da página montada no navegador é muito grande. | Monte o conteúdo oculto só quando for preciso. | lh-dom-size |
| O servidor demora a responder (Lighthouse) | O primeiro byte do servidor leva mais de 600 ms. | Ative o cache de páginas. | lh-slow-server-response |
| O texto fica invisível enquanto as fontes carregam | O texto não aparece até as fontes carregarem. | Adicione font-display: swap. | lh-font-display |
| A imagem principal não é pedida com prioridade | A imagem principal é descoberta tarde ou sem prioridade. | Coloque-a no HTML como img com fetchpriority="high". | lh-lcp-not-prioritized |
| Os arquivos são servidos pelo antigo HTTP/1.1 | Os arquivos chegam por HTTP/1.1. | Ative o HTTP/2 no servidor ou na CDN. | lh-modern-http |
| É enviado JavaScript desnecessário para navegadores antigos | É enviado código para navegadores antigos sem necessidade. | Atualize a configuração de navegadores-alvo. | lh-legacy-javascript |
| Código de terceiros ocupa o navegador por muito tempo | Código de terceiros prende a thread principal por mais de 0,5 s. | Remova tags desnecessárias e adie as demais. | lh-third-parties |
| O carregamento do conteúdo principal pode melhorar (LCP) | O LCP está entre 2,5 e 4 segundos. | Reduza a imagem principal e desligue o carregamento lento dela. | cwv-lcp-needs-improvement |
| O conteúdo se desloca um pouco ao carregar (CLS) | O CLS está entre 0,1 e 0,25. | Dê dimensões às imagens e reserve espaço para anúncios. | cwv-cls-needs-improvement |
| A resposta aos cliques pode melhorar (INP) | O INP está entre 200 e 500 ms (dados de campo). | Divida scripts longos que rodam no clique. | cwv-inp-needs-improvement |
| O idioma da página não está declarado no navegador (Lighthouse) | O elemento html não tem lang. | Declare um idioma, por exemplo lang="pt" no elemento html. | lh-a11y-html-has-lang |
| As áreas de toque são pequenas ou próximas demais | As áreas de toque são pequenas ou muito juntas. | Dê às áreas pelo menos 24×24 pixels. | lh-a11y-target-size |
| A ordem dos títulos pula níveis no navegador (Lighthouse) | Níveis de título são pulados no navegador. | Use os títulos em ordem. | lh-a11y-heading-order |
| O navegador registra erros ao abrir a página | Aparecem erros no console ao carregar. | Veja a aba Console no Chrome. | lh-errors-in-console |
| A página usa recursos que os navegadores vão remover | São usados recursos do navegador já obsoletos. | Atualize o plugin ou a biblioteca antiga. | lh-deprecations |
| O navegador relata problemas na página | O painel "Issues" do Chrome registra entradas. | Veja a aba Issues nas ferramentas de desenvolvedor. | lh-inspector-issues |
| Algumas imagens aparecem com proporção errada | Imagens aparecem com proporção errada. | Use width/height corretos ou object-fit. | lh-image-aspect-ratio |
| Algumas imagens têm resolução baixa para a tela | Imagens têm resolução baixa para a tela. | Ofereça versões maiores com srcset. | lh-image-size-responsive |
| Os textos dos links não são descritivos (Lighthouse) | Os textos dos links não dizem nada do destino. | Escreva o texto conforme o assunto do destino. | lh-link-text |
| A página redireciona com meta refresh | A página redireciona com meta refresh. | Faça o redirecionamento no servidor (301). | meta-refresh-redirect |
| O endereço canonical está escrito como relativo | O canonical é um caminho relativo. | Escreva o endereço completo (https://...). | canonical-relative |
| O endereço canonical tem um fragmento # | O canonical tem um fragmento #. | Remova o # e o que vem depois. | canonical-with-fragment |
| A busca não mostra o resumo da página | nosnippet ou max-snippet:0 escondem o resumo. | Remova a regra se não for intencional. | snippet-blocked |
| Um endereço de e-mail está exposto em texto simples | Um endereço de e-mail aparece como texto simples na página. | Considere usar um formulário de contato. | exposed-email-address |
| As palavras do título não aparecem no conteúdo | As palavras do título não aparecem no conteúdo. | Escreva o título conforme o assunto da página. | title-content-mismatch |
| Os dados de Organization não listam perfis sociais | Os dados de Organization não têm sameAs. | Adicione os endereços dos perfis oficiais em sameAs. | organization-missing-sameas |
| Uma página profunda não tem trilha de navegação (breadcrumb) | Uma página profunda não tem trilha de navegação. | Adicione a trilha de navegação e BreadcrumbList. | missing-breadcrumbs |
| O código embutido na página é muito grande | Scripts e estilos embutidos passam de 100 KB. | Mova o código embutido grande para arquivos separados. | large-inline-code |
| Há um blog, mas nenhum feed RSS/Atom declarado | Há um blog, mas nenhum feed RSS/Atom está declarado. | Declare o feed com uma tag link rel="alternate". | missing-feed |
| O robots.txt abre alguns caminhos só para o Googlebot | Esses caminhos estão fechados para outros robôs, por isso a auditoria não os rastreou. O Google consegue. | Não precisa mudar nada. Se não houver motivo, deixe a regra igual para todos os robôs. | robots-googlebot-only-paths |
Como as regras funcionam?
A maioria das regras roda por página e lista cada página que afeta. Algumas dizem respeito ao site inteiro e produzem um único problema. São as regras do robots.txt, as regras do mapa do site, "O site não tem etiquetas de compartilhamento em redes sociais" e "O site não tem nenhum dado estruturado".
As regras cujo nome começa com "Google" não vêm do rastreamento do aplicativo. Elas são produzidas a partir das respostas obtidas do Google na aba Dizin durumu (Status de indexação). Se você nunca fez uma pergunta nessa aba, essas regras nunca rodam. As regras de velocidade (LCP, CLS, INP, pontuação de SEO) rodam apenas quando "Sayfa hızını da ölç" (Medir também a velocidade das páginas) está ligado, e usam a medição de celular.
As regras cujo ID começa com "lh-", e as regras "precisa melhorar" de LCP, CLS e INP, são lidas do relatório do Lighthouse que o PageSpeed Insights já envia para cada página. Elas também rodam apenas quando "Sayfa hızını da ölç" está ligado, e usam a medição de celular. Uma verificação do Lighthouse que não rodou ou falhou em uma página não conta nem como problema nem como aprovada. "Um link para outro site está quebrado" e "O arquivo de imagem é grande demais" só rodam se "Dış bağlantıları ve görsel boyutlarını da kontrol et" (Verificar também links externos e tamanho das imagens) estiver ligado ao iniciar: depois do rastreamento, são consultados no máximo 300 endereços. Sites que bloqueiam robôs, como redes sociais, e endereços que não respondem nunca contam como quebrados. Uma regra que uma auditoria não mediu aparece como "desconhecida" na aba Kontroller, inclusive em auditorias feitas antes de essas regras existirem.
Algumas regras não olham as páginas uma a uma: elas sondam o site uma vez no começo da auditoria e produzem um único problema. Elas cobrem os endereços com e sem www, o redirecionamento de http para https, a resposta a um endereço inexistente escolhido ao acaso, um robots.txt que fecha o site inteiro, a linha Sitemap dele e os robôs de IA, o ícone do site, o llms.txt, os cabeçalhos de segurança (HSTS, X-Content-Type-Options, proteção contra frames, Referrer-Policy) e o tamanho, a compressão e o tempo da primeira resposta da página inicial. A data de vencimento do certificado SSL vem dos registros públicos de certificados (Certificate Transparency), a do domínio vem dos dados de registro (RDAP), e os registros SPF e DMARC vêm do DNS. "O ID do Analytics nas páginas não corresponde à propriedade conectada" compara o ID de medição encontrado nas páginas com os da propriedade do Google Analytics conectada ao projeto.