Часті Питання про Opti MozJpeg Guetzli Webp

wpmjgu-faq-3

На цій сторінці я потрохи даю відповіді на найбільш часті питання, щодо використання мого плагіну для оптимізації зображень в WordPress. Будь ласка прогляньте цю сторінку перед використанням плагіну. Якщо у Вас є запитання, на яке тут немає відповіді - напишіть мені його. Для цього натисніть тут.


Перелік питань:

Не вдається з'єднати плагін із віртуальною машиною

У мого комп'ютера Приватний IP адрес

Чи безпечно використовувати безкоштовний онлайн сервер ?

Як оптимізувати зображення лише у декількох папках ?

Чи може Opti MozJpeg Guetzli Webp бути вірусом або трояном ?

WebP дублікати та CloudFlare CDN

Як встановити у Linux необхідні для плагіну енкодери


Не вдається з'єднати плагін із віртуальною машиною

Користувачі Opti MozJpeg Guetzli WebP часто мають труднощі із під'єднанням плагіну до віртуальної машини. Якщо Ви також зіткнулися із цією проблемою, то:

1) Перевірте чи має Ваш комп'ютер (із віртуальною машиною) приватний IP адрес (типу 192.168.?.? чи 10.?.?.?). Якщо так, тоді до нього дійсно не можливо під'єднатися із інтернету, бо приватні IP адреси дійсні лише в межах внутрішньої мережі. У такому випадку під'єднайте комп'ютер до інтернету напряму, або налаштуйте NAT у Вашому маршрутизаторі. За цією адресою більш детальна інформація про приватні IP адреси.

2) Можливо у Вас на комп'ютері вже встановлений інший SSH сервер. Тоді 22 порт уже зайнятий і VirtualBox не зможе його використовувати. Змініть порт для віртуальної машини на інший.

cant connect to the virtual machine 2

3) Перевірте, чи вдється VirtualBox відкрити порт, що Ви вказали. Запустіть віртуальну машину. Якщо Ваш комп'ютер на Windows - відкрийте консоль із правами Адміністратора та введіть:

netstat -bn

Якщо на Linux - запустіть:

lsof -i | less

та прогляньте, які порти відкриті VirtualBox


У мого комп'ютера Приватний IP адрес, що робити ?

Зазвичай у комп'ютера Приватний IP адрес, якщо він під'єднаний до інтернету через маршрутизатор (router). Наприклад через Wi-Fi router. Якщо Ви під'єднані через маршрутизатор, то найпростіший спосіб одержати справжній IP адрес - виключити маршрутизатор і під'єднати комп'ютер до інтернету напряму через кабель.

Більш складний спосіб - налаштувати NAT у маршрутизаторі. Це має бути описано в інструкції до маршрутизатора. Вам потрібно зайти у налаштування маршрутизатора і налаштувати NAT для

ВашЗовнішнійIPАдрес:22 → ВашПриватнийIPАдрес:22


Чи безпечно використовувати безкоштовний онлайн сервер ?

Цілком безпечно. Незважаючи на те, що всі клієнти серверу використовують один логін та пароль (z@55555), неможливо переглянути чи стерти файли одне одного. Механізм захисту полягає у тому, що "z" не може одержати список файлів у папці /home/z/wpmjgu. Хоча "z" і може створювати, видаляти, читати та записувати файли у /home/z/wpmjgu. Але для цього потрібно знати імена цих файлів. Коли плагін завантажує зображення на сервер, він додає до імені файлу 32 випадкових символи. Тому вгадати імена файлів інших користувачів неможливо. Імена файлів також можна одержати із списку запущених процесів. Відповідно для "z" забороненый доступ у папку /proc.


Як оптимізувати зображення лише у декількох папках ?

Для цього потрібно налаштувати Path filter. Ось приклад:

specified_folders

