【ChatGPT】CLSの改善にむけて!ChatGPTを駆使してコアウェブバイタルを計測する方法---ワクワク!【検証】
2023/05/05
0
ChatGPTを駆使してコアウェブバイタルを計測する方法を検証してみたわ!
この記事はその紹介や。
1. はじめに

サーチコンソール見てたらPC向けのCLSがアカンことが分かったわ。
ユーザーエクスペリエンス向上のために、CLSの改善に取り組むことにしたねん。
そこで、正確にコアウェブバイタルを計測するために、計測用のバッチを作ることにしたわ。
でも、自分で作るのはキツいから、ChatGPTを使ってみたんや。
ChatGPTっていうのは、めっちゃデータとAI技術を使って、いろんなタスクができる言語モデルなんやで。
そのすごい能力を使って、計測用のバッチ作りに挑戦したんや。
ちなみにこの記事もChatGPTで関西弁にリライトしてま。
先読み!IT×ビジネス講座 ChatGPT 対話型AIが生み出す未来 単行本(ソフトカバー) Amazon.co.jpで詳細を見る https://amzn.to/3NP5JIu |
2, ChatGPTを使ってCLS計測バッチを作成
ChatGPTとのやり取りで、バッチの要件や処理の流れを説明したわ。
ChatGPTは、わしの説明を理解して、ちゃんとしたスクリプトを生成してくれたんやで。
2.1 プロンプトと作成されたスクリプト
ChatGPTへのリクエスト(プロンプト)は以下のとおり。
というか、よく考えてみたらスクリプトの作成はBING Chatにお願いしたの思い出しましたわ。
タイトル詐欺みたいですまん。
どっちも結果に大差はなかったような気はするんやけど・・・
なんで、BING使ったかな・・・わしの記憶にはもうないな。
ちゅうことで、プロンプト。
プロンプト
以下の条件でWEBサイトのコアウェブバイタルを測定するPythonバッチを作ってください。
・第一引数に入力するURLを指定すること。
・出力はoutput.txtに追記で出力すること。
以下の条件でWEBサイトのコアウェブバイタルを測定するPythonバッチを作ってください。
・第一引数に入力するURLを指定すること。
・出力はoutput.txtに追記で出力すること。
やばいなぁ、これでバッチできてまうんやから。
で、スクリプト。
スクリプト
# コアウェブバイタルを計測するPythonソース
# 必要なモジュールをインポート
import requests
import json
import time
import sys # sysモジュールをインポート
# 第一引数でURLを指定(入力がない場合はエラー)
if len(sys.argv) > 1:
url = sys.argv[1] # 第一引数でURLを取得
else:
print("URLを指定してください。")
sys.exit(1)
# Google PageSpeed Insights APIのキーを入力
api_key = "APIのキー"
# APIのエンドポイントを定義(デスクトップ向け)
endpoint = f"https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={url}&key={api_key}&strategy=desktop"
# APIにリクエストを送信
response = requests.get(endpoint)
# レスポンスが成功した場合
if response.status_code == 200:
# レスポンスのJSONデータを取得
data = response.json()
# コアウェブバイタルの値を取得
lcp = data["lighthouseResult"]["audits"]["largest-contentful-paint"]["displayValue"] # 最大コンテンツ描画時間
fid = data["lighthouseResult"]["audits"]["max-potential-fid"]["displayValue"] # 最大潜在的入力遅延時間
cls = data["lighthouseResult"]["audits"]["cumulative-layout-shift"]["displayValue"] # 累積レイアウトシフト
# 出力ファイルを追記モードで開く(文字コードをUTF-8に指定)
output_file = open("output.txt", "a", encoding="utf-8")
# 出力ファイルにURLとコアウェブバイタルの値を書き込む
output_file.write(f"URL: {url}\n")
output_file.write(f"LCP: {lcp}\n")
output_file.write(f"FID: {fid}\n")
output_file.write(f"CLS: {cls}\n")
output_file.write("\n")
# 出力ファイルを閉じる
output_file.close()
# レスポンスが失敗した場合
else:
# エラーメッセージを表示
print(f"エラーが発生しました。ステータスコード: {response.status_code}")
# コアウェブバイタルを計測するPythonソース
# 必要なモジュールをインポート
import requests
import json
import time
import sys # sysモジュールをインポート
# 第一引数でURLを指定(入力がない場合はエラー)
if len(sys.argv) > 1:
url = sys.argv[1] # 第一引数でURLを取得
else:
print("URLを指定してください。")
sys.exit(1)
# Google PageSpeed Insights APIのキーを入力
api_key = "APIのキー"
# APIのエンドポイントを定義(デスクトップ向け)
endpoint = f"https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={url}&key={api_key}&strategy=desktop"
# APIにリクエストを送信
response = requests.get(endpoint)
# レスポンスが成功した場合
if response.status_code == 200:
# レスポンスのJSONデータを取得
data = response.json()
# コアウェブバイタルの値を取得
lcp = data["lighthouseResult"]["audits"]["largest-contentful-paint"]["displayValue"] # 最大コンテンツ描画時間
fid = data["lighthouseResult"]["audits"]["max-potential-fid"]["displayValue"] # 最大潜在的入力遅延時間
cls = data["lighthouseResult"]["audits"]["cumulative-layout-shift"]["displayValue"] # 累積レイアウトシフト
# 出力ファイルを追記モードで開く(文字コードをUTF-8に指定)
output_file = open("output.txt", "a", encoding="utf-8")
# 出力ファイルにURLとコアウェブバイタルの値を書き込む
output_file.write(f"URL: {url}\n")
output_file.write(f"LCP: {lcp}\n")
output_file.write(f"FID: {fid}\n")
output_file.write(f"CLS: {cls}\n")
output_file.write("\n")
# 出力ファイルを閉じる
output_file.close()
# レスポンスが失敗した場合
else:
# エラーメッセージを表示
print(f"エラーが発生しました。ステータスコード: {response.status_code}")
こんなん。
ちなみに実行にはPython実行環境とGoogle PageSpeed Insights APIのキーが必要なんで要注意。
あと、こいつは1件ずつしか入力できひんので、その辺はよろしく。
2.1 実測!!
計測用のバッチができたら、さっそくCLSを計測したわ。バッチを実行することで、
複数のWebページでのCLSの値を取得できたんや。
バッチはコマンドプロンプトを起動を起動して、作ったバッチ名(zzz.py)にURLを指定して実行。

このデータをもとに、具体的な改善策を考えることができるんやで。
ちなみにサーチコンソールさんによると、CLSは0.1を超えると要改善と怒られるんやで。
怖いなぁ。。
3. 結論

ChatGPTのおかげで、計測用のバッチ作りに成功したわ。CLSの改善に向けて、
正確な計測データを手に入れることができたんや。
これからは、データを分析して、CLSを改善するための対策を進めていくつもりやで。
CLSの改善は、ウェブサイトのユーザーエクスペリエンス向上に繋がる大切な取り組みやで。
今回の経験を通じて、AI技術の活用がウェブ開発で効果的やと実感したわ。
これからもChatGPTとかのツールを上手に使いながら、もっと良いウェブサイトを提供できるように頑張りたいで。
ほなほな。
先読み!IT×ビジネス講座 ChatGPT 対話型AIが生み出す未来 単行本(ソフトカバー) Amazon.co.jpで詳細を見る https://amzn.to/3NP5JIu |
<関連記事>
【WAIFULABS】AIで嫁を自動作成するサービス|プロフィール画像を変更しました【オフトピック】
https://yoshinagon.com/blog-entry-1612.html