Google Adsenseを利用している人なら、サマリーに突然現れた警告を目にしたはず。「要注意・収益に重大な影響が出ないよう、ads.txtファイルの問題を修正してください」というピンクの帯を消したくないですか?
WordPressでブログ運営している人なら簡単に対処できますが、はてなブログProを利用している人は解決策がなくて苦境に立たされています。2019年8月現在、ネットには様々な情報が氾濫して、どれが正しいか分からない状況です。Wordpress、livedoorブログ、はてなブログProで複数のブログを運営している私が、自分で試して上手くいった解決策をお伝えしたいと思います。
WordPressでのads.txt問題を解決する
サーバを借りて独自ドメインで運営しているWordpressだったら、Googleの警告を回避するのは簡単。Adsenseの管理画面から「今すぐに修正」のリンクを押します。表示された画面より「ダウンロード」をクリックして、自分のサイト運営者 IDが入ったファイルをダウンロード。このads.txtのファイルをFTPでpublic_html直下にアップすれば、しばらくの期間を置いてAdsenseの警告は消えます。
これがads.txtの中身。テキストエディタで開いてみました。pub-の後ろには自分の番号が入っているので、いじらずにそのままFTPして構いません。
ちゃんとアップできたかの確認は、ブログURLの後ろに「/ads.txt」を足してクリック。ブラウザにgoogle.com・・・の平文が表示されればOKです。
livedoorブログでads.txt問題を解決する
自前のWordpressじゃなくても、livedoorブログなどads.txt問題に対応している会社では、ユーザーがads.txtのファイルをアップロードできるようになっています。
下の画面はlivedoorブログの管理画面。マイページのメニューから「画像/ファイル」を選択し、ファイル管理のタブをクリックします。アップロードを押して、自分のPCからads.txtを選択してアップするだけです。
はてなブログProでads.txt問題を解決する
はてなブログからの回答はads.txtを設置する予定なし
最大の難関。はてなブログはProを契約していても、Ads,txtには対応していないのです。はてなブログのお問い合わせには、非情な回答が載っていました。
はてなブログでは今後ともads.txtを配信する予定はなし。どうしてもやりたければ、独自ドメインを利用している人なら可能。でもサポートしないから自己責任で・・という内容です。手掛かりは下の一文だけ。
ご自身でzone apex(ルートドメイン)にサーバを用意していただきads.txtを配信することでご対応可能です。
あらら、zone.apexなんて専門用語を見ただけで、一般ユーザは途方に暮れてしまいそう。とりあえず私は文筆業なので微力でありますが、プログラミング言語、データベース、ネットワークの知識があり、Linuxで自前のマシンを構築した経験もあるので、はてなユーザー仲間のためにads.txt問題に取り組むことにしました。
なぜ私が必死になるか。一日の終わりにAdsenseの管理画面を見て、近ごろいきなり収益が落ちてきたのとads.txtは関係しているかも??と疑っているから。半信半疑な状態は精神衛生上よろしくありません。
はてなユーザーからは「放置」の解決策ばかり
誰か解決策を編み出したかを検索して出てくるのは、「はてなブログがads.txt問題は大丈夫と言ってるから放置しておく」的なページばかり。でも私は安心できません。はてなはSSL(https)化が遅れて、ブラウザに警告が出まくったブログですよ。Wordpressにするしかないかと、約1,000記事の引っ越しを覚悟した矢先にやっとSSL化しましたが、あの対応を思い出すと、ads.txt問題だって先はどうなるか分かりません。
VPSと固定IPを使ってads.txt問題を解決するのは難解
悶々として打開策を探していたら、あるエンジニアさんがVPS(仮想専用サーバ)と固定ITアドレスを使ってads.txt問題を解決したというブログを見つけました。しかし簡潔をきわめ、短い文章に専門用語が詰め込んであります。昔の記憶を掘り起こしてLinuxにチャレンジしてみるか・・・。
「AWSでEC2を契約する」という手順通りにやってみました。ネット検索しても情報が少ないのでかなり手こずります。AWS(アマゾンウェブサービス)のEC2(Elastic Compute Cloud)で、英文をクリアしつつ問題解決に行きつくまでには、クラウドベースで仮想マシンの立ち上げに始まって、WEBサーバ(Apache)の構築やファイヤーウォール、無料SSL(Let’s Encrypt)のイントール・設定など、高度な手順を踏まなくてはなりません。
FTPツールのように容易なものじゃなく、コマンドプロンプトで文字列を手入力しながら指示するプロフェッショナルな作業が続きます。下の画面のような言語をサーバと対話しながら打ち込んでいく、ミス入力が許されない世界なのです。
コマンドラインはF通の講師をしていた当時は余裕で入力できましたが、私の本業は作詞家だし、しかも寄る年波だし、報酬がないんじゃ面倒だ~~つ!! で、やってられません。EC2は1年間無料と言いつつも、その後はどれくらい料金がかかるのか心配です。
ちなみに、初期費用なしで、ひと月640円から使用できるというConoHa VPSも試してみました。AWSよりは使いやすかったですが、インスタンス(仮想サーバ)を作ったあとはコマンドラインで作業することに変わりありません。
試行錯誤しているうちに、無料SSLのLet’s Encryptがサーバ証明書の取得数制限を超えてしまい、1週間待ちになってしまいました。待ちきれないので自前でVPSを構築するのは止めて、うんと手抜きできる解決策を取ることにしたのです。
簡単!安いレンタルサーバでads.txt問題を解決する
VPS(仮想専用サーバ)と固定IPアドレスを使わなくても、安くて簡単な操作でads.txtを配信できる方法を考えました。おばちゃんの頭脳で考えたことですので、バリバリのプロから見れば鼻で笑う内容かもしれませんが、結果オーライならいいでしょ?
やりたいことは「ads.txtをドキュメントルートに保管」できて、Aレコード、CNAMEレコードの登録に手こずらない方法を探せばいいだけ。はてなブログProを契約している人は独自ドメインを持っているでしょうから、あとはads.txtを置けるサーバと契約するだけです。Wordpressを入れる必要はないので、ほんの間借り。無料SSLを使えるサーバなら、Let’s Encryptがボタン一発で設定できます。
1カ月無料お試し可能なサーバにads.txtを設置してテスト
頭の中だけの構想ですから、IPがらみで失敗するかもしれず、まずは無料お試しが可能なサーバを探しました。たまたま私が中古ドメインを溜めて登録していたバリュードメインが、コアサーバー(CORESERVER)と紐づいているのを発見。クレジットカード不要で、30日間無料トライアルできるのって嬉しくないですか?
ライトプランのCORE-MINIは容量60G、マルチドメイン50個、転送量無制限、無料SSL対応で、初期費用無料・1カ月198円(12カ月契約の場合)なのです。 ads.txtの配信に利用できるか、失敗しても1カ月間無料なので懐は痛みません。ソッコーで申し込みました。
いきなり本ブログをレンタルサーバでads.txt配信しなかった理由
ご覧いただいているこのブログはWordpressですが、はてなブログProでは2つのブログを運営しています。中でもファッションブログの「歳を隠すのをやめました」は指名検索がメインのファンブログでSEOはしていません。読者さんが育ててくれるおかげで、日に日に収益が上がっていくのを楽しみにしているのです。そこにいきなり訪れたのがアドセンスのads.txt問題なのでした。
はてなの問い合わせではサポートできないと断言され、ネット検索しても簡単な方法が見つからない大事態を回避するために、テストトライして成功した手順を載せますね。私はバリュードメイン&コアサーバを使いましたが、ドメインとサーバを一括管理している会社ならどこでも可能だと思います。コストを抑えるために、無料SSL証明が付いているところにしましょう。
PV数の高いブログをいきなり危険に晒せないので、今回テストするために余った中古ドメインを使いました。はてなブログには1記事だけ開設。
はてなのブログURLを独自ドメインに紐づける作業と、サーバのドメインルート直下にads.txtを置く作業、無料SSL証明のLet’s Encryptを設定する作業は超簡単。コマンドラインに文字を手入力する作業とは段違いで、ボタンを選択するだけの楽ちんさでしたよ。ただしトータルして待ち時間は5~6時間かかりました。
手順を追って説明します。
はてなブログProにテスト用ブログを開設
まずは下準備。はてなブログProに1記事だけのテスト用ブログを開設しました。下の画像は独自ドメインになった後ですが、初期ドメインは〇〇〇〇.hatenabllog.comです。(このサイトはコアサーバの無料期間終了とともに消す予定です。)
コアサーバーを契約してバリュードメインでDNS設定
1カ月間無料のコアサーバー、ライトプランのCORE-MINIを契約。独自ドメインを登録してあるバリュードメインのコントロールパネルに移動します。メニューの「ドメイン」→「ドメインの設定操作(登録済みドメイン一覧)」を選び、使用するドメインの右横にあるボタンから「DNS/URL」をクリックします。
次に「当サービス内サーバーの自動DNS設定」のドロップダウンメニューから、コアサーバーで契約したサーバ名を選択。自動でDNS設定が行われ、AレコードのIPアドレスもちゃんと入っています。DNS設定方法については、同じページに例が幾つも載っているので参考にしてください。
サーバはWordpressをインストールせず、ドメインルート直下にads.txtを置くことだけに使用するので、ここだけちゃんと設定できれば良いのです。ただしads.txtの配信にはhttpとhttpsが必要。無料SSLのLet’s Encryptを使うにあたり、念のためにAレコードをいじりました。「a * IPアドレス」→「a @ IPアドレス」へ。*(アスタリスク)はサブドメインありがポイントされ、@(アットマーク)はサブドメインなしがポイントされます。
はてなブログProで独自ドメインを使うには、冒頭にサブドメインを設定する必要があります(私はwwwを付けました)。はてなブログもSSLはLet’s Encryptを使用しているらしいので、ぶつからないように、ads.txtのあるドメインルートを@(アットマーク)で指定しました。
さらに絶対必要なのがCNAME。詳しい設定方法は、はてなブログヘルプの「はてなブログを独自ドメインで利用する」に書かれています。私はサブドメインをwwwにしたので、「cname www hatenablog.com」をDNS設定に入れました。DNS設定にはメールサーバとTXTレコードも自動で設定されていますが、放置して大丈夫です。
コアサーバーのドメイン設定とサイト設定
使用するドメインをコアサーバーに指定します。バリュードメインのメニューで「サーバー」→「コアサーバー」のコントロールパネルへ移動するので、アカウント@サーバーの枠の中にある「新コントロールパネル」をクリック。コアサーバーのダッシュボードに移動します。
ダッシュボードのメニューから、ドメイン設定を選択。ドメイン設定の新規作成ボタンを押します。ドメイン名を入力。「サブドメインを使う」は要りません。オプションのAレコードチェックを行うにレ点を入れて、新規作成します。
次にダッシュボードのメニューから、サイト設定を選択。ドメイン設定が終わっていれば、ドメイン名はプルダウンメニューで選べます。他はいじらず、SSLのところで「無料SSL」を選び、新規作成ボタンを押します。
はてなブログProの詳細設定で独自ドメインを入力
忘れちゃならないのが、はてなブログProでの設定。詳細設定の画面で独自ドメインの欄に、サブドメイン付き独自ドメインを入力します。下の画像はドメインの設定状況が「有効」になっていますが、こうなるまで時間を要して、「レコードが見つかりません」→「エラー」→「有効」に変わっていくはずです。
ads.txtをドメインルート直下に置く
アドセンスの「今すぐ修正」からダウンロードしておいたads.txtをサーバに送ります。FTPを使ってもいいのですが、ソフトの設定が面倒なので、ファイルマネージャーを使いました。サイト設定からサイト名をクリックすると、FTP/SFTP接続情報の下に、ファイルマネージャーのボタンがあります。
ご覧のようにディレクトリーツリーは触らず、ads.txtをアップしました。進行状況をチェックするためにindex.htmlもアップ。これがあると、はてなブログと独自ドメインサイトとの切り分けができているかの確認がしやすいからです。
独自ドメインのブログが表示されるまではSSLのエラーが続く
数々の手順を踏んで、ここからはひたすら待つだけです。SSL証明書が有効になったかのチェックをするのに、ブラウザは証明書が見やすいGoogle Chromeで確認しました。
Let’s Encryptが通れば、wwwなしのドメイン(https://ドメイン名)で、URLの左端に鍵マークが表示されます。
先ほどアップしたindex.html。ファイルには<HTML><HEAD><TITLE>index</TITLE></HEAD><BODY>index 2019/08/10</BODY></HTML>だけ書いてあります。
ads.txtも確認できました。
ひどく時間がかかったのは、はてなブログで設定したwww付きのドメインが認証されるまで。これがうまくいかないと、独自ドメインのサイトは危険判定されて表示されません。ちなみにこんなプライバシーエラーが続きます。
下の画像は、保護されていない通信のURLにドメイン名だけ表示されていますが、クリックするとwww付きURLが表示されます。△マークをクリックして表示された証明書を確認。発行元が「hatenablog.com」になっていますよね。(発行者はPCにインストールしたセキュリティソフトが置き換えているので問題なし)。この「hatenablog.com」が「www.ドメイン名」に置き換わったら成功です。
こちらが全て完了した安全なSSL証明書。発行元が「www.ドメイン名」になっています。はてなブログProのCNAMEが無事に通ったことが分かります。
本サイトでads.txtを設定するときの留意点
本番前のテストは、バリュードメインとコアサーバーを使って5~6時間かかりました。他の会社では何時間かかるか全く想像がつきませんが、本サイトはムームドメインとロリポップ(ライトプラン)の組み合わせで行こうと思っています。ロリポップにはWORDPRESSのサイトを既に置いているので、本サイトの独自ドメインを追加していく形になります。
安定性に評判の良いXserverも考えたのですが、セットにするエックスドメインは慎重すぎて、何をやるにも時間を要するんですよね。はてなブログの場合、ホームページやWordpressみたいに「メンテナンス中」にすることは無理だと思うので、時間との勝負です。夜中とか、閲覧者の少ない時間帯に決行して、あとは運を天に任せるのみ。
万が一にでも失敗したら、ブラウザが危険なサイトとして警告する心配も・・。「ウイルスにやられた?」と読者から疑われたくありません。
この記事は私の経験値だけで書きましたので、もしも参考にするなら、念には念を入れて他の情報もチェックしてくださいね。ご質問にはお答えできないのをご了承いただき、真似をするなら自己責任で行うようにお願い致します。
追記:細かい話です。文中に「サーバ」と「サーバー」が混在しているのは理由があります。F通でテキスト開発をしていた頃、「サーバ」と記すように指導されたからです(「ユーザー」も「ユーザ」と書かなきゃいけないんだけど)。英語の発音が元になっているんでしょう。ただし「コアサーバー」「バリューサーバ―」は固有名詞なので、「サーバー」にしています。A型の文筆業は細かいのです・・。
コメント
はじめまして。
ads.txtの件でGoogleのヘルプとはてなブログ側の回答を見ると、放置して良いと判断していましたが、本日Googleから「[ご対応ください] 広告収益を守るために ads.txt をご使用ください」という件名でメールが届きました。
困ってこちらに辿り着いたのですが、新たにサーバーを借りるという事ですね?
また、記事の内容を拝見したところ、とてもハードルが高く自分にできるとは思えませんでしたので、はてなブログに何度も要望を出そうかと思ったりしています。
貴重な記事をありがとうございました。
レノン様
コメントをありがとうございます。
ads.txtはlivedoorブログだと管理画面から設定できるのに、はてなブログは対応していないんですよね。
ユーザーが声を大にしてリクエストすべきだと思います。
livedoorブログは春からやっとSSL化するそうなので、私は引越しも範疇に入れています。