Web制作

【キャッシュ対策】修正が反映されない『キャッシュクリアお願いします!』をなくす方法

※ 当サイトではアフィリエイト広告を利用しています

サイトの修正をするたびにクライアントにキャッシュクリアをお願いせずに済む方法ない?

これを知らないとクライアントとのやりとりが増え、無駄な時間を消費してしまいます。

例えば、

修正したのでご確認よろしくお願いします!
修正されていません
・・・キャッシュクリアお願いします!
キャッシュクリアってどうするんですか??
あれをこうしてああして・・・

というやり取りをコーダーはほぼ100%経験したことがあるかと思います。

これは自分の時間はもちろん相手の時間も奪ってしまうことになるので避けたい所です。

今回はこの無駄なやりとりを無くすための方法について解説していきたいと思います。

 

完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
  • 30日間でWeb制作を学べる
  • 完全無料
  • 現役エンジニアへの質問無制限
  • オンラインの動画学習なので時間場所を問わず勉強可能
  • 最大4回の学習サポート面談
  • 受付は1日25名までの先着制
無料なのに専属のメンターが付き、現役エンジニアへの質問も無制限という破格のサービスです。
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇

\ 完全無料 /

ZeroPlus Gate公式サイト

先着1日25名まで!

キャッシュとは?

まず『キャッシュとは何か?』というところから解説したいと思います。

パソコンやスマホはページを開いた際、ブラウザが画像などの情報を保存します。

そして次にそのページを開いた時にはその保持していた情報を元に、最初見たときより早くページを表示させることが出来ます。

ページの表示が遅くなるとサイトに訪れた人が離脱する確率が上がってしまうので、キャッシュはとても重要なものとなります(読み込みに3秒以上かかると50%以上の人が離脱すると言われています)

なので基本的にはキャッシュは『必要なもの』となります。

 

キャッシュのデメリットとは?

キャッシュは再度サイトを訪れた際に表示速度を早くしてくれる便利なものですが、デメリットも存在します。

それはブラウザがページのデータを保持しているので、画像やテキストなど更新してもすぐに反映されないことがあるということです。

Web制作をしていて修正をしたのに反映されない・・・どこか間違っているんだろうか??

ということがあるかと思います。

そしてキャッシュを削除したら解決した、といったことはWeb制作に置いて超あるあるだと思います。

 

キャッシュの削除方法

キャッシュクリアの方法はブラウザによって異なるので、ググって貰えばすぐ見つかると思います。

全部書くと長くなるのでこの記事では書きません

自分でサイトの修正などをしてキャッシュを削除する分には問題ないのですが、クライアント側がその方法を知らない場合はやり方を説明して実行して貰う必要が出てきます。

実務ではサイトの修正は1度ではなく複数回あると思うので、これを毎回クライアント側にやらせてしまうと負担をかけさせてしまうことになります。

そしてクライアントが変わるたびに説明するのは自分にとってもしんどいので、このやりとりを無くす方法をこれから書いていきます。


URLパラメータ(GETパラメータ)を付ける

それではいよいよ本題です。

URLパラメータとは『URLの末尾に付け加える変数』のことです。

と言ってもよく分からないと思うので、実際に見てみます。

例えばCSSの読み込みをするときは次のように書くと思います。

<link rel="stylesheet" href="css/style.css" />

それをこのように書けばOKです。

<link rel="stylesheet" href="css/style.css?ver=1.0.1" />

拡張子の後に『?』を付けてその後に適当にVer名や日付などを書きます。

『?』以降の書き方に決まりはないので、分かりやすいように書いておきましょう。

日付の場合だと次のようになります。

<link rel="stylesheet" href="css/style.css?20220915" />

これを書くとどうなるかと言うと、この数値を変えるとブラウザは別のファイルだと認識するので、同じファイルでもキャッシュは別のファイルとして新たに読み込むということです。

またjsやimgタグでも同様です。

<script src="js/main.js?ver=1.0.1"></script>
<img src="img/profile.png?20220915" alt=""/>

また、ファイル名が同じで中身が変わった時は、URLパラメータの数値変えればまた別のファイルとして認識されます。

<!-- 変更前 -->
<img src="img/profile.png?20220915" alt=""/>

<!-- 変更後 -->
<img src="img/profile.png?20220916" alt=""/>

これでファイル名が同じままでもキャッシュを削除する必要がなくなります(更新するたびにファイル名を変えるわけにはいきませんからね)

 

WordPressの場合

WordPressの場合は以下のようにCSSやjsを『functions.php』から読み込んでいる人が多いと思います。

<?php
/* CSSとJavaScriptの読み込み */
function my_script_init()
  { // WordPressに含まれているjquery.jsを読み込まない
    wp_deregister_script('jquery');
    // jQueryの読み込み
    wp_enqueue_script( 'jquery', '//code.jquery.com/jquery-3.6.1.min.js', "", "1.0.1", true);
    wp_enqueue_script( 'main-js', get_template_directory_uri() . '/js/main.js', array( 'jquery' ), '1.0.1', true );
    wp_enqueue_style( 'style-css', get_template_directory_uri() . '/css/style.css', array(), '1.0.1' );
  }
  add_action('wp_enqueue_scripts', 'my_script_init');

この場合は拡張子の後ではなく第4引数にある『1.0.1』がバージョン名にあたるので、更新するごとにこの数値を変えていけばOKです。

まとめ

今回はキャッシュクリア対策について解説しました。

やっている事は簡単ですがクライアントに負担をかけさせず、自分も無駄に時間を消費しないで済むのでぜひ活用しましょう。

以上になります。

 

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-Web制作