Поиск
Показаны результаты для тегов 'pagespeed'.
Найдено 1 результат
-
Те, кто уже пробовал тестировать свой сайт на PageSpeed наверняка увидели красный восклицательный знак от сервиса по проблеме с кодировкой. И дальше, чтобы вы не делали, каким бы советам от гугла или чата GPT не следовали, он никуда от вас не денется. Это касается исключительно мультиязычной версии, если точнее, то там, где используются куки. Это чисто косяк от гугла, но тем не менее. Причина заключается в том, что пока кука не установлена, PageSpeed неадекватно реагирует на jquery.cookie.js. Стоит вам его закоментить и все будет нормально. Поэтому, если есть необходимость обойти этот баг, вам нужно, в index.tpl поставить условие для подключения jquery.cookie.js только в случае, когда есть кука. В итоге пишем: {if $smarty.cookies.lang} <script src="design/{$settings->theme|escape}/js/jquery/jquery.cookie.js"></script> {/if} Либо тот адрес, по которому находится jquery.cookie.js Далее, находим код в файле api/Translate.php if (!empty($_GET['lang'])) { $lang = $_GET['lang']; } elseif (!empty($_COOKIE['lang'])) { $lang = $_COOKIE['lang']; } и меняем его на: if (!empty($_GET['lang'])) { $lang = $_GET['lang']; } elseif (!empty($_COOKIE['lang'])) { $lang = $_COOKIE['lang']; } else { $this->db->query("SELECT code FROM __langs WHERE enabled=1 ORDER BY id ASC LIMIT 1"); $lang = $this->db->result('code'); // Устанавливаем куки на 30 дней (или другой срок по вашему выбору). setcookie('lang', $lang, time() + 30 * 24 * 60 * 60, '/'); } Вы также можете теперь использовать код {if $smarty.cookies.lang} {/if} для скрытия других не критично важных скриптов при первой загрузке, которые у вас грузятся на странице. Это даст существенный прирост рейтинга PageSpeed. Просто поместите свои скрипты между этими тегами. На этом все.