Как да изтеглите медийната библиотека на WordPress: Всички методи обяснени
Архивирането или мигрирането на вашата медийна библиотека в WordPress означава извличане на всичко, съхранено в wp-content/uploads — директорията, в която WordPress записва всяко изображение, видео, PDF и аудио файл, прикачен към вашия сайт. Можете да постигнете това чрез директен достъп до файловете на сървъра (cPanel File Manager или FTP), специализиран WordPress плъгин или инструмент за пълно архивиране на сайта, в зависимост от размера на вашия сайт, нивото на достъп до сървъра и спешността.
Това ръководство обхваща всичките пет практически метода в пълна техническа дълбочина, включително клопки, които изненадват администраторите, съображения за производителност при големи библиотеки и точните стъпки за всеки подход.
Защо изтеглянето на вашата медийна библиотека е важно
Папката uploads на WordPress не е включена в стандартен експорт на база данни (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 или File Manager на хостинга
Това е най-бързият начин, когато имате достъп до cPanel и вашата медийна библиотека е под приблизително 2 GB некомпресирана. File Manager компресира папката от страна на сървъра и ви позволява да изтеглите един архив.
Стъпка по стъпка
- Влезте в cPanel и отворете File Manager.
- Навигирайте до
public_html/wp-content/uploads(или еквивалентния път, ако WordPress е инсталиран в поддиректория, напр.public_html/blog/wp-content/uploads). - Щракнете с десен бутон върху папката
uploadsи изберете Compress. - Изберете ZIP Archive като формат и потвърдете пътя на местоназначението.
- Изчакайте задачата за компресиране да завърши — за големи папки това може да отнеме няколко минути.
- Щракнете с десен бутон върху получения файл
.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
- Отворете FileZilla и отидете на File > Site Manager > New Site.
- Задайте протокола на SFTP – SSH File Transfer Protocol.
- Въведете хостнейма или IP адреса на вашия сървър, порт
22и вашите SSH/SFTP идентификационни данни. Те са налични в контролния панел на вашия хостинг под FTP Accounts или SSH Access. - Щракнете върху Connect.
Изтегляне на папката Uploads
След свързване:
- В панела Remote Site (дясна страна) навигирайте до
/public_html/wp-content/uploads. - В панела Local Site (лява страна) навигирайте до целевата директория на вашата локална машина.
- Щракнете с десен бутон върху папката
uploadsв отдалечения панел и изберете Download.
FileZilla ще постави на опашка всеки файл и поддиректория рекурсивно. Можете да наблюдавате напредъка на трансфера в долния панел за статус. Ако връзката прекъсне, опашката на FileZilla е възобновяема — щракнете с десен бутон върху опашката и изберете Process Queue, за да продължите.
Ускоряване на големи трансфери
FileZilla по подразбиране използва една нишка за трансфер. За големи библиотеки увеличете едновременните връзки:
- Отидете на Edit > Settings > Transfers.
- Задайте Maximum simultaneous transfers на
5или10(в зависимост от ограниченията за връзки на вашия сървър).
За среди с команден ред или автоматизирани скриптове, rsync през SSH е по-бърз и по-надежден от GUI FTP:
rsync -avz --progress user@yourserver.com:/var/www/html/wp-content/uploads/ ./local-uploads/Флагът -a запазва разрешенията и времевите маркери, -v активира подробен изход, а -z активира компресия при пренос. Това е предпочитаният метод за системни администратори, управляващи множество WordPress инсталации на Dedicated сървър.
Метод 3: Плъгин Export Media Library
Когато достъпът на ниво сървър е недостъпен — например при управляван WordPress план или споделена среда, където FTP идентификационните данни са ограничени — експортът чрез плъгин е най-чистото решение.
Използване на плъгина "Export Media Library"
- В таблото на WordPress отидете на Plugins > Add New.
- Потърсете Export Media Library (от екипа на Imagify / WP Rocket).
- Инсталирайте и активирайте го.
- Навигирайте до Media > Export.
- Изберете формата на експорта. ZIP е стандартният избор. Някои версии на плъгина предлагат и плоска структура (всички файлове в една директория) спрямо йерархията на папките по подразбиране по година/месец — запазете структурата на папките непокътната, ако планирате повторно импортиране.
- Щракнете върху 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
Този метод е практичен само за извличане на шепа конкретни файлове. Не се мащабира.
- Отидете на Media > Library в таблото на WordPress.
- Превключете на List View за по-лесна идентификация на файловете.
- Щракнете върху медийния елемент, който искате.
- В панела Attachment Details намерете полето File URL и копирайте URL адреса.
- Поставете 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
- Инсталирайте и активирайте UpdraftPlus от хранилището на плъгини.
- Отидете на Settings > UpdraftPlus Backups.
- Щракнете върху Backup Now. В диалоговия прозорец се уверете, че Include your files in the backup е отметнато (това обхваща
wp-content/uploads). - След като архивирането приключи, отидете на раздела Existing Backups.
- Щракнете върху бутона на компонента Uploads, за да изтеглите само медийния архив, или изтеглете всички компоненти поотделно.
UpdraftPlus разделя големите архиви на множество ZIP сегменти (по подразбиране: по 400 MB), за да избегне проблеми с PHP паметта. Ще трябва да сглобите тези сегменти, ако ги извличате ръчно.
All-in-One WP Migration
- Инсталирайте и активирайте All-in-One WP Migration.
- Отидете на All-in-One WP Migration > Export.
- Изберете File като дестинация за експорт.
- Плъгинът обединява базата данни, темите, плъгините и качванията в един файл
.wpress. - Изтеглете файла
.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 инсталация:
- Качете съдържанието на папката
uploadsвwp-content/uploads/на новия сървър, запазвайки структурата на директориите по година/месец. - Ако името на домейна се е променило, изпълнете търсене и замяна в базата данни, за да актуализирате всички твърдо кодирани медийни URL адреси:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --allow-root- Регенерирайте миниатюрите на изображенията след трансфера, тъй като WordPress съхранява множество преоразмерени версии на всяко изображение и те трябва да съответстват на регистрираните размери на изображенията на новата тема:
wp media regenerate --allow-rootАко мигрирате към нов VPS с cPanel, File Manager на целевия сървър може да обработи повторното качване директно, избягвайки втора FTP сесия.
Матрица за технически решения
Използвайте тази матрица, за да изберете правилния метод въз основа на вашите конкретни ограничения:
| Ограничение | Препоръчан метод |
|---|---|
| Библиотека под 2 GB, наличен cPanel | cPanel File Manager (ZIP компресия + изтегляне) |
| Библиотека над 2 GB, наличен SSH достъп | rsync или tar + scp чрез команден ред |
| Библиотека над 2 GB, само FTP | FileZilla с множество едновременни връзки |
| Без достъп до сървър, нетехнически потребител | Плъгин Export Media Library |
| Необходима пълна снимка на сайта за миграция | UpdraftPlus или All-in-One WP Migration |
| Необходими само няколко конкретни файла | Копиране на URL от таблото на WordPress или wget |
| Автоматизирано/планирано архивиране на медии | rsync cron задача на сървъра |
Практически контролен списък преди да започнете
- Потвърдете, че наличното локално дисково пространство е поне 1,5 пъти размера на вашата папка
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 достъп.
