За замовчуванням після кожної інсталяції WordPress є три основні URL-адреси для входу в адмінку: {домен}/wp-admin.php
, або {домен}/wp-login.php
, або ж {домен}/wp-admin/
. Під цим мається на увазі умова, що система встановлена в кореневу папку, і там розміщується основний файл функціоналу входу в панель адміністрування — wp-login.php
. Ці URL-адреси (і, відповідно, цей файл) дуже важливі, що являє собою дуже вагому причину, коли виникне бажання їх змінити. Хоча б, з міркувань безпеки.
В сьогоднішньому практичному уроці ми розглянемо основні моменти по реалізації даного завдання, і я спробую максимально детально показати вам, як створити власну URL-адресу для входу в Майстерню (адмінку) сайту на CMS WordPress.
Відкритість сторінки входу в Майстерню може спричинити багато проблем із безпекою, особливо враховуючи популярність двигуна ВордПрес. Тому злам такого сайту буде «ласим шматочком». Наприклад, через хакерські атаки методом грубої сили (brute force). Додайте сюди повсюдне використання слабких паролів, і хакерам злам не завдасть багато клопоту. І якщо на додачу адміністратор сайту використовує банальний логін «admin».
До речі, рекомендую ознайомитися із способами боротьби проти атак подібного типу.
І рекомендую потурбуватися про захист сторінки входу в систему WordPress, зокрема: використовувати надійний пароль, обмежити кількість спроб вводу паролю у формі (відсікти можливість вгадування паролю), заблокувати адміністративну область WordPress за IP-адресою (наприклад, дозволити лише свою IP-адресу), і використовувати плагіни, що впроваджують використання 2FA-автентифікації на сторінці логіну, тощо.
В мережі багато подібних мануалів, і практично всі вони рекомендують змінювати URL-адресу входу до панелі адміністрування сайту на WordPress лише з допомогою відповідних плагінів. Таких інструкцій, та й плагінів, є чимало. Але метою даної статті є ознайомлення вас саме із способом зміни лінка на Майстерню без використання будь-яких плагінів. Щоб ви знали та могли це зробити вручну. Адже, потенційно, ви намагаєтеся спростити життя своїй команді/клієнтам і ускладнити його для хакерів.
УВАГА! Дані дії передбачають, що ви досвідчений користувач не лише CMS ВордПрес, але й мови програмування PHP. Оскільки доведеться так чи інакше втручатися в core файли WP (хоча це і засуджується офіційними рекомендаціями).
Щоб вручну змінити URL-адресу входу на сайт, скористайтеся копією файлу wp-login.php
. Підключіться до свого сайту на сервері через FTP і перейдіть до кореневого каталогу WordPress, — там вам потрібно знайти файл wp-login.php
та зробити його локальну копію (створити бекап) на свій комп’ютер.
Відкрийте копію цього файлу за допомогою текстового редактора, наприклад, Notepad++. Функцією пошуку в текстовому редакторі знайдіть рядки, в якому вказано лінк site_url
з параметром wp-login.php
. Загалом, це використовується в кількох основних формах:
name="registerform"
name="loginform"
name="admin-email-confirm-form"
name="lostpasswordform"
name="resetpassform"
В цих рядках ви можете вказати свою користувальницьку URL-адресу для входу до вашого сайту. Наприклад, ви можете замінити ці рядки на new-access-address.php
:
Після заміни збережіть та закрийте файл. Після цього перейменуйте його відповідно до нової URL-адреси (яку ви вибрали на попередньому кроці). В моєму прикладі файл буде називатися new-access-address.php
. Якщо ви візьмете цю адресу і додасте її до свого домену, у вас буде кастомний URL адмінки, який буде виглядати приблизно таким чином:
{домен}/new-access-address.php
Якщо вам потрібно, щоб система при спробі входу в адмінку перенаправляла на нову адресу, зробіть наступне. Відкрийте активну тему сайту та відредагуйте файл functions.php, додавши у нього наступний «хук» WordPress:
add_filter('login_url', 'sebweo_custom_wplogin_url', 10, 3); function sebweo_custom_wplogin_url($login_url) { $login_url = site_url('new-access-address.php', 'login'); return $login_url; }
Збережіть зміни у functions.php
і спробуйте отримати доступ до нової URL-адреси входу (яку ви щойно налаштували). Все повинно працювати так само добре, як і раніше. І навіть при спробі зайти за старою адресою, типу /wp-admin/
, вас перекине на нову сторінку.
Після цього можна видалити вихідний файл wp-login.php
(але зробивши попередньо його бекап, — про всяк випадок).
Якщо вам потрібно додати в якесь інше місце сайту форму з логіном (авторизацією), для цього достатньо розмістити у відповідному php-шаблоні наступну функцію:
<?php wp_login_form(); ?>
Функціонал цієї функції та, відповідно, самої форми входу генерується кодом даної функції у файлі core системи WordPress за адресою {домен}/wp-includes/general-template.php
.
Теоретично, ви можете змінити адресу входу напряму в цьому файлі, але кожне наступне оновлення двигуна «зітре» ваші коригування.
Хоча сама ідея втручання в системні елементи WordPress може здатися складною, але в даному уроці ви побачили, що це не так вже і проблематично (лише за умови, що ви досвідчений користувач і повністю усвідомлюєте свої дії).
Сьогодні я показав вам як можна змінити URL-адресу входу в панель адміністрування (Майстерня, адмінка) сайту на CMS WordPress. Зауважте, що після кожного оновлення двигуна, існує певна вірогідність, що ваші правки будуть «затерті» і вам доведеться робити все заново (принаймні, якщо ви змінюєте системні файли, а не файли в поточній темі). Цей недолік можна «перемогти» створенням нової сторінки для входу та використати хук у файлі functions.php
поточної теми.
Дякую за увагу!
Продуктивність - це валюта фрилансера. Коли ти працюєш сам на себе, ніхто не запитає: «Скільки…
Потрібно 20 років, щоб створити репутацію, але 5 хвилин, щоб її зруйнувати. Якщо ви подумаєте…
Якщо ви хочете додати на свій сайт можливість перемикання між світлим/темним режимом кольорового оформлення, тоді…
Тебе визначають дві речі: твоє терпіння, коли у тебе нічого немає і твоя поведінка, коли…
Скільки б не було в людини друзів, вона все одно буде самотньою, якщо поруч із…