warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.

Movable Type で、「トラックバックは失敗しました: HTTP error: 403 Throttled」エラーが出たときの対処方法

自サイトでもエントリー間でリンクを貼りあうことは SEO 対策として有効である。各ページが相互に関連し合ったサイトとみなされるからである。 さて、上の方針を元に自サイト内のエントリーにトラックバックを Movable Type で送り合っていると、途中で https://…/mt-tb.cgi/xxx」へのトラックバックは失敗しました: HTTP error: 403 Throttled なるエラーがログに記録されていて、トラックバックができなくなってしまうことがある。この場合は、
自サイトでもエントリー間でリンクを貼りあうことは SEO 対策として有効である。各ページが相互に関連し合ったサイトとみなされるからである。 さて、上の方針を元に自サイト内のエントリーにトラックバックを Movable Type で送り合っていると、途中で https://…/mt-tb.cgi/xxx」へのトラックバックは失敗しました: HTTP error: 403 Throttled なるエラーがログに記録されていて、トラックバックができなくなってしまうことがある。この場合は、

Amazon アソシエイトで、Movable Type を使ったアフィリエイトを簡単にする方法

このブログのトップページや個別エントリーのページにあるように、Amazon アソシエイトの商品を出すには、今まで紹介してきたような方法を使ってシコシコ手で入力したり、ほとんどワンクリックでリンクを入力する方法(ASIN コードの入力をラクにする方法)もあるが、これらリンクを Movable Type のテンプレートに組み込んでもう少し自動化する方法はないのだろうか? その方法は、ズバリ MTAmazon という Movable Type 用のプラグインを使うことである。MTAmazon のページからモジュールをダウンロードして、plugins というディレクトリに放り込めば、テンプレートで Amazon アソシエイト用のタグが使えるようになる。各国のアマゾンに対応している(もちろん日本も!)ので、試してみて欲しい。
このブログのトップページや個別エントリーのページにあるように、Amazon アソシエイトの商品を出すには、今まで紹介してきたような方法を使ってシコシコ手で入力したり、ほとんどワンクリックでリンクを入力する方法(ASIN コードの入力をラクにする方法)もあるが、これらリンクを Movable Type のテンプレートに組み込んでもう少し自動化する方法はないのだろうか? その方法は、ズバリ MTAmazon という Movable Type 用のプラグインを使うことである。MTAmazon のページからモジュールをダウンロードして、plugins というディレクトリに放り込めば、テンプレートで Amazon アソシエイト用のタグが使えるようになる。各国のアマゾンに対応している(もちろん日本も!)ので、試してみて欲しい。

