Как изменить файловую структуру вордпресс. Иерархия шаблонов WordPress: полное руководство Структура вордпресс

  • 31.10.2020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хотите больше узнать о файловой структуре WordPress? А также о ядре программного обеспечения WordPress, темах, плагинах и обо всех пользовательских загрузках, которые хранятся на сайте? Я расскажу обо всем этом в данной статье.

Зачем нужно знать файловую структуру WordPress?

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

В этой статье вы узнаете:

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

А теперь давайте перейдем непосредственно к изучению файловой структуры WordPress.

Доступ к файлам и каталогам WordPress

Для начала зайдите в WordPress сервер через FTP-клиент. Для более подробной информации читайте инструкцию, как использовать FTP для загрузки файлов WordPress (в процессе написания). Более простая альтернатива FTP – это File Manager (веб-приложение со встроенной панелью администрирования cPanel). Как только вы зайдете в WordPress через FTP или File Manager, вы увидите структуру файлов и каталогов примерно таким образом:

Красной рамкой выделены корневые файлы WordPress. Именно от этих файлов зависит корректная работа сайта, ни в коем случае ничего в них самостоятельно не меняйте.

Вот список этих файлов и папок в корневом каталоге:

  • wp-admin
  • wp-includes
  • wp-activate.php
  • wp-blog-header.php
  • wp-comments-post.php
  • wp-config-sample.php
  • wp-cron.php
  • wp-links-opml.php
  • wp-load.php
  • wp-login.php
  • wp-mail.php
  • wp-settings.php
  • wp-signup.php
  • wp-trackback.php

Файлы конфигурации

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

  • .htaccess– файл конфигурации сервера, WordPress использует его для управления постоянными ссылками и .
  • wp-config.php– сообщает WordPress, как подключиться к базе данных. Он также устанавливает некоторые важные настройки.
  • index.php – индексный файл, который в основном загружает и инициализирует все WordPress файлы при запросе страницы пользователем.

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

В зависимости от установки WordPress в корневом каталоге у вас могут быть или не быть следующие файлы:

  • robots.txt – содержит все инструкции для ползающих поисковых ботов
  • Favicon.ico – файл favicon иногда генерируется самими хостерами.

В папке wp-content вордпресс хранит все загрузки, плагины и темы.

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

  • themes
  • plugins
  • uploads

WordPress хранит темы сайта в папке /wp-content/themes/. Вы можете редактировать файл темы, однако в основном это не рекомендуется делать. Как только вы обновите версию темы сайта, все ваши изменения будут прописаны во время этого обновления. Именно поэтому рекомендуется для настройки основной темы.

Все загруженные и установленные плагины WordPress хранит в папке / wp - content / plugins / . Не рекомендуется редактировать файлы плагина, если вы только сами не создали плагин для нужд сайта.

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

WordPress хранит все изображения и медиа загрузки в папке / wp - content / uploads / . По умолчанию они хранятся в папках по принципу / year / month / . Каждый раз при бэкапе сайта, не забывайте об этой папке.

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

В каталоге wp-content хранятся также другие стандартные папки, как например:

  • languages – в этой папке хранятся все языковые файлы не англоязычных сайтов.
  • upgrade – это временная папка, создаваемая WordPress при обновлении версии сайта.

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

Другие папки содержат файлы, которые можно смело удалять. Например, W3 Total Cache или WP Super Cache в своих папках могут хранить кэшированные файлы.

Вот и все. Надеюсь, эта статья помогла вам разобраться в файловой структуре WordPress.

Не забывайте подписываться на мой YouTube канал, находите меня в ВКонтакте и в Твиттере.

Здравствуйте, уважаемые читатели! Сегодня я решил затронуть очень важный вопрос алгоритма действий WP при взаимодействии с шаблонами. Это актуально, поскольку понимание нюансов работы движка с файлами, отвечающими за составные части , позволит быстро и корректно производить необходимые изменения.

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

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

Как установить тему и редактировать шаблоны WordPress

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

Однако, если вы желаете постигнуть всю суть работы с сайтом и получить дополнительные знания, то стоит попробовать загрузить и установить для начала тему с помощью какого-нибудь ФТП клиента (я, например, использую ).

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

