Estrutura de URLs: princípios para URLs amigáveis ao SEO
Como criar URLs estáveis e rastreáveis, padronizar variantes e tratar mudanças como migrações, em vez de achar que um slug cheio de palavras-chave vai ranquear.
O que é estrutura de URL
Estrutura de URL é o conjunto de regras que define como os endereços das páginas de um site são formados: tamanho, hierarquia de pastas, formato do slug, uso de parâmetros e protocolo. Uma boa estrutura é legível para as pessoas, compreensível para o rastreador e continua igual por anos. Uma ruim gera duplicatas, atrapalha a indexação e obriga a reescrever redirecionamentos toda vez que a estratégia de marketing muda.
A URL é um dos poucos sinais de SEO que o Google declara abertamente como fator de ranqueamento há mais de quinze anos. Não é o fator mais forte, mas é um dos mais baratos: você configura uma vez, durante o desenvolvimento, e ele funciona por anos sem edições. Erros nesse nível dão trabalho para corrigir. Cada URL alterada exige um redirecionamento 301 e uma nova avaliação pelo mecanismo de busca.
URLs em números
Endereço legível
Use uma URL que combine com o público, a plataforma e a finalidade duradoura da página, em vez de seguir uma meta de tamanho.
Níveis de pasta
Máximo para páginas de categoria: site.com/categoria/subcategoria/página. Além disso, o rastreamento perde eficiência
Limite dos navegadores
Limite técnico de tamanho de URL no Chrome, Safari e Firefox. Na prática, URLs com mais de 500 caracteres quase sempre são erro de geração
Versão canônica
A página deve ter um único endereço acessível. Todas as variantes (http, www, barra final) devem redirecionar com 301 para a principal
Anatomia de uma URL: sete partes
Antes de montar a estrutura, veja do que a URL é feita. A RFC 3986 descreve sete componentes; no contexto de SEO, todos importam, exceto user-info e fragment:
https://www.example.com:443/blog/seo/url-structure/?utm=email#summary
│ │ │ │ │ │ │
│ │ │ │ │ │ └─ fragment (anchor)
│ │ │ │ │ └────────────── query (GET parameters)
│ │ │ │ └─────────────────────────────────────── path
│ │ │ └─────────────────────────────────────────── port (usually hidden)
│ │ └──────────────────────────────────────────────────────── host (domain)
│ └──────────────────────────────────────────────────────────── subdomain
└─────────────────────────────────────────────────────────────── scheme (protocol)| Componente | Exemplo | Significado para o SEO |
|---|---|---|
| esquema | https:// | HTTPS é obrigatório desde 2018: é fator de ranqueamento e requisito de indexação no Chrome |
| subdomínio | www, blog, shop | Os mecanismos de busca tratam subdomínios como sites separados. O www é um caso particular de subdomínio |
| host | example.com | Domínio raiz. Precisa ser estável: trocar de domínio equivale a uma migração cara |
| porta | :443 (HTTPS), :80 (HTTP) | Normalmente oculta. Portas não padrão explícitas nas URLs quase sempre indicam erro de configuração |
| caminho | /blog/seo/url-structure/ | A parte mais importante para o SEO. Contém palavras-chave e reflete a hierarquia do site |
| query | ?utm=email&sort=price | Parâmetros GET. São perigosos para a indexação, porque criam duplicatas. São controlados pela tag canonical |
| fragmento | #summary | Âncora dentro da página. Os mecanismos de busca ignoram. Faz parte da renderização no cliente |
Por que a URL importa para o SEO
As URLs influenciam o ranqueamento de forma direta e indireta. A contribuição direta é pequena: o Google já confirmou várias vezes que a palavra-chave na URL dá apenas um impulso “pequeno”. O impacto indireto é bem maior. A URL influencia a taxa de cliques do snippet, a confiança do usuário e a previsibilidade para o rastreador.
Palavras na URL são um sinal de relevância fraco, mas real. O caminho /blog/seo/url-structure/ informa ao mecanismo de busca e ao usuário o tema da página antes mesmo de o conteúdo carregar.
Uma URL legível ajuda a pessoa a reconhecer o destino, mas um único padrão de URL não gera aumento geral de CTR.
Uma estrutura de URL limpa, sem parâmetros infinitos, economiza orçamento de rastreamento. O mecanismo de busca não desperdiça requisições com variantes da mesma página que diferem apenas por UTM.
As URLs aparecem nos resultados de busca, na barra de endereços e quando são copiadas. Endereços claros reduzem o receio de clicar no link errado e aumentam o tráfego de indicação vindo de redes sociais e mensageiros, onde os snippets são limitados.
Esses sinais se somam. Cada um é fraco sozinho, mas juntos as URLs viram uma vantagem silenciosa e constante, especialmente na cauda longa, onde cada ponto percentual de CTR faz diferença.
Nove regras de uma boa URL
As recomendações do Google sobre URLs quase não mudaram em quinze anos. As nove regras abaixo reúnem documentação oficial e pesquisas da Backlinko, da Ahrefs e da Moz. Elas valem para qualquer stack, do WordPress ao Next.js.
- Use caracteres latinos (a não ser que seu público seja só local). Caracteres cirílicos tecnicamente funcionam via punycode, mas copiam mal em mensageiros, quebram na impressão e reduzem o CTR em resultados internacionais.
/blog/url-structure/é melhor que a mesma URL com caracteres cirílicos. - Separe palavras com hífens, não com sublinhados. O Google recomenda explicitamente hífens. Sublinhados
_juntam palavras na análise:url_structureé um único tokenurl_structurepara o bot, não duas palavras. - Apenas minúsculas. URLs são tecnicamente sensíveis a maiúsculas (em servidores UNIX).
/Page/e/page/são dois endereços diferentes, o que gera duplicatas. Force minúsculas no nível do servidor. - Tamanho: mais curta do que parece necessário. O ideal é de 50–75 caracteres. Se a URL é maior, geralmente há palavras extras no slug ou categorias redundantes.
- Profundidade de pastas: no máximo três níveis.
/category/subcategory/page/é o teto para a maioria dos sites. O rastreador chega às páginas mais profundas com menos frequência, e o usuário tem dificuldade para navegar. - Sem stop words. Remova
and,or,the,ado slug:/how-to-fix-error/é melhor que/how-to-fix-an-error-in-the-code/. Stop words não ajudam nem o ranqueamento nem a leitura. - Palavra-chave: uma vez, e logo no começo. Não repita a palavra-chave duas vezes (
/seo/seo-guide/). Coloque-a o mais perto possível do domínio: quanto mais próxima da raiz, maior o peso. - Sem IDs nem hashes no slug.
/article-12384/ou/post-a3f9b2c8/não dizem nada para as pessoas e não acrescentam semântica. Use slugs descritivos que expliquem o tema. - A URL não deve mudar. Um endereço publicado é um compromisso. Qualquer mudança exige um redirecionamento 301 e perde parte da autoridade. Pense na estrutura desde o início.
/%D0%B1%D0%BB%D0%BE%D0%B3/. Ninguém clica nisso. Use transliteração mesmo na versão russa do site.Profundidade e hierarquia de pastas
A estrutura de pastas na URL não é só estética: é um mapa do site para o rastreador e para o usuário. A profundidade de clique (quantos cliques separam a página inicial da página) se relaciona com a frequência com que o Google rastreia a página de novo e com a rapidez com que ele encontra conteúdo novo.
| Profundidade | Exemplo de URL | Quando usar |
|---|---|---|
| 1 nível | /about/, /contacts/ | Páginas raiz: início, sobre, contatos. Prioridade máxima de rastreamento |
| 2 níveis | /blog/url-structure/ | Padrão para blog, serviços e categorias básicas. Ideal para a maioria dos sites |
| 3 níveis | /shop/laptops/macbook-pro-14/ | Categoria → subcategoria → produto. Aprofunde só quando for objetivamente necessário |
| 4+ níveis | /shop/electronics/laptops/apple/macbook-pro-14/ | Antipadrão na maioria dos casos. Use uma hierarquia plana no lugar |
Profundidade de URL não é a mesma coisa que profundidade de clique. Uma página pode estar fisicamente em /shop/laptops/macbook-pro-14/ e ainda assim estar a um clique da página inicial, graças a uma linkagem interna forte. O mecanismo de busca considera os dois sinais: o caminho da URL e a distância real no grafo de links.
/url-structure/) é mais simples para sites pequenos. A hierárquica (/blog/seo/url-structure/) é melhor para sites grandes, em que as categorias ajudam a análise e a filtragem no Google Search Console (GSC). O essencial é escolher uma abordagem e não misturar as duas.www, HTTPS, barra final e maiúsculas
Quatro configurações técnicas geram a maioria das duplicatas. Cada uma se resolve uma vez, no servidor, mas, se você ignorar, o mecanismo de busca enxerga até oito versões da mesma página:
http://example.com/page
http://example.com/page/
https://example.com/page
https://example.com/page/
http://www.example.com/page
http://www.example.com/page/
https://www.example.com/page
https://www.example.com/page/HTTPS
Obrigatório desde 2018: o Chrome marca sites HTTP como “não seguros”, e o Google usa o HTTPS como um sinal fraco de ranqueamento. A configuração é um único redirecionamento no nginx ou no Apache:
# nginx — 301 from HTTP to HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}www ou sem www
Tecnicamente equivalentes. No DNS, o www é um subdomínio, mas o Google e o Yandex o tratam como um alias quando há um 301 configurado. Sem o www, o endereço fica um pouco mais curto e moderno; com o www, é mais prático para cookies, porque dá para separá-los por subdomínio. A regra essencial: escolha uma variante e redirecione todo o tráfego para ela com 301.
# nginx — 301 from www to non-www
server {
listen 443 ssl;
server_name www.example.com;
return 301 https://example.com$request_uri;
}Barra final
A barra final (/page/ vs /page) gera dois endereços diferentes para o servidor. A convenção: diretórios terminam com /, arquivos não. Em sites modernos, cada página é tratada como um diretório, então vale manter uma única estratégia, sempre com barra final ou sempre sem. Next.js e WordPress usam barra final por padrão.
// next.config.ts — enforced trailing slash
const nextConfig = {
trailingSlash: true, // /blog/page/ instead of /blog/page
};
export default nextConfig;Maiúsculas e minúsculas
URLs diferenciam maiúsculas de minúsculas na maioria dos servidores (Linux/UNIX). /Page/ e /page/ são duas URLs, ou seja, duas duplicatas. Force o caminho inteiro para minúsculas no proxy reverso ou na aplicação:
# nginx — redirect URLs to lowercase (Lua module)
location ~ [A-Z] {
rewrite ^/(.*)$ /$1 last;
set_by_lua_block $lower_uri {
return ngx.var.uri:lower()
}
return 301 $lower_uri;
}Modelos de URL por tipo de página
Tipos de conteúdo diferentes pedem modelos de URL diferentes. Abaixo estão padrões testados para seis tipos de página que aparecem em 90% dos sites.
| Tipo de página | Modelo de URL | Exemplo |
|---|---|---|
| Página inicial | / | https://example.com/ |
| Artigo do blog | /blog/{slug}/ | /blog/url-structure/ |
| Categoria do blog | /blog/{category}/ | /blog/technical-seo/ |
| Serviço | /services/{slug}/ | /services/seo-audit/ |
| Produto | /shop/{category}/{slug}/ | /shop/laptops/macbook-pro-14/ |
| Glossário | /glossary/{term}/ | /glossary/canonical-url/ |
| Landing page local | /{city}/{service}/ | /london/seo/ |
| Documentação | /docs/{section}/{page}/ | /docs/api/authentication/ |
/blog/2024/05/url-structure/ envelhece: em 2026, o artigo parece antigo mesmo sem mudanças. A abordagem atual é usar um slug sem data e manter o conteúdo atualizado com revisões e com o campo <meta dateModified>.No e-commerce, o assunto é outro. Uma página de produto pode seguir dois esquemas: /shop/category/product/ (com categoria) ou /shop/product/ (plano). O primeiro é melhor para o SEO de categoria, porque a URL indica a qual categoria o produto pertence. O segundo facilita mover produtos entre categorias sem redirecionamentos. A escolha depende de com que frequência os produtos mudam de categoria.
Localização e URLs multilíngues
Em sites multilíngues, as URLs são a primeira parte da estratégia. O Google recomenda três abordagens, cada uma com vantagens e desvantagens:
| Abordagem | Exemplo | Quando escolher |
|---|---|---|
| ccTLDs separados | example.de, example.fr | Grandes marcas internacionais com equipes locais. Caro, mas maximiza os sinais geográficos |
| Subdomínios | de.example.com, fr.example.com | Empresas de médio porte. O mecanismo de busca trata cada subdomínio como uma entidade separada, então é preciso construir a autoridade de links de cada um separadamente |
| Subpastas | example.com/de/, example.com/fr/ | Ideal para a maioria. A autoridade do domínio inteiro funciona para todos os idiomas. É a opção mais barata de manter |
Subpastas vencem em 80% dos casos. São mais fáceis de gerenciar, mais baratas em SSL e hospedagem, e toda a autoridade de link se soma em um único domínio. É exatamente a abordagem que o seohead.tech usa: o idioma principal fica na raiz e o segundo, em /en/.
/ru/. Mantenha example.com/blog/ para o público principal e example.com/en/blog/ para o segundo. Fica mais curto, mais familiar e evita pares duplicados como example.com/ ↔ example.com/ru/.Slugs em URLs localizadas são um tema polêmico. Traduzir o slug (/en/url-structure/ ↔ /struktura-url/) dá um CTR melhor em cada idioma e sinaliza a relevância com mais precisão. A desvantagem: é mais difícil de manter, e é preciso gerenciar o hreflang e os redirecionamentos quando as traduções mudam. Na maioria dos projetos, o meio-termo é traduzir só os slugs do blog e manter um único slug para as páginas técnicas.
Erros comuns e como corrigi-los
Oito erros de URL que mais aparecem em auditorias de SEO. Cada um pode ser corrigido em uma sprint. O custo de não fazer nada é a perda gradual de posições e de orçamento de rastreamento.
- Duplicação por parâmetros GET. Tags UTM, ordenações e filtros criam centenas de variantes de uma mesma página. Correção:
rel="[canonical](/glossary/canonical)"apontando para a URL principal, e a ferramenta URL Parameters no Google Search Console. - Barra final misturada. Algumas páginas com
/no fim, outras sem. O mecanismo de busca enxerga duplicatas. Correção: uma única convenção e 301 de todas as variantes que não seguirem o padrão. - Caracteres cirílicos em URLs de um projeto global. Um slug que significa «serviços» em russo, escrito em cirílico, vira
/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8/. Correção: transliteração (/uslugi/). - Hierarquia profunda demais.
/shop/electronics/computers/laptops/apple/macbook-pro/tem seis níveis. Correção: uma estrutura plana, com as categorias como facetas. - IDs na URL em vez de slug.
/article?id=12384ou/post/12384/. Correção: migrar para URLs semânticas e fazer 301 dos IDs antigos. - Mudar a URL sem 301. Qualquer alteração de endereço sem redirecionamento significa perda de autoridade e de tráfego. Correção: sempre configure um 301 ao renomear.
- Maiúsculas nas URLs.
/Catalog/e/catalog/são duas duplicatas. Correção: forçar minúsculas no servidor. - Cadeias de redirecionamento sem fim. A → B → C → D. Cada salto desperdiça peso. Correção: sempre redirecionar com 301 direto para a URL final.
# Check redirect chains via curl:
curl -sILo /dev/null -w "%{http_code} %{url_effective}\n" \
-L https://example.com/old-page/
# Find URLs with uppercase letters in nginx logs:
grep -E 'GET /[a-z]*[A-Z]' /var/log/nginx/access.log | head
# URL audit via Screaming Frog:
# 1. Run a full site crawl
# 2. Open the URL tab → Underscores / Uppercase / Non ASCII Characters
# 3. Export the list of problematic URLs and plan redirectsold_url → new_url. Qualquer mudança estrutural pode derrubar o tráfego por 4–8 semanas, enquanto o Google reindexa e reavalia as páginas. Não faça isso antes da alta temporada.Perguntas frequentes
Respostas para as dúvidas mais comuns sobre estrutura de URL que surgem em auditorias e reformulações de sites.
Resumo
A estrutura de URLs é uma decisão que você toma uma vez e carrega por anos. Uma boa URL é curta, legível, reflete a hierarquia do conteúdo e se mantém estável ao longo do tempo. Três princípios básicos (minúsculas latinas, hífens no lugar de sublinhados e no máximo três níveis de pasta) resolvem 80% dos erros comuns.
Comece com uma auditoria das URLs atuais. No Screaming Frog, veja os relatórios “Underscores”, “Uppercase” e “Non ASCII Characters”. Em uma hora, você tem um mapa dos problemas. Depois, monte uma tabela old → new, configure os 301 e atualize os links internos. Não se apresse em uma migração em massa antes da alta temporada: o Google leva de 4–8 semanas para reavaliar.
O tamanho da URL afeta o ranqueamento?
Hífen ou sublinhado no slug?
url-structure como duas palavras, url e structure. O sublinhado _ junta as palavras: url_structure é um único token para o bot. Essa é a posição oficial de Matt Cutts desde 2008, e ela não mudou.Devo incluir data nas URLs do blog?
/blog/2024/05/article/) envelhecem visualmente: o artigo parece antigo mesmo depois de atualizado. Prefira um slug limpo, /blog/article/, e mantenha o conteúdo atualizado com <meta dateModified>, revisões de texto e selos “Atualizado em” no cabeçalho do artigo.O que faço se tenho caracteres cirílicos nas URLs?
Dá para mudar URLs sem perdas no SEO?
Check it with SpiderHead
Free and local: run the audit on your own machine.





