Увеличить кэширование "Javascript, загруженный из CDN" на странице с поддержкой GoogleAMP? - PullRequest
0 голосов
/ 06 сентября 2018

У меня нет большого опыта с использованием кэширования .htaccess. Я нашел несколько фрагментов, которые работали для статических ресурсов (например, imgs, js, css и т. Д.), Но в моем проекте мне нужно включить CDN с другим сроком действия.

Как я могу увеличить время кэширования CDN, не влияя на мою скорость PageSpeed ​​в Google Insights.

Я также приложил изображение: enter image description here

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

Вы, похоже, тянете в js для аналитики и рекламы. Вы должны использовать теги amp-analytics и amp-ad и не пытаться использовать js.

0 голосов
/ 06 сентября 2018

Что вам нужно сделать, это динамически импортировать все файлы .js на наш сайт. Для работы на PHP используйте функцию file_get_contents ().

Первое, что нужно сделать, это найти внешний скрипт:

<script type="text/javascript" src="https://ssl.google-analytics.com/ga.js"> 
</script>

Следующим шагом является создание файла .php. Давайте назовем это externaljs.php. Вставьте в него следующий код:

<?php

$files = array(
'ga.js' => 'https://ssl.google-analytics.com/ga.js',
'bsa.js' => 'https://s3.buysellads.com/ac/bsa.js',
'pro.js' => 'https://s3.buysellads.com/ac/pro.js'
);

if(isset($files[$_GET['file']])) {
if ($files[$_GET['file']] == 'ga.js'){
    header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + ((60 * 60) * 48))); 
// 2 days for GA
} else {
    header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // 
Default set to 1 hour
}

echo file_get_contents($files[$_GET['file']]);
}

?>

Строки с 3 по 7: создается массив, содержащий принятые файлы. Это очень важно, так как в противном случае любой файл может быть встроен в ваш сайт, что может привести к потенциальным проблемам безопасности.

Строки с 9 по 14: поскольку нам нужно настроить время истечения для каждого скрипта, нам нужен условный оператор для этого.

Строка 16: если в нашем массиве найден скрипт, выданный в качестве параметра GET, мы можем теперь

безопасно отобразить его. Вам необходимо изменить код и ввести URL-адреса ваших внешних скриптов. После этого просто загрузите его на свой сервер. Если вы используете WordPress, рекомендуется поместить файл в папку вашей темы.

Затем просто замените внешний вызов .js и замените его вызовом в ваш файл externaljs.php, как показано ниже:

<script type="text/javascript" src="externaljs.php?file=ga.js"></script>

И все готово. Теперь вы можете динамически импортировать внешний файл .js на свой сервер и, следовательно, установить правильный заголовок истечения срока действия для каждого сценария

...