Ghost CMSで広告を管理

World Administrator
2023年8月22日
6 分で読めます
Photo by Austin Distel / Unsplash

目次

Ghost CMSを使用しているサイトでGoogle AdSenseによる自動広告を設定している方向けの紹介です。

Google AdSense - Inkomsten genereren met uw website
Genereer inkomsten met uw website via Google AdSense. We optimaliseren uw advertentieformaten zodat de kans groter is dat bezoekers de advertenties zien en erop klikken.
Ghost: The #1 open source headless Node.js CMS
Everything you need to know about working with the Ghost professional publishing platform.

AMP自動広告の設定方法については、こちらの記事をご覧ください。

Managing Ads with Ghost CMS | Setting Up AMP Auto Ads
In this article, we’ll discuss managing ads using Ghost CMS and configuring AMP Auto ads from Google AdSense. Note that we use src=# for privacy reasons, but in your actual environment, please replace it with the appropriate values. Ghost: The #1 open source headless Node.js CMSEverything you need…

この記事で紹介している方法は一般的なテーマを利用している場合の手順であり、特殊なテーマを利用している、または自作のテーマを利用しているなどの状況ではコードを自分の環境に読み替える必要があります。

💡
注意: このページで説明している内容はGhost CMSをセルフホストしているユーザー、もしくはCreatorプラン以上の方が利用できます。つまり、Starterプランでは利用できません

テーマをアップロードすることができるのはGhostではCreaterプラン以上でないとできないからです。

Ghost(Pro) - Official managed hosting for Ghost
The best Ghost managed hosting from the creators of the open source publishing platform. Spend less time on your server, more time on your site.

セルフホストをしてもいいですが、CDNによるコンテンツ配信の高速化などにかかる費用を考えるとGhostのプランアップグレードをするのが安上がりになると思われます。また、Google AdSenseを利用する上でAds.txtをアップロードする方がいいとされています。このアップロードをするのにもテーマのアップロード機能を利用する必要があるため、Google AdSenseを利用してブログ運営の費用を回収したいと考えているような小さなブログであってもCreatorプランがおすすめです。有料会員のメンバーシップ収益で費用のすべてを回収したいのであれば、つまりGoogle AdSenseなどの広告に頼らないのであればStarterプランでもいいかもしれません。

ads.txt に関するガイド - Google AdSense ヘルプ
ads.txt による認定デジタル販売者(Authorized Digital Sellers)の宣言は IAB Tech Lab によるイニシアチブで、コンテンツ内のデジタル広告枠が、そのコンテ

Google AdSenseから自動広告のコードを入手する

Google AdSense - Inkomsten genereren met uw website
Genereer inkomsten met uw website via Google AdSense. We optimaliseren uw advertentieformaten zodat de kans groter is dat bezoekers de advertenties zien en erop klikken.

Google AdSenseに移動し、広告サイトごとコードを取得から自動広告のコードを入手してください。

自動広告のコードは以下のようなコードです。個人情報保護のためsrc=#としています。

<script async src="#"
     crossorigin="anonymous"></script>

テーマをダウンロードする

あなたのGhost Adminサイトにログインし、SettingsDesignChange Themeへと移動します。Advancedをクリックし、ボタンをクリックするとDownloadボタンが表示されますので、現在利用しているテーマ、あるいは利用したいテーマをダウンロードしてください。

テーマを解凍する

テーマをダウンロードしたら、好きな場所で解凍してください。作業しやすいフォルダーがいいと思います。

default.hbsを見つける

テーマをダウンロードし解凍したら、次はdefault.hbsというファイルを見つけます。

ファイルを見つけられたら、開いて次のステップに進んでください。

記述を探す

ファイルを見つけられたら、<head>...</head>という記述を探します。

たとえば初期のテーマであるcasperでは以下のような記述です。

