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

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

Последнее обновление:

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

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

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

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

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

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

Содержание:

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Откройте 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. Перемещение некоторых папок Вордпресс

Вы можете сделать еще несколько изменений в структуре папок сайта. Для этого понадобится добавить несколько строк кода в файл 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, а посетители и хакеры не смогут определить, что файлы ядра Вордпресс больше не находятся на своем обычном месте в корневой папке сайта.

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

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

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

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

Комментарии:

  1. Не слушайте подобных балаболов!
    Благо, что сайт на стартапе! Одно жалко, что на настройку, и поиск всех данных много времени ушло…

    Короче пришлось сносить CMS!

      • Александр прав, не работает.
        Причем автор сам себе противоречит. И вот почему:

        В этой статье он пишет про папку Uploads одно: https://techbear.ru/kak-izmenit-strukturu-faylov-i-papok-v-wordpress/#uploads

        А в другой статье совершенно другое: https://techbear.ru/rukovodstvo-po-wp-config-php/#move-folders

        Так где же истина?!

        Если сравнивать материалы по изменению структуры сайта в двух указанных статьях, то получается совершенно разная информация и разные результаты.
        Лично опробовал и тот способ и этот способ. Не все так гладко и правильно, как описывает автор.

        • Да, вы правы, есть ошибка.
          В разделе Изменение адреса файлов сайта адрес новой папки нужно добавлять не к Адресу сайта, а к Адресу WordPress.

          Должно быть так:
          Изменение адреса установки Вордпресс

          В тексте поправил.
          Спасибо, что указали на ошибку.

          По поводу Uploads:
          В статье Руководство по wp-config.php говорится скорее о переименовании папок wp-content, plugins и uploads.
          В статье Как изменить файловую структуру Вордпресс говорится скорее о перемещении этих папок без переименования в новые папки.
          Хотя это почти одно и то же, и делается теми же командами, могла появиться разница.
          Постарался исправить недочеты.
          Спасибо.

  2. Дмитрий, зачем же вы комментарии удаляете?
    В моем комментарии не было ни оскорблений, ни каких-либо других негативных действий.
    Я показал вам на не стыковки в записях, а вы комментарий подчистили.
    Нечего ответить?
    Зачем вы тогда блог завели, если вам люди указывают на недочеты, а вы вместо того, чтобы как взрослый человек конструктивно ответить, удаляете «неугодные» вам комментарии. Судя по соцсетям и указанным данным, вам уже за 30, а поведение, как у 15 летнего пацана.
    Сначала мне ваш блог очень понравился. Все грамотно сделано и с точки и зрения SEO, и с точки зрения самого контента. Хотел было в закладки добавить. Но с таким отношением к пользователям… в топку…
    Всего вам…

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

Оставьте комментарий

Do NOT follow this link or you will be banned from the site!