Перейти к содержанию
Новая Simpla

Как исправить проблему с кодировкой в PageSpeed


Рекомендуемые сообщения

Те, кто уже пробовал тестировать свой сайт на 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. Просто поместите свои скрипты между этими тегами.

На этом все.

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...