PR

ブログの収益化準備でハマった5つのトラブルと解決法【ConoHa WING×WordPress×Cocoon】

失敗談・リアル体験
記事内に広告が含まれています。
スポンサーリンク

ブログに記事が増えてきたので、アクセス解析、サーチコンソール、広告の設置と、収益化の準備を一気に進めました。ところが、これがまったく順調にいきませんでした。サイトマップが開けない、設定を保存しようとすると謎のエラー画面が出る、広告がアダルトばかり表示される。調べても「結局どれが自分のケースなのか」が分かりにくく、かなり時間を使いました。

この記事では、同じ構成(ConoHa WING+WordPress+Cocoon)で詰まりやすいトラブルを、症状・原因・対処の順に記録しておきます。特に、エラー画面の見た目から原因を絞り込む流れを意識して書いたので、同じ画面が出ている方の参考になれば嬉しいです。

スポンサーリンク

この記事で扱う5つのトラブル

症状主な原因対処
1wp-sitemap.xmlが「Not Found」になるパーマリンク設定「投稿名」に変更して保存
2設定保存時に「Forbidden access」が出るセキュリティ機能(WAF)が<script>を誤検知一時的にセキュリティ機能をオフにして保存し、すぐ戻す
3広告がアダルトばかり表示される広告枠のフィルタ未設定「アダルト・出会い等の広告を表示しない」にチェック
4広告位置の横に警告マークが出るメニューが広告に重なるおそれメニューの展開を確認し、該当位置を避ける
5iPhoneのプライベートブラウズで広告が出ないブラウザの追跡防止機能通常モードで確認する

トラブル1:wp-sitemap.xmlを開くと「Not Found」

背景

サーチコンソールにサイトマップを送信しようと思い、まずサイトマップのURLを調べました。私が確認した範囲では、Cocoonには、検索エンジン向けのXMLサイトマップを作る機能がありません(あるのは、読者向けの一覧ページを作るHTMLサイトマップの機能です)。一方、WordPress本体には、バージョン5.5以降、/wp-sitemap.xmlというサイトマップを自動で生成する機能があります。つまり、追加のプラグインなしでも、このURLを送信すれば足りるはずでした。

症状

ところが、ブラウザでhttps://自分のドメイン/wp-sitemap.xmlを開くと、WordPressらしい画面ではなく、「Not Found」「The requested URL was not found on this server.」という素っ気ないエラーが出ました。サーチコンソール側でも、サイトマップのステータスが「取得できませんでした」と表示されました。

切り分けの順番

原因を絞るために、次の順番で確認しました。

  1. URLの入力ミス:自分は最初、アドレスの頭をhttps://https//と二重に入力していました。恥ずかしい話ですが、まずここから疑うのが基本です
  2. 「検索エンジンがサイトをインデックスしないようにする」のチェック:「設定」→「表示設定」にあるこの項目にチェックが入っていると、サイトマップ自体が機能しません
  3. パーマリンク設定:「設定」→「パーマリンク設定」で、今どの形式が選ばれているかを確認する

自分の場合は、パーマリンク設定が「カスタム」になっていました。そこで、見やすい形式の「投稿名」を選んで保存したところ、wp-sitemap.xmlが無事に開けるようになりました。

結果と、送信するURL

表示されたのは、「この XML サイトマップは WordPress が生成しているもので、検索エンジンがコンテンツを見つけやすくします。」という説明つきのページで、投稿・固定ページ・カテゴリーの3つのサイトマップへのリンクが並んでいました。サーチコンソールの「サイトマップ」画面には、sitemap.xmlではなくwp-sitemap.xmlと入力して送信します。

なぜ直ったのか

パーマリンク設定を保存し直すと、WordPressはURLの振り分けルールを作り直します。wp-sitemap.xmlのような「実際にはファイルが存在しないURL」は、このルールがうまく働いていないと見つけられず、Not Foundになることがある、と考えられます。設定を「基本」以外の形式で保存し直すだけで直るケースは、他の方の報告でも見かけました。

注意点

運用期間が長く、すでに外部からリンクされている記事が多いサイトでは、パーマリンクの形式を変えると記事のURLそのものが変わる場合があります。私のサイトは開設して間もなかったので影響は小さいですが、既存サイトで試す場合は、事前に影響を確認しておくのが安全です。

トラブル2:設定を保存すると「閲覧できません(Forbidden access)」

背景と症状

アクセス解析やAdSenseのコードを、Cocoonの設定画面に貼り付けて保存しようとした時のことです。「Cocoon設定」→「アクセス解析・認証」のヘッド用コード欄に、AdSenseの接続用のコードを貼り、「変更をまとめて保存」を押しました。すると、保存されずに、次のような画面に切り替わりました。

「閲覧できません (Forbidden access)」「指定したウェブページを表示することができません。」

