Как изменить файловую структуру Вордпресс

Как настроить структуру файлов и папок в WordPress
WordPress — система с открытым исходным кодом, так что стандартная структура файлов и папок будет публично доступной информацией, и кто угодно, включая хакеров, точно знает, откуда можно легко начать атаку на веб-сайт.

Чтобы противостоять таким атакам, можно легко реорганизовать стандартную файловую структуру WordPress веб-сайта. В данной статье вы узнаете 2 метода настроить структуру файлов и папок одиночного веб-сайта и мультисайт установки WordPress.

Предостережение от WordPress: Делайте это на собственный риск. Для большинства веб-сайтов не рекомендуется переносить WordPress в другую папку, если только у вас нет веской причины для этого, и вы отлично понимаете, что вы делаете.

Все инструкции на данной странице взяты из различных мест Кодекса WordPress и сведены в одну статью.

Изменение структуры WordPress — важная часть защиты веб-сайта, так что сделать данные изменения желательно. Для начала вы можете попробовать на тестовом или локальном веб-сайте. Или сделайте бэкап.

Сделайте бэкап

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

  • Бэкап WordPress

В случае, если после изменения структуры WordPress файлы веб-сайта не смогут установить связь с базой данных, во фронт-энде веб-сайта будут показаны ошибки с информацией, которую не должны видеть посторонние. Эту информацию лучше скрыть, вместо фронт-энда ее можно легко сохранять в лог-файл.

  • Режим отладки WordPress.

В данной статье мы рассмотрим:

1. Перенос веб-сайта без изменения URL

  • Создайте новую папку
  • Перенесите файлы ядра WordPress в новую папку
  • Создайте пустой файл.htaccess

2. Перенос веб-сайта с изменением URL

  • Создайте новую папку
  • Измените адреса файлов веб-сайта
  • Переместите файлы
  • Отредактируйте файл index.php
  • Обновите постоянные ссылки

3. Перемещение специальных папок WordPress

  • WP-Content
  • Plugins
  • Uploads

Заключение

1. Перенос веб-сайта без изменения URL

Обычно перенос файлов веб-сайта из корневой директории в подпапку означает, что адрес веб-сайта изменится с http://ваш-сайт.ru на адрес данной папки, например, http://ваш-сайт.ru/abcd-xyz/, но можно легко сделать так, чтобы адрес веб-сайта остался без изменений, но файлы находились в новой папке.

Создайте новую папку

Создайте новую папку в корневой папке веб-сайта. Это можно без проблем сделать в файловом менеджере на веб-хостинг панели или через FTP.

Создание новой папки через FTP
Создание новой папки на сервере через FTP покупатель

Дайте новой папке какое-нибудь уникальное имя, которое непросто угадать. Не называйте папку «wordpress», «wp-core» или что-нибудь подобное. Подберите имя, которое для вас что-нибудь значит, но непросто подобрать хакерам.

Перенесите файлы ядра WordPress в новую папку

Перенесите ВСЕ файлы и папки веб-сайта в только что созданную папку.

По URL веб-сайта хакер будет предполагать, что файлы и папки веб-сайта находятся в корневой директории, но при попытке обратиться к данным файлам он поймет, что их там нет. Это увеличивает шансы файлов остаться нетронутыми.

Создайте пустой файл.htaccess

Создайте файл .htaccess в корневой папке веб-сайта, и добавьте в него этот программный код:

В строках 3 и 8 замените my-site.ru на домен. В строках 4, 7 и 9 замените 1234-567 на название новой папки.

Все готово. Сохраните и загрузите на веб-сайт. Проверьте.

2. Перенос веб-сайта c изменением URL

В этом методе адрес веб-сайта изменится с my-site.ru на my-site.ru/abcd-xyz

Создайте новую папку

Создайте новую папку с произвольным именем в корневой папке веб-сайта. Перед тем, как вы переместите в нее файлы веб-сайта, в параметрах веб-сайта необходимо настроить адрес, который говорит WordPress где расположены файлы веб-сайта.

Изменение адреса файлов веб-сайта

Для одиночной установки WordPress зайдите в ПараметраОбщие, добавьте название папки, которую вы только что создали после слеша. В этом примере это /abcd-xyz. Не добавляйте слеш в конце нового адреса.

Изменение адреса установки WordPress
Изменение адреса установки WordPress

Нажмите Сохранить изменения внизу страницы. После этого веб-сайт должен стать недоступен, так и должно быть.

Если у вас Мультисайт установка, то вы не сможете настроить адрес WordPress из меню суперадмина. Вместо этого нужно добавить пару строк кода в файл wp-config.php.

Вы можете сделать то же самое и для одиночной установки WordPress, но в этом случае вы не сможете без труда настроить адрес WordPress в меню ПараметраОбщие.

Откройте wp-config.php и добавьте данные строки

ближе к концу файла, но перед строкой

Замените abcd-xyz на название папки. Если у вас не установлен SSL сертификат, то замените https в обеих строках на http.

