Pular para o conteúdo principal

Slugs e URLs

O Starlight identifica suas entidades utilizando identificadores únicos conhecidos como Slugs. Slugs são fundamentais pois servem como uma referência única para entradas, modelos, categorias, singletons, dentre outros. Nessa seção, explicaremos o que eles são e como utilizá-los, mas se você já for familiar com o conceito, fique a vontade para pular essa página.

Imagine que estamos acessando um blog de tecnologia renomado, com vários anos de conteúdo publicado. Ao pesquisarmos por postagens com as palavras "melhor celular", encontramos cinco com o exato mesmo título, Os melhores celulares do ano, onde uma foi publicada em 2018, outra em 2019, outra em 2020, e por aí vai. Quando clicarmos em alguma dessas postagens, como o Starlight vai saber qual delas nós queremos ler, se todas tem o mesmo nome?

O Starlight resolve esse problema utilizando slugs, que é apenas outro nome para um identificador. Um slug é uma sequência de texto que identifica um conteúdo no Starlight, da mesma maneira como seu CPF identifica quem você é para empresas ou órgãos governamentais. E assim como CPFs, todo slug é único, ou seja, não podemos criar dois conteúdos com o mesmo slug no Starlight.

Por exemplo, o slug da postagem Os melhores celulares do ano publicada no ano de 2023 pode ser algo parecido com os-melhores-celulares-do-ano-2023. Usando esse slug, é possível diferenciar essa postagem das outras já que cada uma terá um ano diferente no final da sequência.

E como informamos o slug do conteúdo que queremos visualizar para o Starlight? Geralmente, slugs são utilizados no endereço das páginas que acessamos na internet, e vamos explicar como isso funciona mais a frente. Mas, antes, vamos detalhar melhor como slugs funcionam?

Slugs

Um slug é uma sequência de caracteres que identifica um conteúdo no Starlight. Quando criamos uma entrada, por exemplo, nós precisamos lhe dar um slug.

Na hora de criar slugs, você precisa seguir as seguintes regras:

  • Slugs precisam ter ao menos 1 caractere;
  • Os caracteres válidos são letras de A a Z (tanto maiúsculas quanto minúsculas), hífens (-) e sublinhados (_);
  • Slugs não podem se repetir entre conteúdos do mesmo tipo (mais detalhes abaixo).

Por exemplo, ao criar uma postagem de blog com o título Melhores celulares com 20% de cashback, nós poderíamos usar o slug melhores-celulares-com-20-por-cento-de-cashback, mas não melhores-celulares-com-20%-de-cashback, já que o símbolo de porcentagem (%) não é um caractere válido.

Note que, como espaços em branco também não são caracteres válidos, nós utilizamos hífens (-) para separar as palavras no nosso slug. Também é possível utilizar sublinhados (_) para o mesmo efeito, mas hífens são os símbolos mais comumente utilizados para essa finalidade.

De onde vem a palavra "slug"?

Esse termo é utilizado há décadas por jornais e revistas. Jornalistas e pessoas do editorial usam siglas ou algumas poucas palavras para se referirem de forma rápida a artigos ou notícias que ainda estão em produção e não foram publicados. Essas siglas e palavras são chamadas de slugs. Esse artigo (em inglês) do The New York Times explica a história por trás do termo.

Slugs são obrigatórios

Praticamente todo tipo de conteúdo dentro do Starlight precisa de um slug, como entradas, modelos, categorias, singletons, coleções, e por aí vai. Até mesmo organizações e áreas de trabalho tem slugs, apesar de não serem exatamente um tipo de conteúdo.

Slugs precisam ser únicos

Assim como números de CPF ou carteira de identidade, slugs precisam ser únicos, ou seja, não podem se repetir. Isso quer dizer que não é possível criar, por exemplo, dois modelos com o mesmo slug.

Porém, um detalhe importante é que slugs só precisam ser únicos dentre conteúdos do mesmo tipo. Ou seja, apesar de nós não podermos criar duas entradas de um mesmo modelo com o mesmo slug, nós podemos criar duas (ou mais) entradas com o mesmo slug caso cada entrada pertença a um modelo diferente.

Essa regra também vale para outros tipos de conteúdo: uma área de trabalho não pode conter dois singletons com o mesmo slug, mas é possível ter dois singletons com o mesmo slug caso eles façam parte de áreas de trabalho diferente. O mesmo vale para categorias, coleções, formulários, etc.

URLs

https://blog-ficticio.com.br/os-melhores-celulares-android-do-ano-2023
Exemplo de um URL de um blog fictício, com suas várias partes.

