X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не понятная ошибка JS при оптимизации WP под PageSpeed Insights
toorr2p
toorr2p
Topic Starter сообщение 20.2.2017, 16:43; Ответить: toorr2p
Сообщение #1


Приветствую!
Выполняю оптимизация сайта на WP под Google PageSpeed Insights

Все стили и скрипты перенесены в футер и подключаются асинхронно:

var jQ = false;
function initJQ() {
if (typeof(jQuery) == 'undefined') {
if (!jQ) {
jQ = true;
document.write('<scr' + 'ipt type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></scr' + 'ipt>');
}
setTimeout('initJQ()', 50);
} else {
(function($) {
$(function() {

// здесь пишем jQuery код
$("head").append('<link rel="stylesheet" href="http://klinkerzakazat.ru/wp-content/themes/tutorial/css/bootstrap.min.css">');
$("head").append('<link rel="stylesheet" href="http://klinkerzakazat.ru/wp-content/themes/tutorial/style.css" type="text/css" media="screen">');


$("head").append('<script type="text/javascript" src="/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1"><\/script>');

$("head").append('<script type="text/javascript" src="http://klinkerzakazat.ru/wp-content/themes/tutorial/js/bootstrap.min.js"><\/script>');
$("head").append('<script type="text/javascript" src="http://klinkerzakazat.ru/wp-content/themes/tutorial/js/jquery.mobile-1.4.5.min.js"><\/script>');

//plg contact-form-7
$("head").append('<script type="text/javascript" src="/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js"><\/script>');
$("head").append('<script type="text/javascript">var _wpcf7 = {"recaptcha":{"messages":{"empty":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0412\u044b - \u043d\u0435 \u0440\u043e\u0431\u043e\u0442."}},"cached":"1"};<\/script>');
$("head").append('<script type="text/javascript" src="/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.6.1"><\/script>');
//end plg contact-form-7

$("head").append('<script type="text/javascript" src="/wp-content/plugins/fancybox-for-wordpress/fancybox/jquery.fancybox.js"><\/script>');
$("head").append('<script type="text/javascript" src="/wp-content/plugins/really-simple-popup/js/hs_rsp_popup.min.js?ver=4.5.5"><\/script>');
$("head").append('<script type="text/javascript" src="/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20"><\/script>');

$("head").append('<script type="text/javascript" src="http://klinkerzakazat.ru/wp-content/themes/tutorial/mainslider/js/jquery.easing.min.1.3.js"><\/script>');
$("head").append('<script type="text/javascript" src="http://klinkerzakazat.ru/wp-content/themes/tutorial/mainslider/js/jquery.skitter.min.js"><\/script>');
$("head").append('<script type="text/javascript" src="http://klinkerzakazat.ru/wp-content/themes/tutorial/malihu-custom-scrollbar-plugin-master/jquery.mCustomScrollbar.concat.min.js"><\/script>');

$("head").append('<script type="text/javascript" src="http://klinkerzakazat.ru/wp-content/themes/tutorial/main.js"><\/script>');

$("head").append('<script id="c4s_js_0abb156b87b8333f806d1a2469132348" type="text/javascript" src="http://www.virtualofficetools.ru/c4s/widget.55190.0abb156b87b8333f806d1a2469132348.js"><\/script>');


})
})(jQuery)
}
}
initJQ();

