Оптимизируем плагины и ускоряем работу сайта на wordpress - Авторские материалы о продвижении вконтакте, wordpress фишках и плагинах, SMO, SEO, дизайне
Отборная информация, которая вставляет!

Оптимизируем плагины и ускоряем работу сайта на wordpress

О том как оптимизировать работу сайта на wordpress писалось уже немало. А вот о том как оптимизировать разные скрипты и css — инфы довольно немного.

Если на вашем сайте стоит немалое количество полезных плагинов, то вы увидите, что многие из них добавляют свои файлы стилей и скрипты. Но вот фигня какая — некоторые плагины будут использоваться всего на одной странице — а вот подгружать свои скрипты будут на всех страницах. А оно нам надо?

Для загрузки вспомогательных файлов плагинов в ВП есть 2 функции, которые включают загрузку разных скриптов и css файлов — это wp_enqueue_script() и wp_enqueue_style(). Но отключать полностью нам конечно же не нужно будет — поэтому на помощь нам прийдут условные теги. Т.е. логика такая — находим нужный скрипт, смотрим на какой странице он нам нужен, через условные теги оставляем его только на нужной странице — на остальных убираем.

Если дело касается небольших css файлов, то можно их содержимое вставить в наш общий файл темы. А теперь подробнее как это все делать.

1. исключаем загрузку ненужных css.

Идем в папку плагина, берем основной php файл и пробуем найти через поиск строку с wp_enqueue_style

Обычно сразу находим что-то вроде

wp_enqueue_style( 'cleaner-gallery', CLEANER_GALLERY_URL . 'cleaner-gallery.css', false, 0.8, 'all' );

где cleaner-gallery — это handle файла, его нужно записать.

Далее идем в файл functions.php нашей темы и вставляем

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'cleaner-gallery' );
}


Вот сюда-то мы и вставляем наш handle.

Если нужно отключить для разных плагинов, не нужно писать каждый раз заново, можно так

add_action( ‘wp_print_styles’, ‘my_deregister_styles’, 100 );

function my_deregister_styles() {
wp_deregister_style( 'cleaner-gallery' );
wp_deregister_style( 'Plugin Style Handle' );
wp_deregister_style( 'Plugin Style Handle' );
}

Если отключаете полностью файл css плагина, то его содержимое (если оно важно), копируйте в файл стилей вашей темы.

2. отключаем ненужные скрипты.

Для примера возьмем плагин contact form 7 — хороший плагин для контактной формы, только контактная форма у нас на одной странице, а скрипт плагина загружается на всех, что увеличивает загрузку сайта.

Принцип тот же — ищем строку с wp_enqueue_script, находим handle — вставляем следующий код в functions.php

add_action( ‘wp_print_scripts’, ‘my_deregister_javascript’, 100 );

function my_deregister_javascript() {
wp_deregister_script( 'contact-form-7' );
}

А теперь момент, этим хаком мы вырубили вообще скрипт, но он нам ведь нужен на страничке контактной формы, поэтому добавляем условие

add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );

function my_deregister_javascript() {
if ( !is_page('Contact') ) {
wp_deregister_script( 'contact-form-7' );
}
}

Т.е. логика такая — если страничка называется не Contacts — то отключаем скрипт. Тем самым мы оставим скрипт на страничке Contacts. Вообще, здесь можете использовать любые условные теги, узнать о которых можно из

Примеры кода были взяты с сайта wpbeginner.com

Ищите где можно скачать фильмы бесплатно и без всяких там отправок sms, скрытой рекламы и т.д. — посетите портал фильмов, софта, игр — xfolders.ws


 

Похожие статьи:



11 комментариев к “Оптимизируем плагины и ускоряем работу сайта на wordpress”


9643e5d7

  1. :

    Спасибо. Очень полезная статья. А вот вопрос: «Меня давно интересовало, сколько у Вас плагинов ( если вы юзаете вп)?» Ну просто интересно :)Напишите в коментах, если не трудно))
    Автор, извините пожалуйста, что тут опрос начал, но просто считаю Ваш сайт наиболее популярным и полезным для вп-шников.

    • ETNO:

      на разных сайтах, по-разному. На этом сайте уже большую половину всего функционала я могу реализовать и без плагинов, но не трогаю, потому что как говорят «если все пашет — значит не трогай». Ну из плагинов, что юзаю здесь: all-in-one-seo (стандартный, хотя на других проектах я его уже не ставлю, есть посильней плагины, я их опишу в ближайшее время, так как провожу эксперимент, насколько они повышают траф на автомате), similar post — для похожих статей, математическая капча, плагин редирект внешних ссылок, Subscribe to Comments, XML-Sitemap, SyntaxHighlighter (для вставки кода — немного переделал под свои нужды), News Ticker (раньше на главной выводил карусельку популярных постов, но сейчас я его переделал и теперь он на внутренних выводит последние комменты внизу поста, WP Greet Box (недавнее открытие, позволяет выводить сообщение новым пользователям), comment redirect (тоже самое, но выводит сообщение тем, кто первый раз сделал коммент), tdo miniforms (для формы вопроса в сайдбаре), wp poll — делал когда-то опросник, думаю скоро его удалю, так как не юзаю совсем. Ну и по мелочи, некоторые я считаю должны стоять по дефолту, это rus-to-lat и подобные.

  2. :

    Интересный пост, но есть вопрос: если с исключением (страница «контакты») для скриптов всё ясно, то для стилей…
    Там даже по коду видно, что выключается всё полностью. Как же они будут на отдельных страницах, где те самые плагины применяются работать?

    • ETNO:

      я же давал в конце пример, что в этом коде можно использовать условные теги. Т.е. если знать на каких страницах плагин не нужен — то именно на этих страницах его можно выключить. Понятно, что есть плагины которые нужны почти на всех страницах, но тогда их можно отключить, к примеру, на главной (если он там не нужен).

  3. :

    Автору респект, почерпнул много всего. Подписываюсь сразу.
    Но можно узнать как вы сделали «Популярное за неделю:», везде искал но не могу найти.
    Буду очень благодарен.

    • ETNO:

      раньше у меня в этом блоке стоял вывод популярных записей за неделю — но мне это решение не нравилось, так как на любом сайте есть страницы, которые генерят трафа больше чем остальные и обычно эти страницы не меняются часто. Т.е. выходит, что популярным за неделю остаются все время похожие статьи — а это не очень гуд. Поэтому сейчас я просто написал код, который выводит выдержку из последнего комментария + заголовок статьи. Если нужно, то код могу вам дать для такого решения

  4. :

    А если пойти от обратного? то есть не отключать если не та страница, а включать если та? :)

    • ETNO:

      можно попробовать не wp_deregister, а wp_register, хотя не уверен, что она есть. А вообще для включения скриптов есть функция

  5. :

    Скажите мне пожалуйста, а как можно понять, что сайт уже раскручен. И можно ли считать сейчас прогон по каталогам нужной вещью?

    • ETNO:

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

  6. :

    Еще если бы и пхп знать хорошо. Вроде бы все понятно и немного непонятно — нужно покопаться и попробовать сделать. Я думаю должно получиться.