Como usar expressões regulares na caixa de ferramentas

Publicados: 2022-04-17
Conteúdo
Conteúdo

O que é uma expressão regular?

Uma expressão regular é usada para verificar ou verificar um padrão. Sua principal aplicação é para filtrar elementos e encontrar correspondências, por exemplo, nos seguintes cenários:

  • Analytics: você pode usar Regex para segmentar o tráfego.
  • Htaccess: você pode reescrever URLs de maneira mais eficiente.
  • SISTRIX: você pode filtrar nossos relatórios contendo URLs, snippets ou palavras-chave.

Expressões regulares –ou Regex– podem ser usadas em muitas linguagens de programação, mas este tutorial será baseado em Perl, pois utiliza o padrão no qual se baseia a funcionalidade SISTRIX Regex já disponível .

Como podemos construir expressões regulares?

Faremos isso usando caracteres, agrupamentos, quantificadores e classes, pois é a sintaxe através da qual poderemos construir expressões.

Sintaxe para criar uma expressão regular
Personagens Comportamento Exemplo
? Procura o caractere anterior 1 ou 0 vezes. https?
* Procura o caractere anterior 0 ou mais vezes. 30*
+ Procura o caractere anterior 1 ou mais vezes. [0-9]+
| Procura um elemento ou outro. (ou) (jpg|jpeg)
^ Indica o início do padrão ^ https
$ Indica o fim do padrão html$
· Procura qualquer personagem (curinga) 4..
\ Não interpreta um caractere especial (ignora caracteres) \/
Opções de agrupamento para expressões regulares
Agrupamento Comportamento Exemplo
() Captura conteúdo específico (sistrix)
Combina com sistrix
[] Captura caracteres dentro dos colchetes [0-9]
Corresponde a qualquer caractere numérico
[az]
Corresponde a qualquer letra minúscula
{} Indica o número de iterações, mínimo ou máximo .{1,3} Corresponde a qualquer caractere repetido entre 1 e 3 vezes.

Neste tutorial não usaremos quantificadores, mas achamos interessante que você se familiarize com eles caso os use em outros ambientes.

Quantificadores em expressões regulares
Quantificadores Comportamento
\W Procura uma palavra, dígito ou tipo de caractere _
\d Procura um caractere de dígito
\s Procura um caractere de espaço em branco
\b Corresponde ao início ou fim de uma palavra
\C Procura um caractere que não seja uma palavra, dígito ou _
\D Procura um caractere que não seja um dígito
\S Procura um caractere que não seja um espaço em branco.

Exemplos de SEO com expressões regulares

Para poder usar os exemplos sugeridos, você precisa ir para a seção 'Palavras-chave' e usar os filtros Palavra-chave, URL, Título ou Descrição.

Filtrando palavras-chave com expressões regulares

Para aceder a esta funcionalidade basta analisar um domínio 1 e ir a Palavras-chave 2 , e depois ir à selecção Filtro 3

1
2
3

E então, use o filtro de palavras-chave com Regex 4 .

4

Agora, gostaríamos de propor vários casos de uso em que você pode aplicar essas expressões para aproveitar ao máximo a análise de palavras-chave de seus projetos ou quando estiver analisando seus concorrentes.

Incluir ou excluir o nome da marca

Imagine que você tem uma marca que aceita grafias diferentes ou é conhecida por vários nomes de marcas diferentes. Podemos criar uma expressão regular para agrupar todas as palavras-chave que consideramos termos de marca. Por exemplo, currys.co.uk tem várias palavras-chave de marca, a saber:

caril, caril, mundo do pc

Assim, usaremos a seguinte expressão:

 (curry|currys|pc world).*
Tabela de palavras-chave na caixa de ferramentas do SISTRIX para currys.co.uk com o filtro regex ".*(curry|currys|pc world).*" aplicado.

Abaixo você pode ver os resultados que obteríamos:

Também é possível definir o filtro para excluir palavras-chave de marca, usando a seguinte expressão, e ele exibirá apenas palavras-chave genéricas:

 ^(?!.*(curry|currys|pc world).*?)
Tabela de palavras-chave na caixa de ferramentas SISTRIX para currys.co.uk com o filtro regex ".^(?!.*(curry|currys|pc world).*?)" aplicado.

Incluir ou excluir erros em termos de marca

Existe a possibilidade de encontrarmos marcas, muitas vezes escritas com erros ortográficos ou escritas com erros, como a Ryanair.

Aqui estão alguns exemplos de termos que os usuários inserem para procurar esta companhia aérea:

  • Ryanair
  • rayaner
  • Ryan Ir
  • rayan ir
  • rayana eir
  • raya nair
  • Rayan Ari
  • rayar ar

Identificamos mais de 35 nomes de marcas que podemos capturar usando apenas uma única expressão regular:

