محدود کردن دسترسی کاربران مهمان در وردپرس
- افزونه وردپرس
- بروزرسانی شده در

اگه میخواید یک سایت خصوصی، محیط آزمایشی، اینترانت یا اکسترانت داشته باشید، افزونه Restricted Site Access بهتون کمک میکنه دسترسی کاربران مهمان به کل سایت وردپرسی رو ببندید. کاربر مهمان همون کسیه که هنوز وارد حساب کاربریش نشده. بعد از فعال کردن محدودیت، میتونید این افراد رو به صفحه ورود یا یک نشانی دیگه بفرستید یا یک پیام و برگه مشخص بهشون نشون بدید.
توی این آموزش، نصب و تنظیم افزونه رو قدمبهقدم با هم انجام میدیم. محدودیتهای مهمش رو هم بررسی میکنیم؛ چون این ابزار برای فروش محتوای ویژه یا محافظت از فایلهای محرمانه ساخته نشده و کش سایت یا اتصالهای مبتنی بر REST API ممکنه روی کارکردش اثر بذارن.
این روش برای وقتیه که میخواید کل سایتتون فقط در دسترس اعضایی باشه که وارد حسابشون شدن. برای نمونه، میتونید ازش برای سایت داخلی شرکت، سایتی که هنوز در حال ساخته یا فضایی مخصوص اعضای یک مجموعه استفاده کنید.
ولی اگه فقط میخواید چند نوشته یا برگه خاص رو محدود کنید، این افزونه در حالت عادی انتخاب کاملی نیست. Restricted Site Access برای بستن کل سایت ساخته شده و باز گذاشتن چند بخش انتخابی معمولاً به تنظیمات بیشتر یا کدنویسی نیاز داره.
برای ساخت چنین محدودیتی در وردپرس میشه از کدنویسی یا افزونه کمک گرفت. اینجا روش افزونهای رو پیش میبریم تا اگه تازهکار هستید، بدون نوشتن کد هم بتونید دسترسی به سایتتون رو مدیریت کنید.
آنچه در این مقاله میخوانید
معرفی افزونه Restricted Site Access

Restricted Site Access یک افزونه رایگانه که کل سایت وردپرسی رو خصوصی میکنه. این افزونه بیشتر از ۱۰ هزار نصب فعال داره و گزینههاش داخل بخش «تنظیمات ← خواندن» پیشخوان وردپرس دیده میشن.
سازنده سطح پشتیبانی این افزونه رو «Stable» یا پایدار اعلام کرده. یعنی تمرکز اصلی روی سازگاری، رفع باگها و برطرف کردن مشکلات امنیتیه؛ پس بهتره منتظر اضافه شدن مداوم قابلیتهای بزرگ تازه نباشید.
با این افزونه میتونید کاربر مهمان رو به صفحه ورود وردپرس یا یک نشانی مشخص بفرستید. همینطور میتونید یک پیام ساده یا یکی از برگههای سایتتون رو بهش نشون بدید. امکان مجاز کردن IPهای مشخص هم هست. IP یک نشانی عددیه که اتصال یک دستگاه یا شبکه رو در اینترنت مشخص میکنه.
پیشنیازهای نصب افزونه
این آموزش با نسخه 7.6.4 افزونه بررسی شده. این نسخه به وردپرس 6.9 یا بالاتر و PHP 7.4 یا بالاتر نیاز داره. PHP زبان برنامهنویسیایه که وردپرس با کمکش روی سرور اجرا میشه. قبل از نصب، نسخه وردپرس و PHP هاستتون رو بررسی کنید و همیشه آخرین نسخه امن افزونه رو نصب کنید.
نسخههای 7.6.3 و 7.6.4 اصلاحات امنیتی داشتن. پس اگه هنوز از نسخه قدیمی افزونه استفاده میکنید، اول با کمک راهنمای آموزش افزونه Duplicator و انتقال کامل وردپرس از سایتتون نسخه پشتیبان بگیرید و بعد افزونه رو بهروز کنید.
نحوه کار با افزونه Restricted Site Access
برای نصب، وارد پیشخوان وردپرس بشید و از منوی «افزونهها» روی «افزودن افزونه تازه» کلیک کنید. عبارت Restricted Site Access رو داخل کادر جستوجو بنویسید، افزونه رو نصب کنید و بعد دکمه فعالسازی رو بزنید. اگه این مراحل براتون تازگی داره، راهنمای نصب افزونه در وردپرس رو ببینید.

