Как изменить URL административной панели WordPress (+видео)

Ромчик
6

wordpressДоброго времени суток. Как вы знаете административная панель сайта WordPress находится по адресу /wp-admin. Это не всегда удобно, но главное не безопасно. В этой статье мы изменим URL для входа в административную панель WordPress

Итак, приступим. На момент написания данной статьи актуальная версия WordPress 4.6.1. Но в принципе большой разницы нет.

Стандартный URL админ панели WordPress

Не для кого не секрет, что стандартный адрес административной панели WordPress: <название сайта>/wp-admin

Стандартный вход в админ-панель WordPress

Давайте поменяем URL админ панели, например, на qwerty.

Изменяем URL административной панели WordPress

Первое, что нужно сделать – это добавить в начало файла wp-config.php следующий код:

<?php
    define('WP_ADMIN_DIR', 'qwerty'); 
    define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
    …

Более подробно почитать о wp-config.php и что с помощью данного файла можно сделать можно в статье «Как настроить WordPress, используя файл конфигурации wp-config»

Следующим шагом нам надо в конец файла wp-includes/functions.php добавить фильтр

    …
    /* изменим wp-admin на WP_ADMIN_DIR */
    add_filter('site_url', 'wpadmin_filter', 10, 3); 

    function wpadmin_filter( $url, $path, $orig_scheme ) { 
        $old = array( "/(wp-admin)/");
        $admin_dir = WP_ADMIN_DIR; 
        $new = array($admin_dir);
        return preg_replace( $old, $new, $url, 1); 
    }

И в файл .htaccess прописать преобразование, т.е. мы будем получать /qwerty/<что-то>, а преобразовывать в /wp-admin/<что-то>. Находим строку

    RewriteEngine On

И после нее вставляем следующий директиву:

    RewriteRule ^qwerty/(.*) wp-admin/$1?%{QUERY_STRING} [L]

Отлично, можно проверить. Давайте зайдем в админ панель WordPress по адресу /qwerty и авторизуемся:

Вход в административную панель WordPress по новому URL

Отлично, мы добились того, чего хотели. Но у нас проблема: в админ панель мы можем зайти как по адресу /qwerty (что мы и сделали выше), так и по адресу wp-admin.

Закрыть адрес wp-admin в WordPress

Нам необходимо сделать так, чтобы заходя на адрес wp-admin/<что-то> нас перенаправляло на 404 страницу, т.е. страница не найдена.

Для этого в конец файла wp-includes/functions.php следующий фильтр:

    /*wp-admin, ошибка 404*/
    add_action( 'init', 'block_wp_admin' );
    
    function block_wp_admin() {
        if(strpos($_SERVER['REQUEST_URI'],'wp-admin') != false){
            wp_redirect( home_url().'/404' );
            exit;
        }
    }

Проверяем. Переходим по адресу /wp-admin

редирект на 404 при попытке входа в админку по стандартному адресу

Вот теперь все.

Заключение

Мы с вами рассмотрели, как можно поменять URL для админки WordPress, и закрыли (а точнее сделали редирект), если в адресе присутствует «wp-admin»

Не забываем подписаться, чтобы не пропустить выхода новых статей: VK, Facebook, Twitter

И в качестве дополнения видео:

Понравилась статья? Поделись с друзьями.
  • Add to favorites
  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • Мой Мир
  • LiveJournal
  • Одноклассники
  • Блог Я.ру
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • БобрДобр
  • LinkedIn
  • Memori.ru
  • Сто закладок
  • Blogger

  • Alex - 14.07.2017 в 15:26

    Есть такая же возможность перенести админку на сабдомен?

  • Василий - 27.01.2018 в 23:08

    ваш способ не работает. жалуется на define( ‘ADMIN_COOKIE_PATH’, SITECOOKIEPATH . WP_ADMIN_DIR);
    версия wp 4.9.2

  • Helen - 27.04.2018 в 14:52

    Всё работает! Большое спасибо!

  • ©2012-2020 По всем вопросам обращайтесь через форму обратной связиПолитика конфиденциальности

    Яндекс.Метрика