403 Proibido

O que é um erro HTTP 403, como o Google o trata (bloqueado — semelhante a um noindex), as causas comuns (controles de acesso, bloqueio de bots, permissões mal configuradas) e como corrigir 403s para SEO.

Publicado pela primeira vez: 27 de jun. de 2026 · Última atualização: 8 de ago. de 2026 · Avançado
Idiomas
1 sinal de evidência nesta página

Um 403 Forbidden significa que o servidor entendeu a solicitação, mas a recusou — o acesso foi negado, e essa recusa não precisa ter relação alguma com credenciais (o servidor pode até enviar um 404 para ocultar que um recurso proibido existe). Não é um 404 (“não há nada aqui”) nem um 401 (“autentique-se primeiro”); um 403 é um “você não pode ter isto” ativo. Para SEO, um 403 persistente em uma página que você quer pública a mantém fora do índice do Google — um resultado semelhante a um noindex, mas com mecanismo diferente, pois o Google não consegue ler o conteúdo de uma resposta 4xx. Como o Googlebot nunca envia credenciais, um 403 servido a ele merece investigação, em vez de ser considerado intencional — causas comuns incluem filtro de bots de CDN/WAF, bloqueio de IP/user-agent no servidor, plugin de segurança ou erro de .htaccess/permissões, embora não haja dados confiáveis sobre qual é mais frequente. Nunca use 403 para limitar o rastreamento (use 429/503 por uma janela curta). E verifique a intenção primeiro: alguns 403 (staging, administração, conteúdo protegido) estão corretos e não precisam ser corrigidos. Observe a inversão: um 403 no próprio robots.txt é tratado de forma permissiva, enquanto um 403 em uma página é um bloqueio rígido.

TL;DR — Um 403 significa que o servidor entendeu a solicitação e a recusou por motivo de acesso — diferente de 404 (ausente) e 401 (autenticar). Para indexação, o resultado se parece com um noindex: o Google não indexa uma URL 403 e remove uma que já estava indexada, embora o mecanismo (bloqueio no servidor/CDN/WAF) não tenha nada a ver com uma meta tag. Como o Googlebot nunca envia credenciais, um 403 ao Googlebot é quase sempre uma configuração incorreta — geralmente filtragem de bots na CDN/WAF (o Bot Fight Mode da Cloudflare lidera), bloqueios por IP/user-agent no servidor, plugins de segurança ou .htaccess/permissões. 403 não tem efeito na taxa de rastreamento — nunca o use para limitar o rastreamento (use 429/503). E o caso inverso importa: um 403 no próprio robots.txt é tratado de forma permissiva, enquanto um 403 em uma página é um bloqueio rígido.

403 vs. 401 vs. 404 — acerte primeiro o modelo mental

Esses três códigos são constantemente confundidos, e a distinção conduz todo o diagnóstico. A definição básica vem da própria especificação HTTP, RFC 9110 §15.5.4: o servidor entendeu a solicitação e se recusa a atendê-la. Algumas nuances dessa mesma seção importam mais do que as pessoas reconhecem:

  • A recusa não precisa estar relacionada a credenciais. A RFC 9110 permite um 403 por razões não relacionadas à autenticação — ele não prova universalmente que o solicitante é “conhecido” ou que credenciais estiveram envolvidas. Não interprete todo 403 como uma história de autenticação.
  • Um 403 não precisa admitir que o recurso existe. A especificação permite explicitamente que um servidor de origem que quer esconder se um recurso proibido existe responda com 404. O inverso também é verdade: um 404 nem sempre significa “nunca houve nada aqui” — às vezes significa “há algo aqui que não quero que você conheça”.
  • 401 vs. 403 não é apenas “mais fraco vs. mais forte”. Um 401 é especificamente um desafio de autenticação — a especificação exige que venha com um cabeçalho WWW-Authenticate dizendo ao cliente como autenticar. Um 403 não tem essa exigência; é uma recusa mais ampla que não promete que uma nova autenticação (com as mesmas ou outras credenciais) mudará alguma coisa. A versão simples da MDN: um 403 é “similar to 401, except that … authenticating or re-authenticating makes no difference. The request failure is tied to application logic, such as insufficient permissions.” (tradução) «semelhante a 401, exceto que autenticar ou autenticar novamente não faz diferença. A falha está ligada à lógica da aplicação, como permissões insuficientes.» Evidence for this claim A 403 response means the server understood the request but refuses to fulfill it, and authenticating does not necessarily make a difference. Scope: RFC 9110 defines the protocol semantics; it does not identify the application, firewall, or policy responsible for a specific response. Confidence: high · Verified: IETF: RFC 9110 §15.5.4 — 403 Forbidden
  • 404 Not Found, por contraste — o caso comum é “não há nada aqui”, embora se aplique a ressalva de ocultação acima.