بعد از فعالسازی، منوی جداگانهای برای افزونه نمیبینید. برای دسترسی به گزینهها، از پیشخوان وردپرس وارد «تنظیمات ← خواندن» بشید. تنظیمات Restricted Site Access پایین همین صفحه قرار گرفتن.
فعال کردن محدودیت دسترسی
در بخش Restricted Site Access، گزینه «Restrict Site Access to Visitors who are Logged in or Allowed by IP Address» رو فعال کنید. از این لحظه کل سایت برای کاربرانی که وارد حسابشون نشدن بسته میشه؛ مگر اینکه IP اونها رو داخل فهرست مجاز گذاشته باشید.

انتخاب رفتار برای کاربران مهمان
در بخش Handle Restricted Visitors مشخص میکنید که کاربر مهمان بعد از باز کردن سایت چه چیزی ببینه. گزینههای اصلی این بخش اینها هستن:
- Send Them to the WordPress Login Screen: کاربر مهمان رو مستقیم به صفحه ورود وردپرس میفرسته.
- Redirect Them to a Specified Web Address: کاربر رو به نشانی دلخواه شما میفرسته. بهتره نشانی مقصد رو کامل و با
https://وارد کنید. - Show Them a Simple Message: یک پیام ساده به کاربر مهمان نشون میده. میتونید توی این پیام توضیح بدید که برای دیدن سایت باید وارد حسابش بشه.
- Show Them a Page: یکی از برگههای سایتتون رو به کاربر مهمان نشون میده. بهتره یک برگه ساده بسازید و روش ورود یا تماس با مدیر سایت رو داخلش بنویسید.
مجاز کردن IPهای مشخص
در بخش Unrestricted IP Addresses میتونید IP افرادی رو بنویسید که نباید محدود بشن. این گزینه برای مدیر سایت، اعضای تیم یا دفتر شرکت کاربردیه. فقط یادتون نره که بعضی سرویسهای اینترنت IP ثابت ندارن و نشانی اونها بعد از قطع و وصل شدن تغییر میکنه.
در پایان روی «ذخیره تغییرات» کلیک کنید. بعد سایت رو در یک پنجره ناشناس مرورگر باز کنید تا مطمئن بشید کاربر مهمان دقیقاً همون صفحه یا پیامی رو میبینه که انتخاب کردید.
محدودیتهای مهم افزونه
این افزونه از فایلهای رسانه محافظت نمیکنه
Restricted Site Access صفحههای سایت رو محدود میکنه، ولی جلوی دسترسی مستقیم به فایلهای واقعی داخل پوشه رسانه وردپرس رو نمیگیره. یعنی اگه کسی نشانی مستقیم یک تصویر، فایل PDF یا فایل دیگه رو داشته باشه، ممکنه هنوز بتونه اون رو باز کنه. پس برای نگهداری فایلهای محرمانه فقط به این افزونه تکیه نکنید.
کش صفحه ممکنه محدودیت رو دور بزنه
کش صفحه یعنی سرور یا افزونه کش وردپرس یک نسخه آماده از صفحه رو نگه میداره تا سایت سریعتر باز بشه. بعضی روشهای کش ممکنه این نسخه آماده رو بدون بررسی وضعیت ورود کاربر نمایش بدن. بعد از فعال کردن محدودیت، کش سایت و سرور رو پاک کنید و نتیجه رو در حالت مهمان آزمایش کنید. اگه صفحه خصوصی هنوز دیده میشه، باید تنظیمات کش رو با کمک شرکت هاست یا سازنده ابزار کش بررسی کنید.

