移行代行サービスのショートコード整形オプションでは、WordPressからShopifyへインポートする際、記事内に含まれるショートコードはShopifyのテーマでも適切に表示される形式へと自動変換されます。 本ページでは、各ショートコードの具体的な挙動と、意図しない書き換えを防ぐための安全機能について解説します。

1. 自動変換される主要なショートコード

以下のショートコードは、Shopifyの本文(body_html)内で動作するHTMLタグや埋め込みプレイヤーに自動的に置換されます。

[gallery](画像ギャラリー)

複数の画像を並べて表示するショートコードです。

  • 仕様: ids 属性に含まれるIDを実際の画像URLに解決し、columns(列数)に基づいたグリッドレイアウトとして出力します。
  • 出力例: 各画像が figure タグで囲まれ、全体がスタイル調整用のクラスを持つ div コンテナにラップされます。

[caption](画像キャプション)

画像に説明文(キャプション)を付けるショートコードです。

  • 仕様: 画像タグとテキストを分離し、セマンティックな <figure><figcaption> 構造に変換します。

[audio] / [video](音声・動画プレイヤー)

音声ファイルや動画ファイルを記事内で再生するためのショートコードです。

  • 仕様: ブラウザ標準の <audio controls> または <video controls> タグに変換されます。 動画の場合は poster(サムネイル)属性も維持されます。

[embed](外部コンテンツ埋め込み)

YouTubeVimeoなどの外部サイトを埋め込むためのショートコードです。

  • 仕様: YouTubeVimeoURLを自動判別し、埋め込み用の <iframe> プレイヤーに変換します。 その他のURLは安全のため外部リンクとして出力されます。

[playlist](再生リスト)

複数の音声・動画をリスト表示するショートコードです。

  • 仕様: 含まれるアイテムを、画像やファイル名を含む箇条書きリストとして出力し、リンク切れを防ぎます。

2. 意図しない変換を防ぐ安全機能

通常の文章中に含まれるブラケット [...] が誤って削除されたり変換されたりしないよう、以下の安全仕様を採用しています。

小文字限定の判定(ケースセンシティブ)

ショートコードとして認識されるのは、すべて小文字で記述されたタグのみです。

  • 変換対象: [gallery], [audio] など
  • 保護対象: [Any], [This], [123] などの大文字や数字を含む記述は、テキストとしてそのまま保持されます。

二重ブラケットによるエスケープ

WordPressの標準仕様と同様に、ブラケットを二重に記述することで変換を回避できます。

  • 入力: [[gallery]]
  • 出力: [gallery](ショートコードとして実行されず、テキストとして表示されます)

未定義タグの保護

システムで定義されていない未知のタグについては、以下の通り処理されます。

  • 囲み型 [tag]内容[/tag]: タグ部分のみを除去し、「内容」は必ず保持されます。
  • 単独型 [tag]: 後述のブラックリストに含まれていない限り、テキストとみなしてそのまま保持されます。

3. 不要なコードの自動削除(ブラックリスト)

Shopify移行時に不要となる既知のプラグイン由来のコードは、自動的に削除されます。

  • 対象キーワード: contact-form-7, mwform_formkey, gravityform, contact-form, rev_slider, layerslider, sitemap, addtoany, yoast_breadcrumb など
  • 対象プレフィックス: vc_ (WPBakery製), et_pb_ (Divi製) で始まるすべてのタグ

これらの設定は開発者向けの設定ファイル(shortcode-config.ts)で管理されており、必要に応じて特定のタグを削除対象に追加することが可能です。