خداحافظ wp-admin، سلام امنیت!
هر کی خواست وارد بشه از در پشتی بیاد
💡 چرا باید آدرس ورود به وردپرس رو عوض کنیم؟
همه میدونن که صفحه ورود وردپرس yoursite.com/wp-admin یا yoursite.com/wp-login.php هست.
حتی رباتها و هکرها هم اینو بهتر از ما بلدن 😅
حالا اگه یه نفر بخواد با حملهی Brute Force (یعنی امتحان کردن رمزهای زیاد) وارد بشه، کافیه بره همین مسیر معروف.
پس یه ترفند ساده ولی خیلی مؤثر داریم:
👉 آدرس ورود رو عوض میکنیم و کاری میکنیم هرکی خواست با wp-admin بره، صفحه ۴۰۴ بخوره تو صورتش! 😎
🧱 روش اول: با افزونه (سادهترین روش)
🔹 افزونه پیشنهادی: WPS Hide Login
از پیشخوان وردپرس برو به
افزونهها → افزودن → جستجو کن “WPS Hide Login”نصب و فعالش کن.
حالا از منوی تنظیمات → “General” (همون عمومی) پایین صفحه گزینهی جدیدی میبینی به نام WPS Hide Login.
در قسمت Login URL آدرس جدید رو بنویس (مثلاً
mydoorیاsecret-panel).
مثال:https://example.com/mydoorحالا هرکسی بره
example.com/wp-adminیاexample.com/wp-login.php، با صفحه ۴۰۴ مواجه میشه 🚫
💥 نکته مهم:
آدرس جدید رو یادداشت کن یا بوکمارک کن! چون از این به بعد فقط از اون مسیر وارد پیشخوان میشی.
اگه فراموشش کنی، فقط با حذف افزونه از هاست میتونی وارد بشی.
🧠 روش دوم: بدون افزونه (برای حرفهایها)
اگه دوست داری دستی و تمیز کار کنی، بدون هیچ پلاگینی، با کمی کدنویسی میشه همون کارو انجام داد.
🔒 فایل .htaccess — نسخهی حرفهای با ریدایرکت به ۴۰۴ سفارشی
# =====( Custom hardening BEFORE WordPress block )=====
RewriteEngine On
# ۱) مسیر ورود سفارشی
RewriteRule ^mylogin/?$ wp-login.php [QSA,L,E=Cache-Control:no-cache]
# ۲) بلاک wp-login.php مگر از /mylogin → بفرست به ۴۰۴ سفارشی
RewriteCond %{THE_REQUEST} \s/+wp-login\.php[\s?] [NC]
RewriteCond %{HTTP_REFERER} !/mylogin/? [NC]
RewriteRule ^ /index.php?force404=1 [R=302,L,E=Cache-Control:no-cache]
# ۳) اجازههای لازم
RewriteRule ^wp-admin/admin-ajax\.php – [L]
RewriteRule ^wp-admin/load-styles\.php – [L]
RewriteRule ^wp-admin/load-scripts\.php – [L]
RewriteRule ^wp-admin/(css|images|js|fonts)/ – [L]
# ۴) اگر لاگین نیستی و میری wp-admin → نمایش صفحه ۴۰۴ سفارشی
RewriteCond %{QUERY_STRING} !force404=1 [NC]
RewriteCond %{REQUEST_URI} ^/wp-admin [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin/admin-ajax\.php$ [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin/load-styles\.php$ [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin/load-scripts\.php$ [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin/(css|images|js|fonts)/ [NC]
RewriteCond %{HTTP_COOKIE} !wordpress_logged_in_ [NC]
RewriteRule ^ /index.php?force404=1 [R=302,L,E=Cache-Control:no-cache]
# =====( end custom )=====
بقیه هرکی بره اونجا → خطای ۴۰۴ یا Forbidden میگیره
حالا از این به بعد وارد شو از:
https://example.com/mylogin
نکات سریع:
این بلوک باید بالای
# BEGIN WordPressو بعد از بلوکهای LSCACHE باشد.my-login.phpفایل فیزیکی نداشته باشه؛ ما فقط با URL کار میکنیم.بعد از تغییرات، کش LiteSpeed/Cloudflare و مرورگر رو پاک کن.
ساخت صفحهٔ ۴۰۴ سفارشی با المنتور
اگر اهل طراحی بصری هستی، میتونی صفحهی خطا رو با المنتور بسازی تا کاربر به جای صفحهی سفید یا ساده، یه تجربهی حرفهای ببینه
مراحل:
در وردپرس برو به
برگهها → افزودن برگه جدیدنامش رو بذار مثلاً:
not-foundبا المنتور طراحی کن.
میتونی از رنگ برند سایت استفاده کنی
نوشتهای مثل
متاسفانه صفحهای که به دنبال آن هستید یافت نشد.
شاید مسیر را اشتباه آمدهاید یا دسترسی شما محدود است.و دکمهای مثل
بازگشت به صفحه اصلی
قرار بده.
منتشرش کن و آدرس اسلاگش رو یادداشت کن (مثلاً
/not-found).
add_action(‘wp’, function () {
if (!isset($_GET[‘force404’])) return;
status_header(404);
nocache_headers();
header(‘X-Robots-Tag: noindex, nofollow’, true);
global $wp_query;
$wp_query->set_404();
$wp_query->is_404 = true;
// اسلاگ صفحه طراحیشده با المنتور
$slug = ‘not-found’;
$page = get_page_by_path($slug);
get_header();
if ($page && class_exists(‘\Elementor\Plugin’)) {
echo \Elementor\Plugin::instance()->frontend->get_builder_content_for_display($page->ID, true);
} elseif ($page) {
echo apply_filters(‘the_content’, $page->post_content);
} else {
include get_404_template();
}
get_footer();
exit;
});
🧰 چند نکته امنیتی اضافه برای حرفهایتر شدن
از افزونه امنیتی مکمل مثل Wordfence یا iThemes Security استفاده کن تا
تلاشهای ورود مشکوک رو لاگ بگیره 🚨ورود دو مرحلهای (2FA) فعال کن.
از رمز عبور قوی و متفاوت برای ادمین استفاده کن (نه “admin123” 😅).
کاربر “admin” رو حذف یا تغییر نام بده.
حتماً SSL (https) فعال باشه تا اطلاعات لاگین رمزگذاری بشه.
🧩 یه مثال واقعی
یه شرکت فروشگاهی وردپرس داشت با ۷۰۰ بار تلاش ورود در روز از روسیه 😐
فقط با عوض کردن مسیر ورود از wp-login به secret-door،
تلاشهای حمله شد ۰ در روز.
هیچ فایروال گرونی هم نصب نکردن — فقط یه حرکت هوشمندانه 👌
🔐 جمعبندی
امنیت وردپرس همیشه از چیزای ساده شروع میشه.
همون آدرس کوچیک wp-admin میتونه دروازهی ورود هکرها باشه.
پس با چند دقیقه وقت گذاشتن، درِ قلعهت رو نامرئی کن! 🏰✨