Счетчики в футере я вообще закомментировал (метрика и аналитикс), при загрузке страницы в консоле нет ошибок JS, но вот на странице с формой (http://klinkerzakazat.ru/zakaz/) при клике на кнопку отправить появляется вот такая ошибка (в итоге форма не отправляется): 

aba32-clip-49kb.png?nocache=1


Помогите разобраться, не могу понять в чем дело...

Если снимаю комментарий с счетчиков и подключаю их, то в консоле вот такие ошибки:
6dc46-clip-80kb.png?nocache=1Что то блокирует счетчики, но не понятно что... может касперский антивирус?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 20.2.2017, 17:24; Ответить: toorr2p
Сообщение #2


Отключил плагин 717f6-clip-23kb.png?nocache=1

вроде теперь нет этой ошибки.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 20.2.2017, 17:43; Ответить: ShowPrint
Сообщение #3


Вячеслав, хорошо что решилось.

А вы решили в ГугПэйдже 100% результата добиться? Зачем? За это бонусов и преференций будет не так много (если будут вообще), а посмотрите как коряво стал выглядеть сайт при загрузке - грузится одно, а потом прыгает и скачет подгружая стили.
На мой взгляд это не на пользу ПФ пойдёт...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
avfinance
avfinance
сообщение 21.2.2017, 14:49; Ответить: avfinance
Сообщение #4


(Вячеслав @ 20.2.2017, 19:43) *
Все стили и скрипты перенесены в футер и подключаются асинхронно

Я конечно, небольшой специалист в тех. вопросах по вордпресс, но вы скрипты и стили некорректно подключаете. Не по кодексу получается.
Скрипты и стили подключаются через функции wp_enqueue_style и wp_enqueue_script.
Погуглите как это делается. Иначе в будущем вас может ждать очень серьезный геморой :)

PS А зачем вам скрипт формы обратной связи плагина contact-form-7 на каждой странице? Этот скрипт можно вывести только на той странице, где расположена форма контактов.
Да, и зачем вам "jquery-migrate"? Есть какие-то проблемы с работой скриптов? Насколько я помню, эта библиотека нужна, если подключена старая версия jquery.

PSS Кстати, если подключена сервисы статистики (Метрика, Аналитика,..) то выжать 100% уже вряд ли получится
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 21.2.2017, 15:28; Ответить: toorr2p
Сообщение #5


ShowPrint, да были косяки при прогузке, но теперь стили вынесены в head и нет таких дерганий. 100% небыло цели достичь, была цель достичь работоспособности форм и уйти в зеленую зону, теперь это получилось https://developers.google.com/speed/pagespe...&tab=mobile
avfinance, если подключать по кодексу то это только с встраиванием блокирующих стилей и явоскрипта в футер вот так:

/*** FIX Google PageSpeed Insights ***/
function footer_enqueue_scripts(){
remove_action('wp_head','wp_print_scripts');
remove_action('wp_head','wp_print_head_scripts',9);
remove_action('wp_head','wp_enqueue_scripts',1);
add_action('wp_footer','wp_print_scripts',5);
add_action('wp_footer','wp_enqueue_scripts',5);
add_action('wp_footer','wp_print_head_scripts',5);
}
add_action('after_setup_theme','footer_enqueue_scripts');

я пробовал так делать но гугл ругается все равно, и пишет подключайте скрипты асинхронно... Вобщем с этим PageSpeed Insights гемморой конкретный, но все же сайт действительно быстрее прогружается, это даже янекс метрика фиксирует.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 21.2.2017, 15:44; Ответить: ShowPrint
Сообщение #6


(avfinance @ 21.2.2017, 17:49) *
если подключена сервисы статистики (Метрика, Аналитика,..) то выжать 100% уже вряд ли получится

Аха, как минимум будет ругаться на отсутствие кеширования )))


(Вячеслав @ 21.2.2017, 18:28) *
Вобщем с этим PageSpeed Insights гемморой конкретный, но все же сайт действительно быстрее прогружается

Я забил на "зеленку" - выводил до 90+%, но мой разум и наблюдения показали что это в некоторых случаях выходит боком. Точно пока ничего не скажу - гипотеза на проверке...

PS Вячеслав, подолбите хостинг на предмет времени ответа сервера - показатели еще больше улучшатся  ;)

Сообщение отредактировал ShowPrint - 21.2.2017, 16:01
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
avfinance
avfinance
сообщение 21.2.2017, 16:07; Ответить: avfinance
Сообщение #7


(Вячеслав @ 21.2.2017, 18:28) *
если подключать по кодексу то это только с встраиванием блокирующих стилей и явоскрипта в футер вот так:

А вы не пробовали с помощью плагинов? Например, есть замечательный autoptimize, который и минифицирует, и собирает в один файл, еще и в футер засунет :)

(ShowPrint @ 21.2.2017, 18:44) *
Я забил на "зеленку" - выводил до 90+%

