Araç Kutusunda Normal İfadeler nasıl kullanılır?

Yayınlanan: 2022-04-17
İçindekiler
İçindekiler

Düzenli ifade nedir?

Bir kalıbı kontrol etmek veya doğrulamak için normal bir ifade kullanılır. Ana uygulamaları, örneğin aşağıdaki senaryolarda öğeleri filtrelemek ve eşleşmeleri bulmak içindir:

  • Analytics: Trafiği segmentlere ayırmak için Regex'i kullanabilirsiniz.
  • Htaccess: URL'leri daha verimli bir şekilde yeniden yazabilirsiniz.
  • SISTRIX: URL'ler, snippet'ler veya anahtar kelimeler içeren raporlarımızı filtreleyebilirsiniz.

Normal ifadeler –veya Regex– birçok programlama dilinde kullanılabilir, ancak bu eğitim, zaten mevcut olan SISTRIX Regex işlevselliğinin dayandığı standardı kullandığı için Perl'e dayalı olacaktır.

Normal ifadeleri nasıl oluşturabiliriz?

Bunu, ifadeler oluşturabileceğimiz sözdizimi olduğu için karakterler, gruplamalar, niceleyiciler ve sınıflar kullanarak yapacağız.

Normal ifade oluşturmak için sözdizimi
karakterler Davranış Misal
? Önceki karakteri 1 veya 0 kez arar. https?
* Önceki karakteri 0 veya daha fazla kez arar. 30*
+ Önceki karakteri 1 veya daha fazla kez arar. [0-9]+
| Bir öğeyi veya diğerini arar. (veya) (jpg|jpeg)
^ Modelin başlangıcını gösterir ^https
$ Desenin sonunu gösterir html$
· Herhangi bir karakteri arar (joker karakter) 4..
\ Özel bir karakteri yorumlamıyor (karakterleri atla) \/
Normal ifadeler için gruplandırma seçenekleri
gruplama Davranış Misal
() Belirli içeriği yakalar (sistrix)
sistrix ile eşleşir
[] Parantez içindeki karakterleri yakalar [0-9]
Herhangi bir sayısal karakterle eşleşir
[az]
Herhangi bir küçük harfle eşleşir
{} Minimum veya maksimum yineleme sayısını gösterir .{1,3} 1 ila 3 kez tekrarlanan herhangi bir karakterle eşleşir.

Bu eğitimde niceleyicileri kullanmayacağız, ancak diğer ortamlarda kullanmanız durumunda bunlara aşina olmanızın sizin için hala ilginç olduğunu düşünüyoruz.

Normal ifadelerde niceleyiciler
niceleyiciler Davranış
\w Bir kelime, rakam veya _ karakter tipi arar
\d Bir rakam karakteri arar
\s Bir boşluk karakteri arar
\b Bir kelimenin başlangıcını veya sonunu eşleştirir
\W Kelime, rakam veya _ olmayan bir karakter arar
\D Rakam olmayan bir karakter arar
\S Boşluk olmayan bir karakter arar.

Düzenli ifadelerle SEO örnekleri

Önerilen örnekleri kullanabilmek için 'Anahtar Kelimeler' bölümüne gitmeniz ve Anahtar Kelime, URL, Başlık veya Açıklama filtrelerini kullanmanız gerekir.

Anahtar kelimeleri normal ifadelerle filtreleme

Bu özelliğe erişmek için yalnızca bir etki alanını analiz etmeniz ve Anahtar Kelimeler 2'ye gitmeniz ve ardından Filtre seçimi 3'e gitmeniz gerekir.

1
2
3

Ardından, Regex 4 ile anahtar kelime filtresini kullanın.

4

Şimdi, projelerinizin anahtar kelime analizinden en iyi şekilde yararlanmak için veya rakiplerinizi analiz ederken bu ifadeleri uygulayabileceğiniz birkaç kullanım örneği önermek istiyoruz.

Marka adını dahil et veya hariç tut

