WP-Optimize заперечує звинувачення в обмані інструментів продуктивності – WP Tavern

WP-Optimize заперечує звинувачення в обмані інструментів продуктивності – WP Tavern

ви можете скористатись послугами веб-студії філандор, Замовити Сайт тут. Студія не перший рік надає послуги.

Вчора ми опублікували звинувачення Гіджо Варгезе проти UpdraftPlus, виробників WP-Optimize. Варгезе є засновником FlyingProxy, конкуруючої компанії, і називає себе «ентузіастом продуктивності». Він звинуватив плагін у «обмані Pagespeed та інших інструментів», приховуючи файли JavaScript від завантаження, коли користувачі тестують свої сайти за допомогою популярних інструментів тестування продуктивності. Код використовує дивний набір заплутаних імен для інструментів тестування, що викликало його підозру.

Варгезе не згадав у своєму твіт що це те, що відбувається, коли одне з налаштувань плагіна в розділі Minify > JS встановлено на відкладення JavaScript. Є два налаштування радіокнопок, але вони плутають.

Перший перемикач дозволяє користувачам відкладати вибрані файли JavaScript. У ньому сказано, що файли завантажуватимуться асинхронно (не те саме, що defer), а потім також сказано, що користувачі повинні вибрати перший перемикач, якщо вони хочуть виключити сценарії з тестів швидкості сторінки. Незрозуміло, як будуть завантажуватися скрипти для користувача або для тестових сайтів. Виключення — це не те ж саме, що відкладення, тому в цьому випадку інтерфейс налаштувань дещо вводить в оману і має бути зрозумілішим.

WP-Optimize заперечує звинувачення в обмані інструментів продуктивності – WP Tavern

Другий варіант радіо для користувачів, які просто хочуть відкласти весь JavaScript. Якщо один вибере «Відкласти використання JavaScript (використовуйте цей метод, якщо вам потрібна підтримка старіших браузерів)» він повинен робити саме те, що описано в посиланні:

Якщо defer встановлено, він вказує, що сценарій завантажується паралельно з аналізом сторінки та виконується після завершення аналізу сторінки.

Незважаючи на те, що в інтерфейсі користувача зазначено, що він відкладає всі файли, WP-Optimize ніколи не завантажує JavaScript для сайтів тестування продуктивності. У цьому другому варіанті виключення сайтів тестування відбувається без дозволу користувачів. Якби користувачі хотіли цього, вони б вибрали попередній перемикач і чітко вказали, які сценарії виключити.

WP-Optimize заперечує звинувачення в обмані інструментів продуктивності – WP Tavern

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

«Вони надають користувачам можливість обманювати інструменти тестування», — сказав Варгезе. «Крім того, використання таких імен, як «ighth» для Lighthouse і «tmetr» для GTmetrix, чітко показує, що вони намагаються зробити.

«Більшість користувачів намагаються вимкнути та ввімкнути різні функції, щоб побачити, яка з них підвищує швидкість/бали в інструментах тестування».

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

Сьогодні WP-Optimize опублікувала публічну відповідь на звинувачення, але не оприлюднила жодних результатів завершеного розслідування коду. Замість цього компанія процитувала відео, створене Пітером Вілкінсоном з Divi Engine, який стверджує, що користувачі повинні вручну вводити скрипти, щоб сайти тестування виключали їх.

Цитується Вілкінсон, який дійшов висновку, що «Гіджо Варгезе використовував обман для просування Flying Pages і Flying Press», щоб привернути увагу громадськості до цієї проблеми в Twitter.

«Насправді (з мого дослідження) WP-Optimize не «обманює» інструменти Pagespeed, коли ви встановлюєте або мінімізуєте свій JavaScript», — сказав Вілкінсон.

«Щоб «обдурити» інструменти, вам потрібно вручну додати файли JS, які ви хочете асинхронно завантажити, до параметра, який чітко має позначку «Використовуйте це, якщо у вас є повністю незалежний сценарій або ви хочете виключити сценарії з тестів швидкості сторінки ( PageSpeed ​​Insights, GTMetrix…)”

Це не той випадок. Найпростіший спосіб перевірити — установити плагін, увімкнути «відкласти весь JavaScript», а потім переглянути джерело, щоб побачити, що інструменти підвищення продуктивності виключені.

Оскільки публічна відповідь WP-Optimize на проблему не включала нічого з їхнього дослідження коду, я знову зв’язався з ними. Заступник керівника Венкат Радж не зміг відповісти, чому інші налаштування плагіна мовчки видаляють JS для інструментів тестування продуктивності одним натисканням перемикача. Джо Майлз, керівник відділу стратегії компанії, поділився останньою інформацією, яку він отримав з цього питання від Венката Раджа:

«Розширені налаштування, які використовуються в звинуваченні, насправді корисні, щоб дізнатися, чи справді основні файли js/css уповільнюють веб-сторінку чи ні. Цю функцію за замовчуванням вимкнено та вмикають лише досвідчені користувачі, які знають, що роблять.

