سلام! سارا بحرانی هستم از «وزیر سئو». بیا صادق باشیم، همه ما وقتی گزارش Performance سرچ کنسول رو باز میکنیم، اولش میریم سراغ فیلتر ساده Contains (شامل). اما خیلی زود میفهمیم که این فیلترها چقدر محدودن.
وقتی میخوای کوئریهای برند رو از غیر برند جدا کنی، یا بفهمی دقیقاً کدوم سوالات کاربرها رو بیپاسخ گذاشتی، یا عملکرد صفحات یک پوشه خاص رو ببینی، فیلتر ساده کم میاره و دادههای اشتباهی بهت میده.
اینجاست که RegEx (یا عبارات باقاعده) وارد میشه. RegEx شاید در نگاه اول ترسناک و پیچیده به نظر بیاد، اما من بهت قول میدم این ابزار همون چیزیه که تحلیل گزارش Performance سرچ کنسول تو رو از سطح «گزارشگیری ساده» به سطح «استراتژی سئو» میرسونه.
تو این راهنمای جامع، میخوام قدم به قدم، از سادهترین کاراکترها تا سناریوهای عملی و تخصصی، بهت یاد بدم چطور مثل یک تحلیلگر حرفهای از RegEx در GSC استفاده کنی و دادههایی رو ببینی که رقبات اصلاً بهشون دسترسی ندارن.
جدول کاربردی (تقلبنامه سینتکس پایه RegEx)
همونطور که قول دادم، قبل از شروع، این «تقلبنامه» (Cheat Sheet) رو داشته باش. اینها ۹۰٪ چیزی هستن که در سرچ کنسول بهشون نیاز پیدا میکنی:
| کاراکتر/فیلتر | اسم | معنی در سرچ کنسول | مثال عملی RegEx |
| **` | `** | پایپ (Pipe) | یا (OR) |
| ^ | کَرِت (Caret) | شروع با… | ^چگونه (فقط کوئریهایی که با «چگونه» شروع میشوند) |
| $ | دلار (Dollar) | پایان با… | چیست$ (فقط کوئریهایی که به «چیست» ختم میشوند) |
| .* | نقطه-ستاره | هر چیزی (Wildcard) | آموزش.*رایگان (شامل «آموزش» و «رایگان» با هرچیزی بینشان) |
| () | پرانتز | گروهبندی | (خرید|قیمت) گوشی (شامل «خرید گوشی» یا «قیمت گوشی») |
| Doesn’t match | (فیلتر GSC) | مستثنی کردن (Exclude) | (برند|brand) (هر کوئری که شامل «برند» یا «brand» نباشد) |
RegEx (عبارات باقاعده) در سرچ کنسول چیست و چرا به آن نیاز دارید؟
بذار ساده شروع کنم: RegEx (مخفف Regular Expressions یا عبارات باقاعده)، یک زبان نشانهگذاری یا یکجور «الگوی جستجوی» فوقپیشرفته است.
فکر کن میخوای توی گزارش Performance سرچ کنسول دنبال کوئریها بگردی. فیلترهای عادی به تو اجازه میدن بگی: “کوئریهایی که شامل کلمه ‘سئو’ هستن رو بهم نشون بده”.
اما RegEx به تو این قدرت رو میده که دستورات خیلی پیچیدهتری صادر کنی. مثلاً:
- “تمام کوئریهایی رو بهم نشون بده که با کلمه ‘چگونه’ یا ‘چطور’ شروع میشن.”
- “تمام کوئریهایی که کلمه ‘خرید’ رو دارن اما کلمه ‘رایگان’ رو ندارن.”
- “تمام URLهایی که دقیقاً توی پوشه /blog/ هستن، نه توی زیرپوشههای اون.”
چرا بهش نیاز داری؟
جواب کوتاه: برای تحلیل عمیقتر، دقیقتر و سریعتر.
گزارش Performance سرچ کنسول یک معدن طلاست، اما فیلترهای پیشفرضش (مثل Contains) خیلی وقتها محدودت میکنن و نمیذارن اصل ماجرا رو بفهمی. RegEx به تو کمک میکنه:
- دستهبندی هوشمندانه کوئریها: بتونی کوئریهای سوالی (What, Why, How)، کوئریهای برند (Brand) و کوئریهای تراکنشی (Transactional) رو به راحتی از هم جدا کنی.
- پیدا کردن الگوهای پنهان: بفهمی کاربران با چه الگوهای زبانی یا چه مشکلاتی دنبالت میگردن که قبلاً اصلاً به چشمت نمیاومد.
- گزارشگیری تمیزتر: دادههای نامرتبط و نویزها رو خیلی دقیق فیلتر کنی تا فقط چیزی رو ببینی که واقعاً برای استراتژی سئوی تو مهمه.
تفاوت فیلترهای پیشفرض (Contains/Exact) با فیلتر سفارشی (Custom Regex)
برای اینکه کامل تفاوتشون رو درک کنی، بیا این سه تا رو توی یک جدول با هم مقایسه کنیم. فرض کن میخوایم کوئری «قیمت گوشی سامسونگ» رو با فیلترهای مختلف بررسی کنیم:
| نوع فیلتر | کاری که انجام میده | مثال برای کوئری «قیمت گوشی سامسونگ» |
| Contains (شامل) | بررسی میکنه که آیا عبارتی که دادی، در جایی از کوئری وجود داره یا نه. | اگر فیلتر کنی گوشی: پیدا میشه (چون ‘گوشی’ در کوئری هست). |
| Exact (دقیقاً) | بررسی میکنه که آیا کوئری دقیقاً و تماماً همون عبارتیه که وارد کردی یا نه. | اگر فیلتر کنی گوشی: پیدا نمیشه (چون کوئری «قیمت گوشی سامسونگ» است، نه فقط «گوشی»). |
| Custom (RegEx) | بررسی میکنه که آیا کوئری با الگویی که دادی مطابقت داره یا نه. | اگر فیلتر کنی ^قیمت.*سامسونگ$: پیدا میشه. (الگو یعنی: “با ‘قیمت’ شروع بشه، هرچیزی وسطش باشه، و با ‘سامسونگ’ تموم بشه”). |
همونطور که میبینی، فیلترهای پیشفرض فقط «تطابق کلمه» رو بررسی میکنن، اما RegEx «تطابق الگو» رو چک میکنه و دستت رو برای هر نوع تحلیلی کاملاً باز میذاره.
چگونه حالت RegEx را در گزارش Performance فعال کنیم؟
فعال کردنش فوقالعاده ساده است. فقط کافیه این چند قدم رو به ترتیب دنبال کنی:
- وارد اکانت گوگل سرچ کنسول خودت شو.
- به گزارش Performance (عملکرد) برو.
- بالای نمودار، روی دکمه + NEW (جدید) کلیک کن تا یک فیلتر جدید اضافه کنی.
- گزینه Query (درخواست جستجو) یا Page (صفحه) رو انتخاب کن (بسته به اینکه میخوای کوئریها رو فیلتر کنی یا URLها رو).
- یک منوی کشویی برات باز میشه که حالت پیشفرضش روی Contains (شامل) هست. روی اون کلیک کن.
- از لیست باز شده، گزینه Custom (regex) یا سفارشی (عبارت باقاعده) رو انتخاب کن.
- تمام! حالا کادری که جلوت باز شده، آماده دریافت کدهای RegEx هست.
(تجربه عملی) چه زمانی استفاده از RegEx به جای فیلتر ساده ضروری است؟
اینجا دقیقاً همونجاییه که تفاوت یک تحلیلگر حرفهای سئو با یک کاربر عادی مشخص میشه. فیلتر ساده خوبه، اما تو این موقعیتهای عملی، RegEx نه تنها مفیده، بلکه ضروری میشه:
- ۱. جداسازی کوئریهای برند از غیر برند (Brand vs. Non-Brand):
فرض کن اسم برند تو «وزیر سئو» هست. فیلتر ساده Doesn’t contain “وزیر سئو” کوئریهای غیر برند رو بهت میده. اما اگه کاربر “وزیرسئو” (بدون فاصله)، “vazir seo” یا “VazirSEO” هم سرچ کرده باشه چی؟
- راه حل RegEx: تو فیلتر Custom (Regex) حالت Doesn’t match (مطابقت ندارد) رو انتخاب میکنی و این الگو رو میذاری: (وزیر سئو|وزیرسئو|vazir seo|vazirseo)
- نتیجه: تمام کوئریهایی که هیچکدوم از این الگوها رو ندارن (یعنی ۱۰۰٪ غیر برند هستن) بهت نشون داده میشه. (علامت | به معنی «یا» هست).
- ۲. پیدا کردن تمام کوئریهای سوالی (Question Queries):
میخوای بفهمی کاربرها چه سوالاتی دارن که به سایت تو میرسن تا براشون محتوای «پاسخ به سوال» (مثل همین محتوا!) بسازی.
- راه حل RegEx: فیلتر Matches regex (مطابقت دارد) با الگوی: ^(چگونه|چطور|آیا|چیست|کدام|کجا|چرا|what|how|why)
- نتیجه: تمام کوئریهایی که با این کلمات پرسشی شروع میشن رو یکجا میبینی. (علامت ^ یعنی “باید با این الگو شروع بشه”).
- ۳. تحلیل عملکرد یک بخش خاص سایت (Subfolder Analysis):
فرض کن میخوای عملکرد تمام صفحات داخل پوشه /blog/ رو ببینی، اما نمیخوای خود صفحه اصلی /blog/ (اگه وجود داره) توی آمار بیاد.
- راه حل RegEx (برای فیلتر Page): فیلتر Matches regex با الگوی: /blog/.+
- نتیجه: این الگو (.+ یعنی “حداقل یک کاراکتر یا بیشتر”) فقط صفحاتی رو نشون میده که بعد از /blog/ ادامهی URL دارن (مثل /blog/seo-cheest) و خود صفحه اصلی بلاگ رو فاکتور میگیره.
- ۴. مقایسه بین دو یا چند کلمه کلیدی رقیب:
میخوای ببینی کوئریهایی که شامل «قیمت» هستن، بیشتر کلیک گرفتن یا اونایی که شامل «خرید» هستن. با فیلتر ساده نمیتونی اینا رو همزمان ببینی و مقایسه کنی.
- راه حل RegEx: فیلتر Matches regex با الگوی: (قیمت|خرید)
- نتیجه: لیستی از تمام کوئریهایی که یا کلمه «قیمت» رو دارن یا کلمه «خرید» رو، بهت میده تا بتونی عملکردشون رو کنار هم ببینی.
در کل، هر وقت حس کردی فیلترهای Contains و Exact دارن محدودت میکنن و نمیتونی دادهها رو اونجوری که میخوای «گروهبندی» یا «جدا» کنی، وقتشه که بری سراغ RegEx.
جعبه ابزار ضروری: درک سینتکس (Syntax) پایه RegEx برای GSC
اینها کاراکترهای پایهای هستن که باید مثل کف دستت بشناسیشون:
کاراکتر | (OR یا «یا»): برای گروهبندی چند کلمه کلیدی
- توضیح: این کاراکتر سادهترین و پرکاربردترینشونه. به معنی «یا» (OR) هست.
- مثال عملی در GSC (برای Query):
فرض کن میخوای عملکرد تمام کوئریهای مربوط به محصولات یا خدمات اصلیات رو با هم ببینی. مثلاً «سئو»، «طراحی سایت» و «تولید محتوا».
- الگوی RegEx: سئو|طراحی سایت|تولید محتوا
- نتیجه: سرچ کنسول هر کوئری که یا شامل «سئو» باشه، یا «طراحی سایت» یا «تولید محتوا» رو بهت نشون میده. این برای مقایسه عملکرد دستهبندیهای مختلف عالیه.
کاراکتر ^ (Starts With): تطبیق عباراتی که با یک کلمه خاص شروع میشوند
- توضیح: این علامت (بهش میگن کَرِت یا Caret) میگه: “الگوی من باید دقیقاً با این کلمه یا عبارت شروع بشه.”
- مثال عملی در GSC (برای Query):
بهترین کاربردش پیدا کردن کوئریهای سوالی (Question Queries) هست.
- الگوی RegEx: ^چگونه
- نتیجه: فقط کوئریهایی رو میبینی که با کلمه «چگونه» شروع میشن (مثل «چگونه سئو کنیم؟»). این فیلتر، کوئری مثل «آموزش سئو چگونه است» رو بهت نشون نمیده، چون با «چگونه» شروع نشده.
کاراکتر $ (Ends With): تطبیق عباراتی که با یک کلمه خاص تمام میشوند
- توضیح: این علامت (دلار) دقیقاً برعکس ^ عمل میکنه. میگه: “الگوی من باید دقیقاً با این کلمه یا عبارت تمام بشه.”
- مثال عملی در GSC (برای Query):
میخوای تمام سوالاتی که به «چیست» ختم میشن رو پیدا کنی.
- الگوی RegEx: چیست$
- نتیجه: کوئریهایی مثل «سئو چیست» یا «ریجکس چیست» رو پیدا میکنه، اما «سئو چیست و چه کاربردی دارد» رو نشون نمیده.
کاراکتر . (Wildcard) و ترکیب .* (هر چیزی)
- توضیح:
- کاراکتر . (نقطه): به معنی “دقیقاً یک کاراکتر” (هرچیزی: یک حرف، یک عدد، یک فاصله).
- کاراکتر * (ستاره): به معنی “صفر یا بیشتر” از کاراکتر قبلی.
- ترکیب جادویی .* (نقطه-ستاره):
وقتی این دو تا کنار هم میان (.*)، معنیش میشه: “هر چیزی، با هر طولی (یا حتی هیچی)”. این یک “Wildcard” یا «کارت آزاد» خیلی قویه که بین دو تا کلمه قرار میگیره.
- مثال عملی در GSC (برای Query):
میخوای کوئریهایی رو پیدا کنی که کلمه «آموزش» اول و کلمه «رایگان» بعدش اومده باشه، و هر چیزی هم میتونه بینشون باشه.
- الگوی RegEx: آموزش.*رایگان
- نتیجه: کوئریهایی مثل «آموزش رایگان»، «آموزش سئو رایگان»، «آموزش کامل سئو به صورت رایگان»… همهشون پیدا میشن.
استفاده از ( و ) (Grouping): برای ساخت عبارات پیچیدهتر
- توضیح: پرانتزها برای «گروهبندی» عبارات استفاده میشن. درست مثل ریاضی! پرانتزها به RegEx میگن که عملیات (مثلاً | یا *) باید روی کل گروه داخل پرانتز اعمال بشه، نه فقط روی کاراکتر کناریش.
- مثال عملی در GSC (برای Query):
یادت در مثال | گفتیم سئو|طراحی سایت؟ حالا فرض کن میخوای فقط «قیمت سئو» یا «قیمت طراحی سایت» رو پیدا کنی.
- الگوی غلط (بدون پرانتز): قیمت سئو|طراحی سایت (این یعنی: “قیمت سئو” یا “طراحی سایت”، که اشتباهه).
- الگوی RegEx (صحیح): قیمت (سئو|طراحی سایت)
- نتیجه: این الگو کوئریهای «قیمت سئو» و «قیمت طراحی سایت» رو با هم بهت نشون میده.
آشنایی با ؟! (Negative Lookahead): برای مستثنی کردن عبارات (Exclude)
- توضیح: این الگو (?!…) یه کم پیشرفتهتره اما فوقالعاده قدرتمنده. کارش اینه: “عبارتی رو پیدا کن که بعدش فلان الگو نیاد.”
- اما صبر کن!
استفاده از این الگو برای مستثنی کردن (Exclude) در یک فیلتر Matches میتونه خیلی پیچیده بشه. (مثلاً الگوی ^((?!رایگان).)*$ یعنی “هرچیزی که شامل کلمه رایگان نباشه”).
- راه سادهتر در GSC:
به جای درگیر شدن با این الگوی پیچیده، سرچ کنسول یه راه خیلی راحتتر جلو پات گذاشته. کافیه نوع فیلترت رو از Matches regex به Doesn’t match regex (مطابقت ندارد) تغییر بدی.
- مثال عملی (Exclude کردن برند):
میخوای تمام کوئریها رو ببینی، به جز کوئریهای برند خودت (مثلاً: وزیر سئو، vazir seo، وزیرسئو).
- فیلتر رو روی Doesn’t match regex بذار.
- الگو رو با | (یعنی «یا») بنویس: (وزیر سئو|vazir seo|وزیرسئو)
- نتیجه: هر کوئری که هیچکدوم از این الگوهای برند تو رو نداشته باشه، نشون داده میشه. این خیلی راحتتر و تمیزتره!
تقلبنامه (Cheat Sheet) سینتکس پایه
برای اینکه این موارد خوب برات جا بیفته، این جدول رو همیشه دم دستت داشته باش:
| کاراکتر | اسم | معنی | مثال RegEx |
| **` | `** | Pipe (پایپ) | یا (OR) |
| ^ | Caret (کَرِت) | شروع با… | ^چگونه |
| $ | Dollar (دلار) | پایان با… | چیست$ |
| .* | Dot-Star (نقطه-ستاره) | هر چیزی (Wildcard) | آموزش.*رایگان |
| () | Parentheses (پرانتز) | گروهبندی | `(خرید |
| Doesn’t Match | (فیلتر GSC) | مستثنی کردن (Exclude) | `(برند |
اینها پایههای اصلی RegEx بودن. با ترکیب همین چند تا کاراکتر ساده، میتونی تقریباً هر نوع گزارشی که توی ذهنت هست رو از دل سرچ کنسول بکشی بیرون.
(سطح متخصص) سناریوهای عملی RegEx برای فیلتر کردن Queries (کلمات کلیدی)
اینجا دیگه با تئوری کاری نداریم. میخوایم مستقیماً مشکلاتی رو حل کنیم که فیلترهای ساده Contains هیچوقت نمیتونن از پسش بربیان.
سناریو ۱ (تخصص): فیلتر کردن کلمات کلیدی برند در مقابل غیر برند (Brand vs. Non-Brand)
- هدف: میخوایم عملکرد کاربرانی که تو رو میشناختن (برند) رو با کاربرانی که تو رو کشف کردن (غیر برند) مقایسه کنیم. این برای سنجش «قدرت برند» (Brand Strength) حیاتیه.
- مشکل: کاربران اسم برند تو رو به دهها شکل مختلف جستجو میکنن: با فاصله، بیوصفه، فارسی، فینگلیش، با غلط املایی و…
- راه حل RegEx:
- برای دیدن کوئریهای برند (Brand):
- نوع فیلتر: Matches regex
- الگو: (وزیر سئو|وزیرسئو|vazir seo|vazirseo|تیم وزیر سئو)
- توضیح: این الگو با استفاده از | (یا) و () (گروهبندی)، هر کوئری که شامل یکی از این عبارات باشه رو بهت نشون میده.
- برای دیدن کوئریهای غیر برند (Non-Brand):
- نوع فیلتر: Doesn’t match regex (مهم!)
- الگو: (وزیر سئو|وزیرسئو|vazir seo|vazirseo|تیم وزیر سئو)
- توضیح: این فیلتر، دقیقاً برعکس عمل میکنه. هر کوئری که هیچکدوم از الگوهای برند تو رو نداشته باشه، نشون میده.
- برای دیدن کوئریهای برند (Brand):
- چرا این مهمه؟ با مقایسه این دو گزارش میفهمی: آیا CTR کوئریهای برندت بالاست (که باید باشه)؟ و مهمتر از اون، میانگین رتبه (Average Position) کوئریهای غیر برندت چنده؟ رشد واقعی سئو در بالا آوردن همین کوئریهای غیر برنده.
سناریو ۲ (تجربه): یافتن تمام کلمات کلیدی سوالی (شامل: چگونه، چرا، چیست، آیا)
- هدف: پیدا کردن تمام فرصتهای تولید محتوای اطلاعاتی (Informational Content). میخوایم بفهمیم کاربرها دقیقاً چه سوالهایی از گوگل میپرسن که ما بهشون جواب ندادیم.
- مشکل: سوالات فقط با «چگونه» شروع نمیشن. الگوهای زیادی دارن.
- راه حل RegEx:
- نوع فیلتر: Matches regex
- الگو: ^(چگونه|چطور|چرا|چیست|آیا|کجا|کدام|کی|آموزش|راهنمای)|(چیه|چیست)$
- توضیح الگو:
- ^(…|…): با استفاده از ^ (شروع با) و | (یا)، تمام کوئریهایی که با کلمات کلیدی مثل «چگونه»، «چطور»، «آموزش» و… شروع میشن رو پیدا میکنه.
- |(…)$: با استفاده از | (یا) و $ (پایان با)، کوئریهایی مثل «سئو چیست» یا «سئو چیه» که کلمه سوالی در انتها اومده رو هم به لیست اضافه میکنه.
- چرا این مهمه؟ این گزارش مستقیماً میره توی تقویم محتوایی تو. اینا دقیقترین نیازهای کاربرها هستن که میتونی براشون بلاگ پست، راهنما یا صفحه FAQ بسازی.
سناریو ۳: دستهبندی کلمات کلیدی با قصد تجاری (شامل: خرید، قیمت، فروش)
- هدف: پیدا کردن تمام کوئریهایی که «قصد خرید» (Transactional Intent) دارن. اینها پولسازترین کلمات کلیدی سایت تو هستن.
- مشکل: کاربرها با عبارات مختلفی قصد خریدشون رو نشون میدن.
- راه حل RegEx:
- نوع فیلتر: Matches regex
- الگو: (خرید|قیمت|فروش|سفارش|تخفیف|فروشگاه|buy|price|order)
- چرا این مهمه؟ تو باید عملکرد این کوئریها رو روزانه چک کنی. افت رتبه در این کلمات کلیدی مستقیماً به درآمد تو ضربه میزنه. این گزارش بهت میگه کدوم صفحات محصول یا دستهبندی نیاز فوری به بهینهسازی (CRO یا SEO) دارن.
سناریو ۴: مستثنی کردن (Exclude) کلمات کلیدی برند خود برای تحلیل فرصتهای جدید
- هدف: این سناریو با سناریو ۱ فرق داره. اینجا هدف مقایسه نیست، بلکه کشف فرصت (Opportunity Analysis) هست. میخوایم نویز کوئریهای برند رو حذف کنیم تا ببینیم واقعاً در اقیانوس کلمات کلیدی غیر برند کجا ایستادیم.
- مشکل: کوئریهای برند تو (که احتمالاً براشون رتبه ۱ هستی) همیشه Impressions و CTR بالایی دارن. این اعداد بالا، باعث میشن تو نتونی عملکرد واقعی کوئریهای رقابتی و جدیدت رو درست ببینی. اونا زیر این آمار گم میشن.
- راه حل RegEx:
- نوع فیلتر: Doesn’t match regex
- الگو: (وزیر سئو|وزیرسئو|vazir seo|vazirseo) (یا هر تنوعی از برندت)
- چرا این مهمه؟ وقتی این فیلتر رو اعمال میکنی، تازه گزارش سرچ کنسول برات معنادار میشه. حالا میتونی بری سراغ تب Pages یا Queries و ببینی:
- فرصتهای ضربتی (Striking Distance): کوئریهایی که میانگین رتبهشون بین ۵ تا ۱۵ هست. با یه کم تلاش (لینک داخلی، بهروزرسانی محتوا) میتونن بیان صفحه اول و کلی ترافیک جدید برات بیارن.
- ایمپرشنهای پنهان: کوئریهایی که ایمپرشن بالایی دارن اما کلیک (CTR) نزدیک به صفر دارن. این یعنی گوگل داره تو رو برای این کلمات نشون میده، اما عنوان (Title) یا توضیحات (Meta Description) تو اونقدر جذاب نیست که کاربر رو قانع به کلیک کنه.
استفاده از این ۴ سناریو، دید تو رو نسبت به دادههای سرچ کنسول به طور کامل عوض میکنه و اجازه میده تصمیمهای هوشمندانهتر و مبتنی بر داده (Data-Driven) برای سئوی سایتت بگیری.
(سطح متخصص) سناریوهای عملی RegEx برای فیلتر کردن Pages (صفحات)
وقتی فیلتر رو از Query به Page تغییر میدی، دنیای جدیدی برات باز میشه. اینجا میتونی عملکرد ساختار سایتت رو تحلیل کنی.
سناریو ۱ (تخصص): تحلیل عملکرد یک بخش یا دستهبندی خاص (مثال: ^https://example.com/blog/.*)
- هدف: میخوایم ببینیم کل بخش بلاگ سایت (یا هر بخش دیگهای مثل /products/) به تنهایی چقدر ایمپرشن و کلیک گرفته.
- مشکل: فیلتر ساده Contains /blog/ ممکنه URLهایی مثل /services/about-blogging/ رو هم به اشتباه بهت نشون بده. ما دقت ۱۰۰٪ میخوایم.
- راه حل RegEx:
- نوع فیلتر: Matches regex
- الگو: ^https://example\.com/blog/.* (الگوی پیشنهادی تو)
- تحلیل الگو:
- ^: یعنی URL باید با این الگو شروع بشه. این مهمه تا مطمئن بشیم URL دیگهای رو اشتباهی انتخاب نمیکنیم.
- https://example\.com/blog/: آدرس دقیق پوشه. (نکته: . در RegEx یک کاراکتر ویژه است، برای اینکه خود «نقطه» رو پیدا کنی، باید قبلش \ بذاری، یعنی \.، هرچند در GSC معمولاً بدون اون هم کار میکنه).
- .*: این همون «کارت آزاد» ماست. یعنی هر چیزی که بعد از /blog/ بیاد (مثل /blog/post-1 یا /blog/category/post-2)، همهشون حساب میشن.
- یه نکته حرفهای از من: اگر توی سرچ کنسول از «Domain Property» استفاده میکنی (که هم http و هم https و هم سابدامینها رو شامل میشه)، معمولاً نیازی به نوشتن ^https://… نداری.
- الگوی سادهتر (و رایجتر): ^/blog/
- این الگو خیلی تمیزتره و میگه: “هر URLی که مسیرش (Path) با /blog/ شروع میشه رو بهم نشون بده.”
سناریو ۲: مقایسه عملکرد سابدامینها (مثال: blog.example.com در مقابل shop.example.com)
- هدف: میخوایم بفهمیم ترافیک ورودی به بلاگ (که محتوای اطلاعاتی داره) بیشتره یا فروشگاه (که محتوای تجاری داره).
- پیشنیاز: این تحلیل فقط زمانی ممکنه که از «Domain Property» در سرچ کنسول استفاده کنی که تمام سابدامینهات رو یکجا نشون میده.
- راه حل RegEx:
- برای دیدن عملکرد هر دو با هم:
- نوع فیلتر: Matches regex
- الگو: (blog\.example\.com|shop\.example\.com)
- توضیح: این الگو با استفاده از () و | (یا)، تمام URLهایی که یا شامل example.com هستن یا shop.example.com رو فیلتر میکنه.
- برای دیدن عملکرد فقط بلاگ (و مقایسهاش با کل سایت):
- نوع فیلتر: Matches regex
- الگو: blog\.example\.com
- توضیح: این فیلتر فقط دادههای سابدامین بلاگ رو نشون میده. بعداً میتونی همین کار رو برای shop تکرار کنی و نتایج رو با هم مقایسه کنی.
- برای دیدن عملکرد هر دو با هم:
- چرا این مهمه؟ این بهت کمک میکنه بفهمی استراتژی محتوای تو (در بلاگ) چقدر در جذب کاربر موفقه در مقایسه با صفحات محصولت (در فروشگاه).
سناریو ۳ (تجربه): مستثنی کردن صفحات AMP یا URLهای دارای پارامتر
- هدف: تمیز کردن گزارش! URLهای دارای پارامتر (مثل ?utm_… یا ?fbclid=…) یا صفحات AMP (/amp/) باعث میشن دادههای یک صفحه واحد، بین چند URL مختلف تقسیم بشه و تحلیل رو سخت کنه.
- مشکل: میخوایم عملکرد صفحه /my-post رو ببینیم، نه /my-post?utm_source=google و /my-post/amp/ و…
- راه حل RegEx:
- برای حذف پارامترها (Query Parameters):
- نوع فیلتر: Doesn’t match regex
- الگو: \?
- توضیح: کاراکتر ? در RegEx یک معنی خاص داره (یعنی صفر یا یکی از کاراکتر قبلی). برای اینکه به RegEx بگی منظور ما خودِ علامت «سوال» هست، باید قبلش \ (بک اسلش) بذاری. این فیلتر هر URLی که توش ? داشته باشه رو حذف میکنه و فقط URLهای تمیز و اصلی رو نگه میداره.
- برای حذف صفحات AMP:
- نوع فیلتر: Doesn’t match regex
- الگو: /amp/$
- توضیح: این الگو میگه هر URLی که دقیقاً به /amp/ ختم میشه (علامت $ یعنی پایان عبارت) رو حذف کن. (میتونی سادهتر از /amp/ هم استفاده کنی، اما این دقیقتره).
- برای حذف پارامترها (Query Parameters):
- نتیجه: بعد از اعمال این فیلترها (مخصوصاً حذف ?)، تو داری گزارش «شبه-کنونیکال» (Pseudo-Canonical) رو میبینی که بسیار دقیقتر از گزارش پیشفرضه.
سناریو ۴: یافتن و تحلیل صفحاتی که دارای یک الگوی URL خاص هستند
- هدف: گاهی میخوای صفحاتی رو پیدا کنی که یک الگوی ساختاری مشترک دارن. مثلاً تمام صفحات محصول که یک «عدد» (مثل شناسه محصول) در URLشون دارن.
- مشکل: این صفحات ممکنه در دستهبندیهای مختلفی باشن، اما همهشون «صفحه محصول» هستن.
- راه حل RegEx (مثال: پیدا کردن URLهایی که شامل عدد هستن):
- نوع فیلتر: Matches regex
- الگو: -[0-9]{4,}
- توضیح: این یک الگوی تخصصیه.
- [0-9]: یعنی هر عددی از ۰ تا ۹.
- {4,}: یعنی ۴ بار یا بیشتر تکرار بشه.
- -: یعنی قبل از این اعداد یک خط تیره بیاد.
- نتیجه: این الگو URLهایی مثل /product/red-shirt-**12345** یا /blog/report-**2023** رو پیدا میکنه. تو میتونی این الگو رو بر اساس ساختار URL سایت خودت سفارشی کنی.
- مثال سادهتر (پیدا کردن فایلهای PDF):
- نوع فیلتر: Matches regex
- الگو: \.pdf$
- توضیح: این الگو تمام URLهایی که به .pdf ختم میشن (. رو با \ خنثی کردیم و با $ گفتیم حتماً در پایان باشه) رو پیدا میکنه. این عالیه برای اینکه ببینی آیا فایلهای PDF تو اصلاً ورودی گوگل دارن یا نه.
تحلیل صفحات با RegEx به تو این قدرت رو میده که معماری سایتت رو عمیقاً درک کنی و بفهمی کدوم بخشها نیاز به تقویت دارن و کدوم بخشها دارن جور بقیه رو میکشن.
ترکیب RegEx و Compare: قدرت واقعی تحلیل در GSC
قدرت واقعی اینه که تو میتونی دو تا «سگمنت» یا بخش کاملاً سفارشیسازی شده رو برداری و مستقیماً روبروی هم قرار بدی. کاری که قبلاً فقط با اکسپورت کردن دادهها و ساعتها کار در اکسل یا گوگل شیت ممکن بود، حالا در چند ثانیه انجام میشه.
مقایسه عملکرد کلمات کلیدی برند و غیر برند در بازههای زمانی مختلف
- هدف استراتژیک: میخوایم بفهمیم آیا کمپینهای برندینگ ما (مثلاً تبلیغات، فعالیت در شبکههای اجتماعی یا رپورتاژ آگهی) واقعاً موثر بوده و باعث شده آدمهای بیشتری اسم برند ما رو جستجو کنن؟
- چطور انجامش بدی:
- اول فیلتر RegEx رو برای کوئریهای برند تنظیم کن. برو به + NEW > Query > Matches regex.
- الگوی برندت رو وارد کن (مثلاً: (وزیر سئو|vazir seo|وزیرسئو)). دکمه Apply رو بزن.
- حالا برو سراغ فیلتر Date (تاریخ) و روی دکمه Compare کلیک کن.
- گزینه Compare last 28 days to previous period (یا هر بازه زمانی دیگهای که کمپین داشتی) رو انتخاب کن.
- تحلیل (چطور دادهها رو بخونیم؟): حالا توی نمودار و جدول پایین، دو تا خط (یا ردیف) داری.
- رشد Impressions و Clicks: اگه میبینی بعد از کمپین، ایمپرشن و کلیک کلمات برندت رشد قابل توجهی داشته، یعنی کمپین آگاهی از برند (Brand Awareness) تو موفق بوده و افراد بیشتری دارن دنبالت میگردن.
- همین کار رو برای «غیر برند» تکرار کن: فیلتر مرحله ۲ رو به Doesn’t match regex تغییر بده و همین مقایسه زمانی رو انجام بده. این بهت نشون میده که آیا تلاشهای سئوی محتوایی (Content SEO) تو باعث رشد ترافیک ارگانیک واقعی (و نه فقط برند) شده یا نه.
تحلیل مقایسهای عملکرد بخش وبلاگ در مقابل بخش فروشگاه
- هدف استراتژیک: این یکی از تحلیلهای مورد علاقه منه. میخوایم ببینیم «موتور تولید محتوای» ما (وبلاگ) چطور در مقابل «موتور پولساز» ما (فروشگاه) عمل میکنه. ترافیک هرکدوم چقدره و کدوم داره بهتر کار میکنه؟
- چطور انجامش بدی:
- برو به + NEW > Page > Matches regex و الگوی بلاگ رو وارد کن (مثلاً: ^/blog/ یا com/blog/). دکمه Apply رو بزن.
- بلافاصله دوباره روی + NEW (یا Compare در بالای صفحه) کلیک کن و این بار تب Compare رو بزن.
- دوباره Page > Matches regex رو انتخاب کن و این بار الگوی فروشگاه رو بزن (مثلاً: ^/products/ یا ^/shop/).
- تحلیل (چطور دادهها رو بخونیم؟): حالا سرچ کنسول دو تا ردیف خوشگل بهت میده: «فیلتر ۱ (بلاگ)» و «فیلتر ۲ (فروشگاه)».
- Impressions (ایمپرشن): تو انتظار داری که ایمپرشن بلاگ خیلی بالاتر از فروشگاه باشه. چرا؟ چون بلاگ کلمات کلیدی اطلاعاتی (Informational) و گستردهتری رو هدف میگیره.
- CTR (نرخ کلیک): تو انتظار داری که CTR فروشگاه بالاتر از بلاگ باشه. چرا؟ چون کاربری که دنبال «خرید» یا «قیمت» هست (Transactional Intent)، احتمال کلیکش روی صفحه محصول خیلی بیشتر از کاربریه که دنبال «چیست» میگرده.
- اقدام عملی (Actionable Insight): اگه میبینی بلاگت ترافیک زیادی داره اما فروشگاهت نه، سوال کلیدی اینه: آیا داری این ترافیک زیاد بلاگ رو با لینکسازی داخلی هوشمندانه و فراخوان به اقدام (CTA) مؤثر به سمت صفحات فروشگاه هدایت میکنی؟
مقایسه کلمات کلیدی سوالی در موبایل در مقابل دسکتاپ
- هدف استراتژیک: میخوایم رفتار کاربر رو «عمیقتر» درک کنیم. آیا کاربرها سوالاتشون رو (که ما در بلاگ جواب دادیم) بیشتر با گوشی میپرسن یا پای کامپیوتر؟ این روی طراحی صفحه و نحوه پاسخدهی ما تأثیر مستقیم داره.
- چطور انجامش بدی:
- اول فیلتر Query رو روی Matches regex تنظیم کن و الگوی سوالی رو بزن (مثلاً: ^(چگونه|چطور|چیست|آیا|کدام|کجا)).
- حالا برو سراغ فیلتر Device (دستگاه) و روی Compare کلیک کن.
- گزینه Compare devices… رو بزن و مثلاً Mobile رو با Desktop مقایسه کن.
- تحلیل (چطور دادهها رو بخونیم؟): این گزارش فوقالعاده باارزشه.
- CTR موبایل در مقابل دسکتاپ: آیا CTR تو در موبایل برای کوئریهای سوالی پایینتر از دسکتاپه؟ این میتونه یه زنگ خطر جدی باشه. شاید صفحه تو در موبایل کند لود میشه، شاید فونت ناخواناست، یا (مهمتر از همه) جواب سوال پایینتر از تا خوردگی صفحه (Below the Fold) قرار گرفته و کاربر همون ثانیه اول صفحه رو میبنده (که باعث Pogo Sticking میشه).
- اقدام عملی: اگه میبینی بیشتر ترافیک سوالی تو از موبایل میاد، باید مطمئن بشی که صفحات بلاگت برای موبایل فوقالعاده بهینه شدن (Mobile-First) و جواب سوال همون اول، واضح و مشخصه.
خب، این هم از ترکیب جادویی RegEx و Compare. با همین چند تا تکنیک، تو میتونی ساعتها در زمان تحلیل صرفهجویی کنی و گزارشهایی بسازی که مستقیماً منجر به تصمیمگیریهای درست در استراتژی سئو میشن.
اشتباهات رایج و محدودیتهای استفاده از RegEx در سرچ کنسول
این بخش عیبیابی ماجراست. اگه RegEx تو کار نمیکنه، به احتمال ۹۹ درصد جوابش اینجاست.
چرا RegEx من کار نمیکند؟ (عیبیابی رایج)
وقتی فیلترت جواب نمیده، قبل از هر چیز این چکلیست رو مرور کن:
- اشتباه در نوع فیلتر: این رایجترین اشتباهه. تو میخوای کلمات برند رو حذف کنی (Exclude)، اما فیلترت روی Matches regex (مطابقت دارد) مونده. یادت باشه برای حذف کردن، باید حتماً فیلتر رو روی Doesn’t match regex (مطابقت ندارد) تنظیم کنی.
- حساسیت به حروف بزرگ و کوچک (Case-Sensitivity): برخلاف تصور خیلیها، RegEx در سرچ کنسول به حروف بزرگ و کوچک حساسه. یعنی الگوی vazir seo با کوئری Vazir Seo مطابقت نداره.
- راه حل: باید هر دو حالت رو در الگوت بیاری. مثلاً: (vazir seo|Vazir Seo)
- کاراکترهای ویژه رو خنثی نکردی: کاراکترهایی مثل . (نقطه)، ? (علامت سوال)، + (بعلاوه) و * (ستاره) در RegEx معنی خاصی دارن. اگه میخوای خودِ این کاراکترها رو پیدا کنی (مثلاً تمام URLهایی که .pdf دارن)، باید قبلش یک بک اسلش \ بذاری تا خنثی بشن.
- مثال غلط: .pdf (این یعنی: “هر کاراکتری” و بعدش “pdf”)
- مثال درست: \.pdf (این یعنی: خودِ “نقطه” و بعدش “pdf”)
- “No Data” به معنی “خراب بودن” نیست: گاهی الگوی تو کاملاً درسته، اما سرچ کنسول در بازه زمانی انتخابی تو، هیچ دادهای (کوئری یا صفحهای) که با اون الگو مطابقت داشته باشه پیدا نکرده. پس اول مطمئن شو که اصلاً چنین دادهای باید وجود داشته باشه.
درک محدودیتهای سینتکس RE2 گوگل (تفاوت با RegEx کامل)
این یه نکته تخصصی اما مهمه. RegEx که تو در سایتهایی مثل regex101.com تست میکنی، معمولاً از موتور Perl یا پایتون استفاده میکنه که فوقالعاده قدرتمنده.
اما گوگل برای سرچ کنسول (و ابزارهای دیگهاش مثل آنالیتیکس) از یک نسخه محدودتر، اما بسیار سریعتر به اسم RE2 استفاده میکنه.
- این یعنی چی؟ یعنی دستورات خیلی پیچیده و پیشرفته، مخصوصاً «نگاه به اطراف» (Lookarounds) مثل (?!…) (Negative Lookahead) یا (?<=…) (Positive Lookbehind) در RE2 پشتیبانی نمیشن یا عملکرد محدودی دارن.
- راه حل چیه؟
- اولاً، خوشبختانه تو اصلاً به اونها نیاز نداری.
- ثانیاً، همونطور که قبلاً گفتم، به جای استفاده از الگوی پیچیده (?!brand) برای مستثنی کردن، خیلی راحت از فیلتر Doesn’t match regex خود سرچ کنسول استفاده کن.
- نتیجهگیری عملی: اگه یه الگوی خیلی خفن و پیچیده از اینترنت کپی کردی و در GSC کار نکرد، دنبالش نگرد. احتمالاً به خاطر محدودیت RE2 هست. به همون دستورات پایهای که با هم یاد گرفتیم (یعنی |, ^, $, .*, ()) بچسب که ۹۹٪ نیاز تو رو پوشش میدن.
(مهم) احتیاط در استفاده از Wildcard (.) و تاثیر آن بر دقت دادهها
کاراکتر . (نقطه) به تنهایی یعنی «هر کاراکتری». وقتی با * (صفر یا بیشتر) ترکیب میشه، الگوی .* رو میسازه که ترجمهاش میشه: «هر چیزی، با هر طولی، تا جایی که میتونی برو جلو!».
این الگو «حریصانه» (Greedy) عمل میکنه و میتونه دادههای تو رو خراب کنه.
- مثال اشتباه:
- هدف تو: میخوای فقط صفحات مقالات بلاگ (/blog/post-name) رو ببینی.
- الگوی تو: ^/blog/.*
- مشکل: این الگو هم /blog/post-name رو پیدا میکنه، هم /blog/category/seo رو، هم /blog/tags/regex رو. چرا؟ چون .* همهشون رو شامل میشه.
- نتیجه: تو فکر میکنی داری عملکرد «مقالات» رو تحلیل میکنی، در حالی که داری عملکرد «دستهبندیها» و «تگها» رو هم قاطی آمار میبینی و تحلیلت اشتباه از آب درمیاد.
- چطور دقیقتر باشیم؟ باید به RegEx بگی که حریص نباشه. مثلاً اگه میدونی URL مقالهات بعد از /blog/ دیگه اسلش / نداره، میتونی از الگوی پیشرفتهتر ^/blog/[^/]+ استفاده کنی. (یعنی بعد از /blog/، هر کاراکتری بیاد به جز اسلش).
- توصیه من به تو: تا جایی که میتونی، از .* کمتر استفاده کن. سعی کن الگوهای ابتدا و انتهای عبارتی که دنبالش میگردی رو مشخصتر کنی. .* مثل یه چاقوی دو لبه است؛ کار رو راه میندازه، اما ممکنه دقت تحلیلت رو فدای راحتی کنه.
جمعبندی: چگونه RegEx تحلیل شما را از «گزارشگیری» به «استراتژی» تبدیل میکند؟
این سؤال آخر، تمام هدف یادگیری RegEx رو خلاصه میکنه. بیا تفاوت این سه سطح رو ببینیم:
- سطح ۱: گزارشگیری (Reporting)
- کار تو: باز کردن GSC و گفتن: «ما این ماه ۵۰ هزار کلیک گرفتیم.»
- نتیجه: خب که چی؟ این عدد هیچ تصمیمی برای ما نمیسازه. این فقط «گزارش» دیتای خامه.
- سطح ۲: تحلیل ساده (Analysis)
- کار تو: استفاده از فیلتر ساده Contains. «ما ۵۰ هزار کلیک گرفتیم که ۱۰ هزارتاش برای کوئری “سئو” بوده.»
- نتیجه: بهتر شد. حداقل میدونیم کلمه «سئو» برامون مهمه. اما هنوز استراتژی نداریم.
- سطح ۳: استراتژی (Strategy) با RegEx
- کار تو: استفاده از RegEx و فیلترهای ترکیبی.
- تحلیل تو این شکلی میشه: «ما ۵۰ هزار کلیک گرفتیم. با استفاده از RegEx، دادهها رو به دو بخش برند ((vazir seo|وزیر سئو)) و غیر برند (Doesn’t match …) تقسیم کردم.
- یافته ۱: ۴۰ هزار کلیک ما (یعنی ۸۰٪) برای کوئریهای برند بوده. این نشون میده آگاهی از برند ما قویه.
- یافته ۲: فقط ۱۰ هزار کلیک ما برای کوئریهای غیر برند بوده. با فیلتر کردن این گروه، دیدم که مهمترین کوئریهای غیر برند ما (مثل آموزش سئو یا خدمات سئو) در میانگین رتبه ۷ تا ۱۲ گیر کردن و CTR پایینی دارن.
- یافته ۳: با فیلتر کردن صفحات بلاگ (^/blog/) فهمیدم ترافیک اطلاعاتی خوبی داریم، اما با مقایسهاش با صفحات محصول (^/products/) دیدم که ترافیک تجاری ما ضعیفه.»
- استراتژی عملیاتی که از این تحلیل درمیاد: «بچهها! ما در برندینگ قوی هستیم، اما در جذب مشتری جدید از طریق سئو ضعیفیم. استراتژی ماه آینده اینه:
- روی کوئریهای غیر برند رتبه ۷ تا ۱۲ تمرکز میکنیم (همونایی که RegEx بهمون داد).
- صفحاتشون رو آپدیت محتوایی میکنیم تا CTR رو بالا ببریم.
- از مقالات پربازدید بلاگ (که با RegEx پیدا کردیم) به صفحات محصولمون (که ضعیف بودن) لینک داخلی هدفمند میدیم.»
میبینی؟ RegEx به تو اجازه داد دادهها رو دقیقاً بر اساس اهداف کسبوکار (جذب مشتری جدید در مقابل مشتری وفادار) دستهبندی کنی و از دل «گزارش» خام، یک «نقشه راه» و «استراتژی» دقیق بیرون بکشی.
امیدوارم این راهنمای جامع RegEx بهت کمک کرده باشه تا با قدرت بیشتری از سرچ کنسول استفاده کنی.
جمعبندی
خب، تبریک میگم! تو الان فقط یه کاربر ساده سرچ کنسول نیستی. تو به جعبه ابزاری مجهز شدی که اکثر رقبای تو یا ازش میترسن یا اصلاً از وجودش خبر ندارن.
یادت باشه، RegEx فقط برای فیلتر کردن چند تا کلمه نیست. RegEx ابزار «دستهبندی» و «عمیق شدنه».
- با RegEx فهمیدی چطور کوئریهای برند رو از غیر برند جدا کنی تا رشد واقعی سئوی خودت رو ببینی.
- یاد گرفتی چطور سوالات کاربر (Informational) و قصد خرید (Transactional) رو از دل هزاران کوئری بیرون بکشی.
- و مهمتر از همه، دیدی که چطور میشه عملکرد بخشهای مختلف سایت (مثل بلاگ در مقابل فروشگاه) رو مستقیماً با هم مقایسه کرد و استراتژی لینکسازی داخلی رو بر اساس اون چید.
از امروز، دیگه به گزارشهای سرچ کنسول فقط «نگاه» نکن؛ اونها رو «تحلیل» کن. از همین الگوهای ساده شروع کن و ببین چطور دیدت به استراتژی سئوی سایتت کامل عوض میشه.
سوالات متداول (FAQ)
۱. آیا RegEx در سرچ کنسول به حروف بزرگ و کوچک حساس است؟
بله، ۱۰۰ درصد! این یکی از رایجترین اشتباهاته. الگوی vazir seo با کوئری Vazir Seo مطابقت پیدا نمیکنه. تو باید همیشه هر دو حالت رو با استفاده از کاراکتر | (یا) پوشش بدی. مثال: (vazir seo|Vazir Seo).
۲. سادهترین راه برای مستثنی کردن (Exclude) یک کلمه در سرچ کنسول چیست؟
به جای درگیر شدن با الگوهای پیچیده منفی (مثل Lookaheads)، خیلی ساده نوع فیلترت رو از Matches regex به Doesn’t match regex (مطابقت ندارد) تغییر بده. بعد، اون کلمه یا الگویی که نمیخوای باشه رو وارد کن (مثلاً: (برند|brand)).
۳. چرا گوگل از سینتکس کامل RegEx پشتیبانی نمیکند؟
سرچ کنسول (و گوگل آنالیتیکس) از موتور RE2 استفاده میکنه که نسخهای سریعتر اما محدودتر از RegEx کامله. این موتور از دستورات خیلی پیچیده مثل «نگاه به اطراف» (Lookarounds) پشتیبانی نمیکنه. اما خبر خوب اینه که تو با همین دستورات پایهای (|, ^, $, .*) میتونی ۹۹٪ کارهای تحلیلی مورد نیازت رو انجام بدی.