Amazon Associates Link Builder で商品リンクが表示されない不具合が直る気配がないので修正版を作った【WordPressプラグイン】

Amazonさん謹製のWordPressプラグイン「Amazon Associates Link Builder」の修正版を作りました。そもそも自分用ですが、もし誰かの役に立つなら嬉しいので公開してみます。

修正版の使い方

今のところ、最新の公式版の1.9.2を修正したものだけあります。ここからダウンロードできます→ https://github.com/kno2502/amazon-associates-link-builder/archive/1.9.2-kno2502.zip

既に公式版がインストールされている場合、一度削除してから修正版をインストールしてください。

zip形式のWordPressプラグインのインストール方法や、Amazon Associates Link Builder の使用方法についてはググってください。

修正点

  1. WP-Cronタスクを無効化しました。
  2. 日本語の文字化けを直しました。
  3. トラッキングID(アソシエイトタグ)がおかしくなる問題を直しました。

WP-Cronタスク無効化(表示されない原因)

WP-Cronタスクが動くと数秒おきにキャッシュ更新を試み、その度に Amazon Product Advertising API (PAAPI) へのリクエストが発生するため、一日のリクエスト回数制限にあっという間に達してしまいます。おそらくこれが「商品リンクが表示されない原因」の最も多いパターンだと考えられます。WP-Cronタスク自体を無効化することにより、PAAPIの制限に達する可能性がかなり低くなります。

You are submitting requests too quickly. Please retry your requests at a slower rate.

商品リンクを作成しようとした際にこのエラーメッセージが出る問題が解消する可能性があります。ただし、Amazon側の制限が解除されないと意味がないので、修正版にしてから一日待ってください。

なお、このプラグインのWP-Cronタスクをすべて止めることによる弊害は不明です(未調査)。キャッシュの期限切れの際にアクセスがあるとAPIコールが発生するので、ページ表示速度がちょっとだけ遅くなります。

日本語の文字化け解消

CREATE TABLE のオプションに CHARACTER SET = utf8mb4 を付けています。

MySQL(MariaDB)のデフォルト文字エンコーディングが utf8mb4 等に設定されている環境では、元々この問題は発生していないと思います。

既に公式版をインストールして問題が発生している場合は、手動で DROP TABLE wp_Aalb_Asin_Response; を実行する必要があります。関連:
WordPressプラグイン Amazon Associates Link Builder 1.9.2 でタグ(トラッキングID)が異常なのと日本語が文字化けするのを直した | けーのブログ

トラッキングID(アソシエイトタグ)がおかしくなる問題の修正

正規表現がおかしくてトラッキングIDを破壊してしまう部分があるので、そこを直しました。

注意点とあとがき

  • 元々のライセンスがGPLなので、もちろん無保証です。
  • 何か変なところがあったら教えてください。
  • もし役に立ったら報告してくれると嬉しいです。
  • GitHubリポジトリはこちら→
    https://github.com/kno2502/amazon-associates-link-builder
  • 誰かこのプラグインを使ってる人おるんか…?

↓テストも兼ねたおすすめ商品の紹介