=== 商品リンクちゃん ===
Contributors: minnanotool
Tags: affiliate, amazon, rakuten, yahoo, rinker, kaereba, moshimo
Requires at least: 6.2
Requires PHP: 7.4
Tested up to: 7.1
Stable tag: 1.7.40
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

商品を一度探してAmazon・楽天市場・Yahoo!ショッピングのリンクをまとめて作成するWordPressプラグインです。

== 主な機能 ==
* 楽天市場商品検索API 2026-07-01を主系統として商品検索
* 商品価格ナビ製品検索API 2025-08-01はJANコード入力時だけ補助的に利用
* Amazon検索リンク＋トラッキングID
* 楽天Affiliate ID対応
* Yahoo!通常検索リンク／ValueCommerce LinkSwitch
* 商品保存・編集・ショートコード
* 投稿・固定ページのClassic Editorから商品検索→登録→挿入まで完結
* 商品カードデザイン4種類（標準・シンプル・枠線・コンパクト）と全記事一括反映
* 新規挿入時にAmazon・楽天市場・Yahoo!ショッピングの表示ショップを1～3社から個別選択
* 新規挿入時に参考価格の表示／非表示を個別選択
* 商品カード下部の小さな「商品リンクちゃん」から公式配布ページへ案内
* 「商品リンクを一括移行」でRinker・カエレバ・もしもかんたんリンク・その他のまとめ商品リンク・既存のAmazon／楽天市場／Yahoo!単独商品リンクをまとめてスキャン
* もしもかんたんリンクは既存コード内のa_id・p_id・pc_id・pl_id・商品URLを読み取り、商品ごとの成果リンク・計測情報を保持
* Amazon単独リンクはAmazonアソシエイトのtag付きURLやamzn.to短縮URLも検出対象
* 既存のアフィリエイトURLは検出できたものをそのまま保持
* 記事を選んで移行／検出対象を一括移行／ロールバック
* 判定できないASPリンクは「その他候補」として表示し、自動では書き換えない

== 初期設定 ==
WordPress管理画面 → 商品リンクちゃん → 設定 から行います。
Amazon・楽天市場・Yahoo!ショッピングの各入力欄の直下に、取得場所と入力手順を常時表示します。クリックして開く必要はありません。

楽天APIは「楽天APIを診断」で、楽天市場商品検索API・アプリケーションURL（許可サイト）・Affiliate IDを確認できます。

== 商品リンク一括移行時の注意 ==
必ずWordPressをバックアップしてから、商品リンクちゃん → 商品リンクを一括移行 を開いてください。
一括移行は必須テストを設けていません。ご利用は自己責任で、まず「記事を選んで移行」で1〜数記事から確認し、商品カードと各ショップへのリンクが正常なことを確認してから範囲を広げることをおすすめします。
Rinkerを移行する場合は、確認が終わるまでRinkerを無効化・削除しないでください。






== 1.7.40 ==
* SEO新記事ツール連携用に、Application Passwordで認証できるREST APIを追加しました。Amazon商品URLのASINを確認し、既存商品は再利用、未登録商品は商品名が確認できた場合だけ商品リンクちゃんへ登録します。
* Amazon URLから作成した商品は登録後にASIN・投稿タイプ・公開状態を再検証し、不一致時は作成分を自動削除して停止します。

== 1.7.39 ==
* 投稿・固定ページの商品検索モーダルを縦方向に最適化し、PCで検索結果を2〜3件同時に比較しやすく改善。
* デザイン4種の見本は維持したまま高さを圧縮し、商品検索結果の表示領域を拡大。
* 検索結果カードの画像・余白・入力欄・ボタンを調整し、視認性を保ちながら一覧性を向上。

== 1.7.38 ==
* 商品カードデザインを「標準・シンプル・枠線・コンパクト」の4種類に整理しました。旧「カラーボタン」は標準へ統合し、既存の vivid 指定も標準として互換表示します。
* 標準デザインをAmazon・楽天市場・Yahoo!ショッピングのショップカラーが一目で分かる配色へ変更しました。
* 商品検索画面・記事挿入モーダル・設定画面で、プルダウンではなく4種類のミニプレビューを見ながらクリックして選べるようにしました。
* コンパクトデザインの画像・余白・文字・ボタンをさらに小さくし、多数の商品を並べる用途との差を明確にしました。
* 商品カード下部のクレジットを「商品リンクちゃん」のみに変更し、文字サイズと装飾を大幅に控えめにしました。リンク先は公式配布ページのままです。