Сохраните изменения. Веб-сайт должен быть недоступен. Сейчас нужно переместить файлы.

Перемещение файлов

Перенесите все файлы и папки из корневой директории в новую созданную папку, в этом примере она называется /abcd-xyz.

Зайдите внутрь данной папки и скопируйте файлы .htaccess и index.php обратно в корневую директорию, откуда вы их только что перенесли. В итоге файлы .htaccess и index.php должны находиться и в корневой папке веб-сайта и в только что созданной папке /abcd-xyz.

Файл .htaccess может быть невидим, так что в параметрах файлового менеджера на веб-хостинге или в параметрах FTP покупателя зайдите в Параметра и поставьте галочку Показывать скрытые файлы и папки.

Если после того, как вы включили опцию Показывать скрытые файлы в корневой папке веб-сайта стали видимыми иные скрытые файлы или папки, перенесите их в новую созданную папку /abcd-xyz.

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

Чтобы веб-сайт начал работать с файлами, находящимися по новому адресу, необходимо сделать изменения в файле index.php. Откройте index.php, который находится в корневой папке веб-сайта и найдите данные строки, они находятся ближе к концу файла:

Добавьте адрес новой папки перед /wp-blog-header.php, поэтому должно получиться:

Замените /abcd-xyz на название папки. Сохраните изменения, загрузите на сервер.

Обновление постоянных ссылок

Зайдите в админку веб-сайта. Сейчас URL адрес страницы авторизации должен включать название новой папки.

В этом примере папка называется /abcd-xyz, тогда адрес входа изменится на http://мой-сайт.ru/abcd-xyz/wp-login.php или http://мой-сайт.ru/abcd-xyz/wp-admin.

Зайдите в ПараметраПостоянные ссылки и нажмите Сохранить изменения. Это автоматически обновит файл .htaccess и все записи и страницы будут доступны пользователям.

3. Перемещение некоторых папок WordPress

Вы можете без проблем сделать ещё пару изменений в структуре папок веб-сайта. Для этого понадобится добавить пару строк кода в файл wp-config.php для каждого следующего шага.

Существует 2 правила, которые необходимо соблюдать:

  1. Папку wp-includes можно перемещать в новое место только вместе со всеми остальными файлами и папками, как в примере выше.
  2. Нельзя перемещать папку uploads. Эта папка должна находиться по адресу /wp-content/uploads/, но ее можно легко переименовать.

С данными папками можно делать изменения с помощью кода в wp-config.php:

  • wp-content
  • plugins
  • uploads(только переименование)

Когда будете делать изменения с папками wp-content и plugins, добавляйте код в wp-config.php до строки

с папкой uploads — после данной строки.

WP-Content

Вы можете создать новую папку в корневой папке веб-сайта и переместить в нее папку wp-content. После этого откройте wp-config.php и добавьте этот программный код:

Замените newfolder на название новой папки. Замените мой-сайт.ru на название веб-сайта, и https на http, если у вас не установлен SSL сертификат.

Если вы планируете перенести wp-content в папку, которая находится не в корневой папке веб-сайта, то замените /newfolder/ на адрес.

Plugins

Создайте новую папку, перенесите в нее папку plugins. Добавьте этот программный код в wp-config.php:

Замените add-folder на название новой папки. Замените мой-сайт.ru на название веб-сайта, и https на http, если у вас не установлен SSL сертификат.

Если у вас появилась проблема совместимости с плагинами, добавьте эту строку:

Замените add-folder на название новой папки.

Uploads

Чтобы переименовать папку uploads, откройте wp-config.php, спуститесь в самый низ файла, ниже строк «Это все, дальше не редактируем», и найдите данные 2 строки:

Над строкой require_once(ABSPATH . 'wp-settings.php'); добавьте

Папка Uploads относительна к ABSPATH, так что слеш перед wp-content/media не требуется. Замените media на новое название папки uploads . В итоге должно получиться:

Сохраните wp-config.php .

Если вы решили настроить название папки uploads , то вам необходимо настроить текущее название папки на сервере.

Зайдите на сервер по FTP или через хостинг-панель и измените название папки uploads на то имя, которые вы дали данной папке в файле wp-config.php .

Заключение

Если вы все сделали правильно, то веб-сайт должен корректно работать по обычному адресу без добавления суб-директории в URL, а пользователи и хакеры не смогут определить, что файлы ядра WordPress больше не находятся на обычном месте в корневой папке веб-сайта.

Если вы планируете, чтобы в адресе веб-сайта добавилась подпапка установки веб-сайта, используйте метод 2.

  • Пример изменения файловой структуры

Для проверки информации читайте статью Размещаем WordPress в отдельном каталоге ( рус .) в документации WordPress.

Если по какой-то причине у вас не получилось настроить стандартную структуру WordPress, как минимум запретите исполнение PHP файлов в папке Uploads .

Читайте также:

  1. Руководство по wp-config.php
  2. Как переместить wp-config.php на новое место
  3. Редактирование .htaccess для безопасности WordPress
  4. Права доступа к файлам и папкам

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *