WordPressは、Googleの開発責任者マット・カッツも認めていてSEO対策の80%以上対応している提言していて、CMSの使用率でも40%以上をWordPressが占めています。
そんなWordPressですが、導入するだけではSEO対策を全てカバーすることはできません。SEOを意識した設定や構造変更が必要になります。
今回は、SEOを強化する基本設定と手助けするWordPressのプラグインを紹介、解説していきます。
WordPressでSEOに強いサイトを作るには
SEO対策は、通常のサイトと同じで内部施策と外部施策になります。内部施策で適切なサイト構造や内部リンクの設計をし、外部施策で質の高い被リンクが集まりやすいようにします。
すべての施策に対して、プログラミングをして実装していくのに専門的な技術や時間も掛かりますが、WordPressはプラグインを上手に使うことで初心者の方でも簡単に対応することができます。
SEOの基礎理解しながら、SEOに最適なWordPressの設定・施策の説明をします。
- https(常時SSL化)
- URLの正規化
- 不要なディレクトリ削除
- h1(見出しタグ)の設定
- title,descriptionの最適化
- パンくずリストの設定
- グローバルナビゲーションの設置
- 構造化データ
- OGPの設置
- 画像の圧縮
- ソースコードの圧縮
- CDNの導入
- サイトマップXMLの設置
- Googleサーチコンソールに登録
https(常時SSL化)
2018年7月以降、GoogleのChromeブラウザで常時SSL化(https)されていないサイトに関しては警告メッセージが表示されるようになりました。SSLは、簡単にいうとWEBブラウザとサーバ間でのデータ通信を暗号化しセキュリティを高めるものです。Googleは以前より、HTTPS をランキング シグナルに使用することを宣言していました。現在では、常時SSLは当たり前のものとなっています。
SSLに設定するのにはSSL証明書とサーバ側の設定が必要にないります。無料SSLが標準搭載されているサーバもあります。
SSL化が出来たとしても「http」のURLでアクセスした場合に「https」にリダイレクトしなければなりません。サーバ側で設定が出来ない場合はWordPress側での設定が必要になります。
httpsのリダイレクトだけであれば、「Really Simple SSL」がおすすめです。SSL取得後、プラグインをインストールして管理画面から設定するだけで、サイト全体をSSLできます。
URLの正規化
同一コンテンツのページが存在すると、Googleから重複コンテンツと見なされページ評価が分散してしまいます。意図的に作っていないとしても、wwwありなし、/ありなしなどシステム部分の設定がされていないために、自動で重複コンテンツが生成されてしまっていることがあります。そのためにも、URLの正規化を行い正しい一つのURLにページ評価統一することが必要です。
URLの正規化には「canonicalタグ」と「301リダイレクト」を使用します。canonicalタグはHTML内にhead内に統一したいURLを記述し、正しいURLをGoogleに伝えるものです。「301リダイレクト」は設定した条件でURLにアクセスした場合、正しいURLへと301転送(リダイレクト)されるというものです。
例えば、ECサイトで商品の大きさやカラーごとに表示させる場合などはcanonicalタグで対応し、自動で生成される重複コンテンツ(wwwありなし、/ありなし、htmlありなし、httpsありなしなど)に関しては301リダイレクトをおすすめします。
All in One SEO Packでは、記事毎にcanonicalのURLを指定することができます。Redirectionでは、サイト全体や個別でリダイレクト設定をすることがきます。
不要なディレクトリ削除
初期設定のWordPressでは、カテゴリーページのURLは「https://a.com/category/カテゴリー名」、タグページのURLは「https://a.com/tag/タグ名」と「/category/」や「/tag/」といった階層が自動的に入ってしまいます。
ディレクトリの深さやURLの長さは直接検索順位に影響がないものの、階層が深くなるほどクローラーはページを見つけるのに時間が掛かってしまいますので、不要なディレクトリは消すようにしましょう。
「/category/」や「/tag/」といった階層を削除するには、function.php記述する方法とプラグインで対応する方法があります。
例えば、function.phpで「/category/」の階層を消すには下記のコードを追記します。
add_filter('user_trailingslashit', 'rem_cat_func');
function rem_cat_func($link) {
return str_replace("/category/", "/", $link);
}
add_action('init', 'rem_cat_flush_rules');
function rem_cat_flush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'rem_cat_rewrite');
function rem_cat_rewrite($wp_rewrite) {
$new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
function.phpでの対応が難しい場合は、プラグインを使えば簡単に削除することができます。
このプラグインは日本語スラッグ(URL)には対応していません。カテゴリーやタグで日本語スラッグ(URL)を使用している場合は使わないようにしてください。ローマ字や英語スラッグを使っていれば特に問題はありません。
h1(見出しタグ)の設定
h1は見出し要素の中で最も重要とされるものです。適切に使うことで、ページ構成をより分かりやすく検索エンジンに伝えることができます。
サイトのトップページであれば、h1はサイト名する。下層ページであれば、ページタイトルをh1にします。テーマによっては、下層ページでサイト名がh1になっていることがあるので変更するようにします。
トップページと投稿や固定ページで出力する内容を切り替えるには条件分岐のコードを書かなくてはなりません。予め、マークアップ構造に対してSEO対策が施されているテーマを活用しましょう。
title,descriptionの最適化
titleやdescriptionはサイトの情報を検索エンジンに提供するメタダグだけでなく、検索結果にも表示され検索流入にも影響を与えます。各ページに合ったユニークな内容で設定するようにします。
効率良く、管理画面で個別にtitleタグやdescriptionタグの内容を変更出来るようにします。カスタムフィールドで出力できるようにするか、プラグインを導入して対応します。
パンくずリストの設定
パンくずリストは、ユーザがサイトの今どこにいるかナビゲーションし、検索エンジンにはサイト構造を分かりやすく伝えるといった利点があります。パンくずリストがない場合は実装する必要があります。
プラグインなしで実装する場合
例として下記があります。
1)function.phpに追加する
function get_breadcrumb() {
echo ‘<a href="”’.home_url().’”" rel="”nofollow”">Home</a>’;
if (is_category() || is_single()){
echo “ » ”;
the_category (‘ • ‘);
if (is_single()) {
echo “ » ”;
the_title();
}
} elseif (is_page()) {
echo “ » ”;
echo the_title();
} elseif (is_search()) {
echo “ » ”;Search Results for…
echo ‘“<em>’;
echo the_search_query();
echo ‘</em>”’;
}
}
2)パンくずリストを表示させたい箇所に追加する
<div class="breadcrumb"><?php get_breadcrumb(); ?></div>
プラグインで実装する場合
Breadcrumb NavXTは、直接出力したい箇所にコードを貼り付けて表示させる以外に、ヘッダーやフットターいったウィジェット領域に追加することができます。さらにスキーママークアップにも対応しています。
出力箇所に貼り付けるコード
<div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/">
<?php if(function_exists('bcn_display'))
{
bcn_display();
}?>
</div>
グローバルナビゲーションの設置
グローバルナビゲーションは、全ページに対して共通に設置される案内リンクです。ユーザが目的のページに導くだけでなく、検索エンジンがサイト全体の構造を把握するのにも役立ちます。
グローバルナビゲーションはサイトのヘッダー部分に設置します。サイトで主要なる上位カテゴリーやページのリンクを設置するようにしましょう。
構造化データ
構造化データは、HTMLを検索エンジンに分かりやすく伝えるためにタグ付したものです。構造化データ化することで検索エンジンはより、ページを理解しやすくなります。ブラウザ上で閲覧されることはなく、検索エンジンに向けたものでJSON-LDの形式で記載します。下記は、Article 構造化データを含む AMP ページの例になります。
<html amp>
<head>
<title>Article headline</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://google.com/article"
},
"headline": "Article headline",
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"datePublished": "2015-02-05T08:00:00+08:00",
"dateModified": "2015-02-05T09:20:00+08:00",
"author": {
"@type": "Person",
"name": "John Doe"
},
"publisher": {
"@type": "Organization",
"name": "Google",
"logo": {
"@type": "ImageObject",
"url": "https://google.com/logo.jpg"
}
}
}
</script>
</head>
<body>
</body>
</html>
コンテンツによってタグ付けする項目は変わります。コンテンツの種類が複数ある場合は手動で実装するのは大変なので、プラグインを活用しましょう。
Markup (JSON-LD)では、記事、ブログ投稿、パンくずリスト、店舗情報、ニュース記事、企業・組織情報、サイト管理者など殆どのコンテンツ形式に対応しています。すでに、All in One SEO Packを実装してる場合は、出力な項目が被らないようにしましょう。構造化データテストツールで正しく構造化データ化できているか確認することができます。
OGPの設置
OGPは、Open Graph Protocolの略でSNSでページや記事がシェアされた時に、そのページタイトル、URL、概要、画像を表示させる仕組みのことを言います。適切に設定することでシェアされやすくなり、被リンクも集まりやすくなります。
まずは、ページでOGPを使用すること宣言します。head要素に下記のprefix属性を追加します。
<head prefix=”og: http://ogp.me/ns#”>
次にheadタグの中に以下の記述をします。
<meta property="og:title" content="ページタイトル">
<meta property="og:type" content="website または blog または article">
<meta property="og:description" content="ページの説明文">
<meta property="og:url" content="ページのURL">
<meta property="og:site_name" content="サイトのタイトル">
<meta property="og:image" content="サムネイル画像のURL>
functions.phpを使って自動生成する方法もありますが、SNS用ページタイトルやページの説明文を個別に設定できるようにした方がより、拡散されやすくなります。
画像の圧縮(ページ表示速度の改善)
画像のファイルサイズが大きくなると、ページの読み込み速度が遅くなります。ページ読み込み速度は検索順位のランキングに影響します。ページ表示速度が遅いとユーザはストレスを感じ、ページやサイトを離脱します。結果、ユーザビリティが損なわていることになりページ評価が低くなります。
ファイルサイズの大きい画像は出来る限り圧縮し、ページ速度に影響しないよう工夫が必要です。
EWWW Image Optimizeは、画像をアップロードすると自動で圧縮してくれるプラグインです。圧縮できる画像の枚数制限がないため、画像ファイルが多いサイトでも問題なく活用することができます。
ソースコードの圧縮(ページ表示速度の改善)
ソースコードも肥大化するとサイトやページの表示速度に影響が出ます。ファイルをできるだけ軽くするためには不要なコードは削除し、HTMLやCSSの改行や余分な空白を削除します。
Autoptimizeは、HTML,、CSS、Javascriptの圧縮だけでなく、画像の遅延読み込みまで実装できるプラグインです。初期設定をするだけで、自動的に圧縮が実行されます。初心者にも優しいプラグインになっています。
CDNの導入(ページ表示速度の改善)
CDNは、コンテンツデリバリネットワークの略でキャッシュサーバーを使ってウォブコンテンツを効率的に配信するというネットワークのことを示します。オリジナルのサーバ負荷を複数台のキャッシュサーバーで分散することで、ページ表示速度を改善することができます。
サイトのトラフィクが多く、画像やファイルの圧縮だけでは表示速度が改善できない場合はCDNを導入することで軽減されます。
CDNのサービスには無料のものもあります。
CDN Enablerでは特に設定はいりません。インストールし有効化するだけでCDNに対応します。
サイトマップXMLの設置
サイトマップXMLは、検索エンジニアのクローラーがサイト全体のページを把握できるように、URLや最終更新日、更新頻度などを記述したXML形式のファイルです。
Google XML Sitemapsはインストールし、初期設定することで簡単にサイトマップXMLが生成されます。(ファイル名はsitemap.xml)
すでに、All in One SEO PackでもXMLサイトマップは生成できます。すでに導入している場合はAll in One SEO Packの機能を使用してください。
Googleサーチコンソールに登録
Googleサーチコンソールに登録することで、検索エンジンからどう評価されているかサイト状態を判断できるツールです。サーチコンソール上では、インディックス数や流入キーワード、エラーメッセージを確認することがでいます。Googleアカウントを所有していれば誰でも無料で使用することだできます。
以上、WordPressでSEOに強いサイトを作るポイントと設定でした!