== 1.7.37 ==
* JANコード検索で製品候補が見つかっても楽天市場商品が0件になる場合、JANそのもの・製品名を使って自動再検索するフォールバックを追加しました。
* 投稿・固定ページの検索モーダルでもJAN製品候補を表示するよう修正。候補があるのに画面上で確認できない状態を解消しました。
* JAN製品候補だけ見つかり楽天市場商品が0件の場合は、製品候補から再検索できる案内を表示するよう改善しました。
* JAN検索のキャッシュ世代を更新し、旧版の0件結果が一時キャッシュに残って新しい検索ロジックを妨げないようにしました。

== 1.7.36 ==
* 移行状態診断をASP名のブラックリスト方式からホワイトリスト方式へ変更。未知・マイナー・新規ASPのリンクは、個別にASP名を登録しなくても原則として診断対象外になります。
* 診断対象を、商品リンクちゃん、Rinker、カエレバ、もしも かんたんリンク、およびAmazon／楽天市場／Yahoo!ショッピングへ直接向く明確な商品リンクに限定しました。
* 一般ASPのリダイレクトURL内にAmazon・楽天・Yahoo!のURLが含まれていても、ASP側URLそのものは「要手動修正」として数えません。
* 「その他まとめ商品リンク」は、内部にホワイトリスト対象の直接ショップリンクが残っている明確なカードだけを診断します。
* 診断結果の「該当箇所を記事で確認」も同じホワイトリスト判定を使い、ASPリンクではなく実際の直接商品リンク位置へジャンプするよう揃えました。

== 1.7.35 ==
* 移行状態診断の対象を厳格化。A8.net・通常のもしもアフィリエイト広告・ValueCommerce・アクセストレード等の一般ASPリンクは「要手動修正／未処理」に含めないよう変更しました。
* 「もしも かんたんリンク」は従来どおり移行対象として診断し、通常のもしも広告リンクとは区別します。
* Amazon／楽天市場／Yahoo!ショッピングの単独リンクは、一般ASPのリダイレクト経由ではなくショップへ直接向く商品リンクだけを未変換診断の対象にしました。
* 一般ASPリンクしかない記事が「確認した記事」件数へ混ざらないよう診断集計も整理しました。

== 1.7.34 ==
* 一括移行後の確認を「商品画像復旧」中心から「商品リンクちゃん 移行状態診断」へ整理。旧商品リンクの残存、商品リンクちゃんショートコードの参照切れ、商品カード画像の欠損・誤画像候補を読み取り専用でまとめて確認できます。
* 要手動修正ごとに、該当記事名・記事URL・直前見出し・周辺文章・対象商品／リンク種別・問題理由を表示。実記事の該当付近へ直接ジャンプできる確認リンクを追加しました。
* 自動で直せない項目は画像URLを手入力させず、「この記事を編集して手動で入れ直す」へ一本化。編集画面では、該当リンクを削除して商品リンクちゃんから商品を検索・選択・再挿入する手順を案内します。
* Classic Editorでは手動修正リンクから開いた際、可能な場合はテキストモードで該当ショートコード／旧リンク付近を選択して見つけやすくします。
* 修正用の編集タブから診断画面へ戻ると自動再診断し、直った項目は未処理一覧から自動で消える作業フローに変更しました。
* 「手動対応済み」「今回は無視」で未処理一覧を整理でき、必要なら未処理へ戻せます。従来の候補画像入力・個別画像修復・候補画像一括承認などの複雑な復旧UIは一括移行画面から撤去しました。

== 1.7.32 ==
* 未処理キューの各商品に「現在の記事表示を確認」を追加。実際の記事を別タブで開き、修正前の表示をその場で確認できます。
* 「商品リンクちゃんで手動修正」から開いた商品編集画面で、修正後の商品カードをその場でプレビューできる確認パネルを追加。
* 手動修正を保存した直後に画像診断を自動再実行し、解消済みか、まだ未処理か、その理由と残件数を表示します。
* 修正後は「未処理キューへ戻って次へ」で最新の未処理一覧へ戻れるよう改善。戻った際も自動診断するため「商品画像を診断する」を毎回押し直す必要がありません。
* 手動修正画面から、対象商品を使用している実際の記事を別タブで確認できる導線を追加。

== 1.7.31 ==
* 一括移行後の画像問題を「未処理／手動対応済み／今回は無視」で整理できる移行仕上げキューを追加。自動修復や手動修正で問題が解消すると未処理から自動で消えます。
* 自動で終わらない商品は、理由・復旧根拠・ASIN/JAN候補・使用記事を表示したまま「商品リンクちゃんで手動修正」へ移動可能。既存の商品リンクちゃん商品を直接直すため、重複商品を作りません。
* 商品データが変化した場合は古い「手動対応済み／今回は無視」を自動的に無効化し、新しい問題を隠さない仕組みを追加。
* 復旧候補画像がある商品は、管理者がチェックしたものだけを一括承認して画像修復できるよう対応。
* 安全な画像一括修復と候補画像の一括承認にバッチIDを付け、直前の一括画像修復をまとめて元へ戻せる機能を追加。個別変更済みの商品は安全のためスキップします。
* 「手動対応済み／今回は無視」は診断上のNG件数を改ざんせず、作業キューだけから外す設計。後から未処理へ戻せます。

