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.

Princípio básico do Google: “Crie URLs simples e significativas, que reflitam o conteúdo da página.” Se o endereço é difícil de ler em voz alta e de lembrar, ele é complexo demais.

URLs em números

Estável

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.

3

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

2.048

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

1

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:

text
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)
Comparação das opções:
ComponenteExemploSignificado para o SEO
esquemahttps://HTTPS é obrigatório desde 2018: é fator de ranqueamento e requisito de indexação no Chrome
subdomíniowww, blog, shopOs mecanismos de busca tratam subdomínios como sites separados. O www é um caso particular de subdomínio
hostexample.comDomí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=priceParâ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.

Sinal 1Relevância temática

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.

Sinal 2CTR na busca

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.

Sinal 3Orçamento de rastreamento

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.

Sinal 4Confiança do usuário

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 token url_structure para 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, a do 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.
O erro mais comum é usar caracteres cirílicos em URLs de projetos multilíngues. O navegador mostra o nome da seção em cirílico, mas, ao copiar a URL para o Telegram ou o Slack, ou colá-la em um e-mail, ela vira /%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.

ProfundidadeExemplo de URLQuando 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.

Estrutura plana ou hierárquica: um debate comum. A plana (/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:

text
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
# 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
# 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.

javascript
// 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
# 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áginaModelo de URLExemplo
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/
Nada de datas nas URLs do blog. /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:

AbordagemExemploQuando escolher
ccTLDs separadosexample.de, example.frGrandes marcas internacionais com equipes locais. Caro, mas maximiza os sinais geográficos
Subdomíniosde.example.com, fr.example.comEmpresas 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
Subpastasexample.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/.

Idioma padrão, sem prefixo. Se o idioma principal é o russo, não use /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=12384 ou /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.
Exemplo de código:
bash
# 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 redirects
Antes de uma mudança de URLs em massa, faça sempre um backup e prepare uma tabela old_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?
O Google não publica o comprimento da URL como fórmula de ranqueamento. Use um endereço estável e legível, que combine com o público e a plataforma. Evite mudar uma URL que funciona só para atingir uma meta de tamanho.
Hífen ou sublinhado no slug?
Só o hífen. O Google recomenda explicitamente hífens e lê 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?
Em 2026, não. URLs com datas (/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?
Se o site atende só um público local (Rússia, Bielorrússia, Ucrânia), deixe como está. Se você tem tráfego internacional ou usa Telegram e outros mensageiros para divulgar, mude para a transliteração com redirecionamentos 301. Caracteres cirílicos nas URLs quebram a cópia, aparecem mal nos snippets da busca internacional e reduzem o CTR.
Dá para mudar URLs sem perdas no SEO?
Sem nenhuma perda, não. Dá para minimizar as perdas: configure 301 das URLs antigas para as novas, atualize todos os links internos, envie um sitemap atualizado no GSC e atualize os pares de hreflang. Depois disso, o Google reavalia a página por 4–8 semanas. Nesse intervalo, pode haver uma queda temporária de 10–30% nas posições.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it