Blog page

Wyrażenia regularne mają kilka zastosowań, pozwalają chociażby na zaawansowane filtrowanie danych w narzędziach Google i są niezbędne do wdrożenia zaawansowanych przekierowań w pliku .htaccess. Dowiedz się, co oznaczają poszczególne operatory i jak wykorzystywać wyrażenia regularne w SEO. 

Czym są wyrażenia regularne?

Wyrażenia regularne (ang. regular expressions), w skrócie regex lub regexp, są obecne w wielu językach programowania. To wzorce zbudowane z różnych znaków, np. liter, cyfr czy znaków specjalnych. Jaką rolę odgrywają w pracy specjalisty SEO? Wpisując wyrażenie regularne w Google Analytics, tworzysz schemat obejmujący nawet kilka różnych kryteriów, którym muszą odpowiadać poszukiwane przez Ciebie dane. W efekcie narzędzie rozpoznaje, które ciągi tekstowe są zgodne ze wzorcem.

Do poprawnego zbudowania regexa potrzebujesz znajomości operatorów, które mogą m.in.:

  • zastępować dowolne znaki,
  • wyznaczać kolejność i umiejscowienie znaków w ciągu tekstowym,
  • wskazywać, czy dany znak może się powtarzać, ale jeśli tak, to ile razy,
  • określać zakres cyfr lub liter, z których powinny pochodzić znaki,
  • odgrywać rolę operatora „lub”.

Wyobraź sobie, że chcesz wyfiltrować frazy wpisane w Google przez użytkowników strony, numery transakcji klientów sklepu lub adresy URL artykułów na blogu firmowym. Dzięki poszczególnym operatorom możesz stworzyć wzorzec określający np. cyfry w numerach transakcji, słowa we frazach long tail lub ciąg znaków w dowolnym bądź konkretnym miejscu w adresie URL. 

Złożone wyrażenia regularne zawierają kilka operatorów, co pozwala na szybkie i precyzyjne filtrowanie obszernych baz danych.

Znaczenia symboli używanych w wyrażeniach regularnych w SEO

Aby stosowanie poszczególnych symboli było zrozumiałe, pod każdym opisem znajduje się screen z narzędzia ułatwiającego tworzenie wyrażeń regularnych regex101. Warto sprawdzić poprawność regexów przed ich wykorzystaniem chociażby w Google Analytics, aby uniknąć popełnienia błędu i otrzymywania niepoprawnych wyników w filtrach.

Kropka – postaw ją w jakimkolwiek miejscu wyrażenia regularnego, aby zastąpić jeden dowolny znak. Kropka może być używana wielokrotnie – w przypadku znaków zarówno stojących obok siebie, jak i tych oddalonych. Jeżeli zależy Ci na wyfiltrowaniu danych zawierających zdefiniowane znaki tylko na początku lub na końcu ciągu tekstowego, musisz użyć dodatkowych operatorów. W przeciwnym razie dopasowania będą obejmować ciągi znaków w różnych lokalizacjach – w poniższym przykładzie w nazwie, kategorii lub podkategorii w adresie URL.

Gwiazdka – znak poprzedzający gwiazdkę może pojawić się co najmniej raz lub nie wystąpić w ogóle. 

Plus – oznacza, że znak występujący przed nim musi występować co najmniej raz. Zmiana gwiazdki na plus spowodowała wyeliminowanie danych pozbawionych ostatniej cyfry.

Znak zapytania – podobnie jak gwiazdka i plus, odnosi się do poprzedzającego znaku, aczkolwiek dopasowuje wynik, kiedy poprzedzający znak nie występuje lub pojawia się tylko raz. 

Daszek – stawia się go na początku wyrażenia regularnego. Stosuj ten symbol, kiedy chcesz wyfiltrować wyniki rozpoczynające się konkretnym ciągiem znaków. Identyczna kombinacja znaków w innym miejscu nie zostanie odnaleziona. Poniższy przykład pokazuje wyrażenie regularne pomocne w filtrowaniu fraz używanych przez klientów sklepu z akcesoriami kuchennymi. Pierwszy symbol mówi, że poszukiwane frazy muszą się zaczynać od „kub”. Gdyby operator został usunięty, dopasowanie obejmowałoby także pozostałe pozycje.

Dolar – działa odwrotnie w porównaniu z daszkiem. Uwzględnienie „$” na końcu regexa pozwoli Ci dopasować wyniki z określonym ciągiem znaków na końcu. Zobacz, jak zmieniły się dopasowania po usunięciu „^” i wstawieniu „$”.

Kreska pionowa – odgrywa rolę spójnika „lub”. Przydaje się do wyszukiwania danych zawierających jeden z dopuszczanych ciągów znaków. Poniższy przykład pokazuje filtrowanie adresów URL z jedną z dwóch wskazanych ras kotów.

Backslash – wskazuje, że następujący po nim znak specjalny powinien być odczytywany nie jako symbol wyrażenia regularnego, ale dosłownie. Ukośnik postawiony przed kropką sygnalizuje, że należy odczytać ją jako zwykłą kropkę, a nie jako dowolny inny znak.