Essa diferença é parte do motivo pelo qual um 403 ao Googlebot merece uma segunda análise, em vez de ser tratado como rotina. Um 401 para um bot em uma página exclusiva para membros pode estar funcionando — a área exige login. Um 403 para um bot em uma página que deveria ser pública significa que alguma regra considerou o solicitante indesejado — embora, como veremos, ainda seja importante confirmar que a página realmente deveria ser pública antes de chamá-lo de bug.

Como o Google trata um 403 (o resultado se parece com noindex; o mecanismo não)

O Google inclui 403 no restante da família 4xx. Na documentação do Search Central: “Google doesn’t index URLs that return a 4xx status code, and URLs that are already indexed and return a 4xx status code are removed from the index.” (tradução) «O Google não indexa URLs que retornam um código de status 4xx, e URLs já indexadas que retornam um código de status 4xx são removidas do índice.» E: “All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.” (tradução) «Todos os erros 4xx, exceto 429, são tratados da mesma forma: os rastreadores do Google informam ao próximo sistema de processamento que o conteúdo não existe.» O Google também observa que a frequência de rastreamento de uma URL conhecida diminui gradualmente quanto mais tempo ela continua retornando 4xx — um efeito por URL, separado da taxa de rastreamento do site como um todo. Evidence for this claim Google does not index 4xx URLs and removes already-indexed 4xx URLs over time. Scope: Google's crawler documentation supports the indexing outcome for persistent 403 responses, not the article's analogy to noindex. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers

Assim, o resultado se parece com noindex: a página não entra no índice e, se já estiver lá, cai com o tempo. Mas o mecanismo é genuinamente diferente: uma tag noindex precisa ser buscada e extraída do HTML da página para surtir efeito, enquanto um 403 impede o Google de ler qualquer conteúdo — não há página para processar. São dois caminhos diferentes que convergem no mesmo resultado de não aparecer na Busca. Por isso, no meu guia de códigos de status HTTP, descrevo 403 simplesmente como “the client is known but doesn’t have access rights” (tradução) «o cliente é conhecido, mas não tem direitos de acesso», e observo que 4xx fazem páginas saírem do índice — embora “conhecido” ali seja um resumo do relatório do Google, não uma afirmação de que todo 403 envolve um solicitante autenticado.

Por que um 403 ao Googlebot merece investigação (não é sempre um erro)

Esta seção se apoia no documento de ajuda de indexação de páginas do Google: “HTTP 403 means that the user agent provided credentials, but was not granted access. However, Googlebot never provides credentials, so your server is returning this error incorrectly. The page will not be indexed.” (tradução) «HTTP 403 significa que o user agent forneceu credenciais, mas não recebeu acesso. No entanto, o Googlebot nunca fornece credenciais, então seu servidor está retornando este erro incorretamente. A página não será indexada.» Leia isso no contexto: é uma orientação específica do relatório sobre uma página que o Search Console presume que você quer indexar, não uma afirmação universal de que todo 403 ao Googlebot é bug. O Googlebot não se autentica, portanto um 403 formulado estritamente como “suas credenciais não são suficientes” não se aplica muito a ele — mas muitos 403 não têm relação com credenciais, e um servidor pode decidir legitimamente que o Googlebot (ou qualquer outra pessoa) não terá um recurso, ponto final.

Antes de correr atrás de uma correção: esta é uma página que você realmente quer tornar pública e indexar? Se é staging, área administrativa, paywall ou qualquer coisa protegida, um 403 ao Googlebot está correto e não há nada a corrigir (mais sobre isso em “Quando um 403 está correto”, abaixo). Se é uma página que deveria ser pública, então provavelmente uma regra foi acionada contra o solicitante errado — um WAF marcou o rastreador como bot a bloquear, um bloqueio de faixa de IP atingiu as faixas do Google ou o padrão paranoico de um plugin de segurança —, mas não tenho dados confiáveis sobre a frequência de cada causa; trate a lista abaixo como candidatos a verificar, não como diagnóstico. Para uma página que deveria ser pública, a orientação do Google é permitir usuários não conectados ou liberar explicitamente o Googlebot sem autenticação (depois de verificar sua identidade).

403 não tem efeito sobre a taxa de rastreamento — não o use para limitar

