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

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

Чтобы противостоять таким атакам, можно реорганизовать стандартную файловую структуру Вордпресс сайта. В этой статье вы узнаете 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 в отдельном каталоге (рус.) в документации Вордпресс.

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

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

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

комментариев 10

  1. Здравствуйте. Хорошая статья. Только мне не совсем понятно, зачем переносить сайт с изменением адреса?
    Также, как я понял, в случае переноса сайта без изменения адреса, например: в папку «core», адреса постов будут такого вида: https://example.com/core/post1?

  2. Добрый день. Делаю перенос без изменения url, всё работает, кроме wp-admin (выдает 403). Не подскажете в чем может быть проблема?

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

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

      • Права указаны правильно. Структура на хостинге выглядит так — www/mysite.ru/www/файлы вордпресса. Изначально загружалась только главная, потом добавила .htaccess из статьи в корень, стали грузиться вложенные страницы и ассеты, wp-login.php тоже работает. Не работает только админка.

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

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

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

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

    • Проверил еще раз, все работает.
      Обратите внимание на http / https.

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

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

Ответить

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

Techbear

Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.

WordPress   WooCommerce   Membership   Elementor   ACF

Обновления блога

Subsription - Gray Footer
Techbear