Google Analytics-GA4その後

WordPressで小説サイト

Google Analyticsが、UAをやめてGA4にするよー、今までのタグではアクセス解析データが収集できませんよーと喧しいほど通達してきた7月が過ぎ、いろいろ設定はしてみたものの…今ひとつよく判らない状態のまま8月に突入しました。

 まあ、零細サイトの悲哀、ないしは居直りというやつで…アクセス解析データがとれなかったからといってどーこうないや、などとのんびり構えていたのですが、ふと気づくとおかしなことに。

 WordPressテーマであるCocoonが更新できなくなってる?

 Cocoonの開発者様は、それはそれは丁寧にアップデートを継続されています。
 ところが、どうにもここのところアップデートしようとすると(正確にはアップデートをかまして最初の表示をさせようとすると)、WordPressが「致命的なエラー(Fatal error)」などというそらおそろしげなメッセージを出して止まってしまう。こりゃあいかん、とバックアップ1から復活させてしばらくアップデートを延期していたのですが、「海風の頌歌」もアップできたのでどうにも本腰いれて原因究明に当たらにゃなるまいと腹を括った次第です。

 さて、ただFatal Errorといわれたって中身がわからんコトには解析のしようがありません。一度は詳細なエラーメッセージが出たのですが、その後がさっぱり「重大なエラーがでました。こちらを参考に」といわれて行った先がWordPressオフィシャルでは何の解決にもならない。どこをどう参考にしたらいいか訊いてるんだってば!と呻吟していたところ、何回目かでようやく最初に出たメッセージがまた出てきてくれまして…すかさずコピーしてGoogle翻訳にかけました。(<既に自分で翻訳しようという気力がナイ)

 まあ、言っちゃ何ですがGoogle先生の翻訳も結構微妙な時が多いです。しかしとりあえず読み込めたのは“未定義関数の呼び出し” “スタックトレース2” “捕捉されないエラー”という言葉。実直に柳はプログラミングに関してはド素人なので、ここから類推される原因としては…サイト構築の際に子テーマに複写した関数が、新しいCocoonでは使用されていない、という状況くらいです。

 更に翻訳したエラーメッセージ(上記「スタックトレース」内の文章と思われます)を読んでいくと、

body-top-analytics.php on line 18

…というところに問題があるらしい。
 当該ファイル(body-top-analytics.php)の18行目を捜し出してそこの関数を削除してしまう、というのが対処として適切なのでしょうが、そもそもこのファイル、複写したはいいけど子テーマ内で弄った形跡がないので、ひょっとして最初から複写する必要なかったんでは…というところに思い至り、ファイルマネージャから子テーマのフォルダに入ってさっくり削除しました。(WordPressのダッシュボードからはphpの編集は出来ても生成・削除はできません)

 果たせるかな、致命的なエラーとやらは解消し、無事にアップデートできました。
 当サイトをCocoon仕様にするとき、柳が要る要らないを十分吟味しないまま大量のテンプレートをごっそり親テーマから子テーマ3に複写したので、結構不要なテンプレートも混じっていると思われます。少しお掃除が必要かも知れません。

 で、おそらくは…
 Cocoon 2.6.2でGoogleユニバーサルアナリティクス関連機能が廃止になっているので、上記のphpファイルはその関連の関数を含むものであったと推測されます。うーんやっぱり影響あったかユニバーサルアナリティクス。

 今のところ、一応7月以降のアクセスデータも拾えているようなので当サイトのアクセス解析についてはGA4への設定切り替えに成功したようです。
 でもまぁ、そうはいっても「ああ今日もお客様がきてくだすった、有り難や有り難や…」と伏し拝むだけなんですからあまり生産的とは言い難いんですけどね(笑)

 そして、WordPress6.3。一応アップデートはしましたが、まだどう変わったのかはよくわからないというのが実感です。再利用ブロックがなにやら使いやすくなった、というアナウンスがあるので一応期待はしていますが…どんなもんだか。

  1. 試行錯誤の末、現在はさくらインターネットが提供してくれている「Snapup」をメインに使っています。これならアップロード・ダウンロードの容量制限は関係ありませんし、アップロード前の動作確認もスムーズなので重宝。
  2.  スタックトレース【stack trace】:エラーが発生したときに表示される内容で、そのエラーが発生するまでの過程(どんな処理がどの順番で呼び出されたかの流れ)を表示したもの。
  3. 親テーマのアップデートによってサイトのカスタマイズが壊れないように、カスタマイズ部分を独立させたのが子テーマで、基本的には子テーマの設定が優先される造りになっているようです。ですが、今回のように子テーマで要求する関数を親テーマが含んでなかった場合はエラーになる訳ですな。 

コメント