Перейти к содержимому

Где хранятся редиректы wordpress

  • автор:

Структура файлов и каталогов WordPress — руководство для начинающих

Лучший хостинг для CMS

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

Почему вы должны узнать о структуре файлов и каталогов WordPress?

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

Это руководство поможет вам:

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

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

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

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

Вместо FTP можно использовать более простую альтернативу: «Файловый менеджер» — встроенное приложение, в большинстве панелей управления хостингом.

переход в файловый менеджер на хостинге beget Переход в менеджер файлов на хостинге с cPanel

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

Файлы и папки WordPress

Это те файлы и папки, которые обеспечивают работу вашего сайта WordPress.

Обзор wordpress каталогов и файлов

Для того чтобы посмотреть все файлы и каталоги доступные по умолчанию, необязательно устанавливать WordPress и подключаться к хостингу, достаточно просто скачать его дистрибутив и распаковать на пк (но там не будет файлов .htaccess и wp-config.php).

Файлы и папки WordPress

Файлы .htaccess и wp-config.php создаются во время установки (их можно редактировать) А вот во все остальные лучше не лезть.

Вот список основных WordPress файлов и папок, которые вы увидите в корневом каталоге сайта работающего на WordPress.

wp-admin [каталог] — здесь находятся различные файлы отвечающие за внешний вид и работу инструментов администрирования сайта, таких как админ панель, и нескольких ключевых функций, таких как подключение к базе данных и управление разрешениями пользователей.
wp-content [каталог] — тут хранятся данные, связанные с плагинами и темами, об этом ниже.
wp-includes [каталог] — здесь находятся все файлы, необходимые для запуска вашего веб-сайта, такие как функции WordPress, те, которые управляют вашими записями, страницами, виджетами и другими функциями.
index.php
license.txt
readme.html
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
xmlrpc.php

В приведенном выше списке не стал указывать файлы .htaccess и wp-config.php, т.к. они создаются после установки WordPress.

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

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

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

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

wp-config.php — этот файл указывает WordPress, как подключиться к вашей базе данных. Он также задает некоторые глобальные настройки сайта.

index.php — индексный файл загружает и инициализирует все файлы WordPress, когда пользователь запрашивает страницу.

Иногда может понадобиться отредактировать файл wp-config.php или .htaccess. Будьте особенно внимательны при редактировании этих двух файлов. Небольшая ошибка может сделать ваш сайт недоступным. Перед редактированием этих 2х файлов всегда создавайте их резервные копии на своем ПК.

Если вы не видите файл .htaccess в корневом каталоге, в файловом менеджере cPanel, включите показ скрытых файлов.

Включение показа скрытых файлов

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

robots.txt — содержит инструкции для краулеров поисковых систем.

Favicon.ico — файл favicon иногда генерируется хостерами WordPress.

Каталог wp-content

Все загруженные файлы, плагины и темы WordPress хранит в папке wp-content.

Папка wp-content

Принято считать, что внутри папки wp-content можно редактировать файлы и папки. Но это не совсем так.

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

Содержимое папки wp-content

Содержимое папки wp-content может отличаться на разных сайтах WordPress. Но все сайты WordPress обычно имеют следующее:

[каталог] languages
[каталог] plugins
[каталог] themes
[каталог] uploads
index.php

В директории languages, WordPress хранит языковые файлы (обычно в формате .mo и .po) для неанглоязычных сайтов WordPress. В них находятся переводы тем, плагинов и локализации WordPress. Если хотите что то перевести, обычно нужно начинать с этой папки.

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

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

Все плагины WordPress, которые вы устанавливаете на свой сайт, хранятся в папке /wp-content/plugins/. Как и в случае с темами, не нужно редактировать файлы плагинов напрямую. Для написания дополнительно функционала, можно сделать простенький пустой плагин или вносить фрагменты кода и хуки в файл function.php дочерней темы.

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

Так же в каталоге wp-content, вы можете увидеть и другие папки. Например upgrade — это временная папка, которую WordPress создает во время обновления до новой версии. Также многие плагины, создают для хранения файлов свои собственные папки внутри папки wp-content .

Некоторые плагины WordPress могут создавать папки внутри директории /wp-content/uploads/ для сохранения загруженных пользователем файлов. Например, на этом демо-сайте есть папки, созданные плагинами Smash Balloon, WooCommerce, SeedProd и WPForms.

Плагины могут создавать свои собственные папки внутри каталога uploads.

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

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

Как найти перенаправление (редиректы) в WordPress

Порой при дебаге сложно отследить (отловить, найти) какой участок кода создаёт перенаправления в WordPress (сложно поймать редирект). Но если такие редиректы делаются функциями WordPress: wp_redirect() или wp_safe_redirect() — решение есть!

Ниже показано как без труда вылавливать редиректы.

При включенном дебаге, используем код:

add_filter( 'wp_redirect', 'wp_redirect_print_debug_backtrace' ); function wp_redirect_print_debug_backtrace( $location ) < error_log( print_r( debug_backtrace( true ), true ) ); // или /* ob_start(); debug_print_backtrace(); $log = ob_get_clean(); error_log( $log ); */ return $location; >

Ознакомьтесь с возможностями функции debug_backtrace, чтобы изменить полноту предоставляемых данных.

Также можно использовать функцию debug_print_backtrace(), но она сразу выводит данные на экран, поэтому их надо «буферить», чтобы передать в error_log() .

