移行代行サービスのショートコード整形オプションでは、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](外部コンテンツ埋め込み)

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

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

[playlist](再生リスト)

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

  • 仕様: 複数の <audio controls> または <video controls> プレイヤーを並べて出力します。

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

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

定義済みタグの判定

定義済みのタグ名は大文字・小文字を区別せず判定します。 [gallery] と [GALLERY] は変換対象です。 [gallery-custom] などの未定義名は保持します。

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

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

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

未定義タグの保護

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

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

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

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

  • 対象キーワード: contact-form-7, mwform_formkey, gravityform, contact-form, rev_slider, layerslider, sitemap, addtoany, yoast_breadcrumb など

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

4. ページビルダーのコンテンツ復元

WPBakeryとDiviの既知の構造タグは、内部の文章を残して外します。 画像・画像一覧・ボタン・動画は、以下の属性から通常のHTMLへ復元します。 元のレイアウトや装飾CSSは再現しません。

種類対応タグ
画像vc_single_image, et_pb_image
画像一覧vc_gallery, et_pb_gallery
ボタンvc_btn, vc_button, et_pb_button
動画vc_video, et_pb_video

画像IDの解決にはXML内の添付画像URL、またはWP Pluginが取得するメディア情報が必要です。 画像情報がないJSONからIDだけで復元することはできません。 未対応の部品、未解決の画像、不正な属性は元のショートコードを残し、該当記事を画面に表示します。

5. 改行自動整形

通常は既存ブロックを保持し、ブロック外の文章を段落化します。 「既存ブロック内部の改行も整形」は初期OFFで、段落整形を有効にした場合に選択できます。 追加料金はありません。

有効にすると、divなどのコンテナ内の裸の文章に段落を付けます。 p・li・tdなどの文章要素では構造を保持し、文章中の改行をbrにします。 空白だけのインデント、タグ・属性・コメント、コード、SVG、MathML等は保持します。 プレビューで確認してください。

対象判定は、現在のマッピングと公開・下書きの選択範囲に従い、出力する本文と抜粋を全件調べます。 プレビューとCSVは同じ処理を使います。

標準のgallery・playlistも、指定メディアの一部または全部を解決できない場合はショートコード全体を保持し、該当記事を通知します。 音声・動画のURLを安全に変換できない場合も保持します。 未知の囲みタグの内部・ショートコード属性の改行は変更しません。 画像間の配置用改行にはbrを追加しません。