Как устроен WordPress?
Понимание внутреннего функционирования WordPress
Содержание
- 1 Понимание внутреннего функционирования WordPress
- 2 Внутреннее устройство WordPress
- 3 Анатомия запросов в WordPress
- 4 WordPress.org
- 5 Основы шаблонов
- 6 Структура страницы WordPress
- 7 Более сложные структуры страниц
- 8 Файлы шаблонов внутри файлов шаблонов
- 9 Специальные файлы шаблона
- 10 Советы по файлам шаблонов
- 11 Дополнительная информация
- 12 Как создать структуру сайта на WordPress
- 13 Как создается структура сайта на вордпресс и иерархия сайта
- 14 Структура WordPress
- 15 Анатомия темы
Прежде, чем мы погрузимся в тему кэширования, нужно понять как устроен WordPress. Не только как происходит создание и редактирование постов, а как несколько тысяч строк программного кода переплетаются между собой и создают красивые динамические сайты.
Внутреннее устройство WordPress
Мы все знаем, как работать с WordPress. Все начинается с входа в панель управления, после чего следует публикация, изменение или загрузка контента, установка или обновление необходимых плагинов, резервное копирование и так далее. Но задумывались ли вы о том, как все это работает?
Базовая основа всех сайтов — HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки»).
Конечной целью WordPress является генерация HTML-страниц, которая происходит динамически.
Ключевой термин для понимания здесь — «динамически». Термины «HTML-страница» и «веб-страница» являются синонимами. На самом базовом уровне WordPress использует PHP и базу данных SQL для хранения всех своих данных.
Таким образом, у нас есть два объекта:
- PHP-код, который составляет ядро WordPress
- и база данных, которая является памятью WordPress.
Каждая CMS WordPress использует одну базу данных. Не больше и не меньше. Каждый бит информации, которую вы ввели или будете добавлять на сайт в будущем, хранится в базе данных WordPress.
- логин пользователя, пароль (зашифрованный с помощью MD5) адрес электронной почты и др.;
- все записи, страницы, теги, категории и связи между ними;
- пользовательские типы записей;
- ревизии, черновики и удаленные записи;
- одобренные комментарии и ожидающие модерации, а также всякий спам;
- параметры настройки темы;
- данные плагинов и многое другое.
А вот изображения, документы и другие загружаемые файлы не хранятся в базе данных WordPress. Они лежат в папке « wp_content ». Давайте остановимся на этом более подробно.
Структура папок WordPress
Начиная с WordPress 3.6.1 каждый дистрибутив WordPress содержит три основные папки.
Корневой каталог
Это каталог установки WordPress и всего остального (кроме базы данных). Мы будем называть это «корневым каталогом». Если WordPress установлен на серверах с общим хостингом, работающих под управлением cPanel, корневой каталог, скорее всего, является содержимым каталога « public_html », если вы используете WordPress в своем базовом домене (например, site.com , а не site.com/folder ).
Корневой каталог WordPress содержит ровно три папки:
- wp_content ,
- wp_includes и
- wp_admin вместе с другими файлами PHP, наиболее значимым из которых является wp_config.php .
Редактируя этот файл, мы можем добавить набор основных параметров настройки WordPress, которые недоступны в панели управления WordPress. Например, мы можем отключить пост-ревизии, установить имя сайта, используемое WordPress (полезно для изменений домена), включить режим обслуживания и другое. Файл wp-config.php является очень важным файлом так как содержит важную информацию, такую как учетные данные доступа к базе данных WordPress.
Если кто-то сможет получить доступ к вашей базе данных, тот будет имеет полный контроль над вашим сайтом.
wp_includes
Эта папка содержит другие файлы и классы PHP, необходимые для основных операций WordPress. Не стоит редактировать файлы в этом каталоге.
Эта папка содержит файлы панели инструментов WordPress. Вы знаете, что все административные функции или функции, связанные с WordPress, такие как написание постов, модерирование комментариев, установка плагинов и тем, осуществляется через панель инструментов WordPress. Доступ разрешен только зарегистрированным пользователям и ограничен в зависимости от роли пользователя. Администратор имеет полный доступ, потом идет редактор, затем участник и, наконец, подписчик.
wp_content
Папка wp_content содержит все загруженные пользователем данные и снова делится на три директории:
Папка themes является каталогом тем, которые установлены на вашем сайте WordPress. Вы можете установить столько тем, сколько хотите, но активной может быть только одна тема (хотя существуют некоторые плагины, которые позволяют вам активировать больше тем). Кроме того, каталог « themes » никогда не может быть пустым, так как WordPress нужна хотя бы одна тема для работы.
Аналогично, папка « plugins » используются для хранения всех плагинов, установленных на вашем сайте WordPress. В отличие от каталога тем, этот каталог может быть пустым, так как WordPress может работать без использования каких-либо плагинов. Вы вправе активировать столько плагинов, сколько хотите, но лучше устанавливайте только необходимые. Ознакомьтесь с списком самых лучших и, на мой взгляд, самых необходимых плагинов WordPress.
Все изображения (и другие медиафайлы), которые загружаются на сайт, хранятся в каталоге « uploads ». Они распределенные по годам, месяцам и дням. Эта папка может считаться базой данных для всех нетекстовых данных — изображений, PDF-файлов, видео, MP3 и другого. Доступ к этой папке и вложенным также должен быть ограничен. Это можно сделать путем изменения файла .htaccess , который находится в каталоге wp_content .
Поэтому, создавая резервную копию нужно скопировать не только папки установки WordPress. Вам необходимо скопировать и базу данных и всё содержимое корневого каталога.
Анатомия запросов в WordPress
Или, как мне нравится это называть,
Что происходит, когда кто-то просматривает ваш сайт?
Когда кто-то посещает ваш сайт, WordPress динамически генерирует HTML-код (в соответствии с CSS и JS), который отображается в виде странички сайта. Вы не увидите расширение .html после URL-адреса (как вы могли видеть на некоторых старых веб-сайтах), так как это содержимое генерируется динамически.
Вот что происходит при запросе веб-страницы:
- Браузер посетителя запрашивает веб-страницу.
- Ядро WordPress (может считаться мозгом WordPress) вызывает требуемые PHP-скрипты, начиная с index.php .
- Затем ядро WP соединяется со своей базой данных и извлекает данные (записи, страницы, комментарии и другую информацию).
- Затем он объединяет извлеченные данные, данные из активных в настоящее время плагинов и текущую активную тему и генерирует HTML-код «на лету» то есть «динамически».
- Затем он обслуживает этот динамически сгенерированный HTML-код в браузере посетителя.
Подобным образом происходит публикация или сохранение записи, отправляется комментарий, выполняется поиск, ядро WordPress выполняет необходимые внутренние операции и сохраняет их в своей базе данных для использования в будущем, а также уведомляет администратора WordPress. Вы (администратор) видите в панели управления новые комментарии, ожидающие модерации или пул комментариев, который сразу отмечен как спам.
Теперь, повторяя все эти шаги каждый раз, когда пользователь заходит на сайт все происходит по цепочке как показано на схеме. Это задача времени и ресурсов. И вполне нормальная, если ваш сайт посещает 10 человек. Но увеличьте это на 100, 1000 — вот тогда и начнется настоящая проблема. Только суперкомпьютеры смогут обрабатывать такой объем данных. А большинство сайтов WordPress размещаются всего лишь на общих серверах веб-хостинга, которые имеют, примерно одну тысяную степень мощности суперкомпьютеров.
Что же делать? Необходимо использовать кеширование WordPress. О том как это сделать и какой плагин использовать вы узнаете, если перейдете по указанной ссылке.
fortress-design.com
WordPress.org
Основы шаблонов
Файлы шаблонов это основной строительный материал вашего сайта на WordPress. Они соединяются вместе как кусочки пазла для формирования web-страниц на вашем сайте. Некоторые шаблоны, например, заголовок (header) и «подвал» (footer) обычно используются на всех web-страницах сайта, в то время как остальные могут использоваться только при некоторых условиях.
Традиционная web-страница состоит из двух файлов:
- Страница XHTML содержит структуру и контент страницы
- Таблица стилей CSS содержит параметры внешнего вида страницы.
В WordPress присутствует структура (X)HTML и стили CSS, но контент формируется «за кулисами» различными файлами шаблона. Файлы шаблона и таблицы стилей хранятся вместе с темой WordPress. Чтобы узнать больше про создание тем, прочтите статью Создание_тем.
Структура страницы WordPress
Простая web-страница WordPress сделана из трех основных блоков: заголовок (header), контент и подвал (footer). Каждый из этих блоков формируется на основе файла шаблона текущей темы WordPress.
- Заголовок содержит всю информацию, которая должна быть наверху — т.е. внутри тега — вашей XHTML web-страницы, так же, как и теги , и ссылки на таблицы стилей. Он также включает открытый тег и видимый заголовок вашего блога (который обычно содержит название вашего сайта, а также может содержать навигационное меню, логотип, описание сайта и т.д.).
- Блок контента содержит записи и страницы вашего блога, т.е. «основу» сайта.
- Подвал содержит информацию, которая находится в самом низу страницы, например ссылки на остальные страницы или категории вашего сайта в меню, авторские права, контактную информацию и т.п.
Основные файлы шаблона
Чтобы сформировать структуру темы WordPress, начните с файла шаблона index.php в папке вашей темы. У этого файла две основные функции:
- Включить или «вызвать» другие файлы шаблона
- Включить цикл WordPress для получения информации из базы данных (записи, страницы, категории и т.д.)
В нашей упрощенной структуре нам достаточно включить два других файла шаблона: заголовок и подвал. Они должны быть названы header.php и footer.php. Теги шаблонов, которые включают их, выглядят так:
Если нужно показать записи и страницы вашего блога (и настроить их внешний вид), файл index.php должен запустить цикл WordPress между вызовами файлов заголовка и подвала.
Более сложные структуры страниц
Множество тем WordPress используют одну или несколько боковых панелей, которые содержат меню навигации и дополнительную информацию о вашем сайте. Боковая панель формируется с помощью файла шаблона s >index.php с помощью следующей строки (теги шаблонов):
А где все остальное?
Заметьте, что мы не включили шаблонный тег для «получения» контента нашей web-страницы. Это потому, что контент формируется в цикле WordPress, внутри index.php.
Также стоит отметить, что таблицы стилей темы определяют внешний вид и положение заголовка, подвала, боковой панели и контента в браузере пользователя. Чтобы узнать больше об изменении дизайна ваших тем WordPress и web-страниц, смотрите Дизайн и раскладка блога.
Файлы шаблонов внутри файлов шаблонов
Вы узнали, как WordPress включает стандартные файлы шаблона (заголовок, подвал и боковую панель) в файле index.php. Но вы также можете включить и другие файлы шаблона в любом из ваших файлов.
Например, s >searchform.php. Т.к. это не один из стандартных файлов шаблона WordPress, код для включения будет немного отличаться:
Нам больше не нужно использовать «include» и «TEMPLATEPATH» для вставки нашей формы поиска в темы, т.к. WordPress предоставляет нам вышеуказанный тег шаблона.
Множество тем WordPress включают в себя различные файлы шаблона для формирования web-страниц на сайте. Ниже приведен список типичных файлов для основного шаблона ( index.php) сайта на WordPress:
Но, в любом случае, эту структуру можно изменить. Например, вы захотите вставить строку поиска в заголовок. Или ваш дизайн не предполагает использование подвала, так что его можно вообще не использовать.
Специальные файлы шаблона
В WordPress существуют два основных вида страниц на сайте. Вид одиночной записи используется, когда web-страница показывает одну запись из блога. Вид нескольких записей выводит список множества записей блога или сводку записей, и применяется к архивам категорий, архивам дат, архивам автора и (обычно) к «нормальному» виду домашней страницы блога. Вы можете использовать файл шаблона index.php для формирования всех этих типов страниц или положиться на иерархию шаблонов для выбора других файлов шаблона в зависимости от ситуации.
Иерархия шаблонов WordPress отвечает на следующий вопрос:
Какой файл шаблона будет использовать WordPress при формировании определенного типа страниц?
WordPress автоматически распознает файлы шаблона с определенными стандартными именами и использует их для определенного типа страниц. Например, когда пользователь кликает на заголовок записи блога, WordPress знает, что тот хочет увидеть именно эту статью на своей собственной странице. Иерархия шаблонов WordPress будет использовать файл шаблона single.php вместо index.php для формирования страницы — если в вашей теме есть файл single.php. Так же, если пользователь кликнет на ссылку для конкретной категории, WordPress будет использовать шаблон category.php, если найдет его; если нет, он будет искать archive.php, а если и этот шаблон не существует, WordPress будет использовать основной шаблон index.php. Вы можете сделать специальный шаблон для конкретной категории (см. Шаблоны категорий), или даже шаблоны для конкретных страниц.
Советы по файлам шаблонов
Здесь приведены несколько советов по созданию файлов шаблонов:
Отслеживайте открывающие и закрывающие теги Файлы шаблона подразумевают использование тегов XHTML и ссылок на CSS. Элементы HTML и ссылки на CSS могут «пересекать» файлы шаблона, т.е. начинаться в одном файле и заканчиваться в другом. Например, HTML элементы html и body обычно начинаются в header.php и заканчиваются в footer.php. Большинство тем WordPress используют HTML элементы div, которые также могут охватывать несколько файлов. Например, основной div для контента страницы может начаться в header.php и закончиться либо в index.php, либо в single.php. Отслеживание начала и конца элементов HTML может быть довольно сложным в процессе разработки или изменения тем. Используйте комментарии чтобы отмечать в файлах шаблона, где открываются и закрываются теги большого контейнера, так что вы сможете отслеживать, где какой div, и в какой секции. Тестируйте разные файлы шаблона с разными типами страниц Если вы сделали изменения в шаблоне комментариев, боковой панели, форме поиска или любом другом файле шаблона, протестируйте их на разных типах страниц (одиночная запись блога, разные типы архивов, страницы). Дополнительные комментарии Если вы разрабатываете темы для публикации, то учтите, что тот, кто скачает вашу тему, возможно захочет немного модифицировать ее для собственного использования. Так что будет весьма полезным оставлять комментарии в ваших файлах шаблона в тех местах, где вы сделали изменения относительно стандартной логики классических тем. Также неплохо будет добавить комментарий, если вы подключили свою собственную таблицу стилей где-нибудь в header.php. Не забывайте закрывать HTML теги Если вы открыли тег (например, div) в одном файле шаблона и не закрыли его там же, убедитесь, что тег закрыт в другом файле. На форуме WordPress полно вопросов типа «что случилось с моей темой??», когда начинающий разработчик удаляет шаблон footer.php и при этом не закрывает теги, открытые в заголовке. Следите за вашими тегами. Хороший способ найти ошибки на странице — проверить ее в HTML валидаторе. Таблицы стилей CSS в шаблонах Вы можете использовать любые HTML и CSS теги и стили, которые захотите. Однако, мы рекомендуем следовать стандартной структуре тем WordPress (см. Site Architecture 1.5). Это сделает ваши темы более понятными для других пользователей.
Дополнительная информация
Для получения более полной информации по файлам шаблона, ознакомьтесь со статьей Шаблоны. Также вы можете посмотреть другие статьи в Category:Templates и Category:Template Tags.
codex.wordpress.org
Как создать структуру сайта на WordPress
Опубликовано admin в Июнь 29, 2017
Как создается структура сайта на вордпресс и иерархия сайта
Дорогие друзья! Сегодня я хочу рассказать про создание структуры сайта на вордпресс. Ранее я писал про создание сайта на данной CMS, теперь, пришло время рассказать, как правильно структурировать страницы сайта на wordpress. Правильно подобранная структура сайта позволяет поисковым системам быстро находить новые страницы, а посетителям сайта быстро воспользоваться нужной информацией. Структура сайта – один из ключевых параметров поведенческих факторов, поэтому советую обращать на нее пристальное внимание.
Как Вы наверное знаете, структура сайта на вордпресс задается в разделе «Постоянные ссылки» в меню настроек сайта. В данном случае, Вы выбираете тип адресов, который будет отображаться на вашем сайте. Вы можете выбрать отображение по дате записи, по названию, или просто придать вашим страницам цифровой параметр. Настройки в постоянных ссылках предусматривают корректное отображение записей вордпресс. Однако при построении такой структуры возникает несколько трудностей.
Наиболее распространенная команда для построения структуры сайта на wordpress – это запись типа site.ru/category/postname.html Такая структура появляется из логического построения иерархии сайта: сначала сайт разбивается на категории (или темы), а затем на отдельные статьи (или записи). В этом случаее мы сталкиваемся с несколькими проблемами при продвижении сайта и индексации поисковиками:
- Как известно, при индексации категорий сайта на вордпресс, возникает ошибка, когда категории индексируются как страница 3-го уровня вложенности: site.ru/name/category В данном случае категории добавляется дополнительный уровень, что усложняет продвижение сайта.
- Вторая ошибка – это создание дубля страниц, которые индексируются 2 раза – первый раз типа site.ru/category/ второй – site.ru/name/category Как мы можем увидеть, обе страницы аналогичный контент и являются дублями.
Построение иерархии сайта на wordpress
Для правильного построения иерархии, структура сайта на вордпресс должна состоять не из записей, а из страниц WordPress. Для этого мы должны создавать в разделе «Страницы» категории сайта и конкретные страницы. Замечу, что данное условие отлично подойдет как для сайтов-визиток, так и для корпоративных сайтов. Если же Вы ведете блог с большим количеством записей, рекомендую Вам не размещать на страницах категорий какой-то важной информации (если Вы планировали ее продвижение). Еще раз повторю: создавайте логичную структуру сайта wordpress с помощью страниц, а не записей.
В панели вебмастера Яндекса, в разделе «индексирование», выберите пункт «Структура сайта» и там укажите все существующие разделы блога. Это действие поможет понять Яндексу категории на Вашем сайте. Чтобы понять, засчитал ли Яндекс Ваши страницы как дубли, в разделе «Индексирование» смотрим пункт «Страницы в поиске». Если мы не находим страницы типа site.ru/name то значит все отлично! Если такие страницы найдены – переходим в раздел «инструменты» и там выбираем пункт «удалить URL», после чего указываем в окне все адреса страниц, которые дублируют контант Вашего сайта. Как правило, в течение 2 недель, новые настройки индексирования сайта вступят в силу.
Как выглядит структура сайта на wordpress, созданная с помощью страниц
Как же создается структура сайта на вордпресс с помощью страниц? Давайте детально рассмотрим этот вопрос. Для начала нам создать первую страницу. Как правило, это главная страница Вашего сайта. Для этого заходим в меню сайта, выбираем пункт «Страницы» и нажимаем «добавить новую». В открывшейся панели добавляем контент, после чего нажимаем на кнопку «создать» в правом верхнем углу. Теперь у нас есть первая страница, после который мы можем создать страницы категорий. Указав ее в настройках (Внешний вид-настройки-главная страница) как главную, мы можем приступить к построение структуры сайта.
Структура сайта в панели вебмастера
Создаем новые страницы сайта, которые будут отвечать за категории. Далее переходим в раздел внешний вид и выбираем пункт «Меню», в котором указываем созданные страницы. Теперь мы можем приступать к созданию страниц с контентом – опять создаем новую страницу, и справа будет настройка структуры сайта. В качестве родительской страницы выбираем нужную страницу категории, после чего у Вас создается иерархическая структура сайта на wordpress! Желаю Вам легкого создания сайта!
Просмотр страниц в поиске
Также смотрите лекции Яндекса о правильной структуре сайта.
bloogit.ru
Структура WordPress
Шпаргалка о том, как устроен сайт на Вордпресс.
Корневой каталог WordPress содержит три папки: wp-content, wp-includes и wp-admin вместе с кучей разных PHP файлов, которые требуются для основных операций WP. Наиболее значимым из этих файлов является «wp-config.php». Изменяя этот файл, можно добавить кучу ключевых вариантов настройки WordPress, которые не доступны из консоли администратора. Также в корне сайта лежат и другие системные файлы (например, wp-settings.php, wp-config.php) которые влияют на настройки сайта.
Рассмотрим вкратце анатомию движка ВордПресс и за что отвечают те, или иные файлы и папки.
wp-admin
Эта папка содержит различные файлы, такие как CSS, JavaScript, и PHP, которые обеспечивают функциональность консоли и административной части сайта.
wp-content
Папка wp-content содержит все загруженные пользовательские данные и разделяется на другие вложенные папки:
Папка «languages» содержит файлы переводов и локализации движка в формате .mo и .po. Если вы хотите переводить свой сайт, вам нужно начинать с этой папки.
Каталог «themes» содержит все загруженные темы (шаблоны).
Вы можете загрузить в эту папку много тем, но активировать сможете только одну тему (не считаем некоторые плагины, которые позволяют активировать больше). Кроме того, каталог «themes» не может быть пустым, так как для WordPress необходима по крайней мере одна тема для корректной работы!
По умолчанию папка «themes» уже содержит внутри две темы: Twenty Thirteen и Twenty Fourteen.
Аналогичным образом, «plugins» используется для хранения установленных плагинов на вашем сайте. В отличие от каталога «themes», этот каталог может быть пуст и WordPress будет прекрасно работать без использования каких-либо сторонних плагинов. Вы также можете активировать столько плагинов, сколько необходимо (правда, хорошая практика заключается в установке только необходимых плагинов, поскольку количество установленных плагинов влияет на скорость работы сайта).
Все картинки (и другие медиа-файлы) хранятся в каталоге «uploads», с разбивкой по годам, месяцам и/или дням. Эта папка представляет собой базу данных для всего не-текстового контента: изображения, видео, MP3, PDF-файлы, и т.д.
Сразу после установки WordPress папки «uploads» не будет, она будет создана автоматически после того, как вы начнете загружать медиа-файлы через консоль.
wp-includes
Папка «wp-includes» содержит в себе все основные и необходимые файлы для запуска WordPress через фронтэнд (пользовательский интерфейс). Папка содержит файлы PHP, CSS, JavaScript, и файлы изображений WordPress, которые обеспечивают основные функции программного обеспечения. Другими словами – это ядро движка ВордПресс.
Папки wp-admin и wp-includes являются основными папками WP, поэтому в них желательно ничего не изменять. При каждом обновлении ВордПресс происходят изменения файлов в этих папках, и ваши правки будут утеряны.
Анатомия темы
Анатомия темы ВордПресс
Теперь от структуры ядра WP перейдем к рассмотрению анатомии темы (шаблона)
Путь к файлам темы следующий /wp-content/themes/название-темы/.
Основная структура папок темы может включать в себя такие папки, как:
- /css/ – файлы стилей CSS, которые использует тема; ВАЖНО: файл style.css должен размещаться в корневой папке темы
- /js/ – файлы JavaScript
- /images/ – хранит встроенные в тему изображения
- /languages/ – каталог хранит файлы переводов темы
Есть только два основных файла, которые необходимы для активации темы:
- index.php – файл, который создает блог
- style.css – стилевое оформление блога
Тем не менее, большинство тем включают в себя и другие файлы.
Вкратце разберем основные из них:
- header.php — глобальный файл, который отображает мета-данные страницы в разделе и меню верхнего уровня.
- sidebar.php – этот файл отвечает за генерацию боковой колонки сайта. В основном здесь выводятся: список рубрик (категорий), последние записи, теги, различные баннеры.
- footer.php – этот файл отвечает за вывод футера, нижнего меню, копирайта и закрывает HTML-теги.
- index.php – это шаблон главной страницы сайта. По умолчанию этот файл отображает список последних постов и подгружает информацию с sidebar.php (сайдбара).
- single.php – отвечает за отображение отдельных постов. Файл содержит цикл, который запрашивает только один пост и формирует его вывод.
- page.php – формирует отдельные (статические) страницы (например, «Контакты», «О нас» и т.п.)
- archive.php – этот файл отвечает за вывод страницы архива записей
- category.php – формирует шаблон страницы, которая выводит посты по категориями
- tag.php – шаблон страницы, которая выводит список постов по тегам
- comments.php – этот файл управляет выводом комментариев
- functions.php – позволяет добавлять пользовательский код PHP и может влиять на основные элементы темы. Он добавляет функции и расширяет возможности вашего сайта. Работает как плагин WordPress.
- style.css – основной файл CSS-стилей темы.
Это основные файлы, которые могут присутствовать в теме. Некоторые темы могут содержать и другие файлы, а некоторые и пару-тройку. Все зависит от разработчика темы, и его желания более тонкой настройки сайта.
sebweo.com