15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
23.10.2024

Як завантажити медіабібліотеку WordPress: пояснення кожного методу

Резервне копіювання або міграція медіабібліотеки WordPress означає отримання всього вмісту, збереженого в wp-content/uploads — директорії, куди WordPress записує кожне зображення, відео, PDF та аудіофайл, прикріплений до вашого сайту. Це можна зробити через прямий доступ до файлів сервера (cPanel File Manager або FTP), спеціалізований плагін WordPress або інструмент повного резервного копіювання сайту — залежно від розміру сайту, рівня доступу до сервера та терміновості.

Цей посібник охоплює всі п’ять практичних методів у повній технічній деталізації, включаючи підводні камені, які застають адміністраторів зненацька, міркування щодо продуктивності для великих бібліотек та точні кроки для кожного підходу.

Чому завантаження медіабібліотеки має значення

Папка WordPress uploads не включається до стандартного експорту бази даних (wp_posts, wp_postmeta тощо). Це означає, що дамп MySQL сам по собі ніколи не є повним резервним копіюванням. Медіафайли повністю знаходяться поза базою даних — це бінарні ресурси у файловій системі. Будь-який план міграції, переміщення сервера або аварійного відновлення, який не включає wp-content/uploads, призведе до зламаних посилань на зображення по всьому сайту.

Поширені сценарії, що вимагають повного завантаження медіабібліотеки:

  • Міграція сервера на нового хостинг-провайдера або середовище VPS Хостингу
  • Локальна розробка — перенесення виробничих ресурсів на тестовий екземпляр
  • Архівне резервне копіювання перед масштабним оновленням теми або плагіна
  • Юридичне або нормативне зберігання опублікованих медіаматеріалів
  • Звільнення дискової квоти після переходу на Спільний Веб-хостинг з жорсткішими обмеженнями сховища

Порівняння методів на перший погляд

МетодНайкраще дляПотребує доступу до сервераОбробляє великі бібліотекиФормат завантаження
cPanel File ManagerШвидкі одноразові завантаженняТак (cPanel)Помірно (обмеження ZIP ~2 GB)ZIP-архів
FTP / SFTP клієнтВеликі або дуже великі бібліотекиТак (FTP облікові дані)ВідмінноНеоброблені файли
Плагін Export Media LibraryНетехнічні користувачі, без доступу до сервераНіПомірноZIP-архів
Панель керування WordPress (вручну)Окремі файли або невеликі пакетиНіПоганоОкремі файли
Плагін резервного копіювання (UpdraftPlus тощо)Повне резервне копіювання сайту + медіаНіДобреВласний формат або ZIP

Метод 1: Завантаження через cPanel або файловий менеджер хостингу

Це найшвидший шлях, коли у вас є доступ до cPanel, а розмір медіабібліотеки не перевищує приблизно 2 GB у нестисненому вигляді. File Manager стискає папку на стороні сервера та дозволяє завантажити єдиний архів.

Покрокова інструкція

  1. Увійдіть до cPanel та відкрийте File Manager.
  2. Перейдіть до public_html/wp-content/uploads (або відповідного шляху, якщо WordPress встановлено у підкаталозі, наприклад public_html/blog/wp-content/uploads).
  3. Клацніть правою кнопкою миші на папці uploads та виберіть Compress.
  4. Виберіть ZIP Archive як формат і підтвердьте шлях призначення.
  5. Зачекайте завершення стиснення — для великих папок це може зайняти кілька хвилин.
  6. Клацніть правою кнопкою миші на отриманому файлі .zip та виберіть Download.

Критичні підводні камені

  • Тайм-аут виконання PHP: File Manager у cPanel виконує стиснення за допомогою серверного процесу PHP. Бібліотеки розміром понад ~1,5–2 GB часто досягають ліміту max_execution_time, залишаючи пошкоджений або неповний архів. Якщо це трапляється, перейдіть до Методу 2.
  • Подвійний облік дискової квоти: Стиснення створює другу копію даних на диску. Якщо ви наближаєтесь до квоти, завдання стиснення завершиться без повідомлення про помилку. Видаліть ZIP одразу після завантаження.
  • Структура підкаталогів рік/місяць: WordPress організовує завантаження за датою (uploads/2024/03/). ZIP збереже цю ієрархію, що є правильним — не вирівнюйте її перед повторним імпортом.

Метод 2: Завантаження через FTP або SFTP клієнт (FileZilla)

