Landing sites 1.3

Googleのキャッシュがなかなか消えてくれなかったために、Landing sites 1.3 を入れておいたんですが、キャッシュが消えても動作していない様子。

もう一度、設置方法をよく見てみようと思い、Thomas Silkjær氏 のBLOGへ。
検索結果が見つからない場合の表示を日本語化するために、プラグインのエンコーディングをUTF-8で作業したことも影響しているのかと思い、オリジナルのファイルを使用して検証してみました。
結局、インストール手順の一部を読み飛ばしていたようで…。現在快調に動作しているようです。

Landing sites 1.3 の日本語情報が少ないようですので、以下に「http://theundersigned.net/2006/06/landing-sites-11/」の訳文を作成してみました。厳密な訳文ではなく、かなり私的な追加や脚色が含まれていますが、ご容赦ください。だいたいの意味はつかめると思います。

解説

Googleなどのサーチエンジンからあなたのサイトが参照された場合、ユーザは明らかに「特定の何か」を探しています。ヒットしたページをザックリと斜め読みし、「特定の何か」が見つからなければページをすぐに閉じ、別の検索結果に移ってしまいます。そこで「特定の何か」に関する記事を表示できれば、ユーザが別のページに移ってしまうことを防げるかもしれません。
これは、関連する記事を表示させるためのプラグインです。

見本

試しに「iPhone Qve」で表示された検索結果をクリックしてみてください。
ページの上部に、関連した記事が表示されるようになっています。

ダウンロード

ここからプラグインをダウンロードして、以下のガイドをよく読んでください。
LazarynMike Baptiste には、最適化やアドバイスをもらい、感謝してます。

注)以前のバージョンからバージョンアップする場合、テンプレートの「header.php」から、以下のタグを削除してください。

<?php if (ls_getinfo(‘isref’)) { header(‘Vary: Referer’); } ?>

インストール方法

1.拡張子を「.php」に変更し、「wp-content/plugins」フォルダにアップロードします。そして、管理エリアにログインし、プラグインを有効にします。

2.WordPress 1.5.xを使用する場合、以下のSQL文を実行する必要があります。

例えば、phpMyAdminなどで実行するといいでしょう。

ALTER TABLE `wp_posts` ADD FULLTEXT `post_related` ( `post_name`,`post_content` )

もし、WordPress 2.x を使っているなら、プラグインを有効にする前にコメントアウトしてある部分の「/*」と「*/」を削除してください(173行目〜187行目あたり)。すでに有効になっている場合一度無効にし、「/*」と「*/」を削除し、再度有効にすることでデータベースに必要なテーブルが追加されます。
有効にしたあとは、コメントをもとに戻しても問題ないと思います。

 

3.関連する記事を表示させたい部分に、以下のタグを挿入します。

基本的には、index.php page.php archive.php single.php などでしょう。

<?php if (ls_getinfo(‘isref’)) { ?>
<h2><?php ls_getinfo(‘terms’); ?></h2>
<p>You came here from <?php ls_getinfo(‘referrer’); ?> searching for <i><?php ls_getinfo(‘terms’); ?></i>. These posts might be of interest:</p>
<ul>
<?php ls_related(5, 10, ‘<li>’, ‘</li>’, ”, ”, false, false); ?>
</ul>
<?php } ?>

4.これで動作しているハズ!

と、かなり脚色されてますが、ご容赦ください。

このサイトで表示しているタグは以下の通り。

関連ポストが表示されない時のために、サイト内検索も追加しています。検索で引っかかるってことは、どこかにキーワードが含まれているハズですからね…。

<!-- start landing-sites -->
<?php if (ls_getinfo('isref')) { ?>
<h1 class="pagetitle">「<?php ls_getinfo('terms'); ?>」</h1>
<div class="textBody"><p><?php ls_getinfo('referrer'); ?> で「<strong><?php ls_getinfo('terms'); ?></strong>」を検索してお越しいただいたようですが、以下にリストが表示されていればそちらもご覧ください。または<strong><a href="https://qve.jp/?s=<?php ls_getinfo('terms'); ?>">ここからサイト内検索 ([<?php ls_getinfo('terms'); ?>] でサイト内検索を行います)</a></strong>もお試しください。</div>
<ul><?php ls_related(5, 10, '<li>', '</li>', ", ", false, false); ?></ul><br>
<?php } ?>
<!-- end landing-sites -->

ちなみに、プラグインも手を入れれば日本語表示になります。

 

プラグインの146行目あたり

echo $before_title.'No related posts'.$after_title;

この行を、以下のように改変して使用しています。

echo $before_title.'申し訳ございませんが、ここにリンクリストが表示されていない場合、<br>サーチエンジンのキャッシュにより関連する記事が表示されていないかもしれません。'.$after_title;

ポイントは、ファイルを開いたときに文字エンコーディングがUTF-8になっているか確認してから作業された方がスムーズに進みます。

 

またDBを操作しますので、バックアップのスキルがある方は、念のためバックアップを取ってから作業されることをおすすめします。