Я морду сайта до 90% прокачал:
http://prnt.sc/ebiq9s
Больше всего обожаю, когда гугл ругается на картинки и пишет что-то вроде "чтобы уменьшить их размер на 589 Б (34 %)". 586 байт очень критичный пункт в оптимизации и невероятно препятствует загрузке страницы :)
А вот со внутренними страница все куда печальнее. Там бывает пару сотен комментариев, видео, десяток-другой картинок, соц. кнопки... И все это запросы, запросы, запросы...)))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 21.2.2017, 16:54; Ответить: ShowPrint
Сообщение #8


avfinance, а я "чистым" кодом дооптимизировался до того, что в html на морде осталось 138 строк кода и ГПС теперь не успевает загрузить "облегченные" картинки бэкграунда (прописанные в линкованном css внутри head), до того как весь остальной html-код "влетает" в браузер и всё остальное догружает в асинхроне  :wacko:
Теперь получается что 9,11кБ бэкграунда еще не загрузились, а уже </html> настал  :D  и ПэйджСпид ворчит:
Передавайте в первую очередь видимую часть страницы – включите весь необходимый контент непосредственно в HTML-ответ.

После получения всех данных HTML с сервера удалось отобразить только 25 % от общего объема содержания из верхней части страницы



Так что теперь стоит обратная задача - замедлить загрузку  :lol:
Ну не совать же стили из кешируемого файла в <head><style>...</style></head> в конце-концов...  :angry:

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 5.3.2017, 19:05; Ответить: toorr2p
Сообщение #9


Вообщем с асинхронным подключением скриптов в футере решил таким кодом\функцией:

<script>
// <![CDATA[
var jQ = false;
function initJQ() {
if (typeof(jQuery) == 'undefined') {
if (!jQ) {
jQ = true;
////code.jquery.com/jquery-1.10.2.min.js
///wp-includes/js/jquery/jquery.js?ver=1.12.4
document.write('<scr' + 'ipt type="text/javascript" src="/wp-includes/js/jquery/jquery.js?ver=1.12.4"></scr' + 'ipt>');
document.write('<scr' + 'ipt type="text/javascript" src="/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1"></scr' + 'ipt>');
document.write('<scr' + 'ipt type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/bootstrap.min.js"></scr' + 'ipt>');
document.write('<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/bootstrap.min.css">');
}
setTimeout('initJQ()', 50);
} else {
(function($) {
$(function() {

// здесь пишем jQuery код


//plg contact-form-7
$("head").append('<script type="text/javascript" src="/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js"><\/script>');
$("head").append('<script type="text/javascript">var _wpcf7 = {"recaptcha":{"messages":{"empty":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0412\u044b - \u043d\u0435 \u0440\u043e\u0431\u043e\u0442."}},"cached":"1"};<\/script>');
$("head").append('<script type="text/javascript" src="/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.6.1"><\/script>');
//end plg contact-form-7

....


})
})(jQuery)
}
}
initJQ();
// ]]>
</script>


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) SEO Линк Билдинг под Бурж | Вечные ссылки США, Европа и Мир с Гарантией
18 Needmylink1 6538 25.3.2024, 20:51
автор: Needmylink1
Горячая тема (нет новых ответов) Hyper.hosting - сервера под любые задачи [разрешены dmca, гэмблинг, адалт и пр.]
Лучшие сервера по доступной цене
30 Hyper_Hosting 8586 22.3.2024, 15:34
автор: Hyper_Hosting
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
6 stu999 1551 21.3.2024, 20:45
автор: stu999
Открытая тема (нет новых ответов) 📌 Telegram Prime - софт для автоматизации telegram разработанный специально под задачи бизнеса
🏆 Единственный комбайн для популяризации вашей компании в теле
14 leviathan 3271 21.3.2024, 18:54
автор: leviathan
Открытая тема (нет новых ответов) HideHost.net - Виртуальные и выделенные сервера под любые Ваши проекты с индивидуальным подходом.
Работаем уже более 12 лет
6 HIDEHOST 2304 21.3.2024, 13:33
автор: Tihohodka


 



RSS Текстовая версия Сейчас: 28.3.2024, 13:04
Дизайн