== 1.7.30 ==
* 画像診断に「画像復旧レビュー（個別承認）」を追加。候補の商品ページ、ASIN/JAN、使用記事の直前見出し・周辺文を確認してから画像だけを修復できます。
* 管理者が確認した画像URLだけを個別保存する機能を追加。記事本文・商品名・Amazon／楽天市場／Yahoo!の成果URLは変更しません。
* 個別画像修復の履歴を商品ごとに保存し、現在画像が修復直後の値と一致する場合に限り「直前の画像修復を元に戻す」に対応。
* 元画像の有無が判定不能な商品は「元から画像なし／元リンクには画像があった」を管理者が明示確定可能。保存済み元画像と矛盾する確定は拒否します。
* 復旧根拠の内訳を、根拠名だけでなく実際の自動修復／候補／手動確認の件数で表示するよう改善。
* 移行元別状態テーブルで「元から画像なし」の列がずれていた表示不具合を修正。
* 管理者入力の画像URLはURL形式・画像らしさ・WordPressの安全URL検証を通過した場合だけ保存。

== 1.7.29 ==
* 商品画像診断を根本修正。「画像URLが空＝画像欠損」とせず、移行前に画像が存在した証拠を確認できた商品だけを「画像欠損・誤画像」と判定。
* 元々画像を含まないAmazon／楽天／Yahoo!の単独テキストリンク等は「元から画像なし（正常）」として分離し、不要な修復対象から除外。
* 移行時に元画像の有無と元画像URLを商品メタへ保存する仕組みを追加し、今後の移行では診断・復旧根拠を確実に保持。
* 「自動修復可能」は商品識別情報だけでなく、実際の商品画像URLまで取得できた場合に限定。ASIN/JAN/直商品URLを特定できても画像取得に失敗したものは「復旧候補あり」へ降格。
* 診断画面を「画像あり正常／元から画像なし／画像欠損・誤画像／要確認」の4状態へ整理。

== 1.7.28 ==
* 商品画像診断の「復旧候補あり」を、Rinker画像JSON／元Rinkerあり／移行元画像／ASIN確定／JAN確定／直商品URL／元データ削除済み／複数候補／手掛かり不足などへ細分化。
* 移行前バックアップの前後に残る通常本文をアンカーとして、その商品リンクだけに対応する元ブロックを一意に切り出せた場合のみ、ASIN・JAN・画像・直商品URLを強い復旧根拠として採用。
* Rinker元商品が削除済みの場合、記事周辺にASIN/JANが1件あっても別商品の可能性を除外できないため、自動修復へ昇格させない保守的な判定に変更。
* カエレバ・もしもかんたんリンク・その他まとめ・単独リンク等は、元商品ブロックから商品画像／ASIN／JAN／直商品URLを一意に確認できた場合だけ自動修復対象へ昇格。
* 「安全に特定できた画像だけ一括修復」は診断と同じ復旧計画を利用し、自動修復対象だけを処理。商品は特定できても外部ページから画像を取得できなかった場合は「画像取得失敗」として分離。
* 自動修復対象が0件の場合は修復ボタンを無効化し、誤操作を防止。復旧根拠の内訳を一覧表示。

== 1.7.27 ==
* 商品画像診断の結果から「安全に特定できた画像だけ一括修復」を追加。記事本文・商品名・各ショップ成果URLは変更せず、商品画像だけを修復。
* 元Rinker投稿が残っていて保存JSONから商品画像を直接確認できる場合は、その画像だけを採用。
* 商品リンクちゃん側にJANが明示保存されている場合は、楽天製品APIのproductCode完全一致かつ画像候補が一意の時だけ修復。
* 商品側に保存済みのAmazon／楽天市場／Yahoo!の直商品URLがある場合のみ、その商品ページのOG画像を安全な許可ホストから取得。検索URLやASPリダイレクトURLは自動修復に使わない。
* 移行前記事内にたまたま残るASIN/JANだけでは別商品の可能性があるため自動修復せず、保留として残す保守的な設計。
* 修復後は商品画像診断を自動再実行し、修復件数・保留件数・修復根拠を表示。

