WordPressに「貼ったリンクを自動で最適化する仕組み」を入れてみた話

この記事の内容について、業務や開発でお困りの場合は個別に対応できます。

ブログを書いていると、Amazon の商品リンクを貼る機会はかなり多くなります。とくにレビュー・機材紹介・トラブルシューティングの記事では、商品URLを何十本も扱うことも珍しくありません。
ただ、このリンク管理が意外と大変で、手作業でパラメータを付けたり、外注ライターさんにルールを共有したりと、運用負荷がジワジワ増えていきます。

そこで、記事に「Amazon の商品URLを貼るだけ」で 必要なパラメータが自動付与され、フォーマットも統一される仕組み を WordPress 側に組み込みました。結果として、リンク管理そのものを考えなくてよくなり、運用が一段軽くなりました。


なぜ Amazon リンクは“自動最適化”した方がいいのか

運営が進むほど、リンク管理は手作業では破綻しやすくなります。

  • 記事数が増えるとリンクの統一ルールが崩れる
  • パラメータの付け忘れが頻発する
  • ライターごとに表記ブレが出る
  • 過去記事のリンク仕様だけが古くなる

Amazon の商品リンクは特に数が多いため、“サイト側で統一ルールを担保する” 仕組みがあるとメリットが大きいです。

私が導入したロジックは次のような思想で設計しています:

  • 既に記事に存在している Amazon URL は絶対に変更しない
  • 新しく追加された Amazon URL のみ自動最適化する
  • すでにパラメータが付いている URL は上書きしない
  • /dp/◯◯ のような商品ページだけを対象にする
  • 投稿者側の操作はリンクを貼るだけでOK

これだけでリンク統一とミス防止の両方が実現できます。


実際に使っている WordPress 自動最適化コード(Amazon 専用)

子テーマの functions.php に貼ればそのまま動きます。

/**
 * Amazonリンクの自動最適化ロジック
 * ・既存リンクは変更しない
 * ・新規Amazon商品リンクだけ自動でパラメータを付与
 */
function auto_optimize_amazon_links($content, $post_id) {

    // AWS アソシエイトIDなどに使うパラメータ(例)
    $auto_param = 'tag=yourtag-22';

    // 過去の本文(既存リンク判定用)
    $old = get_post_field('post_content', $post_id, 'raw');

    // Amazon 商品ページURLを抽出する正規表現
    $pattern = '/https?:\/\/(?:www\.)?amazon\.co\.jp\/[^\s"\']+/u';

    return preg_replace_callback($pattern, function ($matches) use ($old, $auto_param) {

        $url = $matches[0];

        // 既存本文に存在するURL → 変更禁止
        if (strpos($old, $url) !== false) {
            return $url;
        }

        // すでに tag= がある場合 → 上書きしない
        if (strpos($url, 'tag=') !== false) {
            return $url;
        }

        // /dp/xxxx の形式(商品ページ)だけ最適化
        if (!preg_match('/\/dp\/[A-Za-z0-9]+/i', $url)) {
            return $url;
        }

        // ? の有無で & or ? を決める
        $delimiter = (strpos($url, '?') !== false) ? '&' : '?';

        return $url . $delimiter . $auto_param;

    }, $content);
}
add_filter('content_save_pre', 'auto_optimize_amazon_links', 10, 2);

この仕組みで運用がどう変わるか

このロジックを入れてから、Amazon リンクは「貼るだけでOK」になりました。
外注ライターさんも、Amazon商品URLをそのまま貼るだけで、自動的に最適化済みリンクに変換されます。

  • リンク管理の属人化が消える
  • 運営が大きくなっても品質が安定する
  • 過去記事を触らず、未来の記事だけ最適化できる
  • WP 側のルールでリンク仕様が統一される

Amazonリンクを多用するサイトなら、この自動最適化は“運営者の負担を確実に減らす仕組み”になります。

ZIDOOKA!

この記事の内容について、対応できます

この記事に関連する技術トラブルや開発上の問題について個別対応を行っています。

個別対応は3,000円〜 内容・工数により事前にお見積りします
最後までお読みいただきありがとうございました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AI活用に関するポリシー

当サイトでは、記事の執筆補助にAIを活用する場合がありますが、全面的な委任は行いません。