検索結果に公開日・更新日どちらで表示させるかを指定する方法【HTML5対応版】

チャオ(・∀・)♪

 

検索結果に出ている自分の記事に表示される日付を、記事の更新日にしたい!けど、現状では公開日が表示されている…。どうやってやるの?

 

というわけで今回は、「functions.php」と「single.php」を使って、検索結果に公開日・更新日どちらで表示させるかを検索エンジンに伝える方法についてご紹介します。

 

HTML5の<time>タグ(正確な日付や時刻を示すタグ)を使用することで、検索結果に「公開日」を表示させるか「更新日」を表示させるかを指定できます。

 

やり方は簡単です。

 

 

検索結果に公開日・更新日どちらで表示させるかを指定する方法【HTML5対応版】

 

僕の例でいくと、

 

公開日が表示されている例↓

 


 

最終更新日が表示されている例↓

 


 

この辺の仕様は詳しく分からないのですが、表示させる日付を公開日にするか更新日にするかは検索エンジン側(この場合Google)が適当に決めている感じです。

 

僕で言うと、「検索結果に出たページにアクセスする前に、そのページの日付(公開日・更新日)をまずチェックする」という習性があります。

 

なぜチェックするかと言えば、「情報は“新鮮さ”が何より重要」だからですね。

 

例えばせっかく直近に更新しているのに、記事を公開した2年前とかの日付が表示されていると、『このページの情報は古い』とユーザーに思われてしまって貴重なアクセスを逃してしまいます。

 

それってかなりの機会損失だと思うので、出来るなら避けたいですよね?

 

そのために「記事の日付を公開日にするか、更新日にするかを検索エンジンに伝える必要」があり、それは<time>タグで達成できるという話です。

 

前置きが長くなりましたが、さっそく手順の解説に入りたいと思います。

 

まずは「functions.php」への記述からです。

 

子テーマでカスタマイズしよう!
これよりファイルにコードを追記していきますが、編集は子テーマで行いましょう。親テーマはテーマの更新があった際に行った編集内容が全て初期化されてしまうので、更新で初期化されない子テーマで行うのが基本となるためです。

 

①functions.phpにコードを追記する

 

作業の前に必ずバックアップを取ってください!
「functions.php」はサイト全体に何かを指定するための重要なファイルで、一歩編集をミスるとサイトが正常に表示されなくなるなど、デリケートなファイルです。作業前は必ずバックアップを取ってください。バックアップにおすすめなプラグインは、復元が容易でデータも軽い「UpdraftPlus」です。

 

下記のコードを「functions.php」の下に追記してください。

 


/*
get_the_modified_time()の結果がget_the_time()より古い場合はget_the_time()を返す。
同じ場合はnullをかえす。
それ以外はget_the_modified_time()をかえす。
*/

function get_mtime($format) {
$mtime = get_the_modified_time(‘Ymd’);
$ptime = get_the_time(‘Ymd’);
if ($ptime > $mtime) {
return get_the_time($format);
} elseif ($ptime === $mtime) {
return null;
} else {
return get_the_modified_time($format);
}
}

 

②single.phpにコードを追記する

 

「single.php」とは、個別の記事に対して何かを指定するためのファイルです。

 

記事の公開日を表示させたいか、更新日を表示させたいかによって、ファイルに記述するコードが変わります。

 

編集の仕方はfunctions.phpと同じく、コードを下に追記するだけです。

 

■記事の公開日を優先して伝えたい場合

 


公開日:<time class=”entry-date date published” datetime=”<?php the_time(‘c’) ;?>”><?php the_time(‘Y年n月j日’) ;?></time><br>
<?php if ($mtime = get_mtime(‘Y年n月j日’)) echo ‘最終更新日:’ , $mtime; ?>

 

■記事の更新日を優先して伝えたい場合

 


<?php if (get_mtime(‘c’) == null) : ?>
公開日:<time class=”entry-date date published” datetime=”<?php the_time(‘c’) ;?>”><?php the_time(‘Y年n月j日’) ;?></time>
<?php endif; ?>
<?php if (get_mtime(‘c’) != null) : ?>
公開日:<?php the_time(‘Y年n月j日’) ;?><br>
<time class=”entry-date date updated” datetime=”<?php if ($mtime = get_mtime(‘c’)) echo $mtime; ?>”><?php if ($mtime = get_mtime(‘Y年n月j日’)) echo ‘最終更新日:’ , $mtime; ?></time>
<?php endif; ?>

 

『私の使っているテーマには子テーマが無いよ(´>ω<`)』というアナタ

 

テーマによっては最初から子テーマが用意されている場合もありますが、無い場合は自分で作らなければなりません。

 

が、子テーマの作成自体はそんなに難しいものではなく、必要なファイルを作成してサーバーにアップするだけで完了です。

 

やり方は【コピペで終了】WordPressの子テーマの作成方法で書いたので、ぜひ参考にしてみてください。

 

 

まとめ

 

以上、検索結果に公開日・更新日どちらで表示させるかを指定する方法について解説しました。

 

念のため、ファイルの編集前は必ずバックアップを取っておいてください。

 

それでは、ここまで読んでいただきありがとうございました。

チャオ(・∀・)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です