Опис
Цей плагін фіксує реальні користувацькі показники про те, які елементи відображаються на сторінці на різних форм-факторах пристроїв (наприклад, настільний комп’ютер, планшет і телефон), щоб застосувати оптимізацію завантаження, яка неможлива за допомогою поточної евристики WordPress на стороні сервера.
Цей плагін є залежною структурою, яка сама по собі не забезпечує функції оптимізації. Для цього встановіть залежні плагіни Image Prioritizer і Embed Optimizer (серед інші від команди WordPress Core Performance). Наразі для цього плагіна немає налаштувань та інтерфейсу користувача, оскільки він розроблений для роботи без будь-якої конфігурації.
Наразі ваш сайт має мати доступ до API REST для неавтентифікованих відвідувачів інтерфейсу, оскільки саме так збираються показники реальних користувачів щодо сторінок вашого сайту; незважаючи на це, триває дослідження для створення альтернативних механізмів для збору показників. Також зауважте, що Safari наразі не збирає показники, оскільки він ще не підтримує показник Largest Contentful Paint, але підтримує цей Core Web Показник Vitals з’явиться цього року через Interop 2025.
Перегляньте повну документацію плагіна для технічний огляд, хуки фільтрів/дій і розширення, які показують випадки використання та приклади. Ви також можете переглянути розмову з WordCamp Asia 2025: Boosting Performance with Optimization Detective.
Встановлення
Встановлення з каталогу в WordPress
- Відвідайте Plugins > Додати новев адміністраторі WordPress.
- Знайдіть Детектив з оптимізації.
- Встановіть і активуйте плагін Optimization Detective.
Ручне встановлення
- Завантажте плагін ZIP із WordPress.org або, дотримуючись інструкцій із початку роботи, створіть збірку ZIP із клону Сховище GitHub через
npm run build:plugin:optimization-detective --env zip=true. - Відвідайте Plugins > Додайте новий плагіну адміністратор WordPress.
- Натисніть Завантажити плагін
- Виберіть файл
optimization-detective.zipу вашій системі з кроку 1 і натисніть Установити зараз. - Натисніть кнопку Активний плагін.
Часті питання
-
Де я можу надіслати відгук про плагін?
-
Відгуки заохочуються та дуже цінуються, особливо тому, що цей плагін може містити майбутні основні функції WordPress. Якщо у вас є пропозиції чи запити щодо нових функцій, ви можете надіслати їх як проблему в репозиторій GitHub групи WordPress Performance Team. Якщо вам потрібна допомога з усуненням несправностей або у вас є запитання щодо плагіна, створіть нову тему на нашому форумі підтримки.
-
Куди я можу повідомити про проблеми безпеки?
-
Команда з питань продуктивності та спільнота WordPress серйозно ставляться до помилок безпеки. Ми цінуємо ваші зусилля щодо відповідального оприлюднення ваших знахідок і докладемо всіх зусиль, щоб визнати ваш внесок.
Щоб повідомити про проблему безпеки, відвідайте програму WordPress HackerOne.
-
Як я можу зробити внесок у плагін?
-
Внески завжди раді! Дізнайтеся більше про те, як взяти участь, у Посібнику з основної команди продуктивності.
Вихідний код плагіна розміщено в сховищі WordPress/performance на GitHub.
Відгуки
Учасники та розробники
“Optimization Detective” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:
Учасники“Optimization Detective” було перекладено на 5 локалізацій. Дякуємо перекладачам за їх роботу.
Перекладіть “Optimization Detective” на вашу мову.
Цікавитесь розробкою?
Перегляньте код, перегляньте сховище SVN або підпишіться на журнал розробки за допомогою RSS.
Журнал змін
1.0.0-beta3
Покращення
- Пожежні дії до та після обробки документа Детективом оптимізації. (1919)
- Оновіть
OD_HTML_Tag_Processor::next_tag(), щоб дозволити аргумент$query, і підготуйтеся пропускати закривачі тегів відвідування за умовчанням. (1872) - Надайте функції журналювання клієнтським розширенням і автоматично враховуйте значення
isDebug. (1895) - Оновіть кінцеву точку REST API зберігання URL-метрики, щоб повертати код статусу
423 Lockedзамість403 Forbidden. (1863) - Логіка видалення дублікатів між REST API і типом публікації URL Metrics. (1867)
Виправлення помилок
- Виправте кодування URL-адреси в заголовку відповіді посилання HTTP. (1907)
- Виправлено ініціювання дій після оновлення після збереження URL-метрики та рефакторингу логіки кінцевої точки REST API у клас. (1865)
- Виправте ідентифікацію непередбачуваного елемента LCP у групі показників URL-адреси. (1903)
- Обробляйте відсутній API Web Crypto в контекстах, відмінних від HTTPS, під час генерації вже надісланого ключа
sessionStorage. (1911)
1.0.0-beta2
Покращення
- Враховуйте ліміт 64 КіБ для надсилання даних маяка. (1851)
- Додайте ідентифікатор публікації для публікації
od_url_metricsдо контексту відвідувача тегу. (1847) - Змініть мінімальну ширину вікна перегляду на виключну, тоді як максимальна ширина залишається включеною. (1839)
- Вимкніть блокування пам’яті URL Metric за умовчанням для адміністраторів. (1835)
- Включіть активні плагіни в дані ETag і збільште TTL актуальності за замовчуванням з 1 дня до 1 тижня. (1854)
- Зробіть ETag обов’язковою властивістю URL-метрики. (1824)
- Використовуйте синтаксис діапазону CSS у медіа-запитах. (1833)
- Використовуйте
IFRAME, щоб відобразити HTML-відповіді на помилки запитів на зберігання REST API у тесті справності сайту. (1849)
Виправлення помилок
- Запобігайте URL-адресі в заголовку
Посиланнявід включення недійсних символів. (1802) - За умовчанням заборонити оптимізацію попереднього перегляду дописів. (1848)
Детальна документація
- Покращення документації Optimization Detective. (1782)
1.0.0-beta1
Покращення
- Додайте перевірку працездатності сайту, щоб виявити заблокований REST API та оптимізацію короткого замикання, коли вони недоступні. (1762)
- Дозволити розширенням використовувати збірку атрибуції web-vitals за допомогою фільтра
od_use_web_vitals_attribution_build. (1759) - Усуньте неоднозначність XPath для дочірніх елементів
BODYза допомогою атрибутівid,classабоrole. (1797) - Усуньте різні показники URL-адреси за станом входу в систему та припиніть відключати оптимізацію за замовчуванням для адміністраторів. (1788)
- Покращте тестове покриття для Optimization Detective. (1817)
- Представте метод
OD_Tag_Visitor_Context::track_tag()як альтернативу для поверненняtrueу зворотному виклику відвідувача тегу. (1821) - Пропустіть індекс вузла елемента в XPaths до дочірніх елементів BODY. (1790)
- Пропустіть відвідування тегів на панелі адміністратора під час оптимізації сторінки. (1816)
Виправлення помилок
- Переконайтеся, що оптимізація виконується в локальному середовищі wp-env, і реєструйте повідомлення про налагодження на консолі, якщо вимкнено. (1822)
- Пропустіть відвідування будь-яких тегів всередині елементів
NOSCRIPT. (1783)
Детальна документація
0.9.0
Покращення
- Додайте
fetchpriority=highдоIMG, коли це елемент LCP на настільному комп’ютері та мобільному пристрої, а інші групи вікон перегляду порожні. (1723) - Покращте налагодження збережених показників URL-адрес у Optimization Detective. (1656)
- Включіть стан сторінки в обчислення ETag. (1722)
- Позначати існуючі показники URL-адрес як застарілі, коли реєструється новий відвідувач тега. (1705)
- Установіть режим розробки на «плагін» у середовищі розробників і дозвольте оптимізувати сторінки, коли адміністратор увійшов у систему (у режимі розробника плагінів). (1700)
- Додайте допоміжні методи
get_xpath_elements_map()доOD_URL_Metric_Group_CollectionіOD_URL_Metric_Group, а також додайте методиget_all_element_max_intersection_ratios/get_element_max_intersection_ratioOD_URL_Metric_Group. (1654) - Додайте метод
get_breadcrumbs()доOD_HTML_Tag_Processor. (1707) - Додайте методи
get_sample_size()іget_freshness_ttl()доOD_URL_Metric_Group. (1697) - Надайте
onTTFB,onFCP,onLCP,onINPіonCLSіз web-vitals.js для модулів розширення JS через аргументи їхніх функційініціалізації. (1697)
Виправлення помилок
- Заборонити надсилати URL-метрику, якщо розмір вікна перегляду змінено. (1712)
- Виправлено конструкцію виразів XPath для неявно закритих абзаців. (1707)
0.8.0
Покращення
- Обслуговувати немініфіковані сценарії, якщо ввімкнено
SCRIPT_DEBUG. (1643) - Змінено веб-показники з 4.2.3 на 4.2.4. (1628)
Виправлення помилок
- Усуньте вікно часу виявлення, яке перешкоджало збору показників URL-адреси за наявності кешування сторінки. (1640)
- Перегляньте використання nonces у запитах для зберігання метрики URL-адреси та заблокуйте запити між джерелами. (1637)
- Надіслати ідентифікатор публікації запитуваного об’єкта або першу публікацію в циклі в запиті на зберігання URL-метрики, щоб запланувати перевірку кешу сторінки. (1641)
- Виправити помилки phpstan. (1627)
0.7.0
Покращення
- Надсилати зібрані дані метрики URL-адреси, коли сторінка прихована/вивантажена, а не після завантаження сторінки; це дає можливість відстежувати зміни макета та оцінки INP протягом життя сторінки. (1373)
- Введіть розширення на стороні клієнта у вигляді модулів сценаріїв, які завантажуються під час запуску логіки виявлення. (1373)
- Додайте дію
od_initдля розширень, щоб завантажити їх код. (1373) - Представте клас
OD_Elementі покращте PHP API. (1585) - Додайте допоміжні методи збору груп, щоб отримати першу/останню групи. (1602)
Виправлення помилок
- Виправте сумісність Optimization Detective із WooCommerce, коли відображається сторінка Coming Soon. (1565)
- Виправлено збереження URL-метрики, коли ввімкнено звичайні некрасиві постійні посилання. (1574)
0.6.0
Покращення
- Дозволити розширення схеми URL-метрики. (1492)
- Уточніть документи щодо логічного значення, що повертається відвідувачем тегу. (1479)
- Додайте UUID до кожного показника URL-адреси. (1489)
- Додайте get_cursor_move_count() для використання замість get_seek_count() і get_next_token_count(). (1478)
Виправлення помилок
- Додайте відсутню глобальну документацію для
delete_all_posts(). (1522) - Запровадити перевірку співвідношення сторін вікна перегляду для показників URL-адреси. (1494)
0.5.0
Покращення
- Змінено веб-показники з 4.2.1 на 4.2.2. (1386)
Виправлення помилок
- Вимкнути детектив оптимізації за замовчуванням у шаблоні вбудовування. (1472)
- Переконайтеся, що Optimization Detective обробляє лише документи HTML. (1442)
- Переконайтеся, що весь шаблон передано до зворотного виклику вихідного буфера для обробки Optimization Detective. (1317)
- Запровадити повну підтримку для intersectionRect/boundingClientRect, виправити введення viewportRect і посилити схему JSON. (1411)
0.4.1
Покращення
- Оновіть web-vitals.js із версії 3.5.0 до версія 4.2.1.
Виправлення помилок
- Виправте логіку для пошуку під час циклу оптимізації, щоб запобігти надсиланню повідомлень seek(). (1376)
0.4.0
Покращення
- Уникайте передачі позиційних параметрів у Optimization Detective. (1338)
- Надсилайте посилання попереднього завантаження через заголовки посилань HTTP на додаток до тегів LINK. (1323)
0.3.1
Покращення
- Реєструвати колекцію URL-адрес групи Metrics на консоль, коли ввімкнено налагодження (
WP_DEBUGмає значення true). (1295)
Виправлення помилок
- Включіть непересічні елементи в показники URL-адреси, щоб виправити оптимізацію відкладеного завантаження. (1293)
0.3.0
- Функції оптимізації зображень було розділено на новий залежний плагін під назвою Image Prioritizer, який тепер також оптимізує відкладене завантаження зображень. (1088)
0.2.0
Покращення
- Додайте змінну запиту optimization_detective_disabled, щоб вимкнути поведінку. (1193)
- Сприяти вбудовуванню Optimization Detective в інші плагіни/теми. (1185)
- Використовуйте функції PHP 7.2 у Optimization Detective. (1162)
- Покращте загальну якість коду за допомогою суворіших перевірок статичного аналізу. (775)
- Підвищити мінімальну вимогу PHP до 7.2. (1130)
Виправлення помилок
- Уникайте _doing_it_wrong() для Server-Timing у Optimization Detective, коли буферизація виводу не ввімкнена. (1194)
- Переконайтеся, що оптимізовано лише відповіді HTML. (1189)
- Виправити індекси XPath на основі 1 замість 0. (1191)
0.1.1
- Використовуйте плагін для тегу генератора. (1103)
- Запобігайте впровадженню сценарію виявлення від порушення карт імпорту в класичних темах. (1084)
0.1.0
- Початковий випуск.