== 1.7.26 ==
* 商品画像診断を強化し、画像NG・要確認商品を「自動修復可能」「復旧候補あり」「手動確認」の3段階に分類。
* Rinker由来は元Rinker投稿の存在と保存JSON画像を読み取り専用で確認し、元商品が残っていて画像を直接確認できるものだけを「自動修復可能」と判定。
* 元Rinker商品が削除済みでも、移行前バックアップや保存URLからASIN/JANを一意に確認できる場合は「復旧候補あり」として根拠を表示。候補が複数ある場合は誤修復防止のため自動選択しない。
* カエレバ・もしもかんたんリンク・単独リンク等も、保存済みショップURL・ASIN/JAN・移行前バックアップの有無から復旧可能性を分類。
* Rinker画像一括修復は元Rinker商品が削除済みのIDを繰り返し処理しないよう変更し、自動修復候補の残り件数を表示。
* 商品画像診断は引き続き読み取り専用で、記事本文・商品情報・成果URLを変更しない。

== 1.7.25 ==
* 「商品画像診断（読み取り専用）」を一括移行画面へ追加。修復前に商品画像の状態を全商品で確認可能。
* Rinker・カエレバ・もしもかんたんリンク・単独リンク・新規登録など、移行元別に商品数／正常候補／画像NG／要確認を集計。
* 画像URLが空、Rinkerのarrow-left.png等のUI画像、不正URLなどを問題商品として一覧化し、商品ID・使用記事・元Rinker ID・次の対応を表示。
* 商品画像診断は記事・商品データを変更しない読み取り専用。外部画像URLの404等は第一段階では自動判定しない。
* Rinker画像一括修復で未解決が残った場合に「0になるまで繰り返す」と案内せず、画像診断で原因確認する導線へ変更。


== 1.7.24 =
* Rinker再移行時、既存マッピングがあると画像修復処理を通らず、過去に誤保存された arrow-left.png 等が残り続ける問題を修正。
* 再移行時も import_product() を必ず通し、Rinkerの「画像（中）の他データ」等の保存JSONから正しい商品画像を再取得・上書き修復。
* /wp-content/plugins/yyi-rinker/img/ 配下のUI画像を商品画像候補から明示的に除外。
* 既存の商品ID・成果URL・記事本文は維持し、画像だけを安全に修復。

= 1.7.23 ==
* 実際のRinker保存データを確認し、「画像（中）の他データ」等に保存されたJSON配列から商品画像URLを直接取得する処理を追加。
* Rinker商品投稿のpostmetaを読み取り専用で直接確認し、m.media-amazon.com等の実商品画像をHTML解析より優先して採用。
* 既にRinkerから移行済みで画像が空・誤画像になった商品も「Rinker画像を一括修復」から20件ずつ画像だけ修復可能。
* 画像修復では記事本文・Amazon／楽天市場／Yahoo!の成果URLを変更しない。

== 1.7.19 ==
* Rinker移行時の商品画像取得を修正しました。Rinker標準の .yyi-rinker-image 内の画像を最優先し、過去に誤って別画像を保存した既存マッピングも再移行時に正しい画像へ修復します。

== 1.7.18 ==
* 移行候補の記事一覧の各行に「この1記事を移行」ボタンを追加し、一番下の実行ボタンまでスクロールしなくても1記事だけ移行できるよう改善。
* 1記事クイック移行では、移行結果・商品カードプレビュー・実際の記事へのリンクをページ上部へ表示し、確認導線を短縮。

== 1.7.17 ==
* Rinker移行時の画像判定を修正。Rinker商品投稿本文に含まれる通常の商品URLを画像URLと誤判定しないよう厳格化。
* DOM解析で画像を取得できない環境でも、レンダリング済みRinker HTMLからAmazon/Rakuten等の実画像CDN URL・画像拡張子URLを補完するフォールバックを追加。
* 過去の移行で誤った画像URLが保存されている既存マッピングも、再移行時の画像修復処理で正しい画像へ置換できるよう改善。

== 1.7.16 ==
* Rinker移行時の商品画像取得をさらに強化（投稿サムネイル、添付画像、HTML/CSS/data属性、JSON・添付IDを含む保存データを確認）
* 移行履歴の「移行記事を見る」を「移行内容を確認」に変更し、1記事だけの移行では「実際の記事を開く」を直接表示

== 1.7.15 ==
* Rinkerからの移行時の商品画像取得を強化。通常のsrcに加え、data-src・data-lazy-src・data-original・srcset等のLazy Load形式にも対応。
* Rinkerのメイン商品画像クラスを優先し、透明画像・プレースホルダー等を商品画像として誤採用しにくいよう改善。
* Rinker商品メタ内の配列・シリアライズ済みデータも再帰的に確認し、Amazon/Rakuten系画像CDNを含む画像URLを補完できるよう改善。
* 過去バージョンでRinker移行済みだが商品画像だけ空だった商品も、再度移行・取込時に既存マッピングを維持したまま画像だけ自動補完する修復処理を追加。


