WebSubをご存知でしょうか?
むかしは、PubSubHubbub(パブサブハバブ)と言われていましが、最近は
W3Cの勧告候補として、WebSub(ウェブサブ)と呼ばれています。
ざっくりな説明ですが、投稿した記事などをいち早く、検索エンジンに通知してくれるものです。
この仕組みにより、この記事を書いたのは私ですよと通知することで、コピーコンテンツが
上位にならないようにすることができます。(一番最初に記事を書いたところを認識してもらう)
WordPressで記事を書いている人は、以下のプラグインを入れておいてほうがよいでしょう。
では、WordPressではない場合、どうすればよいかをこの記事では記載します。
一からこの仕組を作るのは大変なので、ライブラリーを利用します。(PHP用)
composerを利用しているプロジェクトでは、以下をcomposer.jsonに追加します。
"require": { "pubsubhubbub/publisher": "*" }
とりあえずコマンドラインで実行した場合は、上記のリポジトリをcloneしても使えます。
git clone https://github.com/pubsubhubbub/php-publisher.git
実際の実行コードは、以下のようになります。
<?php
use pubsubhubbub\publisher\Publisher;
// specify which hub you want to use. In this case we'll use the demo hub on app engine.
$hub_url = "http://pubsubhubbub.appspot.com/";
// create a new pubsubhubbub publisher
$p = new Publisher($hub_url);
// specify the feed that has been updated
$topic_url = "http://www.onlineaspect.com";
// notify the hub that the specified topic_url (ATOM feed) has been updated
// alternatively, publish_update() also accepts an array of topic urls
if ($p->publish_update($topic_url)) {
echo "$topic_url was successfully published to $hub_url";
} else {
echo "Ooops...";
print_r($p->last_response());
}
git cloneして利用する場合は、以下の行を先頭に追加しましょう。
require_once('library/Publisher.php');
上記のコマンドを実行し登録がうまくいくと以下のメッセージがでます。
[登録ページのURL] was successfully published to http://pubsubhubbub.appspot.com/pubg:php-publisher
独自で作っているCMSなどでは、このライブラリを利用して、記事作成の都度、通知が行くようにしておくと良いでしょう。
もちろん、Search ConsoleからURL検査 => インデックス登録をリクエストで登録することもできますが、記事を書くたびにSearch Consoleを開くのは大変なので、自動化しておきましょう。
これは、早く通知するための仕組みなので、sitemap.xmlの作成も合わせて行っておきましょう。