Nawiasy okrągłe – można je nazwać symbolami grupującymi, które mają kilka funkcji.

Po pierwsze – znaki umieszczone w nawiasie muszą występować w wynikach filtrowania w identycznej kolejności. Jeżeli wyrażenie zawiera „(123)”, narzędzie dopasuje wyniki z „12345”, „331234”, „41234”, ale nie weźmie pod uwagę tych, w których wskazane cyfry znajdowałyby się w innej kolejności, np. „41243”. 

Po drugie – nawiasy okrągłe są używane w wyrażeniach regularnych ze spójnikiem „lub”. Stosując nawiasy, możesz określić, że jeden z ciągów wyrazów powinien wystąpić w konkretnym miejscu w określonym adresie. Rozbudowanie przykładu objaśniającego działanie operatora „lub” pokazuje, że dopasowane zostają wyniki odpowiadające zdefiniowanej ścieżce.

Nawiasy kwadratowe – znaki uwzględnione w nawiasach kwadratowych powinny występować w dopasowanych wynikach, ale nie ma znaczenia kolejność i umiejscowienie znaków. Jeżeli regex zawiera „[123]”, narzędzie wyfiltruje wyniki z „12345”, ale także „415263” czy „120983”.  Określając pożądane znaki, możesz wpisać je pojedynczo w nawiasie, np. „[123456789]”, lub wskazać zakres, np. „[1-9]”. Analogicznie należy postąpić w przypadku liter – pamiętaj o wielkości! „[g-m]” wygeneruje inne dopasowania w porównaniu z „[G-M]”. 

Uwaga! „[1-9]” oznacza jedną cyfrę. Jeżeli chcesz wyświetlić dane zawierające kilka cyfr lub liter z tych samych lub różnych zakresów, musisz stworzyć wyrażenie regularne z kilkoma nawiasami kwadratowymi.

Nawiasy klamrowe – ułatwiają tworzenie regexów z nawiasami kwadratowymi. Jeżeli znaki objęte nawiasami kwadratowymi występują więcej niż raz w ciągu tekstowym, użyj nawiasu klamrowego z pojedynczą wartością lub minimalną i maksymalną. Oddzielasz je przecinkiem, a nie łącznikiem. Nie zapisujesz „{1-10}”, ale „{1,10}”.

Wyrażenia regularne w Google Analytics

Dzięki wyrażeniom regularnym w Google Analytics możesz selekcjonować użytkowników spełniających pewne warunki, tworzyć raporty obejmujące różnorodne dane, konfigurować cele czy wykluczać adresy IP.

Skupmy się na kilku popularnych zastosowaniach wyrażeń regularnych w GA.

  • Źródła pozyskiwania użytkowników. O ile możesz tworzyć segmenty dopasowane do wielu kryteriów, stosując klasyczne operatory „i” bądź „lub”, o tyle ten sposób jest czasochłonny. Zamiast wypisywać wybrane platformy społecznościowe w oddzielnych filtrach, możesz stworzyć jedno wyrażenie regularne. Ponadto regex umożliwia uzyskanie danych o wizytach z różnych kanałów w jednej tabeli.
  • Wykluczanie adresów IP. Jeżeli chcesz wykluczyć jednocześnie adres IP 183.100.0.1 i podsieć 183.176.0, nie musisz tworzyć osobnych filtrów. Użyj regexu w następującej formie: ^183\.100\.0\.1$|^183\.176\.0.*$. Wykluczanie adresów IP za pomocą wyrażenia regularnego prezentuje zastosowanie backslasha. Zwróć uwagę na poprawne zastosowanie operatorów wskazujących początek ciągu znaków – daszka i dolara.
  • Filtrowanie raportów. Wyrażenia regularne są szczególnie pomocne, kiedy zamierzasz uwzględnić w jednej tabeli dane mające wspólny kontekst, lecz zawierające różne frazy. Załóżmy, że chcesz uzyskać listę artykułów omawiających ubezpieczenia komunikacyjne na blogu firmowym, lecz interesują Cię tytuły zawierające wyłącznie „AC” lub „autocasco” lub „minicasco”. Dzięki wyrażeniu regularnemu z kreską pionową, czyli operatorem „lub”, możesz wyfiltrować pożądane artykuły w jednym raporcie. 
  • Konfiguracja celów. Wyrażenia regularne przydają się do zdefiniowania miejsca docelowego, czyli strony odwiedzonej przez użytkownika. Regexy mają zastosowanie chociażby w kampanii promocyjnej, podczas której chcesz zliczać łączną liczbę wizyt na różnych podstronach ze wspólnym elementem w dowolnej części adresu URL. Podstawowe opcje w bloku ze szczegółami celu, czyli  „równa się” lub „zaczyna się od”, nie są wystarczające w takiej sytuacji. Użycie wyrażenia regularnego umożliwia zliczanie wizyt na podstronach zawierających określoną frazę na dowolnej pozycji w adresie URL.

