ads.txtをエックスサーバー上のWordPressに設置する

Google Adsenseを導入して2か月ほど経ったころ、Adsenseのホーム画面に初めて見るメッセージが表示されていました。

ads.txt ファイルが含まれていないサイトがあります。収益に重大な影響が出ないよう、この問題を今すぐ修正してください。

最初はびっくりしましたが、ちょっと調べた感じでは、すぐに対処しなければならないわけではなさそうで、もともと大して収益が出ていたわけでもなかったので、しばらく放置していました。

が、私もIT技術者の端くれです。

先日、ようやくads.txtをエックスサーバーのWordPressに設置したので、私がやった対処をお話ししたいと思います。

スポンサーリンク

ads.txtとは

ads.txtは、平たく言えば、「この人なら、このサイトに用意した広告枠を使っていいよ」と宣言した文書です。

以下、Google Adsenseのヘルプを引用します。

ads.txt による認定デジタル販売者(Authorized Digital Sellers)の宣言は IAB によるイニシアチブで、コンテンツ内のデジタル広告枠が、そのコンテンツのパブリッシャー(ウェブサイトならばサイト運営者)が認定した販売者(AdSense など)を通してのみ販売されるようにするものです。サイト運営者様は ads.txt を独自に作成することで、自サイトの広告枠の販売者を厳密に管理し、偽の広告枠が広告主に提供されるのを防ぐことができます。
ads.txt は、使用することを強くおすすめします。ads.txt を使用すれば、購入者が偽の広告枠を判別できるため、サイト運営者様としても偽の広告枠に収益が流れるのを阻止し、その分収益を増やすことができるというメリットがあります。

ads.txt で認定販売者を宣言する

ads.txtの内容について

ads.txtは単純なテキストファイルですから、極端な話、Windowsであればメモ帳で必要項目を書いて適切なフォルダにads.txtという名前で保存すればOKです。

Google Adsense のヘルプにも書かれていますが、Googleに広告枠の利用を認める場合、次の1行をads.txtに書きます。

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0

「pub-0000000000000000」の部分には、サイト運営者IDが入ります。

サイト運営者IDが分からない場合は、Google Adsense のヘルプのサイト運営者IDを確認するを参考に確認してください。

エックスサーバーにads.txtを設置する

この記事を読んでいる大体の方は、自宅や事務所にサーバがあってそこにWordPressを入れているというよりは、何らかのサービスでサーバを借りて、そこにWordPressを入れているという方がほとんどかと思います。

私も例外ではなく、エックスサーバーというところでサーバを借りてブログを運用しています。

そのため、次のどちらかの方法でads.txtを設置する必要があります。

  1. 自分のPCで作成したads.txtを転送する
  2. エックスサーバーに接続してads.txtを作成する

私は後者を選びました。

理由としては、ファイル転送ソフトをインストールしていなかったのと、ある程度Linuxの知識があって、実際サーバに入っていろいろやってみたかったからです。

エックスサーバーに接続する方法

エックスサーバーにログインするには、SSH(Secure SHell)接続を行います。

SSHをごく簡単に説明するなら、安全な遠隔ログインとでも言えるかと思います。

SSHはパスワード認証公開鍵認証のいずれかの方法で認証を行う必要があるのですが、エックスサーバーは公開鍵認証のみ可能です。

パスワード認証はいわゆるパスワードを入力してログインする方法で、公開鍵認証公開鍵と秘密鍵の鍵ペアによってログインする方法です。

この鍵ペアの作成についても、エックスサーバーとのSSH接続の場合は2通りの方法があります。

  1. エックスサーバー側で鍵ペアを作成し、秘密鍵を自分のPCに置く
  2. 自分のPCで鍵ペアを作成し、公開鍵をエックスサーバーに置く

どちらの方法でもかまいませんが、私は後者の方法をとりました。

理由としては、自分のPCのOSがWindowsでかつTera Termをインストールしておらず、仮想マシンのLinuxから接続することを想定していたためです。

あとは、通信が暗号化されているとは言え、なんとなくHTTPSで秘密鍵の情報が渡されるのが嫌だったからです。

鍵ペアの作成

ということで、まずは仮想マシンで鍵ペアを作成しました。

Mac OS や Cent OS などであれば仮想マシン使わなくて済むんですけどね…。

コマンドライン上でssh-keygenコマンドを実行するだけです。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa): # デフォルトでいい場合はそのままEnterキーをす
Created directory '/home/username/.ssh'. # ~/.ssh がない場合、ディレクトリが作成される
Enter passphrase (empty for no passphrase): # パスフレーズを入力する
Enter same passphrase again: # もう一度パスフレーズを入力する
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.

これで、メッセージのとおり鍵ペアが作成されます。

$ ls /home/username/.ssh
id_rsa  id_rsa.pub

id_rsaが秘密鍵、id_rsa.pubが公開鍵です。

この後公開鍵の内容をエックスサーバーに設定するので、id_rsa.pubの内容をコピーしておきます。

エックスサーバーの接続設定

まずはエックスサーバーのサーバーパネルにログインします。

サーバーパネルログイン画面
サーバーパネルログイン画面

続いて[SSH設定]をクリックします。

トップページ
サーバーパネルトップページ

「ONにする」を選択し、[設定する]ボタンをクリックします。

ssh設定
SSH設定

続いて、[公開鍵登録・更新]タブをクリックし、「公開鍵」のテキストエリアに先ほどコピーした公開鍵の内容を貼り付けて、[確認画面へ進む]をクリックします。

公開鍵登録・更新画面
公開鍵登録・更新画面

[登録する]ボタンをクリックします。

公開鍵登録・更新確認画面
公開鍵登録・更新確認画面

これでエックスサーバーのSSH設定は完了です。

エックスサーバーにSSH接続してads.txtを作成する

エックスサーバーにSSH接続します。

$ ssh -l [サーバーID] -p 10022 -i /home/username/.ssh/id_rsa [サーバー番号].xserver.jp
Enter passphrase for key '/home/karino/.ssh/id_rsa': # 鍵ペア作成時に設定したパスフレーズを入力
The authenticity of host '[サーバー番号].xserver.jp' can't be established.
ECDSA key fingerprint is **********.
Are you sure you want to continue connecting (yes/no)? # 初回のみ表示される。「y」と入力してEnter

サーバーIDはサーバーパネルのログイン時に入力しているID、サーバー番号はサーバーパネルのトップページに表示されている英数字をそれぞれ使用します。

これで、エックスサーバーにSSH接続できました。

あとは、ads.txtを作成したいディレクトリに移動して作成します。

$ cd [ads.txtを作成したいドメインのパス]/public_html
$ vi ads.txt

viコマンドでads.txtを開いたら、前述のように以下の一行を書き足しましょう。

 google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0

「pub-0000000000000000」の部分には、サイト運営者IDが入ります。

これでads.txtの作成は完了です。

私は1日後にはadsenseの警告が消えていました

自分の環境にあったやり方でads.txtを設置しましょう

ads.txtの設置方法は、ファイルを作ってから転送するか、転送先にログインしてそこで作成するかの2通りの方法があります。

私はエックスサーバーにSSH接続してWordPressにads.txtを作成する方法を紹介しましたが、ご自分の環境に合わせて、他のサイトも参考にしてみてください。

コメント