Плагін оптимізує зображення лише у папках */wp-content/uploads/2017/11/* і */wp-content/uploads/2017/12/*. Інші зображення будуть пропущені. Фільтри почергово (зліва направо та зверху вниз) порівнюються з шляхом до файлу зображення. Застосовується лише перший фільтр, що підійшов. Тому третій фільтр із прикладу [* SKIP] пропустить всі зображення, що не підійшли до першого та другого фільтру. 75 та 80 - рівень стиску зображень для першого та другого фільтрів із прикладу.


Чи може Opti MozJpeg Guetzli Webp бути вірусом або трояном ?

Opti MozJpeg Guetzli Webp міститься у каталозі плагінів wordpress.org. Туди не легко потрапити. Спочатку кожен новий плагін проходить аудит коду. Якщо в подальших версіях плагіну буде виявлено загрозу чи вразливості (наприклад після чиєїсь скарги адмінам wordpress.org), то плагін буде вилучено із каталогу. Якщо плагін є у каталозі, то це говорить принаймні про те, що на нього не надходило скарг.

Тепер щодо віртуальної машини із енкодерами. Навіть якщо б у віртуальній машині був вірус, він не зміг би пошкодити Ваш комп'ютер. Тому що програмне забезпечення у віртуальній машині працює у відокремленому середовищі. Вірусу потрібно було б зламати віртуальний комп'ютер (Oracle VirtualBox) з середини, щоб одержати доступ до Вашої операційної системи. А це практично не можливо. Загалом запуск програм у віртуальній машині - це добре відомий засіб захисту від вірусів.


WebP дублікати та CloudFlare CDN

На жаль CloudFlare не вміє розрізняти різні mime типи в тому ж url. Тому CloudFlare збереже у кеш найперше одержане зображення для кожного url. Якщо першим запитаним зображенням буде jpg, то jpg поміститься у кеш. Якщо першим запитаним зображенням буде webp дублікат - то він поміститься у кеш. Тому перемикання між webp/не webp в .htaccess не працюватиме коректно з CloudFlare кеш. Існує два способи вирішення цієї проблеми:

  1. Не генерувати webp дублікати в плагіні, а генерувати їх в CloudFlare. CloudFlare має власну систему створення webp дублікатів. Але ця функція доступна лише у тарифі "Pro", котрий коштує $20 на місяць
  2. Вимкнути кешування зображень у CloudFlare. Із мого досвіду показник швидкості відповіді сервера у Google Pagespeed є кращим крізь CloudFlare, навіть якщо кешування зображень вимкнене. Тому немає сенсу повністю відмовлятися від CloudFlare
cloudflare-cdn-bypass-1

Як встановити у Linux необхідні для плагіну енкодери

Якщо Ви працюєте на Linux desktop, то Ви можете встановити на нього Ssh сервер та необхідні для плагіну енкодери. І не використовувати віртуальну машину плагіна. Так Ви заощадите ресурси і збільшите швидкість оптимізації. Ще один варіант - встановити енкодери безпосередньо на сервер із Вашим сайтом. Це спростить роботу із плагіном. Я склав невелику інструкцію, як це зробити. Я використовую Debain Linux, тому вона для Debian 9.4. Для інших дистрибутивів Linux процедура аналогічна, але назви пакунків можуть відрізнятися.

● Mozilla MozJpeg

MozJpeg не міститься у базі пакунків Debian. Його треба збирати із джерельних кодів. Для початку потрібно встановити необхідні пакунки:

su
apt-get update
apt-get install git make autoconf automake libtool nasm pkg-config libpng-dev

Потім створіть порожню папку із правами на запис і перейдіть у неї. Виконайте такі команди:

git clone https://github.com/mozilla/mozjpeg
cd ./mozjpeg
autoreconf -fiv
mkdir build && cd build
sh ../configure --prefix=/opt/mozjpeg
make install

Не звертайте увагу на повідомлення «error: ignoring unknown tag NASM». Насправді там немає помилки.

● Google Guetzli

Guetzli також не міститься у базі пакунків Debian. Щоб зібрати його із джерельних кодів виконайте:

su
apt-get update
apt-get install g++
apt-get install git make autoconf automake libtool nasm pkg-config libpng-dev
git clone https://github.com/google/guetzli
cd ./guetzli
make
mkdir /opt/guetzli
cp ./bin/Release/* /opt/guetzli

● Google WebP

Google WebP є у базі пакунків Debain. Щоб встановити його виконайте:

su
apt-get update
apt-get install webp

Зверніть увагу, що файли пакунку встановляться у /usr/bin (а не в /opt/webp). Тому потрібно вказати /usr/bin як шлях до cwebp у налаштуваннях Opti MozJpeg Guetzli WebP.

My photo

Ласкаво прошу на мою сторінку. Мене звати Ігор. Я web програміст із десятирічним стажем. Фрілансер. Працюю дистанційно. Виконую проекти на українській, російській, англійській та польській мовах. Мешкаю у місті Львів. Україна.