Você provavelmente já sabe o que é um URL, mesmo que não o conheça por esse nome: é o endereço de uma página na internet, como no exemplo acima. Nele, vemos que um URL é composto por várias partes, como o protocolo 1, o domínio 2, o slug 3, e várias outras informações que podem aparecer em alguns casos, mas decidimos não mostrar aqui para simplificar a explicação. Quando você tenta acessar essa página, seu navegador processa todas essas informações e retorna a página que está nesse endereço.

A estrutura de um URL pode variar de site para site, mas algo universal na internet é o uso de slugs para identificar páginas específicas de um site. No exemplo acima, o slug da nossa página é os-melhores-celulares-do-ano-2023. Com essa informação, o Starlight sabe exatamente qual conteúdo deve ser exibido quando você tenta acessar essa página.

Dependendo do site, os URLs das suas páginas podem conter nenhum, um, ou até mesmo mais de um slug. Por exemplo, vamos dar uma olhada no URL da página atual, que você está lendo agora:

https://knowledge.starlight.sh/guia/desenvolvimento/conhecendo-o-starlight/slugs-e-urls
Esse é o URL da página atual, assim como aparece na barra de endereço do seu navegador.

Aqui, ao invés de apenas um, nós podemos ver quatro slugs. O primeiro (guia 1) indica a seção do nosso site, o segundo (desenvolvimento 2) indica o guia atual, o terceiro (conhecendo-o-starlight 3) indica a seção do guia e o quarto (slugs-e-urls 4) indica a página do guia. Dentro do Starlight, cada um desses slugs identifica um conteúdo diferente, como um modelo, uma entrada ou uma categoria, e o Starlight usa todas essas informações para identificar o conteúdo que você quer ver.

Mas por que razão é importante saber o que são URLs? Porque bons URLs são importantes para um melhor posicionamento em resultados de busca em sites de pesquisa, e aprender a criar bons slugs é essencial para isso. A seção abaixo, sobre SEO, vai explicar melhor sua importância.

SEO

SEO (Search Engine Optimization, ou Otimização para Mecanismos de Busca) é um termo utilizado para todas as estratégias de marketing usadas para melhorar o posicionamento de páginas nos resultados de busca em sites como o Google e o Bing.

Uma dessas estratégias é a de criar URLs que sejam simples, mas que contenham palavras-chave relevantes ao conteúdo da página. Assim, motores de busca como o Google podem mostrar suas páginas em posições melhores nas pesquisas pela simples razão de ser fácil ter uma ideia dos seus conteúdos apenas lendo seus URLs.

Sendo assim, ao criar slugs para seus conteúdos no Starlight, o ideal é sempre ter em mente as melhores práticas de SEO. Existem milhares de conteúdos gratuitos para aprender a criar ótimos URLs e slugs na internet e, se quiser uma sugestão, você pode começar lendo essa página sobre URLs e slugs no blog da Semrush.

SEO é um campo amplo do marketing digital, e se você quiser saber mais sobre como essas estratégias podem aumentar o fluxo de usuários nos seus sites, dê uma olhada nesse guia de SEO no Resultados Digitais.

Slugs automáticos

Na maioria dos casos, o Starlight cria slugs para você automaticamente quando você preenche o campo de título do conteúdo que você está criando. Slugs automáticos são úteis para que você não tenha o trabalho de escrever um slug manualmente toda vez que criar um novo conteúdo.

Slugs gerados automaticamente seguem as seguintes regras:

  • Caracteres inválidos (como %, $ ou &) são removidos;
  • Letras maiúsculas são substituídas por minúsculas;
  • Espaços em branco são transformados em hífens (-).

Em geral, os slugs gerados automaticamente são bons o suficiente para serem usados sem alterações, mas é possível que você queira escrever um slug manualmente para melhorar suas palavras-chave. Para fazer isso, clique no campo de slug do conteúdo e edite-o como qualquer outro campo. Ao editar o slug manualmente, o Starlight entende que você não quer mais usar o slug automático, e o campo de slug não será mais alterado automaticamente quando você editar o campo de título.

Alterando slugs

Depois de publicado, é recomendável que não se altere o slug de um conteúdo. Essa recomendação se deve ao fato de que, ao alterar o slug de um conteúdo, seu URL também é alterado e você arrisca perder sua posição nas páginas de pesquisa.

Ainda assim, existem ocasiões em que a alteração de um slug pode ser necessária, e o Starlight permite que você altere slugs a qualquer momento. Nesse caso, recomendamos que se crie regras de redirecionamento no servidor do seu site para direcionar tráfego do URL antigo para o novo.