アフィリエイト記事の広告表記チェック(ステマ規制対応の確認)
Affiliate disclosure check: find affiliate links and ad labels near the top of each article
記事フォルダ(HTML・Markdown)や URL を調べ、Amazon・楽天・A8.net・バリューコマースなどのアフィリエイトリンクと、冒頭付近に「広告」「PR」「プロモーション」などの表記があるかをページごとに報告します。法的助言ではありません。
できること
2023年10月に始まったステルスマーケティング規制を受けて、記事に広告であることの表示があるかを一括で確認します。
- Amazon アソシエイト(tag 付きリンク・amzn.to)、楽天アフィリエイト、A8.net、バリューコマース、もしもアフィリエイト、afb、アクセストレード、JANet、felmat、レントラックス、CJ、Awin、Impact、
rel="sponsored"などのリンクを検出 - 「広告」「PR」「プロモーション」「アフィリエイト」「Sponsored」などの表記が、記事の冒頭(初期値は本文の最初の300文字、変更可)にあるかを判定
- ページごとに「表記なし/あいまいな表記のみ(商品提供・提携など)/冒頭以外にだけある/冒頭にあり/アフィリエイトリンクなし」に分類
- 「個人の感想です」「広告ではありません」のような矛盾する表記、末尾にしかない表記、ヘッダーやフッターだけのリンクも指摘
- 結果を一覧表・JSON・CSV で出力
使い方
python scripts/affiliate_disclosure_check.py ./content --json report.json --csv report.csv
python scripts/affiliate_disclosure_check.py --url-list urls.txt --top-chars 400
URL の場合は1ページにつき GET を1回送るだけで、間隔(初期値1秒)を空けて取得します。独自の短縮リンクは --extra-domain で追加できます。
必要な環境
- Python 3(標準ライブラリのみ)
- URL を調べる場合はネットワーク接続
注意点
- 法的助言ではありません。文言と位置の確認だけで、文字の大きさ・色・画像内の表記・JavaScript で後から入る表記は判定できません。指摘されたページはエージェントが実際に確認します。
- 規制の対象は広告主(商品を提供する事業者)です。ブロガー本人を「違法」と決めつける書き方はしません。
- 「冒頭付近」は実務上の目安で、法律が文字数を決めているわけではありません。
English description
Scan article folders (HTML/Markdown) or URLs for affiliate links (Amazon, Rakuten, A8.net, ValueCommerce and more) and report per page whether a clear ad disclosure appears near the top.
What it does
Checks in bulk whether articles make their advertising nature clear, following Japan's stealth-marketing rule that took effect in October 2023.
- Detects affiliate links: Amazon Associates (tagged links, amzn.to), Rakuten, A8.net, ValueCommerce, Moshimo, afb, AccessTrade, JANet, felmat, Rentracks, CJ, Awin, Impact,
rel="sponsored"and more - Checks whether disclosure wording (ad, PR, promotion, affiliate, sponsored, in Japanese and English) appears near the top of the article (first 300 visible characters by default, configurable)
- Classifies each page: no disclosure, only ambiguous wording (e.g. "product provided"), disclosure not near the top, disclosed near the top, or no affiliate links
- Flags contradictory wording ("personal opinion", "not sponsored") next to an ad label, disclosures only at the end, and links found only in site header or footer
- Outputs a table, JSON and CSV
How to use
python scripts/affiliate_disclosure_check.py ./content --json report.json --csv report.csv
python scripts/affiliate_disclosure_check.py --url-list urls.txt --top-chars 400
URLs are fetched with one GET each, with a delay between requests (1 second by default). Add custom short-link domains with --extra-domain.
Requirements
- Python 3 (standard library only)
- Network access when checking URLs
Caveats
- Not legal advice. It checks wording and position only; font size, color, text inside images and JavaScript-inserted labels are not detected, so the agent reviews flagged pages by hand.
- The rule regulates the advertiser (the business supplying the product); the report never calls a blogger's page illegal.
- "Near the top" is a practical convention, not a character count set by law.
インストール方法
- ダウンロードしたZIPを展開します(中に
affiliate-disclosure-check/フォルダとSKILL.mdがあります)。 - フォルダごと、使うエージェントのスキル置き場にコピーします。
- Claude:
~/.claude/skills/(プロジェクト単位なら.claude/skills/) - Hermes Agent:
~/.hermes/skills/ - Codex:
~/.agents/skills//Cursor:~/.cursor/skills/ - Claude アプリ(claude.ai):「カスタマイズ → スキル」からZIPをアップロード
- Claude:
- エージェントを再起動し、スキル一覧に表示されることを確認します。
出品者
出品スキル 44 件