Para incluir todas as variações de marca:

 (r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?
Tabela de palavras-chave na caixa de ferramentas SISTRIX para ryanair.com com o filtro regex ".(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e| linhas| )?(linha|ir)?" aplicado.

Para excluir todas as variações de marca:

 ^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?).)*$
Tabela de palavras-chave na caixa de ferramentas SISTRIX para ryanair.com com o filtro regex "^(?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air) ?(e|linhas|)?(linha|ir)?).)*$" aplicado.

Claro que ainda podemos aplicar outros filtros a esta lista, como “contém”, “não contém”, “termina com” ou “começa com”.

Incluir ou excluir termos de palavra-chave que terminam com palavras específicas

Para pesquisar uma palavra-chave única, basta um filtro simples, mas se quisermos realizar uma pesquisa com várias condições, por exemplo: todas as palavras-chave que começam com “comprar” e terminam com “online”, podemos usar:

 ^buy.*online$

Isso, aplicado a uma loja online como a screwfix.com, retornaria os seguintes resultados:

Tabela de palavras-chave na caixa de ferramentas SISTRIX para currys.co.uk com o filtro regex "^buy.*online$" aplicado.

Incluir ou excluir termos de palavra-chave que começam com palavras específicas

Do ponto de vista de uma ferramenta de comparação, pode ser interessante poder filtrar palavras-chave contendo vários nomes de marcas.

Por exemplo, podemos criar uma expressão regular que agrupará termos com base nos critérios que desejamos, que neste caso é qualquer termo de palavra-chave que comece com qualquer nome de marca incluído entre colchetes:

 ^(sony|panasonic|philips|samsung).*

Da mesma forma, podemos usá-lo para excluí-los:

 ^(?!(sony|panasonic|philips|samsung).*)

Incluir ou excluir termos de palavra-chave relacionados a atributos específicos

Vamos tentar isso com um exemplo de um atributo comumente encontrado em muitos projetos: preço.

Existem muitas consultas de pesquisa que fazem alusão ao preço, como: “barato”, “desconto”, “ponto de venda”, “cupom”, “oferta”, “baixo custo”, “orçamento”, etc.

Se quisermos excluí-los dos resultados, podemos usar a seguinte expressão:

 .*(cheap|budget|offer|outlet|price).*
Tabela de palavras-chave na caixa de ferramentas SISTRIX para skinflint.co.uk com o filtro regex ".*(barato|orçamento|oferta|saída|preço).*" aplicado.

Utilizando as colunas dinâmicas da tabela, podemos organizar os dados por volume de pesquisa em ordem decrescente, bastando clicar no cabeçalho da coluna.

Em outros casos também podemos usar outros atributos como cores, formas, tamanhos, alvo, etc.

Incluir ou excluir termos de palavras-chave que contenham o nome de cidades no Reino Unido

Muitos projetos exigem um rastreamento de presença local. Para fazer isso, podemos usar Regex para agrupar províncias, regiões, cidades, vilas, etc.

Neste exemplo, usaremos a lista de cidades para construir uma expressão regular que filtrará os termos de palavras-chave que contêm uma cidade.

 .*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*

Qualquer empresa de comércio eletrônico ou uma ferramenta de comparação com presença física pode usar essa expressão para excluir cidades e até adicionar palavras-chave de marca ou excluir outros parâmetros.

 ^(?!(.*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*))

No entanto, também podemos separá-los em várias expressões, conforme mostrado abaixo:

Caixa Filtrar Resultados para a tabela de palavras-chave do SISTRIX Toolbox. O filtro é definido como "Palavra-chave" e depois "Expressão regular". A regex inserida é "^(?!.*(nike|jordan|air|niketown).*?)".

A partir daqui adicionamos o Filtro Expert para indicar que essas duas expressões são do tipo “e”, em vez do tipo “ou”.

Opções de tabela para a tabela de palavras-chave. Eles podem ser encontrados na navegação superior, além de "data". A opção "Filtro Especialista" está selecionada.
Tabela de palavras-chave na caixa de ferramentas SISTRIX para nike.com com os filtros especializados ativados. Aqui estão dois filtros regex combinados pelo booleano AND.

Filtrando URLs com expressões regulares

As etapas que você precisa seguir para filtrar URLs são as mesmas que exploramos para palavras-chave, a única diferença é que você teria que selecionar “URLs” e depois expressões regulares.

Caixa Filtrar Resultados para a tabela de palavras-chave do SISTRIX Toolbox. O filtro é definido como "URL" e depois "Expressão regular".

Incluir ou excluir subdomínios

Agora que aprendemos a usar expressões regulares para filtrar palavras-chave, vamos encontrar alguns casos de uso típicos de SEO nos quais precisaríamos filtrar URLs.

Aqui estão alguns casos de uso básicos para analisar um domínio inteiro e agrupar URLs por subdomínios estratégicos:

 (www|support)