Я давал уже свои рекомендации, откуда лучше выбирать бесплатные и платные темы (в том же материале, ссылка на который представлена в начале статьи). Вкратце отмечу, что скачивать желательно с официальных сайтов, например, отсюда или отсюда . Сначала скачайте тему на компьютер, а затем проделайте следующие действия:

  • Распакуйте архив, кликнув по нему правой кнопкой мыши и выбрав соответствующую операцию;
  • Получив доступ по FTP к файлам вашего сайта, загрузите папку, полученную после разархивирования, на хостинг в директорию (папку) themes

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

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

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


А вот какой интерфейс для редактирования предлагает Нотпад плюс плюс:


Как видите, разница очевидна и даже при беглом сравнении сторонний редактор выигрывает с подавляющим преимуществом. Ну а когда вы попробуете весь функционал Notepad++, все оставшиеся сомнения развеются окончательно.

И еще. Редактирование шаблонов WordPress я советую осуществлять на локальном сервере, то бишь на своем компьютере (здесь Денвер, а еще лучше, Open Server вам в помощь). Сделали все нужные изменения, протестировали, а затем уже заливаете файлы на хостинг. Эксперименты с "живым" сайтом могут дорого стоить.

Файловая структура шаблонов страниц

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

Ваш_сайт/wp-content/themes/название_вашей_темы

Для моего блога в папку с одной из установленных тем этот путь выглядит так:

Сайт/wp-content/themes/country

При просмотре в окне редактора Нотпад++ папка со всеми файлами вашей темы WordPress будет выглядеть следующим образом:

В структуру входят файлы с расширением.php, среди которых можно выделить именно шаблоны, призванные отображать целые страницы , которые являются основными, то есть присутствуют практически в любой теме, такие как главная (index.php), страница записей (single.php), статические страницы (page.php).

Однако существуют шаблоны, которые отвечают за вывод специально созданной вебстраницы. Например, на моем блоге одно время существовала на странице , с целью ее установки был создан файл mail.php.

Кроме того, есть шаблоны, которые нужны для конструирования отдельных частей, отображаемых на всех страницах сайта. Это шапка, или хидер (header.php), левая и/или правая колонка, иначе сайдбар (sidebar.php), подвал, или футер (footer.php). Схематически такую конструкцию с областями страницы можно представить так:


Как видно из скриншота, если шапка, сайдбар, подвал на любой странице будут выглядеть одинаково, то будет зависеть от типа вебстраницы, который и будет определяться соответствующим файлом с расширением.php.

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

Иерархия шаблонов WordPress и последовательность вывода страниц

Я же попробую кратко пробежаться по пунктам и объяснить, в какой последовательности выводит ту или иную вебстраницу WordPress, учитывая ее место в иерархической шкале приоритетов.

Дело в том, что в каждой теме изначально существует свой набор файлов, некоторые из распространенных могут отсутствовать . Например, может не быть шаблона category.php, который отвечает за вывод рубрик (категорий). В этом случае WordPress взаимодействует с файлом index.php и оформление страницы с категориями будет абсолютно тождественным с главной.

Начнем с домашней вебстраницы. Приоритет здесь отдан Home . То есть последовательность, с которой Вордпресс будет взаимодействовать с шаблоном, следующая: сначала происходит запрос Home, если его нет, то WordPress обращается к основному шаблону Index :

  1. Home (главный приоритет);
  2. Index.

Если конструируется отдельная статья блога, шаблоном которой по умолчанию является Single , то последовательность обращения будет такой:

  1. Single-{post_type}. Скажем, если в конкретном случае тип записи product, то WP будет обращаться к шаблону single-product.php;
  2. Single;
  3. Index.

Для статической страницы Page иерархия следующая:

  1. Custom template (пользовательский шаблон, который создан специально для конкретной вебстраницы);
  2. Page-{slug}. Здесь slug - короткое название (псевдоним) страницы. Например, если в составе темы присутствует файл с названием page-recent-news, то WP обратиться к нему;
  3. Page-{id}. Если вебстраница отождествляется по конкретному идентификатору (id) 12, то именно она будет следующей по иерархии, ежели отсутствуют указанные выше;
  4. Page;
  5. Index.