FTP/SFTP є професійним стандартом для масового передавання файлів. Він повністю обходить тайм-аути PHP, підтримує відновлювані передачі та обробляє бібліотеки будь-якого розміру. SFTP (порт 22) настійно рекомендується замість звичайного FTP (порт 21), оскільки він шифрує облікові дані та дані під час передачі — що критично важливо, якщо ваш сервер не застосовує FTPS.

Підключення за допомогою FileZilla

  1. Відкрийте FileZilla та перейдіть до File > Site Manager > New Site.
  2. Встановіть протокол SFTP – SSH File Transfer Protocol.
  3. Введіть ім’я хоста або IP-адресу сервера, порт 22 та ваші облікові дані SSH/SFTP. Вони доступні в панелі керування хостингом у розділі FTP Accounts або SSH Access.
  4. Натисніть Connect.

Завантаження папки Uploads

Після підключення:

  1. На панелі Remote Site (права сторона) перейдіть до /public_html/wp-content/uploads.
  2. На панелі Local Site (ліва сторона) перейдіть до цільового каталогу на вашому локальному комп’ютері.
  3. Клацніть правою кнопкою миші на папці uploads на панелі віддаленого сайту та виберіть Download.

FileZilla поставить у чергу кожен файл і підкаталог рекурсивно. Ви можете відстежувати прогрес передачі на нижній панелі стану. Якщо з’єднання переривається, черга FileZilla є відновлюваною — клацніть правою кнопкою миші на черзі та виберіть Process Queue для продовження.

Прискорення великих передач

FileZilla за замовчуванням використовує один потік передачі. Для великих бібліотек збільште кількість одночасних підключень:

  • Перейдіть до Edit > Settings > Transfers.
  • Встановіть Maximum simultaneous transfers на 5 або 10 (залежно від обмежень підключень вашого сервера).

Для середовищ командного рядка або автоматизованих скриптів rsync через SSH є швидшим і надійнішим, ніж графічний FTP:

rsync -avz --progress user@yourserver.com:/var/www/html/wp-content/uploads/ ./local-uploads/

Прапор -a зберігає дозволи та мітки часу, -v вмикає детальний вивід, а -z вмикає стиснення під час передачі. Це рекомендований метод для системних адміністраторів, які керують кількома інсталяціями WordPress на Виділеному сервері.

Метод 3: Плагін Export Media Library

Коли доступ на рівні сервера недоступний — наприклад, на керованому плані WordPress або у спільному середовищі, де облікові дані FTP обмежені — експорт на основі плагіна є найчистішим рішенням.

Використання плагіна «Export Media Library»

  1. У панелі керування WordPress перейдіть до Plugins > Add New.
  2. Знайдіть Export Media Library (від команди Imagify / WP Rocket).
  3. Встановіть та активуйте його.
  4. Перейдіть до Media > Export.
  5. Виберіть формат експорту. ZIP є стандартним вибором. Деякі версії плагіна також пропонують плоску структуру (всі файли в одному каталозі) на відміну від стандартної ієрархії папок рік/місяць — зберігайте структуру папок, якщо плануєте повторний імпорт.
  6. Натисніть Download та збережіть архів локально.

Обмеження, які слід знати

  • Плагін генерує ZIP у реальному часі за допомогою PHP. На серверах з низьким memory_limit (наприклад, 128 MB) або коротким max_execution_time експорт завершиться невдачею для великих бібліотек.
  • Деякі хостингові середовища обмежують генерацію ZIP кількома сотнями мегабайт. Якщо завантаження не вдається або виробляє пошкоджений файл, перевірте журнал помилок PHP за адресою wp-content/debug.log (спочатку увімкніть WP_DEBUG_LOG у wp-config.php).
  • Плагін не експортує медіа, яке було завантажено, а потім видалено з медіабібліотеки, але чиї файли залишаються на диску. Використовуйте FTP для справді вичерпної копії файлової системи.

Метод 4: Завантаження окремих файлів з медіабібліотеки WordPress

Цей метод є практичним лише для отримання кількох конкретних файлів. Він не масштабується.

  1. Перейдіть до Media > Library у панелі керування WordPress.
  2. Перейдіть до List View для зручнішої ідентифікації файлів.
  3. Натисніть на медіаелемент, який потрібно отримати.
  4. На панелі Attachment Details знайдіть поле File URL та скопіюйте URL.
  5. Вставте URL у вкладку браузера, потім клацніть правою кнопкою миші на файлі та виберіть Save As.

