以下有料テーマの機能を用いて、WordpressのトップページでYouTube動画を表示させているのですが、Google Speed Insightでの改善項目としてYouTube動画が、表示速度を改善したいと考えています。
(有料テーマ"Lotusboast template ver.002")
そこで、以下の通りコーディングすれば該当ページの表示速度を高速化できるという記事を見たので試そうとしていますが、有料テーマの影響なのか、同じコードが見当たりません。
※YouTube動画のアップロードは、有料テーマによって添付のようにURL末尾だけを入力するだけで表示される仕組みになっています。
行ないたい作業ーーーーーーーーーーーーーーーーーーー
①以下JSコードを<head>に貼り付け
JSコード
1<script> 2function init() { 3var vidDefer = document.getElementsByTagName('iframe'); 4for (var i=0; i<vidDefer.length; i++) { 5if(vidDefer[i].getAttribute('data-src')) { 6vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src')); 7} } } 8window.onload = init; 9</script>
②該当する動画のiframe要素を以下の通り変更
旧:iframe src="~~~"
新:iframe src="" data src="~~~"
ーーーーーーーーーーーーーーーーーーーー
実際にテーマエディターのトップページ用テンプレート(index.php)には、以下scriptのコーディングがされているのですが、このコードを変更することが上記②に該当する(=高速化の作業完成)のでしょうか?
<script> var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { videoId: '<?php the_field('youtube_id'); ?>', wmode: 'transparent', playerVars:{ 'loop': '1', 'playlist': '<?php the_field('youtube_id'); ?>', 'rel': '0', 'showinfo': '0', 'color': 'white', }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } function onPlayerReady(event) { event.target.playVideo(); event.target.mute(); } function onPlayerStateChange(event) { } </script>
クライアント様のWordpressを請け負っている為、有料テーマを使わないや動画をアップロードしないという選択肢は現状持っていません。
恐れ入りますが、宜しくお願い致します。
あなたの回答
tips
プレビュー