Casper
Open source technology for fiercely independent publishers. Use Ghost to run a modern publication where you own the platform & control your content
<head>

    {{!-- Basic meta - advanced meta is output with {ghost_head} below --}}
    <title>{{meta_title}}</title>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="HandheldFriendly" content="True" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    
    {{!-- Preload scripts --}}
    <link rel="preload" as="style" href="{{asset "built/screen.css"}}" />
    <link rel="preload" as="script" href="{{asset "built/casper.js"}}" />

    {{!-- Theme assets - use the {asset} helper to reference styles & scripts,
    this will take care of caching and cache-busting automatically --}}
    <link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}" />

    {{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings,
    it should always be the last tag before the closing head tag --}}
    {{ghost_head}} 

</head>

別のテーマであるeditionでは以下のように記述されているはずです。

Edition
Open source technology for fiercely independent publishers. Use Ghost to run a modern publication where you own the platform & control your content
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{meta_title}}</title>

    <link rel="stylesheet" href="{{asset "built/screen.css"}}">

    {{ghost_head}}
</head>

結局のとこら、どのテーマであれ<head>...</head>と言う記述を探す必要があります。

さて、<head>タグ(<head>...</head>)のことです)を見つけることができたら、その下に広告を挿入するコードを記述していきます。つまり、以下の場所に記述します。記述する場所を、

<!-- WRITE GOOGLE ADSENSE CODE HERE -->
	
<!-- GOOGLE ADSENSE CODE ENDS HERE -->

と書くことにします。

Casper

<head>

    {{!-- Basic meta - advanced meta is output with {ghost_head} below --}}
    <title>{{meta_title}}</title>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="HandheldFriendly" content="True" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    
    {{!-- Preload scripts --}}
    <link rel="preload" as="style" href="{{asset "built/screen.css"}}" />
    <link rel="preload" as="script" href="{{asset "built/casper.js"}}" />

    {{!-- Theme assets - use the {asset} helper to reference styles & scripts,
    this will take care of caching and cache-busting automatically --}}
    <link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}" />

    {{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings,
    it should always be the last tag before the closing head tag --}}
    {{ghost_head}} 
    
	<!-- WRITE GOOGLE ADSENSE CODE HERE -->
	
	<!-- GOOGLE ADSENSE CODE ENDS HERE -->
</head>

Edition

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{meta_title}}</title>

    <link rel="stylesheet" href="{{asset "built/screen.css"}}">

    {{ghost_head}}
    
	<!-- WRITE GOOGLE ADSENSE CODE HERE -->
	
	<!-- GOOGLE ADSENSE CODE ENDS HERE -->
</head>

有料会員には広告を表示しない

<!-- WRITE YOUR GOOGLE ADSENSE CODE HERE -->
{{#unless @member.paid}}
	<script async src="#"
     crossorigin="anonymous"></script>
{{/unless}}
<!-- GOOGLE ADSENSE CODE ENDS HERE -->

会員には(つまり、無料会員と有料会員のどちらも)広告を表示しない

<!-- WRITE YOUR GOOGLE ADSENSE CODE HERE -->
{{#unless @member}}
	<script async src="#"
     crossorigin="anonymous"></script>
{{/unless}}
<!-- GOOGLE ADSENSE CODE ENDS HERE -->

テーマをzip圧縮する

default.hbsの編集ができましたら、テーマフォルダーをzip圧縮します。

テーマをアップロードする

あなたのGhost Adminサイトにログインし、SettingsDesignChange Themeへと移動します。Upload Themeをクリックし、あなたが先ほどのセクションで作ったzipファイルをアップロードします。

確認

サイトが正常に機能しているか確認してください。

以上で完成です。

おまけ: コードの解説

この記事で使用したコードは単純です。

{{#unless}}...{/unless}を利用した条件式の否定を利用した条件分岐です。

さらに詳しい情報は以下のサイトなどを参考にしてください。

Built-in Helpers | Handlebars