Для дещо більших пакетів можна використовувати інструменти розробника браузера або розширення браузера для масового збереження відкритих вкладок, але це залишається неефективним для більш ніж 20–30 файлів.

Більш масштабований варіант: використовуйте wget зі списком URL-адрес, експортованих з бази даних:

wget -i media-urls.txt -P ./downloaded-media/

Де media-urls.txt містить одну URL-адресу вкладення на рядок. Ви можете згенерувати цей список за допомогою запиту WP-CLI:

wp post list --post_type=attachment --field=guid --allow-root > media-urls.txt

Метод 5: Плагін повного резервного копіювання сайту (UpdraftPlus / All-in-One WP Migration)

Плагіни резервного копіювання є правильним вибором, коли вам потрібна медіабібліотека як частина повного знімка сайту — наприклад, перед масштабним оновленням, міграцією сервера або зміною хостингу.

UpdraftPlus

  1. Встановіть та активуйте UpdraftPlus з репозиторію плагінів.
  2. Перейдіть до Settings > UpdraftPlus Backups.
  3. Натисніть Backup Now. У діалоговому вікні переконайтеся, що встановлено прапорець Include your files in the backup (це охоплює wp-content/uploads).
  4. Після завершення резервного копіювання перейдіть на вкладку Existing Backups.
  5. Натисніть кнопку компонента Uploads, щоб завантажити лише архів медіа, або завантажте всі компоненти окремо.

UpdraftPlus розбиває великі резервні копії на кілька ZIP-сегментів (за замовчуванням: по 400 MB кожен), щоб уникнути проблем з пам’яттю PHP. Вам потрібно буде зібрати ці сегменти разом, якщо ви розпаковуєте вручну.

All-in-One WP Migration

  1. Встановіть та активуйте All-in-One WP Migration.
  2. Перейдіть до All-in-One WP Migration > Export.
  3. Виберіть File як місце призначення експорту.
  4. Плагін об’єднує базу даних, теми, плагіни та завантаження в єдиний файл .wpress.
  5. Завантажте файл .wpress. Щоб витягти медіафайли з нього без повторного імпорту до WordPress, перейменуйте розширення на .zip — внутрішня структура є стандартно сумісною з ZIP і містить папку uploads.

Коли плагіни резервного копіювання не є правильним інструментом

Плагіни резервного копіювання оптимізовані для повного відновлення сайту, а не для точного вилучення медіа. Якщо вам потрібна лише папка uploads, накладні витрати на пакування бази даних та всіх плагінів є зайвими. Використовуйте FTP або cPanel для завантажень лише медіа.

Робота з дуже великими медіабібліотеками (10 GB+)

Бібліотеки розміром понад 10 GB вимагають іншого підходу, щоб уникнути тайм-аутів, вичерпання пам’яті та неповних передач.

Розбийте завантаження за роками: WordPress організовує завантаження у підкаталоги uploads/YYYY/MM/. Завантажуйте папку одного року за раз через FTP, щоб зробити сеанси передачі керованими.

Використовуйте tar зі стисненням спочатку на сервері, а потім завантажуйте:

tar -czf /tmp/uploads-backup.tar.gz /var/www/html/wp-content/uploads/

Потім завантажте єдиний файл .tar.gz через SFTP або SCP:

scp user@yourserver.com:/tmp/uploads-backup.tar.gz ./

WP-CLI для вибіркового експорту: Якщо вам потрібні лише медіафайли, прикріплені до опублікованих публікацій (за винятком осиротілих вкладень), WP-CLI дозволяє вибірково запитувати та копіювати:

wp post list --post_type=attachment --post_status=inherit --field=guid --allow-root | 
  sed 's|https://yourdomain.com||' | 
  xargs -I {} cp /var/www/html{} ./selective-exports/

Міркування безпеки під час завантаження

  • Завжди використовуйте SFTP або SCP замість звичайного FTP. Незашифрований FTP передає ваші облікові дані у відкритому тексті, що може бути використано у спільних мережевих сегментах.
  • Якщо ваш сайт використовує SSL Сертифікат (HTTPS), переконайтеся, що ваші медіа URL-адреси обслуговуються через HTTPS, щоб уникнути попереджень про змішаний вміст при повторному імпорті на новий домен.
  • Після завантаження негайно видаліть будь-які ZIP-архіви з сервера. Загальнодоступний uploads-backup.zip у public_html є серйозним ризиком розкриття даних.
  • Перевірте цілісність архіву після завантаження за допомогою контрольних сум MD5 або SHA256 перед видаленням джерела:
