Amazonの共有リンクを使って商品リンクを作成したのに、リンクを開くとエラーが出てしまう問題に直面しました。原因や解決方法を調べたので、同じ問題にぶつかった人のために解決策を紹介します。
発生した問題
ブログで映画を紹介しようと思ってAmazon Primeの共有ボタンからリンクを作成しました。このリンクを含む記事を公開したところ、画像のプレビューは表示されるものの、そのリンク先がKindleページ(https://read.amazon….)になってしまったようでした。
リンクをクリックするとKindleページがiframeで展開されるようになっていました。該当のページが存在しないのか、展開するとエラーが発生しているとの表示がありました。
共有ボタンのリンクはそういうものだと思い、将来的な収益化も考慮してAmazonアソシエイトに登録することにしました。ここからリンクを作成すれば他のブログで見るようなリンクになると思いましたが、結果は同じでした。どうしてもKindleのリンクになってしまいます。
発生した問題の例
下のリンクは、プライムビデオの共有ボタンからコピーしたリンクを直接貼り付けたものです。
この方法でリンクを貼って投稿するとKindleへのリンクになってしまいます。
解決方法
調べた結果、これは WordPress 自体が元々持っている機能が影響しているようです。AmazonのURLを自動的に検知して、Amazonの埋め込みブロックが適用されているとのこと。URLが特定のフォーマットに当てはまると自動的に Kindle のURLに変更されてしまうみたいです。
つまり、置換対象のフォーマットにならなければいいのです。そこで、解決策として「短縮URLを使う方法」と「アンカーリンクを使う方法」の二つの解決方法を紹介します。
解決策1:短縮URLを使う
一つ目の解決策では、短縮URLを使います。
アソシエイトの機能で生成されるURLでは、短縮URLを選ぶことができます。
https://ww.amazon.co.jp/gp/vide/detail/ID
の形式でなければKindleリンクに変換されることがなくなるので、対象形式に当てはまらない短縮URLを使うことで問題を解決できます。
解決策2:アンカーリンクを使う
二つ目の方法は、アンカーリンクを使う方法です。
投稿の本文にURLをベタ書きするとリンクが置換されてしまいますが、アンカーリンクにすることで置換されないようにできます。
例えば、先ほどのリンクも こうすれば 想定したリンク先に飛ぶようなります。