Как изменить префикс таблиц базы данных WordPress?

Общеизвестно, что база данных в CMS WordPress является “сердцем” всего сайта, так как вся информация, включая настройки тем и плагинов, хранится именно в ней. Поэтому именно база данных является основной целью для хакерских атак. Особо уязвимым местом в базе данных является названия ее таблиц. По умолчанию, “движок” создает одни и те же их названия во всех устанавливаемых копиях. Само название состоит из префикса (wp_) и собственно имени самой таблицы (например, wp_options). Отметим, что префиксы у всех таблиц одинаковые. Поэтому, чтобы запутать злоумышленника, достаточно изменить этот префикс.

Для изменения префикса таблиц базы данных WordPress существует несколько способов. Рассмотрим подробнее наиболее распространенные среди них.

Способ 1 – плагин Change Table Prefix

Бесплатный плагин Change Table Prefix позволит в один клик корректно изменить префикс всех таблиц Вашего WordPress-сайта, не нарушая его работу. Для этого, во-первых, необходимо установить и активировать дополнение. После этого нужно в админ-панели перейти в раздел Настройки -> Change Table Prefix.

Страница настроек плагина Change Table Prefix

Видно, что плагин имеет минимум настроек. Так, в поле Your current table prefix is отображается текущий префикс таблиц (в нашем случае – это wp_). Для изменения префикса плагин предлагает два варианта. Первый заключается в том, что плагин в автоматическом режиме произвольно выберет название префикса. Обычно это простой набор из 5 любых символов. Для этого нужно просто нажать кнопку Click To Change Table Prefix.

Выбор имени префикса в плагине Change Table Prefix

Видно, что плагин выбрал в качестве префикса значение flrda_. Если необходимо задать свое название префикса, то для этого нужно отметить опцию Would you like to your own custom prefix, после чего в появившемся поле ввести желаемые символы и нажать кнопку Click To Change Table Prefix.

Выбор имени префикса в плагине Change Table Prefix

Этот плагин был закрыт 7 марта 2024 года и больше недоступен для скачивания из-за проблем с безопасностью.

Способ 2 – плагин Brozzme DB Prefix & Tools Addons

Brozzme plugin

Brozzme DB Prefix – это актуальный плагин для генерации нового префикса базы данных вашего сайта в один клик. Чтобы применить настройки, нужно удостовериться, что wp-config.php доступен для записи и есть права на изменение базы данных.

Изменение префикса data base mysql

У этого решения нет каких-либо особых настроек, но он также способен сделать экспорт всей базы My SQL.

Способ 3 – ручное изменение префикса таблиц

Этот способ предусматривает изменение префикса таблиц ручным способом. Корректная замена выполняется в два этапа. Во-первых, новый префикс нужно задать в wp-config.php – основном конфигурационном файле WordPress. Для этого в файле нужно найти строку $table_prefix = ‘wp_’ и вместо wp_ указать нужное значение (например, wpschool_).

Редактирование файла wp-config.php

Второй этап – это использование бесплатной утилиты для работы с базами данных phpMyAdmin, которую детально мы рассматривали в одной из наших прошлых статей. Будем считать, что Вы уже знаете, как ее открыть. Отметим лишь, что будем работать с вкладкой SQL.

Окно утилиты phpMyAdmin

Для начала заменим имена всех таблиц в базе данных с учетом нашего префикса wpschool_. Сразу стоит отметить, что некоторые плагины создают свои собственные таблицы, которые тоже должны быть переименованы. Итак, в поле SQL необходимо вставить следующий код:

RENAME table `wp_commentmeta` TO `wpschool_commentmeta`;
RENAME table `wp_comments` TO `wpschool_comments`;
RENAME table `wp_links` TO `wpschool_links`;
RENAME table `wp_options` TO `wpschool_options`;
RENAME table `wp_postmeta` TO `wpschool_postmeta`;
RENAME table `wp_posts` TO `wpschool_posts`;
RENAME table `wp_termmeta` TO `wpschool_termmeta`;
RENAME table `wp_terms` TO `wpschool_terms`;
RENAME table `wp_term_relationships` TO `wpschool_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wpschool_term_taxonomy`;
RENAME table `wp_usermeta` TO `wpschool_usermeta`;
RENAME table `wp_users` TO `wpschool_users`;
RENAME table `wp_yoast_seo_links` TO `wpschool_yoast_seo_links`;
RENAME table `wp_yoast_seo_meta` TO `wpschool_yoast_seo_meta`;

В редакторе это будет выглядеть следующим образом:

SQL-запрос в утилите phpMyAdmin

После того, как будет нажата кнопка Вперед, наш запрос на переименование будет выполнен.

Далее нужно изменить названия полей и опций, зависящих от префикса таблиц. Для следует выполнить следующий запрос:

UPDATE `wpschool_usermeta` SET `meta_key` = REPLACE( `meta_key`, 'wp_', 'wpschool' );
UPDATE `wpschool_options` SET `option_name` = 'wpschool_user_roles' WHERE `option_name` = 'wp_user_roles';

Если все прошло успешно, сайт будет работать в штатном режиме, без каких-либо сбоев. Теперь плагины, которые захотят создать свои таблицы в базе данных, будут использовать заданный нами префикс wpschool_, так как мы указали это значение в файле wp-config.php.

Ещё читайте: Что значит ошибка установки соединения с базой данных wordpress и как ее решить.

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Обсуждение: 5
  1. Владимир

    Здравствуйте, из-за этой статьи у меня возникла очень большая проблема! После изменения префикса таблиц, у меня на сайте запросили регистрацию в wordpress. После этого все плагины в консоли сохранились, но все страницы и содержание сайта удалились!!! ВСЕ НАСТРОЙКИ СБРОСИЛИСЬ И ОФОРМЛЕНИЕ САЙТА ТОЖЕ! ЗАМЕНИЛ ФАЙЛЫ САЙТА КОПИЕЙ, НО ЭТО НЕ ПОМОГЛО! ПОМОГИТЕ ПРОШУ ВАС!!!

  2. Fi

    Не получилось, база данных сообщает о ошибках после второго запроса

    1. Михаил Петров author

      Добрый день!

      Каким способом Вы делали и какие ошибки выдаются?

      С уважением Михаил

  3. Victor

    Этот плагин закрыт 7 марта 2024 г. и недоступен для загрузки. Причина: Проблема безопасности.

    1. Ольга

      Добрый день. Спасибо за внимательность. Актуализировали статью, добавили в нее рабочий вариант решения вопроса другим плагином. Также могу посоветовать протестировать еще один плагин для работы с базами данных на WordPress: https://ru.wordpress.org/plugins/search-and-replace/.

Задать вопрос