Como usar expressões regulares na caixa de ferramentas
Publicados: 2022-04-17- O que é uma expressão regular?
- Como podemos construir expressões regulares?
- Exemplos de SEO com expressões regulares
- Filtrando palavras-chave com expressões regulares
- Incluir ou excluir o nome da marca
- Incluir ou excluir erros em termos de marca
- Incluir ou excluir termos de palavra-chave que terminam com palavras específicas
- Incluir ou excluir termos de palavra-chave que começam com palavras específicas
- Incluir ou excluir termos de palavra-chave relacionados a atributos específicos
- Incluir ou excluir termos de palavras-chave que contenham o nome de cidades no Reino Unido
- Filtrando URLs com expressões regulares
- Incluir ou excluir subdomínios
- Incluir ou excluir URLs que terminam ou não com /
- Incluir ou excluir URLs contendo números
- Incluir ou excluir URLs em um formato específico
- Incluir ou excluir URLs referentes a mercados incorretos
- Resumo
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.
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) | \/ |
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 | 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

E então, use o filtro de palavras-chave com Regex 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).*

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).*?)

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.](/uploads/article/246/J4RlqK5XMR1iRPm6.png)
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.](/uploads/article/246/x8B4lxmc6Vmja5ch.png)
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:

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).*

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:

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


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.

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)

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).*?)

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):

Claro, isso também funciona para URLs que não terminam com /
^(?!(.*/$))

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 .](/uploads/article/246/TIPPU8qnSB57ontM.png)
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.](/uploads/article/246/vxYA4KacpOcflwYd.png)
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ê.