Как избежать проблем с нерабочими изображениями после миграции WordPress

Диагностика проблемы с изображениями после миграции WordPress

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

  • Откройте страницу с проблемным изображением, нажмите правой кнопкой и выберите "Открыть изображение в новой вкладке". Проверьте URL изображения — совпадает ли домен с новым?
  • Проверьте настройки wp_options в базе данных, особенно значения siteurl и home.
  • Используйте инструмент браузера (например, Chrome DevTools) для проверки ошибок загрузки изображений (404, 403 и пр.).
  • Проверьте права доступа к папке /wp-content/uploads/ и её подкаталогам — обычно 755 для директорий и 644 для файлов.

Пошаговое решение: корректный перенос изображений и обновление ссылок

1. Проверка и обновление адресов сайта

Выполните команду на сервере или используйте phpMyAdmin для проверки значений:

SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');

Если адреса старые, обновите их:

UPDATE wp_options SET option_value = 'https://new-domain.ru' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://new-domain.ru' WHERE option_name = 'home';

2. Поиск и замена URL внутри базы данных

Изображения обычно хранятся с абсолютными ссылками в постах и метаданных. Используйте WP-CLI или плагин Clearfy для безопасного поиска и замены. Пример с WP-CLI:

wp search-replace 'https://old-domain.ru/wp-content/uploads' 'https://new-domain.ru/wp-content/uploads' --skip-columns=guid

Обратите внимание на параметр --skip-columns=guid, чтобы не изменять GUID записей.

3. Проверка и восстановление прав доступа к папкам и файлам

Выполните команды через SSH:

find /path/to/wordpress/wp-content/uploads -type d -exec chmod 755 {} \;
find /path/to/wordpress/wp-content/uploads -type f -exec chmod 644 {} \;

Убедитесь, что владелец файлов совпадает с пользователем веб-сервера (обычно www-data или apache).

4. Очистка кеша и регенерация миниатюр

Если вы используете кеширующие плагины, очистите весь кеш. Для регенерации миниатюр можно использовать плагин Regenerate Thumbnails или WP-CLI:

wp media regenerate --yes

Проверка результата после внедрения

  • Откройте несколько страниц с изображениями и убедитесь, что все они загружаются без ошибок.
  • Проверьте консоль браузера на отсутствие ошибок сети при загрузке медиафайлов.
  • Используйте WP-CLI команду wp media list --field=url | head для проверки корректности адресов изображений.

Частые ошибки и как их исправить

  • Ошибка 403 или 404 при загрузке изображений — проверьте права доступа и наличие файлов в папке uploads.
  • Неправильные URL в базе данных — обязательно используйте специализированные инструменты для поиска и замены, избегайте прямого редактирования через SQL без бэкапа.
  • Изображения не отображаются только для некоторых постов — возможно, ссылки хранятся в метаданных или сторонних плагинах, проверьте также таблицу wp_postmeta.

Практические советы по безопасности и производительности

  • После миграции отключите возможность редактирования файлов из админки, добавив в wp-config.php строку: define('DISALLOW_FILE_EDIT', true);
  • Используйте CDN для хранения и доставки изображений, чтобы снизить нагрузку на сервер и ускорить загрузку.
  • Регулярно делайте бэкапы папки uploads и базы данных перед миграциями.
  • Для больших сайтов используйте WP-CLI для массовой замены URL — это быстрее и безопаснее, чем плагины.

Сравнение вариантов обновления URL в базе данных

МетодПреимуществаНедостатки
WP-CLI search-replaceБыстро, безопасно, можно исключать колонкиТребует SSH доступа и навыков работы с командной строкой
Плагин ClearfyПростой интерфейс, дополнительные функции оптимизацииЗависит от версии плагина, нагрузка на сайт при большом объёме данных
Ручная SQL-запросыПрямой контроль над запросамиРиск повредить базу, требует опыт работы с SQL
Автоматическое изменение стоимости товара в WooCommerce при изменении атрибутов
07.05.2026
Как использовать куки для авторизации в WordPress
09.02.2026
Оптимизация базы данных WordPress: практические советы и примеры кода
06.11.2025
Как удалить неиспользуемые шорткоды в WordPress: практическое решение с примерами кода
15.04.2026
Как настроить отложенный запуск задач в WordPress без использования WP-Cron
21.12.2025