Amazon アソシエイトで、ASIN コードの入力をラクにする方法

  1. まず、/mt-static/images に amazon.gif ←の画像をアップロード /mt-static/mt_ja.js に以下のコードを追加
    function AmazonLink(e) {
      if (!canFormat) return;

      var associate_id = '<font color="blue">twinklexxx</font>'; // 自分のアソシエイト ID に変更
      var xslt = '<font color="blue">https://aws.twinkle.cc/amazon.xsl</font>'; // 自分の XSLT のアドレスに変更
      var access_key = '<font color="blue">152ZP71KPB47XM09CS02</font>'; // 自分の Web サービス Access Key ID に変更

      var str = getSelected(e);
      var asin = prompt('Enter Amazon ASIN','');
      var country = prompt('Enter Country (us or jp)', 'us');
      if (asin != null && country != null) {
        if (str == '') {
          if(country == 'jp') {
            code = '-22';
          } else if(country == 'us') {
            code = '-20';
          }
          setSelection(e, '<iframe src="https://xml-' + country + '.amznxslt.com/onca/xml?Service=AWSECommerceService&ItemId=' + asin + '&AssociateTag=' + associate_id + code + '&AWSAccessKeyId=' + access_key + '&Operation=ItemLookup&IdType=ASIN&ContentType=text%2Fhtml&Version=2006-03-08&Page=1&ResponseGroup=ItemAttributes,Images,Offers&Style=' + xslt + '" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" height="175"></iframe>\n');
        } else {
          setSelection(e, '<iframe src="https://xml-' + country + '.amznxslt.com/onca/xml?Service=AWSECommerceService&ItemId=' + asin + '&AssociateTag=' + associate_id + code + '&AWSAccessKeyId=' + access_key + '&Operation=ItemLookup&IdType=ASIN&ContentType=text%2Fhtml&Version=2006-03-08&Page=1&ResponseGroup=ItemAttributes,Images,Offers&Style=' + xslt + '" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" height="175"></iframe>\n');
        }
      }
      return false;
    }
  2. 次に、/tmpl/cms/edit_entry.tmpl 583 と 642 行目あたりに以下のコードをそれぞれ追加(通常のエントリー書き込み部分と「続きを読む」用に、2ヶ所修正が必要)
            write('<img title="<MT_TRANS phrase="Quote">" onclick="return formatStr(document.entry_form.text, \'blockquote\')" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/quote.gif" alt="<MT_TRANS phrase="Quote">" width="26" height="19" />');
            <strong>write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
            write('<img title="<MT_TRANS phrase="Quote">" onclick="return formatStr(document.entry_form.text_more, \'blockquote\')" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/quote.gif" alt="<MT_TRANS phrase="Quote">" width="26" height="19" />');
            write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');
  3. 最後に、/tmpl/cms/bm_entry.tmpl 334 と 373 行目あたりに以下のコードをそれぞれ追加(同様に通常のエントリー書き込み部分と「続きを読む」用に、2ヶ所修正が必要)
            write('<a title="<MT_TRANS phrase="Quote">" href="#" onclick="return formatStr(document.entry_form.text, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
    <strong>        write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
            write('<a title="<MT_TRANS phrase="Quote">" href="#" onclick="return formatStr(document.entry_form.text_more, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
            <strong>write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
Updated: 2007/04/21 Created: 2007/07/01
  1. まず、/mt-static/images に amazon.gif ←の画像をアップロード /mt-static/mt_ja.js に以下のコードを追加
    function AmazonLink(e) {
      if (!canFormat) return;

      var associate_id = '<font color="blue">twinklexxx</font>'; // 自分のアソシエイト ID に変更
      var xslt = '<font color="blue">https://aws.twinkle.cc/amazon.xsl</font>'; // 自分の XSLT のアドレスに変更
      var access_key = '<font color="blue">152ZP71KPB47XM09CS02</font>'; // 自分の Web サービス Access Key ID に変更

      var str = getSelected(e);
      var asin = prompt('Enter Amazon ASIN','');
      var country = prompt('Enter Country (us or jp)', 'us');
      if (asin != null && country != null) {
        if (str == '') {
          if(country == 'jp') {
            code = '-22';
          } else if(country == 'us') {
            code = '-20';
          }
          setSelection(e, '<iframe src="https://xml-' + country + '.amznxslt.com/onca/xml?Service=AWSECommerceService&ItemId=' + asin + '&AssociateTag=' + associate_id + code + '&AWSAccessKeyId=' + access_key + '&Operation=ItemLookup&IdType=ASIN&ContentType=text%2Fhtml&Version=2006-03-08&Page=1&ResponseGroup=ItemAttributes,Images,Offers&Style=' + xslt + '" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" height="175"></iframe>\n');
        } else {
          setSelection(e, '<iframe src="https://xml-' + country + '.amznxslt.com/onca/xml?Service=AWSECommerceService&ItemId=' + asin + '&AssociateTag=' + associate_id + code + '&AWSAccessKeyId=' + access_key + '&Operation=ItemLookup&IdType=ASIN&ContentType=text%2Fhtml&Version=2006-03-08&Page=1&ResponseGroup=ItemAttributes,Images,Offers&Style=' + xslt + '" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" height="175"></iframe>\n');
        }
      }
      return false;
    }
  2. 次に、/tmpl/cms/edit_entry.tmpl 583 と 642 行目あたりに以下のコードをそれぞれ追加(通常のエントリー書き込み部分と「続きを読む」用に、2ヶ所修正が必要)
            write('<img title="<MT_TRANS phrase="Quote">" onclick="return formatStr(document.entry_form.text, \'blockquote\')" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/quote.gif" alt="<MT_TRANS phrase="Quote">" width="26" height="19" />');
            <strong>write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
            write('<img title="<MT_TRANS phrase="Quote">" onclick="return formatStr(document.entry_form.text_more, \'blockquote\')" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/quote.gif" alt="<MT_TRANS phrase="Quote">" width="26" height="19" />');
            write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');
  3. 最後に、/tmpl/cms/bm_entry.tmpl 334 と 373 行目あたりに以下のコードをそれぞれ追加(同様に通常のエントリー書き込み部分と「続きを読む」用に、2ヶ所修正が必要)
            write('<a title="<MT_TRANS phrase="Quote">" href="#" onclick="return formatStr(document.entry_form.text, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
    <strong>        write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
            write('<a title="<MT_TRANS phrase="Quote">" href="#" onclick="return formatStr(document.entry_form.text_more, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
            <strong>write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
Updated: 2007/04/21 Created: 2007/07/01

Movable Type で、印刷用ページのスタイルシートを指定する方法。

要は、印刷用のスタイルシート(例えば、styles-print.css)を用意して、テンプレートから通常のものと一緒に指定する。以下の手順で設定する。
  1. Movable Type の管理画面の各ページのテンプレートで、以下の部分を探す。
    <link rel="stylesheet" href="styles-site.css" type="text/css">
  2. 以下の青字の部分を追記する(行を分けて書いているが、それぞれ 1行でもよい)。
    <link rel="stylesheet"
    href="styles-site.css" type="text/css" media="screen,tv" />
    <font color="blue"><link rel="stylesheet"
    href="styles-print.css" type="text/css" media="print" /></font>
  3. Movable Type の管理画面の、テンプレート→インデックスタブ→テンプレートを新規作成で、印刷用スタイルシートを作成する。
    • テンプレート名:スタイルシート(印刷用)
    • ファイル名:styles-print.css
    • このテンプレートにリンクするファイル:空白のまま
それでは styles-print.css に何を書くのか?基本的には、styles-site.css の内容をそのままコピペする。そしてカスタマイズしていけばいいのだが、そのまま印刷プレビューしてみるとすぐにわかることがある。ページをまたがるエントリーや、ウェブページが、うまく表示されないのだ。これは styles-site.css の中にある、 overflow: hidden; と書いてある部分のいたずらである。styles-site.css のスタイルシートの中には数ヶ所この記述が散らばっているのだが、styles-print.css の中ではこれをすべて /* … */ でコメントアウトすればよい。 Movable Type 3.2 であれば、styles-print.css の最後に、とりあえず以下を追記しておけば、サイドバー(Movable Type デフォルトテンプレート右側の部分)や、コメント、トラックバックが印刷時には印刷されなくできる。
#beta,
#comments,
.content-nav,
.trackbacks,
{
    display: none;
}
要は、印刷用のスタイルシート(例えば、styles-print.css)を用意して、テンプレートから通常のものと一緒に指定する。以下の手順で設定する。
  1. Movable Type の管理画面の各ページのテンプレートで、以下の部分を探す。
    <link rel="stylesheet" href="styles-site.css" type="text/css">
  2. 以下の青字の部分を追記する(行を分けて書いているが、それぞれ 1行でもよい)。
    <link rel="stylesheet"
    href="styles-site.css" type="text/css" media="screen,tv" />
    <font color="blue"><link rel="stylesheet"
    href="styles-print.css" type="text/css" media="print" /></font>
  3. Movable Type の管理画面の、テンプレート→インデックスタブ→テンプレートを新規作成で、印刷用スタイルシートを作成する。
    • テンプレート名:スタイルシート(印刷用)
    • ファイル名:styles-print.css
    • このテンプレートにリンクするファイル:空白のまま
それでは styles-print.css に何を書くのか?基本的には、styles-site.css の内容をそのままコピペする。そしてカスタマイズしていけばいいのだが、そのまま印刷プレビューしてみるとすぐにわかることがある。ページをまたがるエントリーや、ウェブページが、うまく表示されないのだ。これは styles-site.css の中にある、 overflow: hidden; と書いてある部分のいたずらである。styles-site.css のスタイルシートの中には数ヶ所この記述が散らばっているのだが、styles-print.css の中ではこれをすべて /* … */ でコメントアウトすればよい。 Movable Type 3.2 であれば、styles-print.css の最後に、とりあえず以下を追記しておけば、サイドバー(Movable Type デフォルトテンプレート右側の部分)や、コメント、トラックバックが印刷時には印刷されなくできる。
#beta,
#comments,
.content-nav,
.trackbacks,
{
    display: none;
}