«Ви можете використовувати цю функцію, якщо у вас є повністю незалежний скрипт або ви хочете виключити скрипти з тестів швидкості сторінки (PageSpeed ​​Insights, GTMetrix…)

«Незалежні сценарії — це, наприклад, «аналітичні» або «піксельні» скрипти. Вони не потрібні для роботи веб-сайту. ‘Використовуйте це, якщо у вас є повністю незалежна таблиця стилів або ви хочете виключити таблиці стилів із тестів швидкості сторінки (PageSpeed ​​Insights, GTMetrix…)

Це стосується першої радіокнопки. Друга кнопка не вказує на те, що вона вимкне всі сценарії під час використання інструментів тестування – і команда WP-Optimize, здається, не знає, що вона доступна, натиснувши перемикач.

Майлз не зміг підтвердити, чи так це має працювати, чи це помилка. Він також не зміг пояснити, чому назви популярних сайтів тестування були заплутані в коді, але сказав, що оригінальний розробник «не працює для нас, оскільки це код з відкритим кодом, перероблений з іншого місця».

«Однак ми вважаємо, що це відволікає увагу від неправдивих звинувачень, і що важливо, так це те, що інтерфейс користувача дуже зрозумілий для налаштувань, щоб користувачів не обдурили», — сказав Майлз.

Рауль Пейксото, автор Fast Velocity Minify (FVM), плагіна, з якого WP-Optimize скопіював код, сказав, що може підтвердити, що цей код був частиною FVM, але сказав, що він не використовувався таким же чином:

Мета такого коду на FVM була зовсім іншою, ніж у WP Optimize, і, крім того, користувачі вимагали вручну ввімкнути цю опцію через wp-admin (за замовчуванням вона була вимкнена).

Мета цього коду полягала в тому, щоб вибірково перевірити вплив нових сценаріїв або плагінів на продуктивність і допомогти розробникам вирішити, чи варто їм рефакторинг, видалення або заміну важких плагінів або сценаріїв.

Це існувало на FVM, щоб відповісти на такі запитання:
«У мене є виробнича ділянка, і моя продуктивність низька. Якою була б продуктивність, якби цього плагіна тут просто не було, але його ще не видалили з сайту для звичайних користувачів?»
«Якою буде продуктивність, якби я міг відкласти всі сценарії або певні сценарії, які зараз несумісні з defer, перш ніж фактично внести цю зміну для всіх?»

Офіційне пояснення щодо його використання на FVM доступне на форумі підтримки плагіна станом на сьогодні вранці.

«Я припускаю, що розробники, яких найняла WP Optimize, не розуміли, що це робить на FVM або в яких налаштуваннях, або, можливо, вони відчули спокусу використати це як хак», — сказав Пейксото.

«Нам також слід уважно пам’ятати, що на той час ще не було загальнодоступних показників веб-показників, тому використання чогось подібного дало б кращі «вимірні» результати, що дало б перевагу продукту».

П’єксото сказав, що «відчув себе змушеним» видалити цей код два роки тому через те, як часто ним зловживали розробники, які обманювали тести для своїх клієнтів:

Перемотавшись на деякий час, я зрозумів, що деякі розробники фактично використовували це, щоб обдурити тести для своїх клієнтів, тож я відчув потребу прийняти рішення щодо FVM 3 (уже наприкінці 2020 року) видалити цю функцію, що було зустрінуто багато протестів розлючених розробників, коли їхні клієнти почали скаржитися, що їхні бали впали.

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

Після випуску FVM 3 я просто обслуговую його та виправляю невеликі помилки, коли повідомляють, оскільки мені потрібно зосередитися на інших речах. Я видалив цю функцію та виправив кілька помилок, які очікують на розгляд версії 3.2.9, і оновив її, тому дякую, що звернулися до мене.

З будь-якої причини UpdraftPlus вирішив об’єднати цей код із WP-Optimize у 2020 році, і, як повідомлялося вчора, з тих пір не торкався коду.

Те, що вчора здавалося чорно-білим питанням, є більш тонкою ситуацією. Реалізація WP-Optimize коду FVM погано задокументована в інтерфейсі користувача та вводить в оману щодо того, як завантажуються сценарії. Це може змусити власників сайтів активувати його, не будучи досвідченими користувачами, і історично має високий потенціал для зловживань. Коли Варгезе виявив це, він викрив це в підбурювальний спосіб, відчуваючи, що знайшов неправильне через те, наскільки незрозуміло заплутаним є код. Це ускладнило проблему, але розпочало ширшу, важливу розмову.

Чи повинні користувачі мати такий простий доступ (два клацання) до вимкнення сценаріїв для інструментів тестування продуктивності? Як розробники в тій самій галузі можуть краще повідомити користувачів про потенційну шкоду, яку вони бачать у продуктах інших? Які вимоги до документації коду мають застосовувати агентства, щоб запобігти подібній ситуації, коли код потрібно досліджувати протягом кількох днів, щоб з’ясувати, для чого він призначений?

Джерело: https://wptavern.com/wp-optimize-denies-allegations-of-cheating-performance-tools

Related posts