京都のWebマーケッター松尾が教える「WordPressのSEOを強化する設定」

WordPressのSEOを強化する!プロが教える7つの設定

WordPressのSEOをもっと強化しよう!

(この記事は2016年3月25日に更新されました)

皆さん、こんにちは。京都のWebマーケティングチーム「ウェブライダー」の松尾です。
最近、某社からCPIサーバーに乗り換えたことがきっかけで、このコラムを書かせていただく機会を得ました。

今回は、サイト制作に不可欠ともいえるCMS(コンテンツマネジメントシステム)の中から、「WordPress」にフォーカスを当て、「WordPressを使ったSEOに強いサイト制作の手順」についてお話しします。

WordPressはその導入の手軽さから、年々ユーザーを増やしており、今、全世界の1/4のサイトがWordPressで作られているといわれています。

また、拡張性にも優れており、たとえば、「沈黙のWebマーケティング」「俺の薬局」「薬剤師ナオコの転職相談所」といった「読み物系サイト」もつくることもできます。

そんな便利なWordPressですが、SEOに強いサイトを作るとなったら、話は別です。
なぜなら、インストール後のWordPressは、そのままではSEOに強い状態とはいえず、SEOを考慮した設定が別に必要になってくるからです。
その設定をおこなわないと、せっかく作ったコンテンツが、検索エンジンからの集客に恵まれない事態になってしまうのです。

というわけで、今回はWordPressのポテンシャルを最大限引き出すために、SEO効果を高めるための各種設定についてご紹介します。
今回のコラムで取り上げるSEOのノウハウは、WordPressに限らず、いろいろなCMSやサイトでお使いいただけますので、ぜひ憶えておいてくださいね。

それではまいりましょう。


●このページの目次

WordPressのSEOを強化するための7つのポイント

早速ですが、WordPressを使ってSEOに強いサイトを構築するには、以下の7つのポイントに注意してください。

●WordPressのSEOを強化するための7つのポイント

  1. 「noindex」を上手に使い、コンテンツの低評価リスクを回避する
  2. パーマリンクの設定と、パン屑ナビを意識する
  3. 記事内には、同じサイト(ブログ)内の「関連記事」へのリンクを入れる
  4. 引用部分に「引用タグ」を使い、オリジナルコンテンツと引用との線引きをする
  5. 「キャッシュ系プラグイン」を使い、サーバー負荷を下げる
  6. 「Google XML Sitemaps」を使い、Googleにサイトマップ送信をする
  7. 「脆弱性をカバーする運用」をおこなう

では、それぞれの項目について解説していきます。

ポイント1
「noindex」を上手に使い、低品質評価のリスクを回避する

あなたは「noindex」という設定を知っているでしょうか?

「noindex」とは、metaタグに記述する設定で、検索エンジンに対し、「このページはインデックスしなくていいよ」というメッセージを伝える役割があります。

<meta name="robots" content="noindex" />

たとえば、あなたのサイトが低品質なコンテンツを抱えていたり、オリジナリティに乏しいコンテンツを抱えている場合、この設定を用いれば、Googleからの評価を落とさずに済むようになります。
(・・・そもそも、低品質なコンテンツを生み出さないことが一番大事ではあるのですが・・・)

この設定が注目され始めた背景には、Googleが2012年7月から実装している「Panda(パンダ)」と呼ばれるアルゴリズムをはじめとした、低品質なコンテンツを上位表示させないためのアルゴリズムの存在があります。

この「Panda(パンダ)」というアルゴリズムは、低品質なコンテンツや、オリジナリティに乏しいコンテンツの評価を下げるというアルゴリズムでした。

Googleウェブマスター向け公式ブログでアナウンスされた内容を引用しておきますね。

Pandaアップデートは、低品質なサイトの掲載順位を下げ、同時に、良質なサイトの掲載順位をより適切に評価します。

―途中省略―

Googleは、検索結果からユーザーが良質なサイトを見つけやすくすることに特に取り組んでいます。
Pandaアップデートによって、多くの良質なサイトの掲載順位が改善されました。

引用元:良質なサイトを作るためのアドバイス(Googleウェブマスター向け公式ブログ)

なぜ、Googleはパンダアップデートを導入したのでしょうか?
その理由は、Googleの経営理念にありました。

ユーザーに焦点を絞れば、他のものはみな後からついてくる。

Googleは、当初からユーザーの利便性を第一に考えています。
新しいウェブブラウザを開発するときも、トップページの外観に手を加えるときも、Google 内部の目標や収益ではなく、ユーザーを最も重視してきました。
Google のトップページはインターフェースが明快で、ページは瞬時に読み込まれます。
金銭と引き換えに検索結果の順位を操作することは一切ありません。
広告は、広告であることを明記したうえで、関連性の高い情報を邪魔にならない形で提示します。
新しいツールやアプリケーションを開発するときも、もっと違う作りならよかったのに、という思いをユーザーに抱かせない、完成度の高いデザインを目指しています。

引用元:Google が掲げる 10 の事実

この理念を読めば、Googleがいかにユーザー第一主義を大切にしているかが分かります。

