Оптимізація wordpress header - видаляємо зайве з head

Оптимізація wordpress header - видаляємо зайве з head
Якщо ви цікавилися питанням оптимізації wordpress коду, то напевно стикалися з різними порадами по редагуванню файлу header.php. У ньому генеруються значення блоку HEAD для веб-сторінок сайту. Найпростіші рекомендації полягали в заміні виклику стандартних функцій, наприклад, bloginfo ( 'charset') на конкретні значення charset = UTF-8. Однак пізніше виявилося, що виграш продуктивності в ході цих процесів у порівнянні з тим же Lazy Load плагінами не так уже й великий. Справа в тому, що всі основні значення в HEAD WordPress зчитує з бази всього за одне звернення до неї. Сьогоднішні підказки щодо поліпшення вордпресс header будуть куди більш корисними і ефективними.







Оптимізація wordpress header - видаляємо зайве з head

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

Другий приклад добре проглядається для плагіна WP-PageNavi (розбиття блогу на сторінки). В ході роботи модуль розміщує свій CSS в шапку сайту, хоча більш ефективно буде перенести всі стилі в базовий style.css. Причому позбутися від коду модуля так просто не вийде, допоможе лише його деактивація (що зрозуміло, не варіант). Можливо, після версії 2.5.0 творці внесли деякі зміни в код, але раніше все працювало саме так.







Базова оптимізація wordpress header

Більшість «додаткових вставок» блоку HEAD реалізується системою за допомогою хуков для wp_head. Якщо подивіться код файлу header.php в wordpress шаблоні, то напевно знайдете її там. Просто прибрати виклик функції не вийде, так як в результаті замерзання не тільки «непотрібні вставки», а й важливий код, без якого сайт працювати не буде.

На щастя, ви можете безболісно деактивувати деякі наслідки виклику wp_head. Позбутися від зайвих елементів, які не плануєте використовувати, і провести оптимізацію wordpress коду можна за допомогою хаков для functions.php. Відкриваєте файл функцій і пишіть туди наступний код:

Також можна приховати різні лінки при відображенні постів блогу (наступний, попередній, короткий url).

Видалення JSON API посилань:

remove_action ( 'wp_head', 'rest_output_link_wp_head'); remove_action ( 'wp_head', 'wp_oembed_add_discovery_links'); remove_action ( 'template_redirect', 'rest_output_link_header', 11, 0);

Як я вже говорив вище про jQuery, в коді сторінки бібліотека може викликатися кілька разів (спільно з іншими модулями) + версія використовується не найактуальніша. Прибрати скрипт з вордпресс header через remove_action не вийде, але є інший метод. У блозі знайдете докладну статтю про оновлення і підключення jQuery в WordPress, а якщо говорити коротко, то щоб прибрати виклик скрипта потрібен такий код:

В даному випадку хак спрацьовує тільки для самого сайту (фронтендів), не впливаючи на адмінку. Якщо викликати функцію wp_deregister_script без умови IF, то в панелі управління WP перестануть працювати різні випадають меню і деякі інші опції. Теоретично, можна було б помістити код wp_deregister_script в header.php замість functions.php, і тоді він «не зачепить» бекенда. Але краще використовувати вараінт, вказаний вище.

Наостанок ще 2 фішки. Нещодавно я публікував статтю про виключення Emoji. Коротку версію коду знайдете нижче, хоча особисто у мене спрацювала тільки розширена, описана в пості.

remove_action ( 'wp_head', 'print_emoji_detection_script', 7); remove_action ( 'wp_print_styles', 'print_emoji_styles');

Також в блозі публікував огляд модуля Disable дозволяє прибрати Self Pingback і деякі інші дані з в wp head в wordpress. Можна поєднувати його з Хакамі через functions.php - так надійніше, плагін відключає не всі.

Прибираємо зайвий код плагінів і теми

Крім самої системи код в блок HEAD додають різні модулі. Іноді відключення даної фішки знаходиться в налаштуваннях плагінів, але на жаль, частіше за все розробники не передбачають подібну гнучкість для своїх рішень. Тому щоб змінити wordpress header можна спробувати якийсь алгоритм.

По-перше, ви повинні уважно подивитися основний php файл того плагіна, хукі якого збираєтеся деактивувати. Там повинна зустрічатися конструкція по типу:







Схожі статті