ココログフリーでcanonicalを設定する(個別記事対応)

Web-log・ココログ関連,WordPress

ココログフリーから引っ越してきた後、引っ越し先を伝えるために、暫定的にですがcanonicalを設定していました。

ココログフリーでcanonicalを設定する(暫定版)

「暫定的」な理由は、canonicalの転送先が、全てブログのトップページに向いていたからでした。でも、canonicalの意味からすると、これは正しいやり方ではありません。各個別記事のURLを指す必要があります。

当時は、個別記事のURLをJavaScriptで取得する方法がわからなかったのです。実は、簡単に取得できることがわかりました。location.hrefで良いんですね。

ココログフリーから、本ウェブサイトに引っ越してくる時、次の準備を経ています。

ココログを引っ越す前にやっておく事[追記あり]

引っ越した後、リンク名を共通にする為に次のウェブページを参考にMySQLのデータベースを書き換えています。大変参考になりました。ありがとうございます。

この方法を使っているので、移転前のココログの固定リンク名と、移転後の固定リンク名が揃っているのです。なので、ココログのホスト名の部分を本ウェブサイトのホスト名に書き換えれば、同じ記事にアクセスできます。

ただ、本ウェブサイトの場合、"blog"部分を"plus"に書き換える必要があります。これは、.htaccessを利用しています。

# blog = plus
RewriteRule ^blog(.*)$ plus$1 [R=301,L]

また、記事のパス名はlocation.pathnameで取得できます。これらを利用すると、記事ごとのcanonicalを設定できます。

<script language="JavaScript">
  var link = document.createElement('link');
  link.href = 'http://example.com' + location.pathname;
  link.rel = 'canonical';
  var head = document.getElementsByTagName('head')[0];
  head.appendChild(link);
</script>

この設定で、個別記事のcanonicalは設定できるのですが、ウェブページやアーカイブ(日付、カテゴリー)のcanonicalを設定できません。改良が必要です。この改良方法を色々考えていたら、もっと素晴らしい方法を思いつきました。別記事で紹介します。

[amazonjs asin="4861670608" locale="JP"]

Posted by お市のかた