Як створити власну URL-адресу для входу в WordPress

За замовчуванням після кожної інсталяції WordPress є три основні URL-адреси для входу в адмінку: {домен}/wp-admin.php, або {домен}/wp-login.php, або ж {домен}/wp-admin/. Під цим мається на увазі умова, що система встановлена в кореневу папку, і там розміщується основний файл функціоналу входу в панель адміністрування — wp-login.php. Ці URL-адреси (і, відповідно, цей файл) дуже важливі, що являє собою дуже вагому причину, коли виникне бажання їх змінити. Хоча б, з міркувань безпеки.

В сьогоднішньому практичному уроці ми розглянемо основні моменти по реалізації даного завдання, і я спробую максимально детально показати вам, як створити власну URL-адресу для входу в Майстерню (адмінку) сайту на CMS WordPress.

 

Навіщо змінювати URL-адресу входу до адмінки WordPress?

Відкритість сторінки входу в Майстерню може спричинити багато проблем із безпекою, особливо враховуючи популярність двигуна ВордПрес. Тому злам такого сайту буде «ласим шматочком». Наприклад, через хакерські атаки методом грубої сили (brute force). Додайте сюди повсюдне використання слабких паролів, і хакерам злам не завдасть багато клопоту. І якщо на додачу адміністратор сайту використовує банальний логін «admin».

До речі, рекомендую ознайомитися із способами боротьби проти атак подібного типу.

І рекомендую потурбуватися про захист сторінки входу в систему WordPress, зокрема: використовувати надійний пароль, обмежити кількість спроб вводу паролю у формі (відсікти можливість вгадування паролю), заблокувати адміністративну область WordPress за IP-адресою (наприклад, дозволити лише свою IP-адресу), і використовувати плагіни, що впроваджують використання 2FA-автентифікації на сторінці логіну, тощо.

 

Як змінити URL-адресу Майстерні в WordPress без плагіна

В мережі багато подібних мануалів, і практично всі вони рекомендують змінювати URL-адресу входу до панелі адміністрування сайту на WordPress лише з допомогою відповідних плагінів. Таких інструкцій, та й плагінів, є чимало. Але метою даної статті є ознайомлення вас саме із способом зміни лінка на Майстерню без використання будь-яких плагінів. Щоб ви знали та могли це зробити вручну. Адже, потенційно, ви намагаєтеся спростити життя своїй команді/клієнтам і ускладнити його для хакерів.

УВАГА! Дані дії передбачають, що ви досвідчений користувач не лише CMS ВордПрес, але й мови програмування PHP. Оскільки доведеться так чи інакше втручатися в core файли WP (хоча це і засуджується офіційними рекомендаціями).

Щоб вручну змінити URL-адресу входу на сайт, скористайтеся копією файлу wp-login.php. Підключіться до свого сайту на сервері через FTP і перейдіть до кореневого каталогу WordPress, — там вам потрібно знайти файл wp-login.php та зробити його локальну копію (створити бекап) на свій комп’ютер.

Відкрийте копію цього файлу за допомогою текстового редактора, наприклад, Notepad++. Функцією пошуку в текстовому редакторі знайдіть рядки, в якому вказано лінк site_url з параметром wp-login.php. Загалом, це використовується в кількох основних формах:

  1. форма реєстрації на сайті: name="registerform"
  2. форма входу (логіну) на сайт: name="loginform"
  3. форма підтвердження email адміна: name="admin-email-confirm-form"
  4. форма «загубленого паролю»: name="lostpasswordform"
  5. форма скидання паролю: 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 поточної теми.

Дякую за увагу!

 

Recent Posts

Ернест Хемінгуей

Якщо вас щось ранить, значить, вам не все одно Ернест Хемінгуей  

3 години ago

Як відстежувати продуктивність фрилансера без складного софту

Продуктивність - це валюта фрилансера. Коли ти працюєш сам на себе, ніхто не запитає: «Скільки…

2 дні ago

Воррен Баффет

Потрібно 20 років, щоб створити репутацію, але 5 хвилин, щоб її зруйнувати. Якщо ви подумаєте…

6 днів ago

Як створити просте перемикання кольорового оформлення сайту (CSS та JavaScript)

Якщо ви хочете додати на свій сайт можливість перемикання між світлим/темним режимом кольорового оформлення, тоді…

1 тиждень ago

Зіг Зіглар

Тебе визначають дві речі: твоє терпіння, коли у тебе нічого немає і твоя поведінка, коли…

2 тижні ago

Стівен Кінг

Скільки б не було в людини друзів, вона все одно буде самотньою, якщо поруч із…

2 тижні ago