Às vezes as pessoas recorrem a 403 (ou 404) para fazer o Googlebot recuar diante de um servidor sobrecarregado. Não faça isso. O Google é explícito: “Don’t use 401 and 403 status codes for limiting the crawl rate. The 4xx status codes, except 429, have no effect on crawl rate.” (tradução) «Não use códigos de status 401 e 403 para limitar a taxa de rastreamento. Os códigos de status 4xx, exceto 429, não têm efeito sobre a taxa de rastreamento.» É importante ser preciso quanto ao escopo: o Google também diz que a frequência de rastreamento de uma URL conhecida diminui gradualmente quanto mais tempo ela retorna 4xx — isso reduz o interesse por aquela URL, não limita a taxa de rastreamento do site inteiro. Se você precisa da segunda coisa, 403 não faz isso.

Gary Illyes escreveu uma publicação inteira sobre isso (Don’t 404 my yum): “All 4xx HTTP status codes (again, except 429) will cause your content to be removed from Google Search.” (tradução) «Todos os códigos de status HTTP 4xx (novamente, exceto 429) farão seu conteúdo ser removido da Pesquisa Google.» A alavanca de emergência correta é um 500, 503 ou 429 retornado por uma janela curta (horas, não dias) — e nem isso é passe livre: o Google alerta que respostas 5xx persistentes por vários dias também podem fazer páginas saírem do índice, então escopo e duração importam, não apenas o código escolhido. A reportagem de Barry Schwartz sobre um incidente anterior registrou o risco: sites “lost load[s] of their pages from our index because they were serving them with a 403 status code instead of a 503.” (tradução) «perderam muitas páginas do índice porque as serviam com um código 403 em vez de 503.» 503 é entendido como temporário; 403 faz você sair do índice.

A armadilha do robots.txt: um 403 no robots.txt é permissivo, não restritivo

Esta é uma distinção que quase todo artigo concorrente ignora, e ela inverte a intuição. Um 403 em uma página é um bloqueio rígido. Mas um 403 no seu próprio arquivo robots.txt é tratado de forma oposta. Na especificação robots.txt do Google: “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (tradução) «Os rastreadores do Google tratam todos os erros 4xx, exceto 429, como se um arquivo robots.txt válido não existisse. Isso significa que o Google presume que não há restrições de rastreamento.»

Evidence for this claim A 403 on `/robots.txt` is handled differently from a 403 on a page: Google treats a non-429 4xx robots response as if no valid robots file exists and assumes no restrictions from that file. Scope: robots.txt fetch only Confidence: high · Verified: How Google interprets the robots.txt specification

Assim, se seu firewall começar a retornar 403 para robots.txt, o Google conclui que você não tem regras e rastreia livremente — inclusive caminhos que você pretendia proibir. Na versão colorida de Illyes: se você tinha uma regra proibindo sua “roupa suja”, agora o Googlebot também sabe dela. Não confunda “meu robots.txt retornou 403” (o Google agora ignora suas regras) com “minhas páginas retornaram 403” (essas URLs saem do índice). Os efeitos são opostos, e diagnosticar o caso errado faz você corrigir a coisa errada.

Como o Bing trata 403

Sinceramente, a documentação pública do Bing sobre 403 especificamente é mais limitada que a do Google, então vou manter o escopo estreito em vez de preencher espaço. O Bingbot é negado pelos mesmos mecanismos que o Googlebot — regras de robots.txt, bloqueios de IP/user-agent no servidor e regras de WAF/firewall. O Bing Webmaster Tools mostra erros de rastreamento em seus alertas de erro de rastreamento. A conclusão prática é a mesma nos dois mecanismos: permita a passagem do rastreador verificado pela camada de segurança e confirme o bot pelas faixas de IP publicadas e pelo DNS reverso, em vez de confiar em uma string de user-agent. Trate o Bing como um lembrete de que “corrigir o Googlebot” não significa automaticamente “corrigir todos os bots” — verifique as ferramentas dos dois mecanismos depois de uma mudança no WAF.

Causas comuns (não classificadas — não tenho dados de prevalência entre sites)

Proteção de bots na CDN/WAF — a causa mais negligenciada no conteúdo de SEO existente. É por onde eu começaria a verificar em 2026, embora não possa dizer com que frequência é a causa real em comparação com as demais. O Bot Fight Mode e o Super Bot Fight Mode da Cloudflare, as regras gerenciadas do WAF e regras personalizadas de firewall retornam 403 ao Googlebot e ao Bingbot como dano colateral com frequência. A pista: o bloqueio ocorre na edge, então seu servidor de origem e CMS parecem totalmente limpos enquanto o GSC continua mostrando 403. Verifique os Security Events no painel da CDN em busca do rastreador sendo desafiado ou bloqueado.