Farklı yazımları kabul eden veya birkaç farklı marka adıyla bilinen bir markanız olduğunu hayal edin. Markalı terimler olduğunu düşündüğümüz tüm anahtar kelimeleri gruplamak için normal bir ifade oluşturabiliriz. Örneğin, currys.co.uk çeşitli markalı anahtar kelimelere sahiptir, yani:

köri, köri, bilgisayar dünyası

Bu nedenle, aşağıdaki ifadeyi kullanacağız:

 (curry|currys|pc world).*
currys.co.uk için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu, ".*(curry|currys|pc world).*" regex filtresi uygulandı.

Alacağımız sonuçları aşağıda görebilirsiniz:

Aşağıdaki ifadeyi kullanarak filtreyi markalı anahtar kelimeleri hariç tutacak şekilde ayarlamak da mümkündür ve yalnızca genel anahtar kelimeleri görüntüler:

 ^(?!.*(curry|currys|pc world).*?)
currys.co.uk için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu ".^(?!.*(curry|currys|pc world.*?)" uygulandı.

Markalı terimlerdeki hataları dahil etme veya hariç tutma

Ryanair gibi genellikle yanlış yazılan veya hatalarla yazılan markalarla karşılaşma ihtimalimiz var.

Kullanıcıların bu havayolunu aramak için girdiği terimlere birkaç örnek:

  • ryanair
  • rayaner
  • ryan ir
  • rayan ir
  • rayana eir
  • raya nair
  • rayan ari
  • rayar havası

Tek bir normal ifade kullanarak yakalayabileceğimiz 35'in üzerinde marka adı belirledik:

Tüm marka varyasyonlarını dahil etmek için:

 (r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?
".(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e| satırlar| )?(satır|ir)?" uygulamalı.

Tüm marka varyasyonlarını hariç tutmak için:

 ^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?).)*$
"^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air) ile ryanair.com için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu ?(e|lines| )?(line|ir)?).)*$" uygulandı.

Elbette bu listeye “içerir”, “içermez”, “ile biter” veya “şununla başlar” gibi başka filtreler de uygulayabiliriz.

Belirli kelimelerle biten anahtar kelime terimlerini dahil et veya hariç tut

Benzersiz bir anahtar kelime aramak için basit bir filtre yeterli olacaktır, ancak birkaç koşulla bir arama yapmak istersek, örneğin: "satın al" ile başlayan ve "çevrimiçi" ile biten tüm anahtar kelimeler, şunları kullanabiliriz:

 ^buy.*online$

Bu, screwfix.com gibi bir çevrimiçi mağazaya uygulandığında aşağıdaki sonuçları döndürür:

currys.co.uk için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu, "^buy.*online$" normal ifade filtresi uygulandı.

Belirli kelimelerle başlayan anahtar kelime terimlerini dahil edin veya hariç tutun

Bir karşılaştırma aracının bakış açısından, çeşitli marka adlarını içeren anahtar kelimeleri filtreleyebilmek ilginç olabilir.

Örneğin, terimleri istediğimiz ölçüte göre gruplandıracak bir normal ifade oluşturabiliriz; bu durumda, parantez içindeki herhangi bir marka adıyla başlayan herhangi bir anahtar kelime terimidir:

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

Benzer şekilde, onları hariç tutmak için kullanabiliriz:

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

Belirli özelliklerle ilgili anahtar kelime terimlerini dahil edin veya hariç tutun

Bunu birçok projede yaygın olarak karşılaşılan bir öznitelik örneği ile deneyelim: fiyat.

“Ucuz”, “indirim”, “çıkış”, “kupon”, “teklif”, “düşük maliyetli”, “bütçe” gibi fiyatı ima eden birçok arama sorgusu vardır.

Bunları sonuçlardan çıkarmak istiyorsak aşağıdaki ifadeyi kullanabiliriz:

 .*(cheap|budget|offer|outlet|price).*
Skinflint.co.uk için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu, ".*(cheap|budget|offer|outlet|price).*" regex filtresi uygulandı.

