mai
投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.8.2)
Welcart のバージョン:(例 2.11.20)
PHP のバージョン:(例 8.2)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.5.8、SKU Select 1.4.7)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.8.7)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.5.5)
利用している決済モジュール:
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------
フォーラムへの返信
-
投稿者投稿
-
mai
参加者furuta 様
早々のご返信ありがとうございました。
テーマをWelcart Basicに切り替えてもエラーが発生したため、キャッシュやWAF、.htaccess、プラグインの影響を疑い、furuta様よりご提案頂いた様にすべて無効化して検証しましたが結果は同じでした。しかし、別のパソコンや Firefox・Edge ではエラーは確認されませんでした。
検討の結果、Chromeのデベロッパーツールでスマホ表示に切り替えた場合のみ401エラーが発生することが分かりました。パソコン幅(1000px 以上)に切り替えるとエラーは出ず、他のパソコンでも同様でした。
つまり、reCAPTCHA v3は画面サイズやUser-Agentに応じて「ボットか人間か」を判定しているのでは?
そして、モバイル表示時にはサーバー側が想定外のトラフィックと判断して401を返している可能性が高いと考えられます。(あくまで想像です!間違っているかもしれません。)
このように考えると、Welcart Basicに切り替えてもエラーが発生することも納得できます。
また、xserverのサポートの方からも「現状reCAPTHAの導入は成功しているように見受けられました。」との回答を頂きました。一応、様子見ではありますがご報告いたします。今回も間抜けな結果となりましたが、今後ともよろしくお願い致します。
mai
参加者「reCAPTCHA v3のエラーについて」
現在、テスト環境として使用しているWelcart Basicテーマで、reCAPTCHA v3に関連する401エラーが発生しています。調査内容
このエラーは、新規入会フォームの画面にて確認されており、原因はrecaptcha_ja.jsが複数回読み込まれることにあると推測しています。Welcart Basicは2025年8月27日にダウンロードしたバージョンを使用しています。
header.php、page.php、footer.php、functions.phpは、ダウンロードしたオリジナルのファイルをそのままアップロードしています。
Contact Form 7はreCAPTCHAをインテグレーション設定せずに使用しています。
このようにすることでContact Form 7によるrecaptcha_ja.jsの読み込みは発生しないと考えています。
(通常は別のテーマvoll内でfunctions.phpをカスタマイズしてreCAPTCHAを有効化しています。)reCAPTCHA v3のサイトキーとシークレットキーが正しくドメインに紐付けられているか確認するコードをfunctions.phpに一時的に追加してショートコードにて実行させて、正しくドメインと紐付けされている事を確認しています。
また、サイトキーとシークレットキーは、reCAPTCHA管理画面よりコピーして、ダイレクトにwelcartのシステム設定 拡張機能のreCAPTCHA登録フォームにペーストしています。半角や改行コードは含まれていません。
本番環境のため、深夜に短い時間にテストを行うため、他のプラグインを同時に解除は出来ていませんが、ここに解除しても問題が改善されませんでした。
前回の投稿でも書きましたが、何らかの原因で401エラーが発生しなくなることもありますが、しばらくすると元に戻ります。
現状の認識
今回のエラーは、私がカスタマイズしたファイルとは無関係に、Welcart Basicテーマ自体かプラグインの組み合わせの不具合が原因で発生している可能性が高いと考えています。
間違っていれば申し訳ありません。つきましては、この401エラーの根本的な原因について、詳細な調査をお願いいたします。
mai
参加者本日確認すると、401エラーが発生しました。
Welcartを介さずにWordPress上で、reCAPTCHA v3のサイトキーとシークレットキーが正しくドメインに紐付けられているか確認するショートコードを走らせ、しばらくしてから確認すると解消します。
何か基本的なミスを犯しているような気がします。
アドバイスお願いします。mai
参加者理由は分かりませんが、401エラーが解消しました。
行ったことを一応書いておきます。recaptcha管理画面にて、登録ドメインの順番を入れ替えて保存しました。キーは従来通りでそのままです。
wwwありなしの順番を入れ替えただけです。Welcartを介さずにWordPress上で、reCAPTCHA v3のサイトキーとシークレットキーが正しくドメインに紐付けられているか確認するコードをfunctions.phpに一時的に追加してショートコードで実行させて、正しくドメインと紐付けされている事を確認しました。
以上の2点です。
エラーが解消した理由が不明なので
詳しい方々のアドバイスを頂ければと願っています。mai
参加者解決しました。
問題は複数回jsファイルを読み込むことにありました。
ikd 様の
「functions.php 以外にContact Form 7 や Welcart のシステム設定 > 拡張機能 でも reCAPTCHA v3 の設定をおこなっていないかご確認いただけますでしょうか。」
これアドバイスが参考になりました。解決した方法を残しておきます。
Welcart のシステム設定 > 拡張機能 の reCAPTCHA v3 の設定を優先しました。
contact form7のインテグレーションを設定すると全ページにおいてjsファイルを読み込むため
ここでの設定をしないように、reCAPTCHAのキーを削除しました。
そこで、contact form7を使用しているページだけでjsファイルを読み込み
grecaptchaを呼び出すようにしましたが、すると
Uncaught ReferenceError: grecaptcha is not definedのエラー
grecaptchaを呼び出すタイミングを遅らせて実行すると、エラーもクリア出来ました。
判定基準は都度数値を修正する必要がありますが、様子見の状態です。mai
参加者ikd 様
ご返信ありがとうございます。
スクリプトが重複して読み込まれたことが原因だと思います。
Contact Form 7にてrecaptchaを読み込み
Vollでは、functions.phpにてformが存在するページ以外はwp_deregister_script( ‘google-recaptcha’ );としているだけです。
Welcart のシステム設定 > 拡張機能 でも reCAPTCHA v3 を設定していましたので、
これを停止してキャッシュをクリアしても同様に401が出ます。テーマを本日ダウンロードした最新のWelcart Basicにしても同様の結果です。
もしかすると、contactform7に起因するかもしれません。
そうなると、プラグインかfunctions.phpでrecaptchaを読み込み
contactform7のインテグレーションのreCAPTCHAのキーを削除すれば問題は解決するかも?もしかすると私のパソコン環境によるものかも?
お時間が許されるなら、Welcart BasicにてContact Form 7にてrecaptchaを読み込み
会員登録の画面で401エラーが発生するかお教え願えないでしょうか?
よろしくお願い致します。mai
参加者訂正いたします。
Firefox edgeのconsoleに表示されているrecaptchaに関するメッセージはエラーではなく
注意警告のレベルのものでした。mai
参加者自己解決いたしました。原因は、やはり functions.php 内の記述にありました。
私が行った主な対応は以下の通りです。PHP 8.1.x で使用できなくなった extract() などの関数を見直し
error_reporting(0); を削除
記事編集画面下部に表示されていたエラーメッセージを確認し、
「絵文字が無い」との内容だったため、以前スピード改善目的で追加していた
絵文字読み込み停止処理を削除どこかのサイトのコピーをした際に含まれていた、構文エラーの原因となる全角スペース(不可視文字) を除去(これは、AIの力を借りました。)
これらの修正により、エラーは解消し問題なく動作するようになりました。
症状としては、
管理者ユーザーの変更ができなかった
記事一覧画面で All in One SEO の AIOSEO 詳細 項目が“処理中”のまま表示されず、設定ができなかった
といった不具合も、あわせて解決しました。PHP 8 系は以前よりも厳格な動作になっていると改めて感じました。
同じような状況でお困りの方の参考になれば幸いです。
今後ともどうぞよろしくお願いいたします。mai
参加者追加説明
phpのバージョンにより読み込みに違いが出ています。
固定ページ編集画面をchrome デベロッパーツールで見ると
php7.4.33での読み込み
wp-admin
images
js
post.php?post=
load-scripts.php?
load-scripts.php?
load-styles.php?
wp-content
wp-includesphp8.0.xの場合
wp-admin
post.php?post=
load-scripts.php?
load-styles.php?
wp-content/plugins
wp-includesphp8.0.xの場合には画像とjsファイルとwp-contentの読み込みが出来ていない状態です。
mai
参加者追加説明
テーマをwelcart basicにすると問題なく動作しました。
php バージョンも8.0.*から7.4.33にすると動作はします。
もしかするとfunctions.phpにphp8.0.*では動作しないラインが存在するのかもしれません。
ただ、ユーザー変更をするまではphp8.0.*で正常に動作をしていたので、
原因の特定は難しいかも?functions.phpのコードの見直しをすることにします。
引き続きアドバイスをお願い致します。mai
参加者furuta 様
早々のご返信ありがとうございます。
見栄えが悪いだけなので、次期バージョンまで待ちます。mai
参加者解決いたしました。
メールアドレスの2重登録をしていました。mai
参加者サーバーのWAF設定は全てONにしていますが、関係はあるのでしょうか?
mai
参加者解決いたしました。自分のドメインを知らぬ間に拒否していました。
おさがわせしました。mai
参加者解決はしていませんが、別のパソコンのメールソフトでは受信出来ていたため
該当のパソコンのメールソフトか何らかの環境設定が問題の可能性があります。
お気づきの点がございましたらアドバイスお願いします。 -
投稿者投稿