では、なぜ、Googleはこれほどまでにユーザーのことを大切にするのでしょうか?

その答えはカンタンです。
Googleを気に入ってもらい、Googleをたくさん使ってもらおうとしているからです。

Googleがユーザー第一主義を貫いている理由を、Googleのビジネスモデルから紐解いてみましょう。

まず、Googleの収益の柱は「広告モデル」です。
その広告モデルには、検索結果画面に表示される「検索連動型広告」というものがあり、その広告モデルは、広告が1クリックされるごとにGoogleに広告収益が入るモデルとなっています。

たとえば、この「検索連動型広告」の収益を上げるためにはどうすればいいでしょう?
単純に考えて、検索連動型広告をたくさん表示すればいいですよね。

では、検索連動型広告をたくさん表示するためにはどうすればいいでしょう?
これもシンプルに考えるとカンタンです。
たくさんの人に、たくさん検索してもらえばいいんです。
つまり、たくさんの人にGoogleを使ってもらえばいいのです。

じゃあ、たくさんの人にGoogleを使ってもらうためにはどうすればいいでしょう?

ここでようやく答えです。
「Googleの検索エンジンは世界最高だ!」「Googleの検索エンジン以外は使う気がしないよ!」というくらいにGoogleを気に入ってもらい、使い続けてもらえばいいのです。

そして、Googleは、ユーザーから「Googleの検索エンジンは世界最高だ!」と思ってもらえるよう、日々、検索結果に表示する情報をブラッシュアップしているというわけです。

つまり、「Panda(パンダ)」と呼ばれるアルゴリズムを入れたのは、Googleのユーザー第一主義を貫き通すために不可欠だったということです。

「Panda(パンダ)」と呼ばれるアルゴリズムが入る前は、検索結果に質の低いコンテンツが表示されることがありました。
しかし、「Panda(パンダ)」と呼ばれるアルゴリズムが入った今、そういった質の低いコンテンツに出会う確率は格段に下がったと思います。


さて、長々と解説しましたが、ここで先ほどの「noindex」という設定の話が出てきます。
なぜなら、Googleでの上位表示を達成するためには、Googleの理念に従う必要があり、この「noindex」という設定はまさに“低品質なコンテンツはGoogleの検索結果に表示させない!”という意思表示に該当するからです。

もし、あなたのサイトに、品質が悪く、検索結果に表示されたら、ユーザーにとっては好ましくないだろうなあ・・・と思われるページがあれば、そのページのmetaタグの中に、「noindex」を入れましょう。
そうすることにより、そのページはGoogleのインデックスの対象外となり、Googleの検索結果に現れなくなります。
そうすれば、Googleからも「あなたは検索結果の平和を守ってくれた!グッジョブ!」というふうに感謝されるのです。


※但し、間違って「noindex,nofollow」としないようにしてください。
「nofollow」は“このページからのリンクは辿らなくてもいいよ”という設定のこと。
「nofollow」を入れてしまうと、そのページから張られているリンク先がクロールされなくなります。
そのため、何か特別な理由があるとき以外は「noindex,nofollow」を使わないようにしてください。


「noindex」を入れておいた方がよいページ

「noindex」は、他のコンテンツと重複している箇所が多い「オリジナリティ要素の低いページ(重複コンテンツ)」に設定することがオススメです。

例えば、WordPressの場合、「月別アーカイブ」や「検索結果」のページは他のページと内容が被りやすく、同じようなページが検索結果に表示されると、ユーザーにとっても、Googleにとってうれしくありません。
そのため、そういう重複の恐れがあるページに関しては、あらかじめ「noindex」を設定しておくとよいでしょう。

たとえば、WordPressの場合、以下のページに「noindex」を設定することをオススメします。

■「noindex」を入れたほうがよいページ

  1. アーカイブページ(月別アーカイブ)
  2. 検索結果ページ
  3. タグページ
  4. その他、コンテンツの薄い記事


薬剤師ネット公式ブログの月別アーカイブのmetaタグには「noindex」が入っている

では、この「noindex」はどのように設定すればいいのでしょうか?
実は、WordPressの初期設定では、記事やページごとの「noindex」の設定ができません。

そこでオススメしたいのが、「All in One SEO Pack」というプラグインを使うことです。

「All in One SEO Pack」というプラグインを使って「noindex」を設定

WordPressのテーマ(テンプレート)にはいろいろなものがありますが、SEOに配慮されたテンプレートによっては、記事やページごとに「noindexw」を設定できる場合があります。
(たとえば、ウェブライダーがプロデュースしている「賢威」というテーマには、「noindex」を設定するための仕組みが施されています)

もし、そういったテーマを使わない場合は、プラグインで対応しましょう。

そこでオススメしたいのが、「All in One SEO Pack」というプラグインです。

このプラグインの導入方法と設定方法を説明します。

1、「All in One SEO Pack」をインストール

まずは「All in One SEO Pack」のインストールです。
WordPressの管理画面のサイドバーの「プラグイン」から、「新規追加」とリンクを辿り、検索窓から「all in One SEO Pack」と検索すれば見つかります。