Чтобы вывести страницу рубрик, Вордпресс предпримет поиск специального файла, затем будет искать по id. Если таких шаблонов не существует, то преимущество получит общий шаблон Category , далее по убывающей Archive и Index:

  1. Category-{slug};
  2. Category-{id};
  3. Category;
  4. Archive (архив);
  5. Index.

Аналогичная картина вырисовывается и для тега (метки). В первую очередь специальный шаблон, далее на основе id, после чего Tag , Archive и Index:

  1. Tag-{slug};
  2. Tag-{id};
  3. Archive;
  4. Index.
  1. Author;
  2. Archive;
  3. Index.

Продолжаем, осталось немного. Существует возможность наличия страницы временного архива Date . В этом случае WP после неудачи будет искать Archive, после него Index:

  1. Date;
  2. Archive;
  3. Index.

На подавляющем большинстве ресурсов используется страница поиска, которая определяется шаблоном Search . В случае его отсутствия - файл основного шаблона Index:

  1. Search;
  2. Index.
  1. Index.

Наконец, вполне может оказаться, что в установленной вами теме предусмотрена отдельная вебстраница для отображения продуктов различных приложений (видео, аудио, изображения). В этом случае иерархия шаблонов следующая:

  1. Image, video, audio;
  2. Application;
  3. Attachment;
  4. Index.

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

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

WordPress имеет четко предопределенную структуру каталога, в котором центральные папки – это wp-content, wp-admin и wp-includes.

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

  • Владелец – прямое владение;
  • Группа – владение через вхождение в группу;
  • Другие – отсутствие владения и группы.

Пользователи веб-сервера и их группы

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

Но FTP аккаунт необходим только тогда, когда нужно закачать что-то прямо на сервер, а если нужно зайти, например, в админ панель? В таком случае, в работу вступает аккаунт веб-пользователя, позволяющий управлять сайтом на ВордПресс, устанавливая плагины и темы, загружая изображения через менеджер мультимедиа и т.д. Именно от его имени и создаются новые файлы, когда вы выполняете делаете эти вещи в своей панели администратора.

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

Некоторые веб-хостинги, в основном работающие на основе Cpanel, не проводят различия между аккаунтами. Тем не менее, есть и такие хосты, на которых эти типы пользователей различны, правда принадлежат к одной группе. Благодаря существованию разных типов пользователей, вы имеете возможность настроить правильный контроль доступа для вашего сайта.

Разрешения на действия с файлами WordPress

Любой ресурс в ВордПресс связан с определенным набором заданных значений, диктующих то, что пользователь может сделать с ним. Есть три действия, которые мы можем выполнить с конкретным ресурсом – читать, писать (или изменять) и исполнять. Для каждого ресурса есть возможность указать, какие из этих действий может выполнить владелец, группа и другие. Таким образом, нам нужно три бита (по одному на каждое действие) для каждой ассоциации, что в общей сложности равняется 9 бит. Поэтому, разрешение становится трехзначным числом, например, 664, в котором:

  • 6 – действия для владельца;
  • 6 – действия для группы;
  • 4 – действия для других типов.

При этом, каждое значение указанных цифр определяет все возможности, которые имеет данный тип пользователей. В случае с 664, 6 – это только чтение и запись, а 4 – только чтение.

Каталоги

На каталоги, как и на сами файлы, тоже могут действовать определенные права доступа. Они очень похожи, но все таки имеют некоторые отличия, такие как:

  • Читать – просматривать содержимое каталога;
  • Писать – создавать новые и удалять существующие (при этом, права для каталога распространяются на все, что в нем содержится);
  • Выполнять – заходить в каталоги (например, воспользовавшись командой в терминале).

Выставлять правильные ограничения жизненно важно, поскольку речь идет о безопасности, а не только о функциональности ВордПресс. Взять, например, config.php, ему желательно выставлять жесткое ограничение 600 (только для чтения). Предположим, что его права изменяться на 666, тогда любой человек сможет увидеть и изменить конфигурацию вашего сайта, а значит сможет легко сломать его или сделать уязвимым перед внешними угрозами.

