Большие изображения означает большой размер страницы, что означает медленный WordPress и время загрузки страницы для пользователей. Наиболее распространенной причиной является размер изображения или отсутствие сжатия. Если вы никогда не имели каких-либо ограничения размера изображения или автоматическое изменение размеров на вашем сайте, это может быть очень удобно для пакетного изменения размеров этих изображений в Linux.
Это руководство покажет вам, как изменить размер группы файлов с расширением JPG и PNG с помощью ImageMagick на Ubuntu или Debian.
Групповое изменение размера изображений с помощью командной строки Linux и ImageMagick
Во-первых, мы должны установить ImageMagick из хранилища на Debian или Ubuntu.
sudo apt-get update
sudo apt-get install imagemagick -y
лучше использовать identify, чтобы получить высоту
identify -format "%wx%h" image.jpg
Вы увидите, разрешение: ширину, а потом высоту.
3960x2120
Вы можете изменить размер изображения, если оно большое, и можете указать размеры. Это позволит автоматически сохранить соотношение сторон изображения.
convert image.jpg -resize 1040x880\> image.jpg
Проверьте измененный размер изображения
identify -format "%wx%h" image.jpg
Все хорошо!
1040x780
Теперь мы можем перейти к пакетному изменению размеров
Пакетное изменение размера изображений с Linux и Imagemagick
Создайте следующий скрипт
mkdir -p ~/scripts
nano ~/scripts/batch-image-resize.sh
Вставить ниже сценарий.
FOLDER
это абсолютный путь к вашей папке изображений
WIDTH
– максимальная ширина и HEIGHT
– это максимальная высота.
Он будет перезаписывать ваши оригинальные изображения, убедитесь, что вы имеете резервную копию перед запуском!
#!/usr/bin/env bash # Purpose: Пакетное измененние размера файлов # Source: https://andreyex.ru # Author: andreyex # абсолютный путь к папке с изображениями FOLDER="/var/www/andreyex.ru/wp-content/uploads" # высота изображения WIDTH=1240 # ширина изображения HEIGHT=1000 # размер по высоте или ширине, держим пропорции, используя imagemagick find $FOLDER -iname '*.jpg' -o -iname '*.png' -exec convert \{} -resize $WIDTHx$HEIGHT\> \{} \;
Нажмите Ctrl + X, Y и Enter, чтобы сохранить и выйти.
Проверьте размер папки
du -sh foldername
Проверьте итоговый размер
215MB
Команда screen обеспечит работу пакетного преобразования, даже если ваш SSH сеанс завершается.
sudo apt-get install screen
Создайте новый экран сеанса, нажмите пробел или введите screen
screen
Выполните скрипт
bash ~/scripts/batch-image-resize.sh
Отделить экран с помощью Ctrl + A, а затем нажмите D (снять).
Вы можете использовать команду top и смотреть процессы jpegoptim одновременно.
Заново экран
screen -r
Проверьте размер папки снова
du -sh foldername
Вы должны увидеть улучшение
175MB
Убедитесь в том, чтобы сжать ваши изображения с Lossless или сжатия с потерями (текущее руководство).
Если вам нужно сделать некоторые более продвинутые команды, использовать регулярное выражение, это должно помочь.