WordPressは多くのブロガーやアフィリエイターに使われている、パブリッシングツールである。彼らのビジネスはPVを稼いで露出を増やし、質の高い記事を書き、広告やアフィリエイトのCTRを大きくすることだ。「記事の質の高さ」がなんなのかはさておき、閲覧数×クリック率×広告単価
という公式で利益を測れるビジネスである。
たくさんのメディアがこの広告モデルを採用しているのだが、一定以上の規模のメディアでは記事広告もあわせて採用している。今回はこの記事広告を商材にするWordPressサイトを運営するにあたって必要となる機能を、技術的な側面から紹介したい。
そもそも記事広告とは
さて、記事広告とはそもそもなんなのか。Wikipediaの冒頭を引用しよう。
記事広告(きじこうこく)とは、一般に新聞・雑誌などにおいてPR内容が通常の編集記事とよく似た体裁で編集されたペイドパブリシティ(paid publicity)の一種。広告記事(こうこくきじ)と呼ばれることもあるが、あくまでも広告であり記事の一種ではない。
「記事広」と略称されており、アドバトリアル (Advertorial、Advertisement(広告)とEditorial(記事)のかばん語)と呼ばれることもある。一目でそれとわかる純広告とは異なり、見掛け上記事の体裁をとることであたかも新聞社や出版社が内容に対し協賛・保証しているかのような印象を与えるなど、“消費者の警戒心が薄れ”注目を集めやすいとされる(ステルスマーケティングも参照のこと)。
つまり、Capital Pでいえば、あたかもWordPressのニュースであるかのような体を装い、どこかのホスティングサービスの紹介記事をお金をもらって書くということだ。
ステマ問題
さて、この記事広告は新聞・雑誌の時代から大量に存在していたのだが、日本でも口コミサイトやニュースサイトでステマことステルスマーケティングが問題になったことがある。記事広告で絶対に守らなければいけないルールは、記事の体裁を揃えている以上、「これは広告です」と明示することだ。そうしないと、読者は「騙された!」と思ってしまう。
記事広告という存在そのものがそもそもステマっぽくはあるのだが、記事広告を展開する以上、読者を騙したら終わりということは意識しておこう。なお、一時期「ネイティブアド」という言葉も出回ったが、本質的には記事広告とあまり変わらない。
記事広告と通常の広告の違い
普通のディスプレイ広告、アドネットワーク、アフィリエイト広告との違いをビジネス的な観点から考えると、一番大きな違いは「金額」だと言える。もちろん、メディアによって値段は様々だが、一記事で三十万円以上とるところも少なくない。芸能人などが絡む記事であれば、百万円を超えることもあるだろう。
なぜこうなるのかというと、わざわざ記事を作成する費用が発生するためだ。売り上げに応じて利益率も高く設定してあるため、記事広告が広告ビジネス上重要な戦略になっているメディアも多く存在するし、いくつかのパッケージ(例・一週間サイトジャック広告とセットで300万円)で販売しているケースも多い。
よくできた記事広告
悪い記事広告については、Wikipediaに上がっている事件がわかりやすいが、よくできていると筆者が個人的に考える記事広告を以下にあげよう。
- もしかしてこの人も?ネットに生息する”女に話しかけるのヘタすぎおじさん”の特徴——小野ほりでいの広告記事はあまり広告だと意識することがない。
- 市長って本当にシムシティが上手いの? 千葉市長とガチンコ勝負してみた——筆者の住む千葉市の首長が出てくる記事。行政の長を広告記事にひっぱりだしたヨッピー(もしくは編集部)のチャレンジがすごい。
とここまで上げた2つが両方ともオモコロの記事だったので、単に筆者がオモコロを好きなだけだとも思うが……要するにあまり広告っぽくない記事にすると、反感を買わないということを覚えておいてほしい。
記事広告に必要な機能
さて、上記を踏まえ、記事広告を展開するために必要な機能を紹介しよう。
記事広告の判別
まず、記事広告を判別できなくてはならない。これは色々アイデアがあるだろうが、タグで管理するのが簡単だ。たとえば、PRというタグを作っておき、それがついた記事は記事広告とする。次のような条件分岐用の関数を用意しておくのも良いだろう。
<?php /** * 投稿がPRかどうか。 * * @param int|null|WP_Post $post 指定しない場合は現在の投稿 * @return bool */ function capitalp_is_pr( $post = null ) { return has_tag( '', $post ); }
なぜこんなことをするかというと、「特定のタグがついているのが記事広告」という条件は、あとで変更されるかもしれないからだ。その時に、サイトのあちこちに書かれた if ( has_tag( 'pr' ) ) {}
という表現を変更して回るのは大変なので、専用の関数を作っておくことをオススメする。関数ならば、関数だけを直せば済む。
PR表記
2011〜2013年頃のステマ騒動を受け、記事タイトルが出る場所にPR表記を入れるのが業界の慣例となっている。これは特に法律上明記されているわけではないが、優良誤認が最終的に軽犯罪法に抵触することが考えると、「PRと入れておけば大丈夫」というのが慣例だ。これは二箇所やっておくと、ほぼ全体をカバーできる。
<?php /** * タイトルにPRを入れる * * @param string $title * @param null|int $post_id * @return string */ function capitalp_add_pr_to_title( $title, $post_id = null ) { $post = get_post( $post_id ); if ( capitalp_is_pr( $post ) ) { $title = '[PR]' . $title; } return $title; } add_filter( 'the_title', 'capitalp_add_pr_to_title', 10, 2 ); add_filter( 'the_title_rss', 'capitalp_add_pr_to_title', 10 ); /** * titleタグにPRを入れる * * @param array $title * @return array */ add_filter( 'document_title_parts', function ( $title ) { if ( is_single() && capitalp_is_pr( get_queried_object() ) ) { $title['title'] = '[PR]' . $title['title']; } return $title; } ); /** * Yoast向けのtitleタグ用フック * * Yoastは通常のdocument_title_partsを無効にしてしまうので、専用のフックを使う。 * * @param string $title * @return string */ add_filter( 'wpseo_title', function( $title ) { if ( is_single() && capitalp_is_pr( get_queried_object() ) ) { $title = '[PR]' . $title; } return $title; }, 20 );
注意すべきは記事単体ページだけではなく、一覧ページや検索結果ページ、OGPでの外部サイトでの表示でもPRが入るよう意識することだ。
配信からの削除
ニュースサイトではRSSなどを通じて外部(特にニュースポータルサイト)に記事を配信している場合が多い。しかし、そうしたポータルに対して広告記事を配信してしまうと、最悪の場合取引停止になってしまうので、リストから排除しておこう。
<?php /** * RSSフィードから記事広告を削除 * * @param WP_Query $wp_query */ add_action( 'pre_get_posts', function( &$wp_query ) { if ( $wp_query->is_main_query() && $wp_query->is_feed() ) { $tax_query = (array)$wp_query->get('tax_query'); $meta_query[] = [ 'taxonomy' => 'post_tag', 'field' => 'slug', 'terms' => 'pr', 'operator' => 'NOT IN', ]; $wp_query->set('tax_query', array_filter( $tax_query ) ); } } );
広告の排除
記事広告では先ほど紹介したパッケージ販売などがあり、その予算が大きいことも考えると、広告が表示されている記事ページで競合他社の別の広告を除外してほしいと言われることがある。これにはいくつか対応方法がある。
- そもそも対応しない。記事広告を作成すること以外の成果については、クライアントに口出しさせない。
- 記事広告のページだけ広告を外せるような機能をつけておく。ただし、これは個々の広告に条件分岐を入れていくスタイルにしてしまうとメンテで死ぬので、全部オフか全部オン、それぐらいにしておこう。
- Google Adsenseのようなアドネットワークでは拒否する広告ドメインを指定できるので、一時的に競合他社の広告が表示されないようにする。
ヘッダーやフッターにscriptタグやCSSを入れられる機能
広告記事ページだけちょっとリッチなスタイルに変更したり、なんらかの計測用JSを入れることが求められる場合がある。そんなときにちょっとしたスクリプトやCSSなどを追加できるプラグインを入れておくと良いだろう。
Simple Custom CSS and JSやCSS Javascript Toolboxなどがあるし、慣れている人はACFなどで管理してもよい。
確認用機能
ある程度の金額をかけて記事を書くのだから、確認してもらう機能が必要だろう。Public Post Previewというプラグインを使うと、クライアントに記事を確認してもらうのが簡単だ。
媒体資料
そもそもあなたのメディアが記事広告を商材にしていることを潜在的なクライアントは知っているのだろうか? 営業マンがいるようならそれでいいのだが、いない場合は媒体資料というPDFを用意しておこう。「媒体資料 記事広告」でググるといくらでも出てくるので、それを参考にするといい。
そもそもPRを担当する部署の人が媒体資料PDFを見て比較検討するということをやっているので、それにあわせておくのが無難だ。予算決定権のある偉い人に提出する紙が必要なのだろう。
さて、上記の機能があれば、記事広告を展開できる。以下、有料会員向けにCapital Pで行なっている記事広告への取り組みをご紹介しよう。