== 1.7.14 ==
* 「商品リンクを一括移行」の記事選択画面を改善。従来の「最初の100記事だけ表示」を廃止し、全候補を50件ずつページ分けして確認可能に変更。
* 記事タイトル検索を追加。「テスト記事」などのタイトル文字列、または記事IDで移行候補を直接絞り込めるよう改善。
* 移行候補は新しい記事から順に表示し、作成直後の下書き記事も見つけやすく改善。
* 下書き・公開などの記事状態を一覧に表示。検索・ページ切り替えは表示だけに作用し、一括移行の全件スキャン対象は従来どおり変更しません。
* ページをまたいだチェック状態は保持せず、誤操作を避けるためページごとに少数ずつ移行する案内を追加。


== 1.7.13 ==
* 「商品を探す」画面で、登録時に参考価格の表示／非表示、5種類のカードデザイン、Amazon・楽天市場・Yahoo!ショッピングの表示／非表示を選べるよう改善。
* 登録時に選んだ表示設定を商品ごとの初期設定として保存し、シンプルなショートコードでも反映。記事への挿入時は従来どおり個別上書き可能。
* 各ショップは保存済みの直接商品URLを最優先し、直接URLがない場合だけ検索リンクへフォールバックする方針を明確化。
* JANコード検索で取得できたJAN・ブランド・型番を商品データへ保存し、Amazon／Yahoo!の検索フォールバック精度を改善。
* 標準ボタン文言を「Amazonで見る」「楽天市場で見る」「Yahoo!で見る」へ統一。

== 1.7.12 ==
* WordPress公式Plugin Checkの公開前検査結果に基づき、出力エスケープと入力処理を追加強化。
* ValueCommerce LinkSwitchのスクリプト出力を、直接scriptタグを出力する方式からWordPress標準のwp_enqueue_script／wp_add_inline_script方式へ変更。
* Plugin HeaderとreadmeへGPLv2 or laterライセンス情報を明記。
* Plugin Checkで誤検出される、既存LinkSwitchタグを「検出・保存するだけ」の処理にコード規約上の注記を追加。
* 独自アップデーターはminnanotool.com独自配布版の更新機能として維持。WordPress.org申請版を作る場合は別途外す前提。

== 1.7.11 ==
* 公開前セキュリティ監査に基づく安全性強化。
* 独自アップデート確認時のUser-Agentから利用サイトURLを削除し、更新確認のためにサイトURLを作者サーバーへ送信しない設計へ変更。
* 「商品一覧」の共通商品編集・削除権限を強化し、複数ユーザー環境で低権限ユーザーがサイト全体の商品カードへ影響しにくいよう改善。
* ValueCommerce LinkSwitch外部スクリプトの許可ドメイン判定を、文字列の部分一致ではなく正規のドメイン／サブドメイン一致へ厳格化。

== 1.7.10 ==
* 「ダッシュボード → 更新」を開いた時に商品リンクちゃんの更新情報を自動再確認するよう改善。
* プラグイン一覧でも、前回確認から5分以上経過している場合は更新情報を自動再確認。
* WordPress側の更新キャッシュが残っていても、手動の「再確認」を押さないと更新が出ないケースを減らしました。
* 更新確認処理は商品リンクちゃんの保存済み設定・商品データを変更しません。

== 1.7.9 ==
* 有効化直後、次にWordPress管理画面を表示したタイミングでプラグイン更新情報を1回だけ即時再確認する処理を追加。
* 配布記事から少し前のZIPをインストールした場合でも、サーバー側に新しい版が公開済みならWordPressの「今すぐ更新」を早く表示できる設計へ変更。
* 更新確認は有効化処理中ではなく管理画面へ戻った後に実行し、有効化画面の待ち時間を増やしにくい方式を採用。
* 更新確認処理はAmazon・楽天・Yahoo!等の既存設定、登録商品、移行データを変更・初期化しない。


== 1.7.8 ==
* WordPress標準のプラグイン更新画面から更新できるよう、minnanotool.com配布用の独自アップデーターを実装。
* Plugin HeaderにUpdate URIを追加し、WordPress.org上の同名・類似プラグインによる誤上書きを防止。
* 更新情報は https://minnanotool.com/product-link-chan/update.json から取得する設計。新しいバージョンが公開された場合のみ「今すぐ更新」の対象としてWordPressへ通知。
* 更新ZIPはHTTPSかつminnanotool.com配下のみ許可し、更新情報の異常時は更新通知を出さない安全側の設計。
* 更新時はWordPress標準のPlugin_Upgraderを使用するため、既存のAmazon・楽天・Yahoo!等の設定値や登録済みデータを削除・初期化しない。
* 「自動更新を有効化」はWordPress標準の設定に任せ、プラグイン側から勝手に自動更新をONにしない。