Tabela de palavras-chave no SISTRIX Toolbox para apple.com com o filtro regex "(www|support)" aplicado.

Podemos usar um filtro de exclusão para, por exemplo, separar subdomínios puramente transacionais e deixar de fora palavras-chave informativas provenientes de blogs ou FAQs.

 ^^(?!.*(www|support).*?)
Tabela de palavras-chave na caixa de ferramentas SISTRIX para apple.com com o filtro regex "^(?!.*(www|support).*?)" aplicado.

Incluir ou excluir URLs que terminam ou não com /

Se o domínio .com da página inicial terminar com uma barra, a regex pode ser adaptada para corresponder:

 ^.*.com/$
 ^(?!(.*.com/$))

Qualquer URL que termine com /

 .*/$

Também podemos usar este Regex para URLs, para focar exclusivamente em URLs que terminam com a barra (/). Para isso, insira o domínio na barra de pesquisa (1), clique em URLs na navegação (2), adicione um filtro (3) e escolha o filtro de URL como “expressão regular” (4):

1
2
3
4

Claro, isso também funciona para URLs que não terminam com /

 ^(?!(.*/$))
Tabela de URLs na caixa de ferramentas SISTRIX para apple.com com o filtro regex de URL "^(?!(.*/$))" aplicado.

Incluir ou excluir URLs contendo números

Podemos mexer na sintaxe do URL para identificar quais contêm números para incluí-los ou excluí-los:

 .*-[0-9].*
 ^(?!(.*-[0-9].*))

Se quisermos algo mais específico e soubermos que existem URLs que terminam com um número específico, também podemos incluí-los ou excluí-los da seguinte forma:

 .*-[0-9]+$
 ^(?!(.*-[0-9]+$))

Neste caso, nosso pedido foi filtrar cadeias contendo séries de 8 números consecutivos.

 .*[0-9]{8}.html$
 ^(?!(.*[0-9]{8}.html$))

Incluir ou excluir URLs em um formato específico

Também podemos usar Regex para filtrar formatos de URLs. Por exemplo, URLs htm ou html, bem como pdf.

Isso é bastante fácil, pois podemos contar com filtros “termina com” ou “contém” para fazer isso.

 .*htm.?$
 .*pdf$

Para excluir os formatos de URL desejados:

 ^(?!(.*html.?$).)
 ^(?!(.*pdf.?$).)

Podemos usar vários formatos dentro da mesma expressão, o que será mais valioso e nos poupará o incômodo de concatenar vários filtros, incluindo:

 .*(htm|html)$
 .*(jpg|jpeg|gif|png)$

E também podemos combinar formatos a serem excluídos:

 ^(?!(.*(htm|html)$).)
 ^(?!(.*htm.?)$).)
 ^(?!(.*(jpg|jpeg|gif|png)$).)

Incluir ou excluir URLs referentes a mercados incorretos

Podemos monitorar URLs que não deveriam aparecer nos resultados de um mercado específico. Por exemplo, URLs pertencentes aos mercados dos EUA, México ou Alemanha que aparecem nos resultados do espanhol.

Tomando as seguintes instâncias de URL como base:

Espanhol da Espanha /es_es/

Inglês do Reino Unido /en_gb/

Inglês dos EUA /en_us/

Italiano da Itália /it_it/

E assim por diante.

Podemos usar Regex para filtrar o número de URLs que não pertencem ao mercado espanhol.

 ^(?!(.*[es]_[az].*)|(.*[az]_[es].*).)
Tabela de palavras-chave no SISTRIX Toolbox para hm.com com o filtro regex "^(?!(.*[es]_[a-z].*)|(.*[a-z]_[es].*).)" aplicado .

Como você pode ver, a expressão permite a URL da página inicial, onde está localizado o seletor de idioma.

Para refinar ainda mais essa expressão e deixar a página inicial de fora, podemos estendê-la conforme mostrado abaixo:

 ^(?!(.*.com/$)|(.*[es]_[az].*)|(.*[az]_[es].*).)
Tabela de palavras-chave na caixa de ferramentas SISTRIX para hm.com com o filtro regex "^(?!(.*.com/$)|(.*[es]_[a-z].*)|(.*[a-z]_[ es].*).)" aplicado.

Resumo

Com os parâmetros fornecidos neste post, você agora é capaz de encontrar seus próprios casos de uso onde as expressões regulares podem ser úteis e ajudá-lo a tornar suas análises de SEO mais eficientes.

Você pode continuar testando e praticando com ferramentas como https://www.Regextester.com/, ou diretamente com os filtros de URL, palavra-chave ou trecho do SISTRIX.

Embora não forneçamos suporte para Regex, continuaremos atualizando este tutorial com novos casos de uso e análises de SEO que podem ser úteis para você.