「今すぐインストール」をクリックして、管理画面上でプラグインをインストール。

2、サイドバーに表示されたメニューから「General Settings」をクリック

インストールが完了すると、サイドバーに「All in One SEO Pack」の設定メニューが表示されますので、「General Settings」をクリックし、設定画面へ移動します。

3、必要なページに対して、「noindex」を設定

先ほどお教えした「noindex」を入れたほうがよいページに対して、noindexの設定をおこないます。

設定はとてもカンタン。
該当するページに対して、以下のようにチェックを入れるだけです。
(以下では「アーカイブページ」に対してnoindexを入れる設定をおこないました)

4、必要であれば、個別記事に対しても「noindex,follow」を設定

個別の記事に対して「noindex」を設定したい場合は、記事の投稿画面から設定できます。

記事の新規投稿もしくは編集画面に移動し、画面下部にある「All in One SEO Pack」の設定エリアから、「Robots Meta NOINDEX」にチェックを入れます。

(もし、この画面下部の設定エリアが表示されていない場合は、記事投稿画面の上部にある「表示オプション」を開き、「All in One SEO Pack」という文字列横のチェックボックスにチェックを入れてください)

これで、noindex周りの設定は完了です。

通常、個別記事に対して「noindex」を設定するケースはあまりないと思いますが、たとえば、検索エンジンに表示させる必要のない「1ヶ月前の休暇のお知らせ」といった記事には「noindex」を入れておくとよいでしょう。(検索結果で上位表示しても、とくに成果につながりそうにない記事の場合)

また、たとえば、ウェブライダーがプロデュースしている「薬剤師求人プレミア」というサイトでは、求人情報の個別ページに対して「noinex」を設定しています。

薬剤師求人プレミアには3万件に近い求人情報が登録されている一方で、他社でも扱っているような求人情報がどうしてもあります。(求人情報は登録企業側から支給されるため)
それらのページがインデックスされると、重複コンテンツ判定による低評価につながるリスクがあるため、そのリスクを避けるために、あえて「noindex」を使っています。

「noindex」の設定に関しては、これで以上です。
続いて、パーマリンクの設定の解説に移ります。

ポイント2
パーマリンクの設定以上に、「構造化データマークアップ」を意識する

続いて、設定しておきたいのが、「パーマリンク」です。

パーマリンクとは「パーマネントリンク(Permanent Link)」の略。 パーマネント(Permanent)とは“永続する”“不変の”という意味を表す言葉で、このパーマリンクは、何もしなければ永続する、ページごとの固有のURLのことを指します。

WordPressを運用する際は、このパーマリンクをどう設定するかがとても大事。

パーマリンクは一度設定したら、やみくもに変更しないようにしてください。
なぜなら、一度設定したパーマリンクをあとから変えてしまうと、そのページに集まっているツイート数やいいね!数などの数値が、以下の画像のようにリセットされてしまうからです。
(つまり、パーマリンクを変更した記事は、変更前の記事と別物として認識される)

(注:2016年3月現在、Twitterが支給しているウィジェットでは、ツイート数が取得できなくなっていますので、注意してください)

最近のバージョンのWordPressでは、URLが新しくなっても、旧URLから新URLへ自動的に「301リダイレクト」をおこなってくれる仕様が実装されています。
そのため、パーマリンクが変わって別のURLになったとしても、旧URLに張られている外部からのリンク評価は新URLへ移ります。
ただ、前述の通り、ソーシャルメディアのウィジェットで表示されるシェア数などは、新URLのものとなってリセットされます。

ソーシャルメディアのシェア数が分からない場合、コンテンツの拡散に歯止めがかかる恐れがあります。
なぜなら、人間は「ソーシャルメディアでたくさんシェアされている記事」ほどシェアしたくなるという「祭りの心理」をもっているためです。

というわけで、パーマリンクは一度設定したら、特別な理由がないかぎり変えないようにしましょう。
それを踏まえて、どんなパーマリンクにしておけばよいのかをお教えします。

まずは、WordPress上で設定できるパーマリンクをまとめて紹介します。

■パーマリンク一覧

