Как изменить URL изображения в WordPress без плагинов

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

Почему стоит изменить URL изображений в WordPress

Стандартный путь к изображениям в WordPress обычно выглядит так: https://example.com/wp-content/uploads/2024/06/image.jpg. Здесь присутствует структура папок по годам и месяцам, что не всегда нужно и может усложнять управление файлами на сервере.

Изменение URL изображений помогает:

  • Сделать ссылку более понятной и короткой для пользователей.
  • Упростить миграцию и резервное копирование файлов.
  • Улучшить SEO за счёт включения ключевых слов в URL.
  • Избежать проблем с путями при смене темы или структуры сайта.

Как отключить разбивку по папкам с датами в WordPress

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

Отключение через админку

Перейдите в Настройки > Медиафайлы и снимите галочку с пункта «Организовывать мои загруженные файлы по папкам с датами». После этого все новые загруженные файлы будут сохраняться напрямую в папку uploads.

Отключение через код

Если по каким-то причинам нет доступа к интерфейсу, добавьте в functions.php следующий код:

function wpteam_disable_upload_date_folders( $uploads ) {
    $uploads['subdir'] = '';
    $uploads['path'] = str_replace( $uploads['subdir'], '', $uploads['path'] );
    $uploads['url'] = str_replace( $uploads['subdir'], '', $uploads['url'] );
    return $uploads;
}
add_filter( 'upload_dir', 'wpteam_disable_upload_date_folders' );

Этот код убирает подкаталоги с датами из пути загрузки.

Как изменить базовый URL для загрузок

Иногда требуется не просто убрать папки с датами, а изменить базовый URL папки uploads, например, чтобы использовать CDN или другой домен.

Изменение URL через фильтр upload_dir

Фильтр upload_dir позволяет программно изменить параметры загрузки:

function wpteam_change_upload_base_url( $uploads ) {
    // Новый базовый URL для медиафайлов
    $uploads['baseurl'] = 'https://cdn.example.com/wp-content/uploads';
    // Путь на сервере можно не менять, если CDN проксирует папку uploads
    // $uploads['basedir'] = '/var/www/html/wp-content/uploads';
    return $uploads;
}
add_filter( 'upload_dir', 'wpteam_change_upload_base_url' );

Так вы можете указать любой URL, например, подставить CDN или другой домен, где будут храниться изображения.

Как массово изменить URL уже загруженных изображений в базе данных

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

Пример SQL-запроса для замены URL в контенте постов

Выполните запрос в phpMyAdmin или через консоль MySQL (сделайте резервную копию базы перед этим!):

UPDATE wp_posts
SET post_content = REPLACE(
    post_content,
    'https://example.com/wp-content/uploads/2024/06/',
    'https://example.com/wp-content/uploads/'
)
WHERE post_content LIKE '%https://example.com/wp-content/uploads/2024/06/%';

Этот запрос заменит ссылки на изображения в содержимом записей.

Использование PHP-скрипта для замены URL в метаданных

Медиафайлы хранятся и в postmeta, например, в полях _wp_attached_file. Для обновления можно использовать следующий код:

function wpteam_update_attachment_urls() {
    global $wpdb;
    $old_path = '2024/06/';
    $new_path = '';
    $wpdb->query(
        $wpdb->prepare(
            "UPDATE {$wpdb->postmeta}
             SET meta_value = REPLACE(meta_value, %s, %s)
             WHERE meta_key = '_wp_attached_file' AND meta_value LIKE %s",
             $old_path, $new_path, '%' . $wpdb->esc_like($old_path) . '%'
        )
    );
}
// Запустите функцию один раз, затем удалите вызов
wpteam_update_attachment_urls();

Этот скрипт удалит часть пути с датой из метаданных вложений.

SEO и безопасность при изменении URL изображений

После изменения URL важно не потерять трафик и избежать ошибок 404. Для этого:

  • Настройте 301 редиректы со старых URL на новые, например через .htaccess:
RewriteEngine On
RewriteRule ^wp-content/uploads/([0-9]{4})/([0-9]{2})/(.*)$ /wp-content/uploads/$3 [R=301,L]
  • Проверьте, что все ссылки в базе данных обновлены.
  • Убедитесь, что права доступа к новым папкам корректны.
  • Проверьте работу сайта на предмет сломанных изображений.
  • Добавьте новые URL в sitemap и проиндексируйте их в поисковых системах.

Заключение

Изменение URL изображений в WordPress без плагинов — вполне решаемая задача, если правильно использовать настройки и фильтры платформы. Это поможет сделать структуру файлов более удобной и улучшить SEO. Важна аккуратность: не забудьте обновить ссылки в базе и настроить редиректы, чтобы избежать потери трафика.

Если хотите автоматизировать SEO-оптимизацию и очистку кода, обратите внимание на плагин Clearfy Pro, который помогает управлять URL и оптимизировать сайт без лишнего кода.

Как создать автоматическое отправление email в WordPress с помощью WP-Cron
11.02.2026
Как добавить динамические метаданные в WordPress по условию
31.03.2026
Как автоматизировать удаление старого контента в WordPress с помощью WP-Cron и кода
21.03.2026
WooCommerce: как автоматически удалять товары из корзины по атрибутам
04.05.2026
Как запретить регистрацию новых пользователей в WordPress
11.01.2026

Возникли задачи по WP? Вы можете задать свой вопрос на FAQwp.com Либо обратиться к специалистам поддержки.