== 1.7.7 ==
* 楽天の「楽天へ送信するサイトURL」を商品検索の必須項目へ変更。空欄時に別URLへ自動フォールバックせず、未設定なら楽天検索を停止して分かりやすいエラーを表示。
* 設定画面には現在のWordPress URLを「入力候補」としてだけ表示し、楽天Web ServiceのアプリケーションURLに同じ値を登録している場合のみ使うよう明示。
* 楽天APIの準備完了判定・商品検索画面・接続診断をApplication ID／Access Key／サイトURLの3点セットで判定するよう統一。
* 設定画面最下部に「商品リンクちゃんを削除したい場合」を追加。安全のためプラグインを無効化してWordPress標準のプラグイン一覧へ移動し、標準の「削除」操作へ案内。


== 1.7.6 ==
* 初回設定ガイドをさらに詳細化。Amazon・楽天Web Service・Yahoo!ショッピング（ValueCommerce）について、公式画面のどこを開き、何を入力・選択し、発行後にどの欄へ貼るかを常時表示。
* 楽天Web Serviceの新規アプリ登録について、アプリケーション名／URL／タイプ／許可されたWebサイト／説明／データ利用目的／予想QPS／APIアクセススコープ／画像認証まで、初心者向けの入力例を追加。
* 楽天の例は特定サイトのドメインを固定せず、example.comと現在のWordPressサイト情報を使って「自分のブログ／サイト」に置き換える形へ統一。
* 楽天の「許可されたWebサイト」はドメイン、商品リンクちゃんの「楽天へ送信するサイトURL」はフルURLであることを明確化。Application ID・Access Key・Affiliate IDとの貼り付け対応表を追加。
* AmazonはトラッキングID取得だけでなく、商品リンクを掲載する自分のサイトがAmazonアソシエイト側に登録されているかを確認する手順を追加。Amazon用Application IDやAccess Keyは不要であることも明示。
* ValueCommerceはサイト選択→Yahoo!ショッピング提携→LinkSwitch利用開始→全コードコピー→商品リンクちゃんへ貼り付け→公開側で変換確認、までを一連のミニマニュアルとして追加。
* 既存サイトからの自動取得について、何を既存リンクから拾えるか、何が秘密情報のため拾えないか、入力済み値を上書きしないことを3ステップで明示。


== 1.7.4 ==
* 設定画面を初心者向けに再設計。Amazon・楽天市場・Yahoo!ショッピングを縦に並べ、各サービスで「何が必須か」「どこで取得するか」「何を貼るか」を常時表示。
* 設定画面の最上部へ「既存のページ・商品リンクから設定を自動で探す」を移動。現在入力済みの値は上書きせず、空欄だけ補完する安全仕様。
* 既存設定の再検出を強化。投稿・固定ページ・カスタム投稿・抜粋・関連postmeta・旧プラグイン／テーマ設定・商品リンクちゃんの商品URLを確認。
* Amazonのtag、楽天Affiliate ID、楽天 hb.afl.rakuten.co.jp/hgc/ のAffiliate ID、もしものa_id、ValueCommerce sid/pid、検証可能なLinkSwitchタグを既存サイトから検出可能に改善。
* 楽天Affiliate IDのドット区切り形式を既存リンクから正しく検出できるよう修正。
* AmazonトラッキングID、楽天Application ID/Access Key、楽天Affiliate ID、Yahoo! LinkSwitchについて、報酬取りこぼしにつながる典型的な設定ミスを画面上で警告。
* 楽天はApplication ID・Access Keyが同じWeb Serviceアプリの組み合わせであること、Affiliate IDは楽天報酬用URL取得に必要であることを明示。
* Yahoo!は通常検索リンクとValueCommerce LinkSwitchの違いを初心者向けに明示し、LinkSwitchタグが不正な場合は既存設定を保護。
* 旧カエレバ等のValueCommerce sid/pid・もしもIDは既存リンクから可能な範囲で保管し、新規リンク用設定と混同しない説明を追加。

== 1.7.3 ==
* 初回設定を迷わないよう、AmazonトラッキングID・楽天Application ID・Access Key・許可サイト・Affiliate ID・ValueCommerce LinkSwitchタグの取得方法を各入力欄の直下へ常時表示。
* 従来の折りたたみ式「取り方」ガイドを廃止し、クリックしなくても「どの管理画面のどこを見て、何をコピーするか」が分かる表示へ変更。
* Amazon・Rakuten Web Service・ValueCommerceの公式案内ページへのリンクを各ガイドに追加。
* 楽天設定ではApplication ID・Access Key・Allowed websitesを同じ楽天Web Serviceアプリで揃える注意を常時表示。

== 1.7.2 ==
* 配布時のバージョン表記を1.7.2へ更新。
* ダウンロード用ZIPは「商品リンクちゃん-Ver.1.7.2.zip」として配布可能に整理。
* WordPress内部のプラグインフォルダは互換性と安全性のため product-link-chan のまま維持。