画面の右下には、小さく「Powered by SiteGuard Lite」と表示されていました。

原因:セキュリティ機能が<script>を攻撃と誤検知

「Powered by SiteGuard Lite」は、ヒントになる表示でした。調べたところ、ConoHa WINGのWAF(Webアプリケーションファイアウォール:不正なアクセスを防ぐ仕組み)には、SiteGuard Liteが使われているとされています。WAFは、サイトに送られてくるデータを監視し、攻撃に見えるものをブロックします。広告やアクセス解析のコードは、<script>というタグを含んでいるため、攻撃のパターンと似ていると判断されて、保存の通信ごと弾かれることがあるようです。

自分が試して、直らなかったこと

原因が分かっても、解決までは遠回りしました。次の3つは、単独では効果がありませんでした。

  • WAFのログを確認して「除外」する方法:コントロールパネルの「サイトセキュリティ」→「WAF」タブのログを見ましたが、エラーを再現した直後でも、一覧は空のままでした
  • WAFの利用設定をOFFにする:OFFになっていることを画面で確認してから保存しても、同じエラーが出ました
  • プラグイン「SiteGuard WP Plugin」の無効化:プラグイン一覧から見つけて無効化しても、やはり同じ結果でした

直った方法:両方を「同時に」オフにして保存

その後、忍者AdMaxの広告タグを保存する際に、もう一度確認しました。ConoHa WINGのWAFと、SiteGuard WP Pluginの両方を同時にオフにした状態で保存したところ、今度は問題なく保存できました。

推測ですが、サーバー側のWAFと、WordPress側のプラグインという2つの層が、それぞれ別にブロックしていたのではないかと思います。最初は片方ずつ試しては元に戻していたので、もう一方がブロックを続けていた可能性があります。

手順(一時的にオフにして保存し、すぐ戻す)

  1. WordPressの「プラグイン」→「インストール済みプラグイン」で、SiteGuard WP Pluginが有効になっていれば、いったん無効化する
  2. ConoHa WINGのコントロールパネルを開き、「WING」→「サイト管理」→対象サイト→「サイトセキュリティ」→「WAF」タブで、「利用設定」をOFFにする(反映に1〜2分かかるため、少し待つ)
  3. Cocoon設定の画面で、コードを貼り付けて保存する
  4. 保存できたら、すぐに両方を元に戻す(プラグインは「有効化」、WAFは「ON」)
  5. サイトの表示と、管理画面のログインに問題がないか確認する

一度保存されたコードは、通常は、保存時にブロックを外しておけば、その後セキュリティ機能を戻しても消えません。

安全面の注意

この方法は、一時的にサイトの防御を弱める操作です。次の点は、必ず守るようにしました。

  • 作業は短時間で終わらせ、終わったらすぐに元に戻す
  • WAFのログに該当の記録が出る場合は、WAFを丸ごとオフにするより、そのログだけを「除外」する方が安全とされています(自分の環境ではログが空だったため、この方法は使えませんでした)
  • どうしても不安な場合や、何度試しても直らない場合は、ConoHa WINGのサポートに問い合わせる

トラブル3:忍者AdMaxを入れたらアダルト広告ばかり

背景

AdSenseの審査結果を待つ間、審査が事実上不要とされる忍者AdMaxを導入しました。自動で広告を配置するタイプのタグを、Cocoonの「広告」タブの広告コード欄に貼り付けました。

症状

保存して表示を確認すると、サイトに出てきた広告が、アダルト系のものばかりでした。お金の話を書いているブログには、まったく似つかわしくありません。

原因と対処

原因は、広告枠側のフィルタを設定していなかったことでした。忍者AdMaxの管理画面で、広告枠の編集画面を開くと、「表示させない広告」という項目があります。ここで「アダルト・出会い等の広告を表示しない」にチェックを入れるのが、基本の対処です。タグ自体は、すでにCocoonに貼ってあるものを変更する必要はなく、広告枠側の設定を変えれば反映されます。

見過ごせないリスク

調べて特に気になったのは、次の2点です。

  • このチェックを入れても、ごくまれにアダルト系の広告がすり抜けるという報告がある
  • 他社の広告ネットワーク経由でアダルト広告が表示されたことが原因で、AdSense側から「アダルトコンテンツ」のポリシー違反の通知を受けた事例が報告されている

AdSenseを本命にするなら、他の広告ネットワークの併用は、表示内容をこまめに確認できる状態で、慎重に行う必要がありそうです。設定後の表示状況は、確認でき次第、この記事にも追記する予定です。

Cocoonの広告コード欄は、基本1つだけ

もう一つ、事前に知っておくと良い点があります。Cocoonの「アドセンス設定」の広告コード欄には、基本的に1つのコードしか入りません。忍者AdMaxのコードを入れている間は、その位置にAdSenseは表示されません。AdSenseに合格したら、この欄をAdSenseのコードに差し替える、という運用になります。

