Regular expressions (juga dikenal sebagai REGEX atau REGEXP) membantu Anda menemukan URL atau teks yang cocok dengan pola tertentu.
💡REGEX didukung di Site Explorer, Site Audit dan endpoint tertentu dalam API kami:
Pelajari lebih lanjut tentang semua tempat di mana Anda dapat menggunakannya.
Cara Kerja REGEX
Mari kita beralih dari contoh yang paling sederhana ke yang lebih canggih.
Konfigurasi berikut mencakup semua URL yang mengandung kata "blog" dan mengecualikan URL yang mengandung kata "product".
Ini menginstruksikan bot kami untuk melakukan crawl:
https://ahrefs.com/blog
https://ahrefs.com/blog/seo-techniques/
https://ahrefs.com/academy/blogging-for-busines
Dan untuk mengabaikan:
https://ahrefs.com/blog/category/product-blog/
https://ahrefs.com/blog/ecommerce-out-of-stock-products/
Itu mudah, bukan?
Tapi bagaimana jika Anda ingin menyertakan URL dari subfolder /blog/ secara spesifik tetapi bukan https://ahrefs.com/academy/blogging-for-business?
Anda dapat menggunakan pola yang sedikit lebih canggih:
Anda mungkin bertanya-tanya apa arti simbol-simbol sebelum dan sesudah "blog" itu.
Di dalam regex, Anda harus "escape" beberapa simbol agar tidak dikenali sebagai karakter khusus. Untuk melakukannya, gunakan backslash \ sebelum karakter tersebut.
Titik sederhana . dalam regex, misalnya, berarti karakter apa pun. Tapi \. berfungsi sebagai simbol titik. Itsebabnya saya meng-escape karakter garis miring dalam contoh di atas seperti ini: \/
Cara Ahrefs Menangani Beberapa Ekspresi REGEX
Harap dicatat bahwa Anda dapat menerapkan beberapa pola untuk menyertakan atau mengecualikan URL dalam pengaturan crawl di Site Audit. Jika tidak ditemukan kecocokan untuk salah satu aturan, aturan tersebut akan dilewati.
Aturan di atas akan menginstruksikan crawler kami untuk melakukan crawl pada URL yang mengandung kata:
"blog" atau "product"
DAN tidak mengandung kata:
"blogging" atau "productive."
Untuk beberapa aturan URL rewrite, setiap aturan baru dieksekusi secara berurutan pada hasil rewrite sebelumnya.
Token Regex yang Berguna
^ - simbol ini menunjukkan awal URL
$ - simbol ini menunjukkan akhir URL
. - titik desimal cocok dengan karakter tunggal apa pun
* - cocok dengan ekspresi sebelumnya 0 atau lebih kali
+ - cocok dengan 1 atau lebih dari yang sebelumnya
? - Cocok dengan 0 atau 1 dari yang sebelumnya
| - setara dengan OR.
[__] - mirip dengan |, tetapi dapat digunakan untuk menentukan rentang
(__) - tanda kurung mengelompokkan regex di antara mereka
\d - cocok dengan satu digit
\D - cocok dengan satu non-digit
\w - cocok dengan karakter kata
\W - cocok dengan karakter bukan kata
Tools dan platform yang berbeda mungkin menggunakan pustaka regex yang berbeda. Site Audit kami menggunakan RE2. Anda dapat menemukan sintaks lengkapnya di sini.
Beberapa Contoh Praktis
1. URL Https di subfolder /wp-content/
^https:.*\/wp-content\/
^ menunjukkan awal URL. Aturan ini akan cocok dengan semua URL yang dimulai dengan "https:" diikuti oleh 0 hingga sejumlah karakter .* sebelum "/wp-content/".
URL yang cocok dengan pola:
https://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
URL yang tidak cocok dengan pola:
http://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
2. URL dalam subfolder, termasuk URL direktori itu sendiri.
\/blog(\/.*)?$
Aturan ini akan cocok dengan semua URL yang berakhir $ dengan "/blog", secara opsional diikuti oleh garis miring dan 0 hingga sejumlah karakter (\/.*)?. Tanda tanya dalam pola ini cocok dengan ekspresi dalam kurung antara nol dan satu kali, membuatnya opsional.
URL yang cocok dengan pola:
https://ahrefs.com/blog
https://ahrefs.com/blog/301-redirects/
URL yang tidak cocok dengan pola:
https://ahrefs.com/blogging
https://ahrefs.com/academy/blogging-for-business
3. URL yang mengandung simbol @ atau %
@|% atau [@%]
| dan [__] berfungsi sebagai OR
URL yang cocok dengan pola:
https://ahrefs.com/@timsoulo
https://ahrefs.com/%D1%81%D0%B5%D0%BE
URL yang tidak cocok dengan pola:
https://ahrefs.com/blog/nofollow-links
4. URL "Add to Cart" di Woocommerce
\?add-to-cart=
Ingatlah bahwa ? adalah simbol khusus dalam regex. Untuk menggunakannya sebagai tanda tanya sederhana, jangan lupa untuk meng-escape-nya seperti ini: \?
URL yang cocok dengan pola:
https://yourdomain.com/?add-to-cart=25
URL yang tidak cocok dengan pola:
https://yourdomain.com/smartphones
5. URL yang mengandung tahun (4 digit)
[0-9]{4} atau \d{4}
[0-9]{4} akan cocok dengan semua URL yang mengandung empat {4} digit [0-9] berturut-turut
\d{4} melakukan hal yang sama karena \d berarti satu digit
URL yang cocok dengan pola:
https://yourdomain.com/best-smartphones-2019
URL yang tidak cocok dengan pola:
https://yourdomain.com/smartphones
6. Semua URL dari subdomain (baik http maupun https)
^https?:\/\/help.ahrefs.com
Aturan ini akan cocok dengan semua URL yang dimulai dengan "http://help.ahrefs.com" atau "https://help.ahrefs.com".
Tanda tanya di sini s? menunjukkan bahwa "s" adalah opsional, sehingga baik http maupun https akan cocok dengan aturan ini.
URL yang cocok dengan pola:
https://help.ahrefs.com
http://help.ahrefs.com/
http://help.ahrefs.com/site-audit
URL yang tidak cocok dengan pola:
https://ahrefs.com/site-audit
ftp://help.ahrefs.com
7. Berbagai URL file
\.(jpg|gif|bmp|png|css|pdf)$
Aturan ini akan cocok dengan semua URL yang berakhir $ dengan .jpg ATAU .gif ATAU .bmp ATAU .png ATAU .css ATAU .pdf.
Anda dapat mengurangi ekspresi ini untuk menargetkan jumlah ekstensi yang lebih sedikit. Misalnya, untuk hanya URL yang berakhir $ dengan .jpg ATAU .png saja:
.*\.(jpg|png)$
Tanda kurung (__) mengelompokkan regex di antara mereka dan | berarti OR
URL yang cocok dengan pola:
https://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
http://ahrefs.com/blog/wp-content/uploads/2019/03/fb-ranking-1-image-1.png
URL yang tidak cocok dengan pola:
https://ahrefs.com/site-audit
8. Menggunakan aturan URL rewrite untuk melakukan crawl website staging di Site Audit
Anda dapat menggunakan aturan URL rewrite dalam pengaturan Site Audit untuk mengganti beberapa bagian URL dengan nilai lain.
Mis. Ketika website staging Anda berbasis pada subdomain, mis. staging.ahrefs.com
Aturan ini akan mengganti "ahrefs.com" di setiap URL dengan "staging.ahrefs.com"
9. Menggunakan aturan URL rewrite dengan grup penangkap bernomor
Dengan grup penangkap, Anda dapat mengganti beberapa bagian URL dengan satu aturan.
Pola untuk dicocokkan:
www\.ahrefs\.com([^\?|#]*)?([#]?[^\?]*)\??(.*)
Ganti dengan:
www.ahrefs.com\1?parameter1=5273&\2?parameter2=7465&\3
([^\?|#]*) adalah grup penangkap ke-1
([#]?[^\?]*) adalah grup penangkap ke-2
(.*) adalah grup penangkap ke-3
\1?parameter1=5273&\2\3
mengganti nilai untuk grup penangkap ke-1 dengan "?parameter1=5273"
\2?parameter2=7465& mengganti nilai untuk grup penangkap ke-2 dengan "?parameter2=7465&"
\3 menyisipkan nilai yang cocok dengan grup penangkap ke-3
6. Filter untuk teks yang lebih panjang dari 50 karakter
^[\s\S]{50,}$
Sumber Daya Lainnya
Saya harap artikel ini membantu Anda mempelajari beberapa trik keren yang dapat Anda lakukan dengan Regular Expressions.
Anda dapat menguji Regex Anda di website ini: https://regex101.com/. Perhatikan bahwa Anda harus memilih "Golang" dari menu kiri.



