Вопрос или проблема
Я недавно купил CDN и использовал плагин для изменения URL сайта для всех статических файлов в папках “/wp-content” и “/wp-include” на URL CDN.
Есть ли способ изменить URL сайта для статических файлов (особенно изображений) в “/wp-admin” на URL CDN?
Я не уверен насчет wp-includes
, но вы можете довольно легко изменить URL вашей папки wp-content
, установив эту константу в файле wp-config.php
:
define('WP_CONTENT_URL', 'https://mybucket.nyc3.cdn.digitaloceanspaces.com');
По умолчанию константа WP_CONTENT_URL
установлена на URL директории wp-content
установки WordPress. Однако ее можно настроить, чтобы она указывала на другой URL или домен, что может быть полезно в определенных сценариях, таких как, когда вы хотите обслуживать свой статический контент с CDN или субдомена.
https://developer.wordpress.org/apis/wp-config-php/#moving-wp-content-folder
Ответ или решение
Для изменения URL статических файлов в директории /wp-admin
на CDN-адрес, важно понимать несколько аспектов работы с WordPress и его структурой.
Понимание структуры WordPress
В WordPress статические файлы, такие как изображения, JavaScript и CSS, по умолчанию загружаются из каталогов wp-content
и wp-includes
. Однако файлы админ-панели ( /wp-admin
) также могут безусловно использоваться в вашем сайте – особенно если вы хотите оптимизировать производительность благодаря CDN.
Как изменить URL для статических файлов в /wp-admin
Для изменения адресов этих файлов на CDN вам нужно будет следовать нескольким шагам, так как нет встроенной функции, которая позволяет напрямую изменить URL для файлов в /wp-admin
. Вместо этого вы можете использовать фильтры и хуки в WordPress.
1. Использование фильтров WordPress
Добавьте следующий код в файл вашей темы functions.php
или в отдельный плагин. Этот код будет изменять URL статических файлов, загружаемых из админ-панели:
function change_admin_url_to_cdn( $src ) {
if ( strpos( $src, '/wp-admin/' ) !== false ) {
$cdn_url = 'https://mybucket.nyc3.cdn.digitaloceanspaces.com';
$src = str_replace( home_url(), $cdn_url, $src );
}
return $src;
}
add_filter('admin_url', 'change_admin_url_to_cdn');
add_filter('includes_url', 'change_admin_url_to_cdn');
Этот код определяет функцию change_admin_url_to_cdn
, которая проверяет, содержит ли src
путь /wp-admin/
. Если это так, он заменяет URL на ваш CDN-адрес.
2. Проверка файлов
После внесения изменений не забудьте протестировать сайт. Откройте инспектор в браузере (обычно доступен с помощью правого клика и выбора опции "Просмотреть код") и убедитесь, что файлы загружаются с использованием нового CDN-адреса.
3. Важные замечания
- Кэширование: Убедитесь, что кэширование вашего сайта, как на уровне сервера, так и на уровне CDN, настроено правильно. Это обеспечит быструю загрузку ваших страниц и минимизирует проблему с устаревшими данными.
- Безопасность: Будьте осторожны при изменении файлов и функций в WordPress. Создание резервной копии вашего сайта перед внесением таких изменений — это хорошая практика.
- Обновление URL: Если вы меняете URL в
/wp-admin
, это может затронуть плагины или темы, которые зависят от URL для своих ресурсов. Проверьте их совместимость.
Заключение
Изменение URL статических файлов в директории /wp-admin
на адрес CDN — это более сложная задача, чем простое изменение URL для /wp-content
или /wp-includes
. Однако, используя фильтры и хуки, вы можете добиться желаемого результата, тем самым улучшив производительность и время загрузки вашего сайта. Обязательно протестируйте изменения и следите за их воздействием на функциональность сайта.