رجکس (Regex | Regular Expressions) یکسری الگوی جستجو در متن است که برای پیدا کردن قسمت خاصی از یک متن، در بخشهای مختلف مانند پایتون، Google Sheets، سرچ کنسول، استفاده میشود. این الگوها میتوانند شامل حروف، اعداد، نمادها و کاراکترهای خاص باشند.
مطالبی که در ادامه یاد میگیریم:
هدف از استفاده Regex چیست؟
عنوان Regex یا Regular Expression به عنوان یک ابزار قدرتمند در زمینه برنامه نویسی و سئو محسوب میشود. هدف اصلی استفاده از این ابزار، تطبیق الگوهای مشخص با رشتههای مختلف است. با استفاده از Regex میتوانید رشتههایی که شامل الگوهای خاصی هستند را پیدا کرده و از آنها برای ایجاد تغییرات مورد نظر استفاده کنید.
در زمینه سئو، استفاده از Regex برای پیدا کردن و جایگزینی الگوهای خاص در آدرس صفحات، تگهای HTML و متن نوشتاری مورد استفاده قرار میگیرد. با استفاده از این ابزار، میتوانید بهبود دهنده رتبه سایت خود در موتورهای جستجوی اینترنتی باشید.
در کل، هدف از استفاده Regex، پیدا کردن الگوهای مشخص و ایجاد تغییرات مورد نظر در رشتههای مختلف است. با استفاده از آن، میتوانید سرعت پردازش دادههای خود را افزایش داده و بهبود قابل توجهی در رتبه سایت خود در موتورهای جستجوی اینترنتی داشته باشید.
هرکدام از نشانههای به تنهایی کاربردی نداشته و باید در کنار حروف یا اعداد نوشته شود. در ادامه به مفهوم هرکدام میپردازیم.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use ^
از ^ برای پیدا کردن شروع یک رشته یا خط استفاده کنید
Use .
نقطه منطبق با هر کاراکتری به جز شکست خط است.
Use .*
هر چیزی
Use [ ]
هر کاراکتری را بین کروشههای مربع مطابقت میدهد.
Use [^ ]
کلاس شخصیت منفی با هر کاراکتری که بین پرانتزها قرار ندارد مطابقت دارد
Use |
یا
Use ?
نماد قبلی را اختیاری می کند
Use .*abc.*
حاوی
Use $
با انتهای رشته یا خط مطابقت دارد.
Use \
از شخصیت بعدی فرار می کند. این به شما امکان می دهد نویسه های رزرو شده [] () {} را مطابقت دهید. * +؟ ^ $ \ |
Use {lengths}
از {n} برای فیلتر کردن نتایج بر اساس طول متن استفاده کنید.
Use {min len, max len}
از {min, max} برای فیلتر کردن نتایج بر اساس طول متن استفاده کنید.
Use {min len,}
از {min,} برای فیلتر کردن نتایج بر اساس طول متن استفاده کنید.
Use \w
به معنی کاراکترهای [a-zA-Z0-9_]
Use \W
معنی برعکس حالت قبل یا [^\w]
Use \d
شامل اعداد میشود [0-9]
Use \D
شامل اعداد نمیشود یا [^\d]
Use \s
شامل کاراکترهای اضافی و فاصله میشود [\t\n\f\r\p{Z}]
Use \S
شامل کاراکترهای اضافی و فاصله نمیشود یا [^\s]
چگونه از Regex در سئو استفاده کنیم؟
استفاده از رجکس در سئو، میتواند بخشی از فرآیند کار را آسان کنید. با استفاده از ریجکس، میتوانید الگوهای مشابه را در صفحات سایت خود پیدا کنید. بهطور مثال میتوانید با کمک رجکس، لیستی از دستهبندیها، Title، متای توضیحات و H1 صفحههای سایت خود را رقیب را به راحتی در مدت زمان کوتاهی پیدا کنید.
سرچ کنسول یکی از ابزارهای رایگان و کاربردی است که به متخصصان سئو برای بررسی اطلاعات سایت کمک میکند. تصور کنید که شما میخواهید یک سری کلمات سوالی که کاربران سرچ کردن و سایت شما هم با آنها Impressions داشته را در سرچ کنسول فیلتر کنید، با سری کلمات زیادی مواجه خواهید شد. در این مرحله میتوانید از Regex در سرچ کنسول کمک بگیرید.
ابتدا در سرچ کنسول وارد مسیر زیر شده:
Performance > Search results > New > Query… > Custom (regex)
سپس متن زیر را وارد کنید:
Use ^(چه کسی|چه|کجا|کی|چرا|چگونه|چطور)[" "]
تصور کنید که میخواهید برای بهینهسازی بودجه خزش سایت خود تصمیم گرفتید که تمام فایلهای PDF, Excel, Doc و PowerPoint را no-index کنید. چطور این کار را انجام میدهید؟ شما میتوانید با استفاده از Regex در robots.txt این کار را انجام دهید. برای نو-ایندکس کردن فایلهای بالا میتوانید از نمونه دستور زیر در فایل robots.txt سایت خود استفاده کنید:
Disallow: /*.pdf Disallow: /*.doc Disallow: /*.docx Disallow: /*.xls Disallow: /*.xlsx Disallow: /*.xlsm Disallow: /*.ppt Disallow: /*.pptx
در این مثال فایلهایی که نیاز به ایندکس شدن نداشتن را نو-ایندکس کردیم. شما میتوانید از دستورات رجکس برای صفحههای سایت هم به همین صورت اقدام کنید.
پیشنهاد میکنم که قبل از هرگونه تغییرات حتما از فایل خود بکآپ گرفته و از یک متخصص کمک بگیرید. همچنین میتوانید نمونه فایلهای robots.txt سایتهای مختلف را جهت یادگیری بهتر، بررسی کنید.
فایل .htaccess یکی از فایلهای مهم در هر سایتی است که پیشنهاد میکنم بدون دانش استفاده، سمت این فایل نروید. فایل .htaccess قابلیتهای زیادی مانند ریدایرکت صفحهها، فیلتر ترافیک و دیگر موارد مهم را بر عهده دارد.
در این بخش هدف این نیست که سریع اقدام به تغییرات کنید. با توجه به اینکه این یک فایل تخصصی است، بیشتر هدف آشنایی با استفاده از Regex در .htaccess است.
پیشنهاد: قبل از هرگونه تغییر در فایل .htaccess از آن بکآپ بگیرید.
پیشنهاد: برای ایجاد هرگونه تغییر در فایل .htaccess از یک متخصص کمک بگیرید.
Use .htaccess ^(.*).php$
این دستور در فایل .htaccess قرار میگیرد و با استفاده از عبارت منظم ^(.*).php$ هر درخواستی که به یک فایل PHP در سرور ارسال شود را مطابق با الگوی تعیین شده میکند. بنابراین، اگر کاربری درخواست فایلی با پسوند .php را ارسال کند، سرور آن را به صورت پیش فرض به عنوان یک درخواست PHP میشناسد و برای پردازش به PHP ارسال میکند.
Regex یکی از ابزارهای کاربردی است که شما میتوانید از آن در فایل Google Sheets برای مدریت دیتا مانند کلمات کلیدی استفاده کنید. در مثال زیر من با کمک رجکس از یک فیلتر در یکی از سلولهای صفحهی خود استفاده کردم. این دستور برای پیدا کردن 3 کلمه کلیدی دلخواه از لیست تمام کلماتی که در دیتابانک موجود در برگه گوگل شیت قرار دارد، استفاده شده.
=filter(SheetName!column:column,REGEXMATCH(SheetName!column:column, “Keyword1 | Keyword2 | Keyword3”))
=filter(Range, Condition)
SheetName: نام برگهای که اطلاعات شما در آن قرار دارد
column:column: محدوده ستونهای مورد نظر در برگه «SheetName»
REGEXMATCH(): ایجاد دستور برای پیدا کردن کلمات کلیدی مورد نظر
سایتهای زیادی برای آموزش Regex وجود دارد. شما میتوانید از سایتهای زیر برای یادگیری رجکس استفاده کنید:
نشانه . در رجکس به معنی تک کاراکتر است. در مثال زیر میخواهیم کلماتی که در آنها «ست» استفاده شده را به همراه اولین کلمه قبل از خود را نمایش دهد:
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use .ست
این یک متن است. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
نشانههای [ ] میتوانند با استفاده از کلمه یا کلمههایی که داخل خود قرار دارد، یک مجموعهای درست کند تا به نتیجه دلخواه برسد. در این مثال هرجایی که دارای «م» به همراه «ت» یا «ن» باشد، نمایش داده میشود.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use م[تن]
من یک متن تست هستم. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
هنگامی از [^] استفاده میکنیم که بخواهیم مشخص کنیم که بخش مورد نظر باید در ابتدا قرار گرفته باشد.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use م[تس^]
این یک متن تست است. پیشبینی میشود تابستان سال پیشرو هوا بسیار گرم باشد. مسئولیت سختی در پیش است.
همانطور که در مثال بالا مشاهده میکنید، فقط «متن» و «مسئولیت» انتخاب شدند. این در حالی است که در کلمه «امسال» به دلیل اینکه «م» و «س» ابتدای کلمه نبودند، انتخاب نشدند.
کاراکتر * یکی از کاراکترهای پرکاربرد است. وقتی از * استفاده میکنیم که میخواهیم همه را در نظر بگیریم.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use [a-z]*
This is a test text
در مثال فوق، ابتدا در کلاس [a-z] ما تمام حروف انگلیسی کوچک را در نظر گرفتیم. سپس با استفاده از * تمام حروفی که دارای حروف انگلیسی کوچک هستند را انتخاب کردیم. برای همین «T» در انتخابهای ما جایی نداشت.
توجه: در این دستور فاصلهی بین کلمات در نظر گرفته نمیشود.
کاراکتر + هم مانند * کاربرد زیادی دارد. با این تفاوت که * شامل تمام مجموعه مورد نظر میشود ولی + از بعد از کاراکتر اول شروع میشود.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use i.+t
This is a test text. This is a test text.
در مثال بالا از اولین جایی که حرف «i» شروع شده انتخاب میشود تا آخرین «t» که مشاهده میشود.
کاراکتر ? این توانایی را دارد که نماد قبل از خود را اختیاری کند.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use [T]?e
Test test Test
در مثال بالا فقط بخشهایی که قبل از «e»، حرف «T» قرار دارد نمایش داده میشود.
کاراکترهای { } و [ ] برای مشخص کردن محدوده هستند.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use [0-9]{2,3}
This is a test number 120.00991 and 10.0
در مثال بالا [0-9]{2,3} به معنی در بین اعدا 0 تا 9 که وجود دارد، اعداد 2 حداقل رقمی که بیش از 3 رقم نیستند، انتخاب شوند.
اعداد انتخاب شده: 120 - 009 - 91 - 10
Use [0-9]{2,}
در مثال بالا [0-9]{2,3} به معنی در بین اعدا 0 تا 9 که وجود دارد، اعداد 2 حداقل رقمی انتخاب شوند.
اعداد انتخاب شده: 120 - 00991 - 10
Use [0-9]{3}
در مثال بالا [0-9]{2,3} به معنی در بین اعدا 0 تا 9 که وجود دارد، اعداد 3 رقمی انتخاب شوند.
اعداد انتخاب شده: 120 - 009
کارکترهای ( ) هم برای ایجاد گروه هستند. کارایی متفاوتی دارند که با مثال توضیح میدهیم:
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use (c|g|p)ar
The car is parked in the garage.
مثال بالا به این معنی است که بخشهایی که هر کدام از حروف «c» یا «g» یا «p» وجود دارد و بعد از آن «ar» آمده، انتخاب شود.
انتخاب شدهها: car - par - gar
در Regex کاکتر | را میتوان به عنوان جایگزین در نظر گرفت.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use (T|t)he|car
The car is parked in the garage.
در مثال بالا هرجایی که «T» یا «t» وجود دارد که بعد از آن «he» یا «he car» آمده را انتخاب کند.
کاراکتر ^ برای انتخاب ابتدای خط است.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use (T|t)h
This is a test text and this is a sample.
انتخاب شدهها: Th - th
Use ^(T|t)h
This is a test text and this is a sample.
انتخاب شدهها: Th
وقتی بخواهیم از علائم نگارشی مانند . ? و دیگر موارد استفاده کنیم که شبیه به علامتهای مجاز در Regex هم هستند، از \ استفاده میکنیم.
کاراکتر $ برعکس حالت ^ به معنی انتخاب انتهای خط است.
توجه داشته باشید که $ فقط به انتهای خط توجه میکند و با نقطهی انتهای جمله کاری ندارد.
توجه: در ادامه برای استفاده از دستورها در فایل خود، Use را حذف کنید.
Use (e\.)
This is a test. This is a picture. This is an Apple.
انتخاب شدهها: e. در picture. و e. در Apple.
Use (e\.)$
This is a test. This is a picture. This is an Apple.
انتخاب شده: e. در Apple.
جمعبندی استفاده از Regex در سئو:
بهصورت کلی استفاده از ریجکس در سئو روشهای متفاوتی دارد. در این مقاله سعی کردم تا کاربردیترین دستورات Regex در سئو را به شما آموزش دهم. با تمرین و مشاهده دستورهای متفاوت میتوانید مهارت رجکس خود را افزایش دهید. من هم خوشحال میشم دستورهای Regexیی که در کار خود استفاده میکنید را در قسمت کامنتها بهاشتراک بگذارید. ?