Tablonun dinamik sütunlarından yararlanarak, sütun başlığına tıklayarak, verileri arama hacmine göre azalan düzende düzenleyebiliriz.

Diğer durumlarda renkler, şekiller, boyutlar, hedef vb. gibi diğer nitelikleri de kullanabiliriz.

Birleşik Kindgom'daki şehirlerin adını içeren anahtar kelime terimlerini dahil edin veya hariç tutun

Birçok proje yerel bir varlık takibi gerektirir. Bunu yapmak için eyaletleri, bölgeleri, şehirleri, kasabaları vb. Gruplamak için Regex'i kullanabiliriz.

Bu örnekte, bir şehir içeren anahtar kelime terimlerini filtreleyecek bir normal ifade oluşturmak için şehirlerin listesini alacağız.

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

Herhangi bir e-ticaret işletmesi veya fiziksel varlığı olan bir karşılaştırma aracı, şehirleri hariç tutmak ve hatta markalı anahtar kelimeler eklemek veya diğer parametreleri hariç tutmak için bu ifadeyi kullanabilir.

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

Ancak, bunları aşağıda gösterildiği gibi birkaç ifadeye de ayırabiliriz:

SISTRIX Toolbox anahtar sözcük tablosu için Sonuçları Filtrele kutusu. Filtre "Anahtar Kelime" ve ardından "Normal ifade" olarak ayarlanır. Girilen normal ifade "^(?!.*(nike|jordan|air|niketown).*?)" şeklindedir.

Buradan itibaren bu iki ifadenin “veya” türü yerine “ve” türünde olduğunu belirtmek için Uzman Filtresini ekliyoruz.

Anahtar kelime tablosu için tablo seçenekleri. "Tarih"in yanı sıra üstteki gezinme bölümünde bulunabilirler. "Uzman Filtre" seçeneği seçilir.
nike.com için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu, uzman filtreler etkinleştirildi. İşte VE boolean tarafından birleştirilmiş iki normal ifade filtresi.

URL'leri normal ifadelerle filtreleme

URL'leri filtrelemek için izlemeniz gereken adımlar, anahtar kelimeler için araştırdığımız adımlarla aynıdır, tek fark, "URL'leri" ve ardından normal ifadeleri seçmeniz gerektiğidir.

SISTRIX Toolbox anahtar sözcük tablosu için Sonuçları Filtrele kutusu. Filtre "URL" ve ardından "Normal ifade" olarak ayarlanır.

Alt alanları dahil et veya hariç tut

Anahtar kelimeleri filtrelemek için normal ifadelerin nasıl kullanılacağını öğrendiğimize göre, URL'leri filtrelememiz gereken bazı tipik SEO kullanım örneklerini bulalım.

Tüm bir etki alanını analiz etmek ve URL'leri stratejik alt alanlara göre gruplandırmak için bazı temel kullanım örnekleri şunlardır:

 (www|support)
"(www|support)" regex filtresinin uygulanmış olduğu apple.com için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu.

Örneğin, tamamen işlemsel alt alanları ayırmak ve bloglardan veya SSS'lerden gelen bilgilendirici anahtar kelimeleri dışarıda bırakmak için bir dışlama filtresi kullanabiliriz.

 ^^(?!.*(www|support).*?)
apple.com için SISTRIX Araç Kutusundaki Anahtar Sözcük Tablosu, "^(?!.*(www|support.*?)" regex filtresi uygulandı.

/ ile biten veya bitmeyen URL'leri dahil edin veya hariç tutun

Ana sayfanın .com etki alanı bir eğik çizgiyle bitiyorsa, normal ifade aşağıdakilerle eşleşecek şekilde uyarlanabilir:

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

/ ile biten herhangi bir URL

 .*/$

Bu Regex'i, yalnızca eğik çizgi (/) ile biten URL'lere odaklanmak için URL'ler için de kullanabiliriz. Bunu yapmak için, arama çubuğuna (1) etki alanını girin, ardından gezinme (2) içindeki URL'lere tıklayın, bir filtre ekleyin (3) ve URL filtresini "normal ifade" (4) olarak seçin:

1
2
3
4

Elbette bu, / ile bitmeyen URL'ler için de geçerlidir.

 ^(?!(.*/$))
"^(?!(.*/$))" URL normal ifade filtresinin uygulandığı apple.com için SISTRIX Araç Kutusundaki URL'ler Tablosu.

Sayı içeren URL'leri dahil et veya hariç tut

Hangilerinin sayı içerdiğini veya hariç tutulacağını belirlemek için URL sözdizimi ile uğraşabiliriz:

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

Daha spesifik bir şey istiyorsak ve belirli bir sayı ile biten URL'ler olduğunu biliyorsak, bunları aşağıdaki gibi dahil edebilir veya hariç tutabiliriz:

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

Bu durumda isteğimiz ardışık 8 sayı dizisini içeren zincirleri filtrelemekti.

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

URL'leri belirli bir biçimde dahil edin veya hariç tutun

URL biçimlerini filtrelemek için Regex'i de kullanabiliriz. Örneğin, html URL'lerinin yanı sıra htm veya html URL'leri.

Bu oldukça kolaydır, çünkü bunu yapmak için "biter" veya "içerir" filtrelere güvenebiliriz.

 .*htm.?$
 .*pdf$

İstenen URL biçimlerini hariç tutmak için:

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

Aynı ifade içinde daha değerli olacak birkaç format kullanabiliriz ve bu, aşağıdakileri içerecek şekilde birkaç filtreyi birleştirme zahmetinden bizi kurtaracaktır:

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

Ayrıca, hariç tutulacak biçimleri de birleştirebiliriz:

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

Yanlış pazarlarla ilgili URL'leri dahil edin veya hariç tutun

Belirli bir pazarın sonuçlarında görünmemesi gereken URL'leri izleyebiliyoruz. Örneğin, İspanya'nın sonuçlarında görünen ABD, Meksika veya Almanya pazarlarıyla ilgili URL'ler.

Aşağıdaki URL örneklerini temel alarak:

İspanya'nın İspanyolcası /es_es/

Birleşik Krallık İngilizcesi /tr_gb/

ABD İngilizcesi /en_us/

İtalya'nın İtalyancası /it_it/

Ve benzeri.

İspanya pazarına ait olmayan URL'lerin sayısını filtrelemek için Regex'i kullanabiliriz.

 ^(?!(.*[es]_[az].*)|(.*[az]_[es].*).)
hm.com için SISTRIX Araç Kutusu'ndaki "^(?!(.*[es]_[a-z].*)|(.*[a-z]_[es].*).)" normal ifade filtresi uygulanmış Anahtar Kelime Tablosu .

Gördüğünüz gibi, ifade, dil seçicinin bulunduğu ana sayfa URL'sine izin verir.

Bu ifadeyi daha da hassaslaştırmak ve ana sayfayı dışarıda bırakmak için aşağıda gösterildiği gibi genişletebiliriz:

 ^(?!(.*.com/$)|(.*[es]_[az].*)|(.*[az]_[es].*).)
hm.com için SISTRIX Araç Kutusundaki Anahtar Kelime Tablosu, "^(?!(.*.com/$)|(.*[es]_[a-z].*)|(.*[a-z]_[ ile birlikte es].*).)" uygulandı.

Özet

Bu gönderide sağlanan parametrelerle artık normal ifadelerin kullanışlı olabileceği ve SEO analizlerinizi daha verimli hale getirmenize yardımcı olabileceği kendi kullanım durumlarınızı bulabileceksiniz.

https://www.Regextester.com/ gibi araçlarla veya doğrudan SISTRIX'in URL'si, anahtar kelime veya snippet filtreleriyle test etmeye ve uygulamaya devam edebilirsiniz.

Regex için destek sağlamıyor olsak da, bu öğreticiyi yeni kullanım örnekleri ve sizin için faydalı olabilecek SEO analizleri ile güncellemeye devam edeceğiz.