Теперь попробуем, например, посетить страницу example.com/login/ , с которой движок перенаправит нас на страницу example.com/wp-login.php . В логе мы получим следующую информацию:

Array ( [0] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\class-wp-hook.php [line] => 289 [function] => wp_redirect_print_debug_backtrace [args] => Array ( [0] => https://wp-test.ru/wp-login.php ) ) [1] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\plugin.php [line] => 206 [function] => apply_filters [class] => WP_Hook [type] => -> [args] => Array ( [0] => https://wp-test.ru/wp-login.php [1] => Array ( [0] => https://wp-test.ru/wp-login.php [1] => 302 ) ) ) [2] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\pluggable.php [line] => 1257 [function] => apply_filters [args] => Array ( [0] => wp_redirect [1] => https://wp-test.ru/wp-login.php [2] => 302 ) ) [3] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\canonical.php [line] => 971 [function] => wp_redirect [args] => Array ( [0] => https://wp-test.ru/wp-login.php ) ) [4] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\class-wp-hook.php [line] => 287 [function] => wp_redirect_admin_locations [args] => Array ( [0] => ) ) [5] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\class-wp-hook.php [line] => 311 [function] => apply_filters [class] => WP_Hook [type] => -> [args] => Array ( [0] => [1] => Array ( [0] => ) ) ) [6] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\plugin.php [line] => 478 [function] => do_action [class] => WP_Hook [type] => -> [args] => Array ( [0] => Array ( [0] => ) ) ) [7] => Array ( [file] => F:\server\www\wp-test.ru\wp-includes\template-loader.php [line] => 13 [function] => do_action [args] => Array ( [0] => template_redirect ) ) [8] => Array ( [file] => F:\server\www\wp-test.ru\wp-blog-header.php [line] => 19 [args] => Array ( [0] => F:\server\www\wp-test.ru\wp-includes\template-loader.php ) [function] => require_once ) [9] => Array ( [file] => F:\server\www\wp-test.ru\index.php [line] => 17 [args] => Array ( [0] => F:\server\www\wp-test.ru\wp-blog-header.php ) [function] => require ) )

Благодаря этой отладочной информации, мы определили, что за перенаправление ответствен хук:

add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );

Он навешивается в файле default-filters.php и запускает функцию wp_redirect_admin_locations(), которая и создает само перенаправление.

Эта заметка встроена в: wp_redirect

Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.

При изменении адреса страницы, WordPress сохраняет старый адрес и делает с него редирект на новый

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

Вот по этой ссылке я нашел немного информации по этому поводу — link.

Ниже мой вольный перевод сообщений из топика по ссылке выше.

Вопрос от mikkelbreum

Я только что изменил URl одного из своих постов с
http://site.org/session/theme-frameworks-trends-og-standardisering/
на
http://site.org/session/wordpress-themes-mere-end-design/

И сейчас при при переходе по старому URl, меня редиректит на новый. Это, конечно круто! Но это фича WordPress или баг?

Отслеживает ли WP историю URL-адресов, создавая редиректы для старых адресов? Глядя на заголовки ответов, я вижу, что WP использует SEO friendly 301 редирект. Я думал, что мне придется настроить редиректы в своем файле htaccess, поэтому мне интересно знать, как так происходит, что WP сам создает редиректы со старых урлов на новые.

Буду благодарен за любую информацию, о том, как WP это делает.

Ответ от Johannes Pille

Отслеживает ли WP историю URL-адресов, создавая редиректы для старых адресов?

Да, отслеживает. Если вы измените slug записи, WordPress создаст 301 редирект со старого адреса на новый (если сервер позволяет).

Буду благодарен за любую информацию, о том, как WP это делает.

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

Что я могу сказать: предыдущие версии используемых урлов расположены в базе данных в таблице wp_postmeta . Посмотрите _wp_old_slug в колонке meta_key , значение урла будет храниться в колонке meta_value . И если вы не хотите получать редирект при переходе по старой ссылке, то просто удалите значение в колонке meta_value .

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

Задача такая — сделать открытие картинок из карусели Owl-Carousel в pop-up окне по типу light…

Если не загружаются автоматически демо-данные для шаблона Avada нужно увеличить WP Memory Limit и прописать…

Добавляем к товару новый таб ‘Основной ингредиент’ Данный код добавляем в файл functions.php: *** Чтобы…

Как сделать скачивание pdf-файла после отправки формы с помощью плагина Contact Form 7. Открываем pdf-файл…

Где хранятся редиректы категорий в wordpress?

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

  • Вопрос задан более трёх лет назад
  • 279 просмотров

Комментировать

Решения вопроса 0

Ответы на вопрос 1

dimasmagadan

Дмитрий @dimasmagadan

select * from wp_options WHERE option_name = ‘rewrite_rules’

Ответ написан более трёх лет назад

khodos_dmitry @khodos_dmitry Автор вопроса

Почему то в старом и новом дампе базы это значение одинаковое.

Ваш ответ на вопрос

Войдите, чтобы написать ответ

php

  • PHP
  • +2 ещё

Как вывести полное описание товара в категории Woocommerce?

  • 1 подписчик
  • 10 минут назад
  • 3 просмотра

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

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

https://kapelnicza.vyvod-iz-zapoya-v-stacionare-samara12.ru/