md5sum uploads-backup.tar.gz

Виконайте ту саму команду на сервері перед завантаженням і порівняйте результат.

Відновлення завантаженої медіабібліотеки

Завантаження — це лише половина процесу. При відновленні на нову інсталяцію WordPress:

  1. Завантажте вміст папки uploads до wp-content/uploads/ на новому сервері, зберігаючи структуру каталогів рік/місяць.
  2. Якщо ім’я домену змінилося, виконайте пошук і заміну в базі даних для оновлення всіх жорстко закодованих медіа URL-адрес:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --allow-root
  1. Регенеруйте мініатюри зображень після передачі, оскільки WordPress зберігає кілька версій кожного зображення зі зміненим розміром, і вони повинні відповідати зареєстрованим розмірам зображень нової теми:
wp media regenerate --allow-root

Якщо ви переходите на новий VPS з cPanel, File Manager на цільовому сервері може обробити повторне завантаження безпосередньо, уникаючи другого сеансу FTP.

Матриця технічних рішень

Використовуйте цю матрицю для вибору правильного методу на основі ваших конкретних обмежень:

ОбмеженняРекомендований метод
Бібліотека до 2 GB, доступний cPanelcPanel File Manager (ZIP стиснення + завантаження)
Бібліотека понад 2 GB, доступний SSHrsync або tar + scp через командний рядок
Бібліотека понад 2 GB, лише FTPFileZilla з кількома одночасними підключеннями
Немає доступу до сервера, нетехнічний користувачПлагін Export Media Library
Потрібен повний знімок сайту для міграціїUpdraftPlus або All-in-One WP Migration
Потрібно лише кілька конкретних файлівКопіювання URL з панелі керування WordPress або wget
Автоматизоване/заплановане резервне копіювання медіаЗавдання cron rsync на сервері

Практичний контрольний список перед початком

  • Переконайтеся, що доступний локальний дисковий простір становить щонайменше 1,5x розміру вашої папки uploads (накладні витрати на стиснення)
  • Перевірте, що ваші облікові дані FTP/SFTP активні та не обмежені білим списком IP
  • Увімкніть WP_DEBUG_LOG у wp-config.php перед використанням плагінних експортів для захоплення помилок PHP
  • Зверніть увагу на точний шлях кореневого каталогу WordPress — він не завжди є public_html (встановлення у підкаталозі є поширеним)
  • Після завантаження перевірте кількість файлів: порівняйте find /path/to/uploads -type f | wc -l на сервері з витягнутим архівом
  • Негайно видаліть серверні ZIP або TAR архіви після успішного завантаження

Часті запитання

Чи включає завантаження медіабібліотеки також записи вкладень бази даних?

Ні. Папка wp-content/uploads містить лише бінарні файли. Метадані вкладень — заголовки, альтернативний текст, підписи та зв’язки з публікаціями — зберігаються в таблицях бази даних wp_posts та wp_postmeta. Повна міграція вимагає як завантаження файлової системи, так і експорту бази даних.

Чому моє ZIP-завантаження cPanel виробляє пошкоджений або неповний архів?

Це майже завжди вказує на тайм-аут PHP max_execution_time під час серверного стиснення. Виправлення полягає в тому, щоб або збільшити тайм-аут у php.ini (max_execution_time = 300), стискати папку меншими пакетами за роками, або перейти на FTP/SFTP для передачі.

Чи можу я завантажити лише зображення та виключити відео для економії пропускної здатності?

Так. Використання rsync з прапорами --include та --exclude дає вам точний контроль:

rsync -avz --include="*.jpg" --include="*.png" --include="*.webp" 
  --exclude="*" user@yourserver.com:/var/www/html/wp-content/uploads/ ./images-only/

Чи порушить завантаження папки uploads мій живий сайт?

Ні. Завантаження є операцією лише для читання. FTP, SFTP та cPanel File Manager не змінюють файли сервера під час завантаження. Єдиний ризик — споживання дискового простору, якщо ви стискаєте папку на стороні сервера та забуваєте видалити архів після цього.

Як знайти точний розмір папки uploads перед завантаженням?

Виконайте наступну команду через SSH для отримання зручного для читання підсумку:

du -sh /var/www/html/wp-content/uploads/

У cPanel клацніть правою кнопкою миші на папці uploads у File Manager та виберіть Calculate Size для того самого результату без доступу SSH.

15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати