プログラミング

WordPress のカスタム HTML が保存されない

本ブログでは Google Adsense 広告を表示しています。 WordPress のウィジェットからカスタム HTML を任意の箇所に置き、Google Adsense のコードを貼りつけています。
今はうまく表示できていますが、実は最初カスタム HTML に Google Adsense のコードを貼りつけて保存しようとした時、ずっと保存中の表記だけが出て、設定が反映されませんでした。

こんな感じです。
WordPressのカスタムHTMLが保存できなかった問題_実際の管理画面

原因は Google Adsense の広告コード内にある script タグが、WordPress のシステムかプラグイン、あるいはサーバーの設定に弾かれているからだと思われます。
なんとかならないかと調べてみたら、解決方法が見つかり、無事に解決できました。 今回はその解決法をご紹介します。

--- 広告 ---

解決方法:サーバーの WAF を一時 OFF にしました

先に解決方法を書きますね。
本ブログで利用しているレンタルサーバーの WAF を一時 OFF にしたことでうまくいきました。
参考にしたサイトがこちら →WordPress のウィジェットが保存できないとき
本ブログは heteml レンタルサーバーで運用しています。
heteml のコントロールパネルから一時的に WAF の設定を OFF にして、ウィジェットのカスタム HTML をいじってみたところ、うまくいきました。

詳細な手順は以下の通りです。

  1. heteml コントロールパネルにログインし、WAF 設定をクリック
  2. WAF 設定のボタンを OFF に切り替えます。(※設定反映まで数十分時間がかかることがあります。)
  3. WordPress の管理画面にログインし、ウィジェットのカスタム HTML に Google Adsense のコードを貼り付けます。WAF の OFF 設定が反映されているのであれば、ちゃんと保存されます。
  4. 再び heteml コントロールパネルにログインし、WAF 設定をクリック。WAF 設定のボタンを ON に切り替えます。

※WAF 設定の設定はしっかりと ON に戻しておきましょう。OFF のままでは危険です。
heteml管理画面

考えられた他の原因

さて今回の問題は無事解決し、めでたしめでたしなのですが、この問題は他の原因によって引き起こされる可能性もあるそうです。
同じように困っている方で、既に WAF の設定を試した方は、以下を確認してみると良いでしょう。

プラグイン

WordPress でうまくいかないことがあるとなると、まず疑うべきはプラグインです。
私もとりあえず起動しているプラグインの ON・OFF を繰り返して検証してみましたが、すべてハズレでした。で、WAF の設定をしたと。
ちなみに本ブログで利用してるプラグインは下記のモノです。
これらは今回の問題とはあまり関係がないようですね。

SiteGuard とかが怪しいと睨んでいたのですがね…

  • EWWW Image Optimizer
  • Google XML Sitemaps
  • Intuitive Custom Post Order
  • SiteGuard WP Plugin
  • Table of Contents Plus

他の JS ファイルとの干渉

当ブログのテーマ「SANGO」を同じく導入しているブロガーさんのサイトでは、うまく Google Adsense 広告が表示されていましたので、この線は薄いだろうなと考えました。
ただこのタイプの JavaScript のエラーって、JavaScript の読み込み順やバージョン違いでよく起こるんですよね。
プラグイン・WAF の設定をしても Google Adsense の広告が表示されないって方は、テーマ内の JavaScript ファイルを追ってみると良いでしょう。

--- 広告 ---

まとめ

  • WordPress のカスタム HTML に Google Adsense コードを貼ったら保存できなかった。でも解決した。
  • サーバーの WAF を一時的に OFF にしたら、うまくいった。
  • この他にもプラグインだったり、JavaScript ファイルの読み込み順だったりと考えられる原因もある。

なにがともあれうまく表示できてよかったです。本当に。
早めに有用な情報にたどり着けたのもラッキーでした。
WordPress に Google Adsense 広告を貼る時にうまくいかなかったら、参考にしてみてください。