== 1.6.8 ==
* 一括移行の強制「1〜3記事テスト」を廃止。
* 移行画面の最初に「記事を選んで移行（推奨）」「対象を一括移行」の2方式を追加。
* 選択記事移行は件数制限を撤廃し、候補記事を好きな件数だけ選んで実行可能。
* 記事一覧へ「一括選択」「一括選択解除」を追加し、表示中の対象記事をまとめて選択可能。
* 一括移行はテスト済み判定なしで実行可能。ただしWordPressバックアップと自己責任での利用、少数記事からの確認を画面上で強く案内。
* 選択移行／一括移行のどちらでも変更前本文をバッチ単位で保存し、移行履歴からロールバック可能。

== 1.6.5 ==
* もしもアフィリエイト「かんたんリンク」を正式な一括移行元として追加。
* msmaflink内の商品名・画像・Amazon／楽天市場／Yahoo!ショッピングのa_id・p_id・pc_id・pl_id・u_urlを解析し、商品リンクちゃんへ移行。
* もしも移行商品は元コードに含まれる成果リンクとインプレッション計測URLを商品ごとに保持。
* Amazon単独リンクの検出を強化し、Amazonアソシエイトのtag付きURL・商品URL・amzn.to短縮URLも移行対象化。
* Amazonのリンク文字が「Amazonで見る」等だけでも、ASINや商品URLから安全な仮タイトルを生成してテスト移行できるよう改善。
* 一括移行画面に「もしも かんたんリンク」「Amazon単独・アソシエイトリンク」を明示し、テスト記事を選んで変換前後を確認できるよう更新。
* 判定できない一般リンクは従来どおり自動変換しない。

== 1.6.2 ==
* 一括移行画面の順序を「検出記事を確認・選択 → 設定ID確認 → 選択記事をテスト → 結果確認 → 残りを一括移行」へ整理。
* Rinkerの設定ID・API/アフィリエイト設定は、Rinkerを移行対象に含めた場合に検出分を自動で一緒に引き継ぐ仕様へ変更。
* カエレバ・その他商品リンクは、記事内に埋め込まれている既存アフィリエイトURLを自動保持。
* テスト移行は一覧から1〜3記事をユーザー自身が選んで実行する方式に統一。
* テスト結果を操作ボタンの直下に表示し、変換前の記述・変換後ショートコード・実際の商品カードプレビュー・公開URL・編集URLを確認可能に改善。
* 移行対象種類を切り替えると記事一覧も管理画面上で即時フィルタリング。

== 1.6.1 ==
* 商品カード下部の「Produced by 商品リンクちゃん」を標準仕様として常時表示。OFF・文言変更・リンク先変更の設定項目を廃止。
* 配布ページは https://minnanotool.com/product-link-chan/ に固定し、rel="nofollow noopener" で表示。
* 設定画面へ「現在の設定をストック」「ストックから復元」「アフィリエイト設定をクリア」「移行テスト状態をクリア」を追加。
* WordPressの「削除」でプラグインを削除した場合、再インストール時にアフィリエイト/API設定と移行テスト状態が初期状態になるアンインストール処理を追加。
* ZIP上書き更新、無効化→再有効化では設定を維持。
* 商品データ・記事本文・移行バックアップは、誤消去防止のためアンインストールでも自動削除しない。
* ストックした設定は復元用としてアンインストール後も保持。


== 1.6.0 ==
* Rinker／カエレバの個別移行メニューを「商品リンクを一括移行」へ統合。
* サイト内からRinker、カエレバ、その他のまとめ商品リンク、Amazon単独、楽天市場単独、Yahoo!単独の商品リンクをまとめて検出。
* 既存記事内のアフィリエイトURLは商品リンクちゃんの商品データへ保持し、移行時に勝手に別IDへ置換しない。
* 1記事テスト、3記事テスト、記事を選んでテスト、残りを全記事移行に対応。
* テスト／一括移行後は変更した記事の公開URL・編集URL・変換種類・件数を表示。
* 移行条件を変更した場合は全記事移行を再ロックし、同じ条件での再テストを必須化。
* ASPらしいがショップや商品名を安全に特定できないリンクは「その他候補」として表示し、自動変換しない。
* Rinkerから取得した既存成果URLも保持するよう強化。
* 移行履歴から対象記事を再確認でき、バッチ単位でロールバック可能。

== 1.5.0 ==
* カエレバ／カエレバ風の商品リンクを記事本文から検出し、商品リンクちゃんへ安全に移行する機能を追加。
* カエレバ移行は「商品だけ取り込む」→「3記事テスト」→「全記事移行」→「ロールバック」に対応。
* 既存カエレバカードの商品名・画像・Amazon／楽天市場／Yahoo!ショッピングURLを可能な範囲で保持し、移行元URLは上書きしない。
* 元カードに存在するショップだけを表示し、存在しないアフィリエイトリンクを勝手に追加しない。
* 従来カエレバの固定価格情報は推測せず、移行カードは価格非表示。
* カエレバのブラウザ保存ASP設定はWordPress内に存在しないため自動推測せず、今後の新規リンク用設定は商品リンクちゃん設定画面で管理。