رفتار REST API با بازدید عادی فرق داره
REST API راهی برای ردوبدل کردن اطلاعات وردپرس با اپلیکیشنها و سرویسهای دیگهست. در نسخه 7.6.4، درخواست ناشناس REST API بهجای رفتن به صفحه ورود یا دیدن پیام، یک پاسخ JSON با کد 401 میگیره. JSON یک قالب متنی برای جابهجایی دادههاست و کد 401 یعنی درخواست اجازه دسترسی نداره. اگه سایتتون به اپ موبایل، سیستم Headless یا یک سرویس خارجی وصله، بعد از فعالسازی افزونه این اتصالها رو هم آزمایش کنید.
محدود کردن چند صفحه به تنظیم بیشتری نیاز داره
کار اصلی این افزونه بستن کل سایته. اگه میخواید فقط چند نوشته یا برگه محدود بشن یا بعضی صفحهها برای مهمان باز بمونن، ممکنه به فیلتر کدنویسی restricted_site_access_is_restricted یا یک افزونه عضویت مناسب مثل ابزار معرفیشده در آموزش ایجاد ناحیه کاربری در وردپرس با Ultimate Member نیاز داشته باشید. اگه با کدنویسی آشنا نیستید، بهتره انجام این تغییر رو به یک توسعهدهنده وردپرس بسپارید.
سوالات متداول
آیا Restricted Site Access کل سایت وردپرسی رو محدود میکنه؟
بله، کاربرد اصلی این افزونه بستن دسترسی کاربران مهمان به کل سایته. اگه فقط میخواید چند نوشته یا برگه خاص رو محدود کنید، به تنظیمات بیشتر، کدنویسی یا یک افزونه عضویت مناسب نیاز دارید.
آیا این افزونه از فایلهای رسانه هم محافظت میکنه؟
نه، این افزونه صفحههای سایت رو محدود میکنه، ولی جلوی باز شدن مستقیم فایلهای رسانه رو نمیگیره. اگه کسی نشانی مستقیم یک تصویر یا فایل PDF رو داشته باشه، ممکنه هنوز بتونه اون رو باز کنه.
چرا بعد از فعال کردن محدودیت هنوز صفحههای سایت دیده میشن؟
ممکنه کش سایت یا سرور نسخه آماده صفحه رو به کاربر مهمان نشون بده. کش سایت و سرور رو پاک کنید و دوباره نتیجه رو در یک پنجره ناشناس مرورگر آزمایش کنید.
آیا میتونم بعضی افراد رو بدون ورود به سایت راه بدم؟
بله، میتونید IP افراد موردنظرتون رو در بخش Unrestricted IP Addresses وارد کنید. فقط یادتون نره که IP بعضی اتصالهای اینترنت ثابت نیست و ممکنه بعداً تغییر کنه.
کاربر مهمان بعد از باز کردن سایت چه چیزی میبینه؟
این انتخاب دست شماست. میتونید کاربر مهمان رو به صفحه ورود یا یک نشانی دلخواه بفرستید یا یک پیام ساده و برگه مشخص رو بهش نشون بدید.
جمعبندی
Restricted Site Access راه سادهای برای خصوصی کردن کل سایت وردپرسیه. باهاش میتونید کاربران مهمان رو به صفحه ورود یا یک نشانی دیگه بفرستید یا یک پیام و برگه مشخص بهشون نشون بدید. بااینحال، قبل از استفاده نسخه وردپرس و PHP رو بررسی کنید، آخرین نسخه امن افزونه رو نصب کنید و حتماً کش، فایلهای رسانه و اتصالهای REST API رو در حالت مهمان آزمایش کنید.

سلام من میخواستم یک برگه که مخصوص مشتریان خاص هست رو محدود کنم که کاربران اول اعتبار سنجی بشن سپس با تغیر نقش آنها به اون صفحه دسترسی پیدا کنند . با این افزونه میتونم مشکلم رو حل کنم ؟
سلام وقتتون بخیر
من وقتی روی حالت قرار میدم Restrict site access to visitors who are logged in or allowed by IP address
از طرف رنک مث هشدار سایت شما روی No Index تنظیم شده است و در موتورهای جستجو ظاهر نمی شود. می توانید نمایان بودن موتور جستجو را اینجا تغییر دهید
در واقع تیک بررسی موتورای جستجوی گوگل برداشته میشه
لطفا راهنمایی می کنید
سلام طبیعیه نباید روی این حالت قرار بدید سایت رو چون گوگل دیگه دسترسی نداره