2. Bloqueios de IP ou user-agent no servidor/hospedagem. Algumas hospedagens bloqueiam por user-agent ou limitam a taxa por padrão, e bloqueios de faixas de IP destinados a tráfego abusivo podem atingir faixas de rastreadores.

3. Configuração incorreta de robots.txt/.htaccess. Um Deny from perdido ou uma regra de reescrita quebrada pode proibir um diretório inteiro. (E lembre-se da armadilha do robots.txt acima.)

4. Plugins de segurança. Wordfence, iThemes Security e ferramentas semelhantes vêm com padrões agressivos de bloqueio de bots que podem capturar rastreadores legítimos.

5. Barreiras de login/conteúdo autenticado. Qualquer coisa protegida por autenticação retorna 403 ao bot por projeto — o Googlebot nunca faz login. Muitas vezes este caso é intencional (veja a última seção).

6. Erros de permissão de arquivos/diretórios. A causa clássica para administradores de servidor. No WordPress, o Rank Math documenta valores adequados — diretórios 755/750, arquivos 644/640, wp-config.php 400/440 — e “regenerate .htaccess” nas configurações de Links permanentes como uma correção comum.

7. Malware/site comprometido injetando regras de acesso ruins e 8. bloqueio geográfico que captura inadvertidamente a faixa de IP de um rastreador.

Diagnosticando um 403 — isole qual camada o está emitindo

A maioria dos guias pula direto para “desative seus plugins”. A habilidade real é descobrir qual camada está recusando a solicitação — e um código de status 403 isolado não informa isso; você precisa de cabeçalhos de resposta, logs ou um evento de segurança que aponte de fato para CDN, WAF, aplicação, hospedagem, permissões, geografia ou cache antes de nomear um culpado. Não salte para “provavelmente é o WAF” sem evidência. Veja como a correção muda conforme a camada:

  1. GSC Page Indexing → “Blocked due to access forbidden (403)” para ver as URLs afetadas, depois URL Inspection → Test Live URL para a resposta ao vivo atual.
  2. Reproduza com curl, trocando user agents, para confirmar o status que o servidor realmente retorna:
    # As a generic client
    curl -I https://example.com/page/
    # Spoofing Googlebot's UA (tests UA-based rules)
    curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/page/
    Se um navegador normal recebe 200, mas o user agent do Googlebot recebe 403, você encontrou uma regra de user-agent.
  3. Verifique o status do próprio robots.txt (ele está retornando 403? É outro problema — veja acima).
  4. Revise os Security Events da CDN/WAF em busca do rastreador sendo desafiado ou bloqueado.
  5. Confirme que o rastreador é realmente o Googlebot por DNS reverso + direto, não pela string de UA (que é trivialmente falsificável).
  6. Isole desativando em etapas — uma regra de WAF ou plugin por vez — até o 403 desaparecer.

Corrigindo — permita bots da forma correta

A correção tentadora é permitir a string de user-agent do Googlebot. Não pare aí — strings de UA são trivialmente falsificáveis, então permitir apenas por UA é uma falha de segurança que deixa qualquer scraper que se declare Googlebot entrar. Verifique corretamente:

  • Confirme bots por DNS reverso + DNS direto ou pelas faixas de IP publicadas pelo Google/Bing.
  • A maioria das CDNs/WAFs oferece uma categoria de “verified bots” que faz essa validação por você — prefira-a a uma regra bruta de permissão por UA.
  • Corrija a regra específica (uma regra gerenciada do WAF, uma regra de firewall ou uma configuração de plugin), em vez de desativar a segurança inteira.
  • Depois use Validate Fix no relatório Page Indexing do GSC e, se for urgente, solicite a reindexação pela inspeção de URL.

Quando um 403 está correto — não “corrija” estes casos

Nem todo 403 é um bug. Um 403 é correto e intencional para sites de staging, áreas administrativas, seções privadas de membros e conteúdo pago/protegido que você nunca quis indexar. Em uma auditoria do Ahrefs ou Screaming Frog, um 403 nesses casos não é um problema — a correção só é necessária quando uma página que deveria ser pública e indexável está sendo bloqueada por acidente. Não “resolva” por reflexo todo 403 gerado por uma auditoria; confirme primeiro que a página é uma que você realmente quer no índice.

Para a família mais ampla — como 4xx e 5xx diferem e onde 403 se encaixa — veja meu guia de códigos de status HTTP e seu impacto no SEO e os aprofundamentos irmãos de 401 Não Autorizado e 404 Não Encontrado neste cluster.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

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