Среднестатистически на сайте водится от 5 до 10 сторонних плагинов. Их влияние вносит негативный вклад в показатели загрузки.
Во-первых: интеграция любого скрипта должна быть осмысленной. Любой копипаст таковым не является. И если где-то написано, что данный кусок кода должен быть вставлен в хеде, то эта информация не несет догматического характера. И проявлять упорство в данной позиции, особенно не понимая многих аспектов работы сайта и всего что с ним связано, не целесообразно.
Во-вторых: любое отклонение от базовой интеграции строннего плагина не должно ограничивать его функционал и менять логику работы.
В третьих: влияние внешних плагинов на показатели загрузки страницы должно сводится к минимуму или даже к нулю, не ухудшая эргономику сайта.
Взяв во внимание все перечисленные пункты загрузка внешних плагинов была реализована по концепции которую я разберу на примере ниже.
Исходный код можно просмотреть в файле: /externalScripts.php (в корне сайта)
Рассмотрим плагин facebook Pixel. Его исходный код
echo htmlspecialchars('
!function(f,b,e,v,n,t,s) {
if(f.fbq)return;
n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=\'2.0\';n.queue=[];
t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)
}(window, document,\'script\',\'https://connect.facebook.net/en_US/fbevents.js\');
fbq(\'init\', this.config.facebookPixelId);
fbq(\'track\', \'PageView\');
')?>
Видим кучу непонятного кода, но если вникнуть и разложить по полкам получим следующие:
echo htmlspecialchars('')?>
echo htmlspecialchars('!function(f,b,e,v,n,t,s) {')?> echo htmlspecialchars(' if(f.fbq)return; n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=\'2.0\';n.queue=[];')?> echo htmlspecialchars(' t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)')?> echo htmlspecialchars('}(window, document,\'script\',\'https://connect.facebook.net/en_US/fbevents.js\');')?>Однако, для понимания сразу нужно кинуть взгляд на оставшуюся часть кода:
echo htmlspecialchars(' fbq(\'init\', ID); fbq(\'track\', \'PageView\'); ')?>Начнем от обратного:
Раскрыты не все нюансы. Вся логика по коду.
В целом представлен подход к работе со стронними скриптами.
Вывод: необходимо максимально критично относиться к инфе из интернета, и проявлять больше компетентности, в противном случае Ваш проект рискует оказаться на плачевных позициях