Wyrażenia regularne w Google Search Console

7 kwietnia 2021 roku Google udoskonaliło raporty skuteczności w Search Console, wprowadzając m.in. filtry wyrażeń regularnych. Wcześniejsze trzy wzorce były mocno ograniczone i nie pozwalały na zaawansowane filtrowanie zapytań i adresów URL. Dzięki wyrażeniom regularnym w Google Search Console możesz tworzyć złożone filtry, które umożliwiają szybkie wyszukiwanie danych dopasowanych do wieloelementowych ciągów znaków. W efekcie jeden filtr może zastąpić kilka dotychczasowych.

Jak używać wyrażeń regularnych w Google Search Console? 

Utwórz filtr dotyczący zapytania lub strony. Następnie przejdź do menu i wybierz z listy „Niestandardowy (wyrażenia regularne)”. Przykład Google wyjaśnia użycie wyrażenia regularnego do wyszukiwania fraz zawierających pełną lub skróconą nazwę marki w branży zoologicznej. 

Źródło: https://developers.google.com/search/blog/2021/04/performance-report-data-filtering

Google Search Console stosuje domyślnie dopasowania częściowe, więc jeżeli chcesz otrzymać wyniki zawierające kombinację znaków wyłącznie na początku lub końcu ciągu tekstowego, musisz użyć odpowiednich symboli – daszka lub dolara. Ponadto domyślne dopasowanie rozróżnia wielkość liter. Jeśli interesują Cię dane z małymi i wielkimi literami, uwzględnij „(?i)” na początku wyrażenia. Wyrażenia regularne są dostępne także w trybie porównania. 

Wyrażenia regularne w Google Tag Manager

Google Tag Manager ułatwia dodawanie poszczególnych kodów (np. Google Analytics) do witryn i wspiera w śledzeniu czynności wykonywanych przez użytkowników. Jaka jest rola wyrażeń regularnych w GTM? 

Wyobraź sobie sklep internetowy, który pozwala klientom na wypełnianie i wysyłanie formularzy na różnych podstronach. Google Tag Manager zawiera oddzielne reguły, czyli zdefiniowane warunki, dla każdej z tych podstron. Co prawda powielenie takich reguł nie jest karygodnym błędem, ale użycie wyrażenia regularnego z operatorem „lub” definiującym akceptowalne ścieżki pozwala zredukować liczbę elementów w GTM

Możesz postąpić analogicznie, jeżeli wyzwalaczami są akcje związane z zakupami w sklepie internetowym. Reguła z regexem może obejmować kliknięcie przycisku zarówno „dodaj do koszyka”, jak i „realizuj zamówienie”. Ponadto wyrażenia regularne są pomocne w konstruowaniu złożonych reguł dla adresów URL, które mają identyczne początki i jedno z kilku wskazanych zakończeń.

Wyrażenia regularne w przekierowaniach w pliku .htaccess

Plik .htaccess to plik konfiguracyjny serwera, umieszczony w głównym katalogu strony i wybranych podkatalogach. Wśród kluczowych funkcji pliku .htaccess można wymienić tworzenie przekierowań, które mają ogromne znaczenie pod kątem skutecznego pozycjonowania strony. 

W przypadku przekierowania starej domeny na nową domenę należy użyć poniższego kodu: 

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?twojaaktualnadomena\.pl [NC]

RewriteRule (.*) https://twojanowadomena.pl/$1 [R=301,L]

Co zrobić, jeśli chcesz wdrożyć przekierowanie z jednego adresu na drugi w ramach tej samej domeny? Możesz potrzebować takiego wyrażenia regularnego, kiedy będziesz zmieniać strukturę serwisu bądź bloga.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?twojastronainternetowa\.pl$ [NC]

RewriteRule ^pierwszyadres(\/.*)?$ https://www. twojastronainternetowa.pl/drugiadres [R=301,L]

Jeżeli nazwa domeny pozostaje bez zmian, ale chcesz przekierować domenę z „www” na wersję bez „www”, pomoże Ci poniższy kod:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]

RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Wyrażenia regularne usprawniają codzienną pracę wielu specjalistów w branży e-marketingowej.  Nawet proste regexy z podstawowymi operatorami pozwalają na zaawansowane i szybkie filtrowanie danych. Znajomość wyrażeń regularnych w SEO jest także niezbędna do tworzenia kluczowych przekierowań w pliku .htaccess. Pamiętaj, aby weryfikować poprawność wyrażeń za pomocą bezpłatnych narzędzi online, dzięki czemu unikniesz pomyłki w filtrowaniu danych i nieprawidłowych analiz. Do testowania przekierowań htaccess wypróbuj narzędzie Htacces Tester:

https://htaccess.madewithlove.be/

 

A czy Ty używasz regexa w swojej codziennej pracy? Do jakich innych zastosowań Ci się przydaje? Daj znać w komentarzu!