== 1.4.0 ==
* 商品カードデザインを「標準（白）／カラーボタン／シンプル／枠線／コンパクト」の5種類へ整理。
* 標準デザインはショップボタンを白基調へ変更し、カラーボタンと明確に分離。
* 投稿・固定ページから新規挿入するとき、Amazon・楽天市場・Yahoo!ショッピングを1～3社から自由に選択可能。
* 新規挿入時に参考価格の表示／非表示を個別指定可能。
* 新規挿入時にカードデザインを個別指定可能。
* 既存・Rinker一括移行済みカードは共通デザインと共通価格表示設定で一括管理。
* 1社／2社／3社の表示数に合わせてボタン幅を自動調整。

== 1.3.1 ==
* 投稿・固定ページの商品検索モーダルを拡大。
* 検索結果をコンパクト化し、1画面に複数商品を確認しやすく改善。
* エディターのボタン名を「商品リンクを挿入（商品リンクちゃん）」へ変更。


== 1.3.0 ==
* 楽天新APIのアプリ単位アクセス制御に対応するため、アプリケーションURL／許可されたWebサイト設定を追加。
* 楽天APIリクエストでReferer／Originを送信。Application ID・Access Key・許可サイトの組み合わせを診断可能。
* 通常の商品名・型番検索では商品価格ナビ製品検索APIを呼ばず、楽天市場商品検索APIだけにして429を抑制。
* 商品価格ナビ製品検索APIはJANコード入力時だけ補助的に使用。
* Rinkerから楽天アプリケーションURL／リファラー設定も検出・移行。
* 投稿・固定ページのClassic Editorに「商品リンクを挿入」ボタンを追加し、その場で楽天検索→商品登録→ショートコード挿入まで完結。
* 登録済み商品も投稿画面内から検索して挿入可能。
* 楽天APIが一時的に使えない場合でも、商品名と検索キーワードだけで3ショップ検索カードを登録・挿入できるフォールバックを追加。

== 1.2.0 ==
* 「Produced by 商品リンクちゃん」の既定リンク先を https://minnanotool.com/product-link-chan/ に設定。
* 既存設定で配布ページURLが空でも公式配布ページへ自動フォールバック。
* 配布ページURLを設定画面から変更／既定値へ戻せるよう改善。
* 楽天市場商品検索APIを主系統化し、商品価格ナビ製品検索APIを補助化。
* 補助の製品検索APIが失敗しても楽天市場商品検索を継続。
* Access Keyを原則HTTPヘッダーで送信し、認証系エラー時のみquery方式へフォールバック。
* 楽天API診断を追加し、商品検索API・製品検索API・Affiliate IDを個別判定。
* HTTP 400/401/403/429/5xxやWordPressサーバー側通信エラーを具体的に表示。
* 商品本体優先はAPI除外ではなくローカル順位付けへ変更し、検索結果ゼロを減らす。
* 配布ページへのクレジットリンクは rel="nofollow" を付与。

== 1.1.0 ==
* 商品カードのグローバルデザインを4種類から選択可能。
* 既存・Rinker移行済みの商品リンクちゃんを記事編集なしで一括デザイン変更。
* 商品カード下部の紹介リンクを表示可能。
* 記事ごとの旧レイアウト指定を優先するか選択可能。

== 1.0.3 ==
* 「設定ID・アフィリエイトキーだけ移行」を追加。
* 楽天Access Keyの表示／隠す機能を追加。
* ValueCommerce LinkSwitchのvc_pidと外部スクリプト出力を修正。

== 1.0.1 ==
* Rinker移行コースを追加。
* Rinker関連のAmazon・楽天・Yahoo!・もしも設定を自動スキャン。
* 秘密値を画面へ露出せずサーバー側で直接移行。
* 全記事移行の前に3記事テスト移行を必須化。

== 1.6.6 ==
* 一括移行画面の移行元選択をチェックボックスから「商品リンクちゃんに変える／今回はそのまま残す」の2択へ変更。
* Rinker、カエレバ、もしもかんたんリンク、Amazonアソシエイト等ごとに、何を引き継ぐか説明を表示。
* 「今回変える」「そのまま残す」をリアルタイムで一覧表示し、テスト前に移行条件を確認しやすく改善。
* 検出0件の種類は「検出なし」として誤操作できないよう改善。
* 移行フローの番号と見出しを整理し、種類選択→記事確認→引継ぎ内容→テスト→結果→一括移行の順に統一。