●デフォルトのパーマリンク
?p=123
(例:http://test.com/?p=123)

●日付と投稿名
2016/04/01/sample-post/
(例:http://test.com/2016/04/01/任意の文字列)

●月と投稿名
2016/04/sample-post/
(例:http://test.com/2016/04/任意の文字列)

●数字ベース
archives/123
(例:http://test.com/archives/123)

●投稿名
sample-post/
(例:http://test.com/任意の文字列)

●カスタム構造(下記は一例です)
%category%/%postname%/
(例:http://test.com/カテゴリ名/任意の文字列)

これらのパーマリンクのうち、以前は「カスタム構造」を使った以下のパーマリンクが使われることが多くありました。

/%category%/%postname%/

このパーマリンクを使う意図としては、「各記事」が「カテゴリ」という“ディレクトリ”の中に内包されるということを明示することで、「カテゴリTOP」という上流に集まったリンクジュースを、「各記事」という下流にきれいに渡すというものでした。

たしかにその考え方は一理あるのですが、SEOに効果的なリンク構造とは、必ずしもピラミッド型である必要はありません。
というのも、先ほどの考えでは、あくまでも“カテゴリのほうがリンクジュースが多いであろう”という考え方に基づくものであり、たしかにサイト内部からのリンクはカテゴリTOPのほうが多くなりやすいのですが、実際は、ソーシャルメディア上で各記事がシェアされる結果、カテゴリTOPよりも各記事のほうが外部からのリンクジュースを受けるケースが増えてきたためです。

ソーシャルメディア上でカテゴリTOPをシェアする人はあまりいませんよね。
ほとんどの人が、カテゴリの中にある記事や個別ページをシェアします。
つまり、Googleのクローラーが、サイトの上位階層からではなく、下位階層からクロールするケースが増えてきたのです。

そのため、Googleは各サイトを単純なピラミッド構造として把握するのではなく、「パンくずリスト」などのリンク構造を参考に、サイトの構造を把握するようになっています。
その証拠に、今の検索結果では、パンくずリストの情報が表示されるようになっていますよね。

そのため、パンくずリストをはじめとしたリンク構造さえしっかり構築していれば、パーマリンクは何でもいいということがいえます。
ですから、勿論、「/%category%/%postname%/」という、昔からよく使われているパーマリンク設定も問題ありません。
このパーマリンクにすることで、ユーザーはそのURLを一目見て、その記事がどんなカテゴリに属しているかが分かるようになるからです。
(現にウェブライダーのサイトでもこのパーマリンク設定をよく使っています)

ただ、「/%category%/%postname%/」というパーマリンクの場合、「ブログ」という形態においては若干の不都合があります。
なぜなら、ブログの記事の場合、複数のカテゴリを割り当てる場合があるからです。

つまり、「/%category%/%postname%/」というパーマリンクを使ってしまうと、どれか一つのカテゴリにURLを縛る必要が出てくるため、かえっておかしくなってしまうということです。
そのため、最近では、「ナースが教える仕事術」のように、カテゴリ名をパーマリンクに入れない、シンプルなパーマリンクを採用するブログが増えています。

■2016年4月現在、使われることの多いパーマリンク

●投稿名(もっともシンプルなパーマリンクです)
/%postname%/
(例:http://test.com/任意の文字列。「ナースが教える仕事術」の記事を参考)

●カスタム構造(昔から人気のパーマリンクですが、上記の理由で最近は減ってきました)
/%category%/%postname%/
(例:http://test.com/カテゴリ名/任意の文字列。「薬剤師マキの調剤なる日々」の記事を参考)

「パンくずリスト」を入れておくことが重要な理由

先程、「リンク構造さえしっかりしていれば、サイト構造を認識してもらえる」と書きました。

そのリンク構造をGoogleにより適切に伝えるためにオススメしたいのが、「構造化データマークアップ」です。

構造化マークアップを理解する(Search Console ヘルプ)

構造化データマークアップを使ったほうがいい例でいえば、先程取り上げた「パンくずリスト」です。

Googleは「パンくずリスト」の情報を用いることで、そのページがサイト内でどういう立ち位置なのか?といった、各ページ間の関係を理解しようとします。
ただ、パンくずリストといっても、適当なマークアップをしていては、それがパンくずリストだと認識されない場合があります。
そのため、Googleでは、各ページ内のパンくずリストの場所をGoogleに正しく伝えるために、「構造化データマークアップ」と呼ばれるマークアップ技法を推奨しています。

Googleの「Search Console(サーチコンソール) ヘルプ」のページでも、以下のようにアナウンスされています。

パンくず情報をウェブページの本文でマークアップすると、Googleではパンくず情報を識別し、その情報を基にページの情報を認識して、検索結果に表示できます。(和訳)

引用元:リッチスニペット - パンくずリスト(Search Console ヘルプ)

パンくずリストの構造化データマークアップの詳しい方法は、「Search Console(サーチコンソール) ヘルプ」を見ていただければと思います。

もし、実例を知りたい方は、弊社プロデュースの「沈黙のWebライティング」で構造化データマークアップを使っていますので、参考にしてみてください。

このマークアップ技法が難しいと感じる方は、最悪、難しいマークアップをおこなわなくてもよいので、HTMLソースの中に「パンくずリスト」だと分かるような記述を意識してください。
Googleがその記述をパンくずリストと認識したのであれば、それだけでも効果があります。
(例えば、パンくずリストのCSS名に「breadcrumbs」(※日本語でパンくずの意味)という用語を使うなど)

また、外部のテーマ(テンプレート)を使用する際は、パンくずリストの入っているテーマ(テンプレート)をできるだけ使うようにしてください。

●沈黙のWebライティング内で使われているパンくずリストの記述例
(「SEOライティングの鼓動」より)

<nav class="breadcrumbs">
<ol class="breadcrumbs-in" itemscope itemtype="http://schema.org/BreadcrumbList">
<li class="bcl-first" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
	<a itemprop="item" href="http://www.cpi.ad.jp/bourne-writing"><span itemprop="name">沈黙のWebライティング</span> TOP</a>
	<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
	<a itemprop="item" href="http://www.cpi.ad.jp/bourne-writing/category/story/"><span itemprop="name">本編ストーリー</span></a>
	<meta itemprop="position" content="2" />
</li>
<li class="bcl-last">SEOライティングの鼓動</li>
</ol>
</nav>

パーマリンクは「日本語URL」がいい?「半角英数字URL」がいい?

WordPressの初期設定では各記事のURLが「日本語URL」になっています。
ただ、日本語URLだと、Facebookなどでシェアされた際にエンコードされて長い文字列になってしまうため、それを避けるために、あえて「半角英数字」のURLに打ち直す方がいらっしゃいます。

WordPressは、記事の投稿画面から記事ごとにパーマリンクを変更できるのですが、私は「日本語URL」でも「半角英数字」でもどちらでもよいと考えています。

なぜなら、Twitterでは長いURLを自動短縮してくれる仕様が入っていますし(つまり、URLが長くても問題ない)、Googleの検索結果画面では「URL内の日本語キーワード」がハイライトされ、日本語URLならではのメリットを享受できるからです。


↑検索結果画面にて、日本語URL内のキーワードがハイライト表示されている例

ただ、日本語URLの場合、短縮化しないと、どうしても長く不細工なURLになってしまいます。
また、コピー&ペーストする際にURL全体をコピーしたつもりが、URLの後半の文字列がうまくコピーできていなかった・・・!という問題も起こりがちです。 そう考えると、「リンクの張られやすさ」という点では、半角英数字URLに軍配が上がると思います。

そういったことを考慮しながら、「日本語URL」にするか、「半角英数字URL」にするかを検討してください。

ポイント3
記事内には、同じサイト(ブログ)内の「関連記事」へのリンクを入れる

続いて、記事内に設置する「関連記事リンク」のお話をします。

SEOには「内部対策」と「外部対策」の二つがあります。
内部対策は、Googleからクロール&インデックスされやすいようにHTMLソースをチューニングしたり、内部リンクを調整することですが、この内部リンクの調整次第で、サイト内の各ページの評価を高めることができます。

その内部リンクの調整で大切なのは、「関連性の高いページ同士をリンクさせること」です。

また、その際に重要なのは、リンクを張る場所です。
なぜなら、グローバルナビやサイドバーなどの「共通ナビゲ―ション」からのリンクと、「メインコンテンツエリア」からのリンクは効果が異なるからです。

前者はその名の通り、サイトのいろいろなページへユーザーを誘導する“ナビゲーション”であるのに対し、後者は、コンテンツとコンテンツの価値をつなげるバトンのようなものだと考えてください。

例えば、「サイドバーからたくさんリンクを張っているのに、なかなかページの順位が上がらない」というのは、そのサイドバーからのリンクはあくまでもナビゲーション的なものであり、コンテンツの価値を高めているものではないからです。

これはあくまでも私の考えですが、共通ナビゲーションからのリンクは、Googleのクロール導線としては機能しますが、そのリンク経由でページ(コンテンツ)に対して特別な評価が与えられるものではないと思われます。
(※勿論、サイドバーやグローバルナビからリンクを張らない方がよいということではありません。それらのリンクは“ナビゲーション”としては必要です)

なぜなら、共通ナビゲーションからのリンクは、必ずしも関連性のあるページを結びつけるものではないからです。
たとえば、いろいろなテーマを取り扱うひとつのブログがあるとして、「SEO」に関する内容を取り上げた記事のサイドバーに、同じブログで連載されている「グルメ」に関する記事へのリンクがあるとして、そのリンクは「SEOの記事」と「グルメに関する記事」との関連性を高めるでしょうか?
それは難しいでしょう。
「SEO」と「グルメ」というテーマの間に関連性はないからです。

つまり、ページ間の関連性をGoogleに評価してほしいのであれば、コンテンツとコンテンツとがつながるリンクでなければいけません。
すなわち、各ページ(コンテンツ)のメインコンテンツエリア内から、どんなコンテンツへリンクが張られているか?という点が重要になるのです。

理想的なのは以下のようなリンクです。

「ナースが教える仕事術」「白髪」の記事より

「俺の薬局」「説明のコツ」の記事より

また、リンクを張る際は、どんなコンテンツへ向けてリンクを張るかも大切です。

例えば、以下の例を見てください。

この例の場合、「Webマーケティング」に関する記事から、「SEO」「文章作成ノウハウ」「ダイエット」に関する記事へリンクを張ろうとしています。
ただ、普通に考えると、「Webマーケティング」に関する記事と「ダイエット」に関する記事とは関連性がないですよね。

そのため、とくに「ダイエット」に関する記事へトラフィックを送るべき理由がないのであれば、関連しないページへはリンクを張らない方がよいでしょう。

続いて、もう一つ例をお見せします。

この例では、「Webマーケティングに使える心理学」に関する記事から、「コンバージョンアップにつながる文章術」「開封率の高いメルマガ作成ノウハウ」「検索エンジンの仕組みを学ぶ」といった3つの記事へリンクを張ろうとしています。

先程の「ダイエット」の記事に比べると、どの記事も関連性は高そうに見えます。

ですが、シビアに考えると、「Webマーケティングに使える心理学」から、最後の「検索エンジンの仕組みを学ぶ」という記事へはリンクを張らない方がよいかもしれません。

たしかに、“検索エンジンの仕組みを学ぶこと”は、SEOの強化につながり、広義的にはWebマーケティングの強化につながるのですが、「Webマーケティングに使える心理学」というタイトルとの関連性を考えると、少々遠回りな気がします。

ですので、「関連性がありそうといえばありそうなんだけど、どうかなあ・・・」という記事に対しては、あえてリンクを張らなくてもよいのです。

ただ、これらのページ(コンテンツ)同士の関連性は、そのリンクを設置するコンテンツの内容に影響されます。

コンテンツの内容によっては、実は関連性があった!というケースもあるでしょう。
そんなケースに対応するために、Googleはコンテンツ内の文章だけでなく、リンクを設置する場所の周りの文章もしっかり評価しているといわれています。

関連リンクを張るなら、記事の最後がよいかもと思う理由

関連リンクを張る場合は、基本的にはコンテンツエリア内のどこからでも構いません。
基本的にはコンテンツエリアの前半でも後半でも構いません。

ただ、あえて「一番よい場所は?」と聞かれると、「コンテンツの最後」がよさそうです。

なぜなら、コンテンツの最後からのリンクは、そのコンテンツ全体の内容を受けての“結論的”に張られるリンクだからです。
コンテンツ同士の関連性も高まりそうです。

例えば、ウェブライダーが運営している「薬剤師ネット公式ブログ」というブログでは、毎回、記事の最後に、関連するコンテンツへのリンクを、テキストの解説付きでひとつひとつ手作業で挿入しています。

下記の画像のケースでは、「お米で痩せるダイエット」という記事に対して、「薬でダイエットをすることは可能ですか?」という「薬剤師BBS」のスレッドへのリンクを入れています。
(※「薬剤師ネット公式ブログ」と「薬剤師BBS」は同じドメイン内に存在しているサイトのため、このケースでは「同一ドメイン内のサイト間」をまたいで内部リンクを張っていることになります)

WordPress上で関連リンクを設定するなら、「プラグインによる自動埋め込み」より、「手動埋め込み」がオススメ

先ほど、コンテンツの最後からの関連リンクは効果が高そうだとお伝えしましたが、実は、WordPresには「関連記事へのリンクを自動で挿入するプラグイン」があります。

最近では「WordPress Related Posts」や「Yet Another Related Posts Plugin」などのプラグインが人気です。

ただ、もし、あなたが「SEO効果を最大限に高めたい!」ということであれば、プラグインを使って自動化せずに、毎回の更新時に「手動」で関連記事へのリンクを挿入することをオススメします。
手動であれば、関連度の高い内容の記事へピンポイントでリンクを張れるからです。

というわけで、ここからは、WordPressにある「カスタムフィールド」という機能を使って、関連記事リンクを手動で挿入する方法をお教えします。

「カスタムフィールド」を使って関連記事リンクを手動で埋め込む方法

今からお伝えする方法はあくまでも一例ですが、ぜひ参考にしてください。

1、まず、関連記事リンクを表示させたいテーマに、カスタムフィールドを呼び出す記述を追記します。
「単一記事の投稿(single.php)」を編集し、以下のような記述を書きます。

<!--カスタムフィールドによる関連リンクエリア-->
<?php if(post_custom('link')): ?>
<div style="margin-top:50px">
<p>※この記事を読まれた方は、ぜひ下記の記事も合わせて読んでみてください。</p>
<ul>
<?php echo post_custom('link'); ?>
</ul>
</div>
<?php endif; ?>
<!--/カスタムフィールドによる関連リンクエリア-->

上記のソースでは、「if」という関数を使い、「link」というカスタムフィールドの値が存在していない場合には、関連記事エリアを表示しないようにしています。

続いて、記事の投稿画面に移ります。

初期設定ではカスタムフィールドを設定するエリアが表示されていないため、上部メニューから「カスタムフィールド」という項目にチェックを入れておきましょう。
そうすれば、投稿画面の下部にカスタムフィールドの設定エリアが現れます。

投稿画面の下部に表示されたカスタムフィールドの設定エリアで、カスタムフィールドを新規追加。

<li></li>でテキストリンクを囲むことで、リストタグを使って関連記事を出力するようにしました。
(関連リンクの数が増えた際は、<li></li>で囲んだテキストリンクの数を手動で調整すればOKです)

実際の見た目はこちら。

いかにも関連性のありそうなリンクが挿入できましたね。

この方法はあくまでも一例ですが、カスタムフィールドは使い方次第でいろいろなことができます。
もし、カスタムフィールドについて詳しく知りたい方は、ぜひカスタムフィールドに関するいろいろな記事を読んでみてください。

ページが大量にあるサイトの場合、手作業で関連リンクを設定するなんて大変!と思われるかもしれません。
ただ、最初にお話しした、Googleの「Panda(パンダ)」というアルゴリズムを思い出していただきたいのですが、そもそも、GoogleのSEOで成果をあげる際には、大量のページ(コンテンツ)は必ずしも必要ありません。
必要なのは、ユーザーが満足するくらいに質の高いページ(コンテンツ)です。
もし、“質より量”の思考に囚われているのであれば、まずはその思考を変換してください。

その際には、ぜひ以下のスライドをご一読いただくことをオススメします。

ポイント4
引用部分に「引用タグ」を使い、オリジナルコンテンツと引用との線引きをする

コンテンツをつくっていると、外部からコンテンツを引用するケースがあります。
その際に重要なのが、「引用したコンテンツはどの箇所なのか?」を明示することです。

引用エリアを明示しておくことで、Googleに対して、「ここからここまではオリジナルコンテンツで、ここからここまでは引用したコンテンツ」ということを伝えられるようになります。
そうすれば、オリジナルコンテンツエリアをしっかり評価してもらえるほか、引用したコンテンツによる重複判定のリスクも回避できます。

そこでぜひ使ってほしいのが、<blockquote>タグ(引用タグ)です。

この<blockquote>タグ(引用タグ)を用いれば、どこからどこまでが引用したコンテンツかを明示することができます。
(<blockquote>タグを使う際は、必ず、そのコンテンツの引用元へのリンクも明記するようにしてください)

例えば、今回のコラムでもこの<blockquote>タグを使っている箇所が幾つかありますが、その理由は、引用した箇所を引用と明示することで、それ以外のオリジナルコンテンツをGoogleから適切に評価してもらうためです。(もちろん、引用元に対してのマナーの意味もあり、敬意を払う意味もあります)
(ただし、引用エリアタグを使ったからといって、それで重複コンテンツの判定を必ずしも免れるわけではありません)

たとえば、先程の「パンくずリスト」に関する解説でも、Googleのサーチコンソールのページからの情報を引用していました。

パンくず情報をウェブページの本文でマークアップすると、Googleではパンくず情報を識別し、その情報を基にページの情報を認識して、検索結果に表示できます。(和訳)

引用元:リッチスニペット - パンくずリスト(Search Console ヘルプ)

この箇所のソースは以下のようになっています。
(※細かなデザインはCSSで調整されています)

<blockquote>
<p class="b">
パンくず情報をウェブページの本文でマークアップすると、Googleではパンくず情報を識別し、その情報を基にページの情報を認識して、検索結果に表示できます。</p>
<p class="al-r m40-t">引用元:<a href="https://support.google.com/webmasters/answer/185417?hl=ja" target="_blank">リッチスニペット - パンくずリスト(ウェブマスターツール ヘルプ)</a></p>
</blockquote>

ポイント5
「キャッシュ系プラグイン」を使い、サーバー負荷を下げ、拡散に備える

WordPressでサイトを運用しているけれど、ページの表示がどうにも遅い・・・といった経験はないでしょうか?

その理由のひとつは、WordPressそのものの仕様です。

WordPressはユーザーがアクセスするたびに、データベースからコンテンツを動的生成するCMS。
そのため、ユーザーがアクセスするたびに、サーバーに負荷がかかってしまいます。

その結果、ソーシャルメディアなどから大量のアクセスが流れ込むと、第一回の「503エラーを防ぐ!Web屋が知っておくべき503エラーの原因と対処」というコラムでも取り上げたように、「503エラー」と呼ばれるエラーメッセージが表示されてしまいます。

そのリスクを回避するために、ぜひ実装してほしいのが「キャッシュ」です。

キャッシュについては、第一回のコラムで以下のように解説しました。

データベースへ頻繁にアクセスするようなWebサイトは、「キャッシュ」と呼ばれる技術を用いて、セッションを減らすことが必要になります。

キャッシュとは、簡単にいえば、データベースの呼び出し回数を減らすために、本来は動的であるコンテンツを「静的」なコンテンツにすることです。

引用元:503エラーを防ぐ!Web屋が知っておくべき503エラーの原因と対処

このキャッシュ機能、実はWordPressのプラグインで実装することができます。
そこでオススメしたいのが「WP Super Cache」というプラグインです。

WP Super Cache


この「WP Super Cache」は有効化しただけでキャッシュを生成してくれるプラグインです。
このプラグインを利用すれば、キャッシュ対策はひとまず安心でしょう。


ただし、先ほどお話しした「503エラー」を防ぐためには、キャッシュだけでは対応できない問題があります。
それは、「サーバースペックの壁」です。

具体的には、レンタルサーバー側の「同時接続数」の壁といえるのですが、詳しいことは、第一回のコラム、もしくは第二回のコラムをお読みいただければと思います。

ポイント6
「Google XML Sitemaps」を使い、Googleにサイトマップ送信をする

WordPressの初期状態では、GoogleのSearch Console(サーチコンソール)などに送信するための「XML形式のサイトマップ(sitemap.xml)」を自動でつくる仕様が入っていません。
そのため、「Google XML Sitemaps」というプラグインを用いる必要があります。

この「Google XML Sitemaps」をインストールすれば、記事が更新される際に、自動でサイトマップがつくられるようになります。

このサイトマップ、必ずしも必要ということではないのですが、例えば、なかなかインデックスされないページが存在する場合などには、XML形式のサイトマップをつくり、Googleのウェブマスターツールからサイトマップ送信しておくと良いでしょう。

以下にて、「Google XML Sitemaps」の使い方をカンタンにご説明します。

ステップ1
通知する検索エンジンを選択します(普通は3つすべてにチェック)


ステップ2
もし、WordPress以外で作成したページをサイトマップに含める場合は、下記から追加


ステップ3
投稿の優先順位の計算方法を選択します(ここはチェックしなくても大丈夫でしょう)


ステップ4
サイトマップに含めるページを選択します。noindex対象にしているページは含めなくて良いでしょう


ステップ5
サイトマップに含めたくないカテゴリや記事があれば、ここで指定します


ステップ6
更新頻度を設定します。更新の多いTOPページなどは「毎日」にしておくとよいでしょう


ステップ7
クローラーに特に優先的にクロールして欲しいページがあれば、10段階(0.1~1)までの間で指定します


ポイント7
「脆弱性をカバーする運用」をおこなう

2013年、某他社サーバーがハッカーに狙われ、そのサーバーでWordPressを使っていた多くのユーザーに被害が発生する大きな事件がありました。

WordPressの脆弱性を狙って侵入したハッカーが、サーバー側の設定の不備を狙った攻撃だったようですが、WordPressの脆弱性を狙った攻撃というのは今も世界中で起きています。

脆弱性を狙った攻撃を防ぐためには、例えば、以下の3つの対策が必要です。

  1. 最新バージョンのWordPressを常に使う
  2. 管理画面の入り口に、Basic認証などをかける
  3. プラグインを使いすぎない

まず、ひとつ目に重要なのが、最新のバージョンのWordPressを常に使うことです。

WordPressは、脆弱性が見つかった際、その脆弱性へ対応した後に新しいバージョンをリリースします。
そのため、古いWordPressを使い続けていると、その対応がされていない、すなわち、脆弱性の危機にさらされているバージョンを使い続けることになってしまうのです。

続いてふたつ目に重要なのが、管理画面の入り口である「wp-login.php」に、Basic認証などをかけることです。

この「wp-login.php」というページは、WordPressを使うユーザーであれば誰でも知っているページですので、このページから「ID&パスワード」の総当たり攻撃(ブルートフォースアタック)を受けることがあり、万が一、IDとパスワードが見破られると、管理画面へ侵入されてしまいます。
(そういう意味でも、ID名に「admin」などの、分かりやすい言葉を用いるのは危険です)

あらかじめBasic認証をかけたり、場合によっては、記事を固定の場所(固定IP)からしか更新できないような「IP制限」をしておくとよいでしょう。

そして最後に重要なのが、プラグインを使い過ぎないことです。

なぜなら、ハッカーは、WordPress本体以外に、「プラグイン」の脆弱性を狙って攻撃してくるケースがあるからです。

プラグインは便利なので、ついたくさん使ってしまうことが多くありますが、プラグインの中には、脆弱性が放置されたまま更新されているプラグインもあります。

プラグインのバージョンアップに関しては、WordPressのチームも監視しきれない部分ですので、本当に必要なプラグインや、開発が頻繁におこなわれているプラグインだけを使うようにし、WordPress側のカスタマイズで対応できる部分は、プラグインを使わない方向で検討した方が良いでしょう。


もし、あなたがお使いのWordPressが誰かに乗っ取られ、「マルウェア」と呼ばれる悪意あるソフトウェアへ誘導される「踏み台」になってしまうと、Googleから警告が届き、サイトの評価も落ち、SEOに大きな影響が出ます。
(SEOに影響が出る以前に、ビジネスにおける信頼度に大きな影響がでますが・・・)

そのため、「脆弱性をカバーする運用」は常に心に留めておきましょう。

WordPressの安全性を高めるためのノウハウが「WordPress Codex 日本語版」にまとめられていますので、ぜひ確認しておいてください。

まとめ

いかがでしょうか?

WordPressは便利なツールである一方、設定をきちんとしないとそのポテンシャルを発揮できないケースがあり、そのためには、今回の記事のように、ある程度のカスタマイズの知識は必要となります。

今回の記事が、あなたのWordPressサイトのSEOを加速させる一助となれれば幸いです。

そして、もし、あなたのWordPressサイトが「503エラー」というメッセージを頻繁に出し始めた際には、ぜひ下記のふたつの記事をチェックしてください。

WordPressはあくまでも「ソフトウェア」。
ソフトではどうにもできないのが、サーバーをはじめとしたインフラ、すなわち「ハードウェア」です。

自分が使っているサーバーに関する知識を持っておくことは、SEOを成功させる上でとても大切です。


トップへ