Изменение разрешений на действия в каталогах WordPress

Cpanel вашего хостинга обеспечивает интерфейс, в котором есть возможность устанавливать любой уровень доступа для хранящихся ресурсов. Чаще всего, это можно сделать простым выбором конкретного файла и нажатием «Изменить разрешения». Если вы имеете дело с терминалом, то проще будет применять специальную команду chmod. Она выглядит так: chmod 644

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

  • Поставить на все файлы 664;
  • На все папки 775;
  • wp-config.php должен быть только 600.

Вот, что получится:

  • Аккаунты смогут прочитать и изменить файлы;
  • Сам движок сможет создавать, изменять или удалять любые файлы;
  • wp-config.php будет полностью защищен от посторонних глаз.

Имейте ввиду, что вопреки стандартной конфигурации ВордПресс, какой-то конкретный сервер может быть строже, чем остальные, и не позволит выставить 600 на wp-config.php. Но вы можете указать ему более мягкое 640, а если это не сработает, то даже 644.

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

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

Заключение

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

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

Внутреннее устройство WordPress

Мы все знаем, как работать с WordPress. Все начинается с входа в панель управления, после чего следует публикация, изменение или загрузка контента, установка или обновление необходимых плагинов, резервное копирование и так далее. Но задумывались ли вы о том, как все это работает?

Базовая основа всех сайтов - HTML (от англ. HyperText Markup Language - «язык гипертекстовой разметки»).

Конечной целью WordPress является генерация HTML-страниц, которая происходит динамически.

Ключевой термин для понимания здесь - «динамически». Термины «HTML-страница» и «веб-страница» являются синонимами. На самом базовом уровне WordPress использует PHP и базу данных SQL для хранения всех своих данных.

Таким образом, у нас есть два объекта:

  • PHP-код, который составляет ядро WordPress
  • и база данных, которая является памятью WordPress.

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

Сюда входят:

  • логин пользователя, пароль (зашифрованный с помощью MD5) адрес электронной почты и др.;
  • все записи, страницы, теги, категории и связи между ними;
  • пользовательские типы записей;
  • ревизии, черновики и удаленные записи;
  • одобренные комментарии и ожидающие модерации, а также всякий спам;
  • параметры настройки темы;
  • данные плагинов и многое другое.

А вот изображения, документы и другие загружаемые файлы не хранятся в базе данных WordPress. Они лежат в папке « wp_content ». Давайте остановимся на этом более подробно.

Все изображения (и другие медиафайлы), которые загружаются на сайт, хранятся в каталоге « uploads ». Они распределенные по годам, месяцам и дням. Эта папка может считаться базой данных для всех нетекстовых данных - изображений, PDF-файлов, видео, MP3 и другого. Доступ к этой папке и вложенным также должен быть ограничен. Это можно сделать путем изменения файла.htaccess , который находится в каталоге wp_content .

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

Анатомия запросов в WordPress

Или, как мне нравится это называть,

Что происходит, когда кто-то просматривает ваш сайт?

Когда кто-то посещает ваш сайт, WordPress динамически генерирует HTML-код (в соответствии с CSS и JS), который отображается в виде странички сайта. Вы не увидите расширение.html после URL-адреса (как вы могли видеть на некоторых старых веб-сайтах), так как это содержимое генерируется динамически.

Вот что происходит при запросе веб-страницы:

  1. Браузер посетителя запрашивает веб-страницу.
  2. Ядро WordPress (может считаться мозгом WordPress) вызывает требуемые PHP-скрипты, начиная с index.php .
  3. Затем ядро ​​WP соединяется со своей базой данных и извлекает данные (записи, страницы, комментарии и другую информацию).
  4. Затем он объединяет извлеченные данные, данные из активных в настоящее время плагинов и текущую активную тему и генерирует HTML-код «на лету» то есть «динамически».
  5. Затем он обслуживает этот динамически сгенерированный HTML-код в браузере посетителя.