トラブル4:広告位置の横に出る警告マーク

症状

「Cocoon設定」の「広告」タブで、広告の表示位置を選ぶ項目を見ると、「サイドバートップ」「タイトル上」「タイトル下」などの横に、小さな警告マーク(三角形)が付いていました。説明文には、「広告にグローバルナビメニューが覆いかぶさっていませんか?」「広告設定の前にAdSenseポリシーをご確認ください。」と書かれています。

意味

これはエラーではなく、事前の注意喚起です。サイトのメニューが、カーソルを合わせたりタップしたりすると下に展開するタイプだと、その展開部分が広告の上に重なって、広告が隠れたり、意図しないクリックを誘発したりするおそれがあります。AdSenseでは、誤クリックを誘発するような配置は、ポリシー上問題になり得ます。

確認方法と、自分の判断

実際のサイトを開いて、メニューにカーソルを合わせる(スマホならタップする)と、下にメニューが展開するかを確認します。自分のサイトでは、メニューが展開する作りになっていたので、警告マークの付いた位置は避ける方針にしました。代わりに、本文上・本文中・本文下などの位置を使います。

なお、1ページに広告を詰め込みすぎると、ユーザー体験の悪化や表示速度の低下につながります。まずは3箇所程度から始めて、様子を見るのがおすすめです。

トラブル5:iPhoneのプライベートブラウズで広告が出ない

症状

広告を設置した後、スマホで表示を確認しようと、iPhoneのSafariのプライベートブラウズでサイトを開きました。ところが、広告がまったく表示されませんでした。

原因と確認方法

Safariには、サイトをまたいだ追跡を防ぐ機能があり、プライベートブラウズではこの保護がより強く働くとされています。広告の配信は、Cookieなどを使った仕組みに依存している場合が多いため、プライベートブラウズでは、広告が表示されないことがよくあるようです。

通常のブラウズモードで開き直したところ、広告が表示されました。つまり、設定の失敗ではなく、確認方法の問題でした。広告の表示確認は、通常モードで行うのが基本です。

5つのトラブルから学んだこと

  • エラー画面は、必ず「どこに何と書いてあるか」を見る:今回の「Powered by SiteGuard Lite」のような小さな表示が、原因の特定に直結した
  • 設定の変更は、一度に一つずつ行い、終わったら元に戻す:複数を同時に変えると、何が効いたのか分からなくなる。ただし、今回のように「複数の層が同時にブロックしている」ケースでは、両方を同時にオフにして初めて通ることもあった
  • スクリーンショットを残しておく:エラー画面の文言は、検索や問い合わせの手がかりになる
  • 「失敗」ではなく「確認方法の問題」のこともある:プライベートブラウズの件のように、設定は正しいのに、見ている環境のせいで正常に動いていないように見えるケースがある

よくある質問

Q1. WAFをオフにして、本当に大丈夫ですか? A. 一時的にサイトの防御を弱める操作なので、推奨される方法とは言い切れません。作業は短時間で済ませて必ず元に戻すこと、ログに該当があるなら「除外」の方を使うこと、不安ならサポートに相談することをおすすめします。

Q2. サーチコンソールに送るサイトマップのURLは何ですか? A. WordPress標準のものであればwp-sitemap.xmlです。sitemap.xmlやsitemap_index.xmlは、別のプラグインが生成するURLの名前なので、プラグインを入れていなければ存在しません。

Q3. 広告を貼ったのに表示されません。 A. 反映までに数分かかることがあります。また、AdSenseの審査中は、広告が表示されないことがあります。プライベートブラウズでは表示されないことがあるので、通常モードで確認してください。

まとめ

  • サイトマップがNot Foundになる時は、URLの打ち間違い、表示設定のチェック、パーマリンク設定の順に確認する(自分は「投稿名」に変更して解決した)
  • 設定の保存時にForbidden accessが出た時は、「Powered by SiteGuard Lite」の表示を手がかりに、WAFとプラグインの両方を、一時的に同時にオフにして保存し、すぐ元に戻す
  • 他社広告を併用する場合は、アダルト系を除外する設定を必ず確認し、AdSenseのポリシーに触れないよう注意する
  • 広告位置の警告マークは、メニューの展開を確認して、重なるおそれのある位置を避ける
  • 広告の表示確認は、通常のブラウズモードで行う

収益化の準備は、記事を書くのとは別の種類の、地味な作業の連続でした。同じ構成で詰まった方に、この記録が少しでも役立てば嬉しいです。


※本記事は、筆者が自分の環境で体験した内容と、公開情報を整理したものです。画面の表示や設定項目は、サービスの更新によって変わる場合があります。セキュリティ設定の変更は自己責任で行い、不安な場合はレンタルサーバーのサポートや専門家にご相談ください。

コメント

タイトルとURLをコピーしました