タグアーカイブ アップデート

WooCommerce 11.1で注文撤回機能が登場、14日以内の自己対応を実現

WooCommerce 11.1で注文撤回機能が登場、14日以内の自己対応を実現

WooCommerce 11.1に注文撤回(Order Withdrawal)機能が追加された。EU域内の消費者が持つ14日間の契約撤回権に対応するための仕組みで、顧客が店舗にメールや電話で問い合わせることなく、注文から14日以内であれば自分で撤回リクエストを送信できるようになる。

この機能は既定では無効化されている。すべてのストアに必要な機能ではないため、事業者が設定画面から明示的に有効化する方式だ。顧客向けのリクエストフォーム、自動確認メール、店舗側の通知まで一連のフローが組み込まれている。

本記事では注文撤回機能の概要、有効化の手順、顧客と店舗それぞれの画面で何が起きるのかを解説する。EU向けに販売するストア運営者は特に確認しておきたい内容だ。

注文撤回機能とは何か

注文撤回機能とは何か

注文撤回機能は、EUの消費者保護規則で定められた「注文撤回権」に対応するための機能だ。EU域内の消費者は、商品やサービスを注文した日から14日以内であれば、理由を説明せずに契約を撤回する権利を持つ。従来はこの手続きをメールや電話で行う必要があり、店舗側も個別に対応する必要があった。

EUの14日間撤回権とは

14日間の撤回権はEU消費者権利指令に基づく制度で、オンライン購入を含む通信販売に適用される。消費者は商品を受け取った日から14日以内に撤回を申し出ることができ、事業者は返金に応じる義務を負う。この規則はEU域内の消費者との取引に適用されるため、日本からEU向けに販売するストアも対象になりうる。

重要なのは、注文撤回機能は法的手続きの自動化ツールであって、コンプライアンスを保証するものではないという点だ。WooCommerce Developer Blogの記事でも、事業の内容や顧客の所在地に応じて法律専門家に相談するよう明記されている。

従来の対応との違い

従来のフローでは、顧客がメールや電話で撤回の意思を伝え、店舗担当者が手動で注文を確認し、返金処理を行っていた。この方式には対応漏れや記録不足のリスクが伴う。注文撤回機能は、顧客が自己対応フォームからリクエストを送信し、システムが自動で記録と通知を行う。

従来の対応(Before)
顧客がメールや電話で個別に問い合わせる
顧客 メール送信 → 店舗担当者 手動で確認と返金
対応漏れや記録不足のリスクがある
↓
注文撤回機能(After)
顧客が自己対応フォームからリクエストを送信
顧客 フォーム送信 → 自動処理 記録と通知
確認メールが顧客に届き、店舗にも通知される

このデモで示した違いは大きい。顧客からの撤回リクエストがシステムに記録され、確認メールが自動送信されることで、店舗と顧客の双方に証跡が残る。対応の属人化を防ぎ、処理の一貫性を保てる。

有効化の手順

有効化の手順

注文撤回機能は既定では無効化されている。EU向け販売を行っていないストアでは不要な機能のため、必要な事業者だけが有効化する設計だ。設定はWooCommerceの管理画面から数ステップで完了する。

設定画面での操作

WooCommerceの設定画面を開き、詳細設定タブから機能セクションに移動する。そこに注文撤回のオプションが表示されるので、有効化して変更を保存するだけだ。設定完了後、顧客向けのリクエストフォームが /my-account/withdraw-order というURLで公開される。

エンドポイントのカスタマイズ

リクエストフォームのURLは変更できる。詳細設定のページ設定セクションでエンドポイントを編集すれば、自社の導線に合わせたURLに調整できる。標準のURLは /my-account/withdraw-order だ。

もう1つの重要な特徴として、このページはログイン状態に関わらず動作する。ゲスト購入した顧客でもフォームにアクセスしてリクエストを送信できる。EUの撤回権はゲスト購入者にも適用されるため、この設計は実務上欠かせない。

顧客から見た注文撤回フロー

顧客から見た注文撤回フロー

顧客が注文撤回ページにアクセスすると、短いリクエストフォームが表示される。必要な情報を入力し、送信前に内容を確認する画面を経てから送信する。送信後は確認画面が表示され、入力した内容を含む確認メールが自動的に届く。

STEP 1 注文撤回ページにアクセス
ログイン状態でもゲストでも利用できる
↓
STEP 2 リクエストフォームを入力
注文番号と請求先メールアドレスなどを入力する
↓
STEP 3 入力内容を確認
送信前に詳細をレビューする画面が表示される
↓
STEP 4 送信して確認メールを受信
確認画面が表示され、入力内容を含む確認メールが届く

この4ステップのフローは、顧客が自分の操作だけで撤回リクエストを完了できることを示している。確認メールには顧客が入力した内容が含まれるため、顧客はリクエストの記録を残せる。店舗側への電話やメールが不要になり、双方の手間を削減する。

確認メールが自動送信される点は法的にも意味がある。撤回権の行使を顧客が証明できる記録が残るため、後日のトラブルを防ぐ効果が期待できる。

店舗運営者から見た通知と管理

店舗運営者から見た通知と管理

顧客がリクエストを送信すると、店舗運営者には2つの経路で通知が届く。1つは撤回リクエストを知らせるメール通知、もう1つはWooCommerceホーム画面のインボックス通知だ。この二重の仕組みにより、リクエストの見落としを防ぐ。

リクエスト内容に含まれる注文番号と請求先メールアドレスが既存の注文と一致する場合、リクエストは自動的にその注文に紐付けられ、注文メモが追加される。これにより、店舗担当者は注文詳細画面からリクエストの存在を確認できる。

一致する注文が見つからない場合でも、リクエスト自体は受け付けられ、顧客には確認メールが送信される。通知には手動確認が必要であることを示すフラグが付けられ、注文へのリンクはスキップされる。この設計により、注文番号の入力ミスやゲスト購入の注文でも、リクエストが拒否されることはない。

STEP 1 リクエストを受信
メール通知とインボックス通知の両方が届く
↓
STEP 2 注文番号とメールアドレスを照合
既存注文と一致するかシステムが自動判定する
↓
分岐 一致する場合と一致しない場合で処理が変わる
注文が一致 注文に自動リンクされ、注文メモが追加される
注文が不一致 手動確認フラグが付き、注文へのリンクはスキップ

重要な点として、撤回リクエストの送信は注文ステータスを変更しない。注文が自動的にキャンセルされたり、返金が実行されたりすることもない。リクエストはあくまで「撤回の申し出」であり、その後の対応(返金の承認、商品返送の依頼、追加情報の確認など)は店舗側の判断に委ねられる。

導入前に確認すべき注意点

導入前に確認すべき注意点

注文撤回機能は店舗運営の効率化に寄与するが、いくつかの注意点がある。まず、この機能がEUの法的要件への準拠を保証するわけではないという点を理解しておく必要がある。WooCommerce Developer Blogの記事でも、事業内容や顧客の所在地に応じて法律専門家に相談するよう明記されている。

リクエスト処理のワークフロー設計

撤回リクエストが届いた後の対応フローは、店舗自身で設計する必要がある。返金を承認するのか、商品の返送を求めるのか、追加情報を確認するのか。これらの判断基準を事前に決めておかないと、リクエストが届いてから担当者が迷うことになる。

特に、注文ステータスが自動変更されない点は運用上のポイントだ。リクエストが届いても注文は「処理中」などの状態のまま残るため、店舗側で明示的に注文をキャンセルする処理が必要になる。この部分を社内で共有しておかないと、注文が放置されるリスクがある。

ゲスト購入への対応

ログインしていない顧客でもリクエストを送信できる設計は、ゲスト購入が多いストアにとって重要な特徴だ。ただし、ゲスト購入の注文は注文番号とメールアドレスの照合が手動になる可能性がある。手動確認フラグが付いたリクエストを担当者が見逃さないよう、通知の確認ルールを決めておく必要がある。

実務的には、EU向け販売を行うストアにとって注文撤回機能は顧客対応の手間を大幅に減らす可能性がある。メールや電話での個別対応から、システム化されたリクエスト処理へ移行することで、対応の一貫性と記録の完全性が向上する。一方で、リクエスト受信後のワークフローが未整備のままでは、かえって対応が遅れるリスクもある。

注文撤回機能は、WooCommerce 11.1の新機能としてEU対応ストアに実用的な選択肢を提供する。導入を検討する場合は、機能の有効化だけでなく、社内の対応フローまで含めて計画することをおすすめする。

この記事のポイント

  • WooCommerce 11.1に注文撤回機能が追加され、顧客が自己対応で撤回リクエストを送信できる
  • EUの14日間撤回権に対応する仕組みで、既定では無効化されている
  • 顧客はフォーム入力から確認メール受信まで自動フローで完了できる
  • 店舗にはメールとインボックスの二重通知が届き、注文への自動リンクも行われる
  • 注文ステータスは自動変更されないため、受信後のワークフロー設計が必要
WooCommerce 11.1ベータ版が公開!EU注文撤回と返金APIの全容

WooCommerce 11.1ベータ版が公開!EU注文撤回と返金APIの全容

WooCommerce 11.1のベータ版が公開された。今回のリリースではEU顧客向けの注文撤回フロー、REST APIの新しい返金計算エンドポイント、バリエーション商品のパフォーマンス改善が柱となる。正式版は2026年9月1日にリリース予定だ。

この記事では開発者向けブログの情報を基に、主要な変更点と実務への影響を解説する。ストア運営者とエクステンション開発者の双方が押さえておくべきポイントをまとめた。

WooCommerce 11.1の全体像

WooCommerce 11.1の全体像

WooCommerce 11.1には大きく4つの改善領域がある。EU消費者保護に対応する注文撤回機能、返金計算を自動化するREST APIエンドポイント、商品CSVのインポートとエクスポートのバグ修正、そしてバリエーション商品の表示速度向上のためのパフォーマンス修正だ。

これらに加え、エクステンション開発者向けの互換性修正も複数含まれる。ブロック登録のスキップによる管理画面の負荷軽減、エディタアセットの統合実験など、開発者向けの変更も見逃せない。なお、この段階ではあくまでベータ版であり、フィードバックが募集されている。

EU対応 注文撤回フローを新規追加
↓
API強化 返金計算エンドポイントと金額チェックを追加
↓
性能改善 バリエーション商品のN+1クエリを削減
↓
開発者支援 ブロック登録のスキップと互換性修正

この図はWooCommerce 11.1の4つの柱を示している。それぞれの詳細を順に見ていこう。

EU顧客向けの注文撤回フローが登場

EU顧客向けの注文撤回フローが登場

WooCommerce 11.1では、EU消費者保護指令に基づく注文撤回権(right of withdrawal)に対応する機能が追加された。顧客はマイアカウントの専用ページから注文撤回を申請できる。EU圏では消費者が契約後一定期間内に理由なく注文を取り消せる権利が法律で定められている。この機能はその権利をストア運営者がスムーズに扱うための仕組みだ。

顧客が注文撤回を申請すると、ストア運営者にメール通知と管理画面のインボックス通知が届く。加盟店はその通知を確認して返金手続きを進める流れだ。申請時に認証は不要で、顧客は管理画面のワードプレスログインを必要としない。これはEUの消費者保護の原則に沿った設計である。

STEP 1 顧客がマイアカウントの専用ページから注文撤回を申請
↓
STEP 2 ストア運営者にメールとインボックス通知が届く
↓
STEP 3 加盟店が注文内容を確認して返金手続きを開始

注文撤回の申請から返金までの流れはこの3ステップで完結する。ストア運営者は通知を確認してから対応すればよいため、顧客とのやり取りを記録しやすい。

この機能はデフォルトでは無効化されている。利用するにはWooCommerceの設定画面から「設定 → 詳細 → 機能」と進み、注文撤回機能を有効化する必要がある。EU圏向けにストアを運営している場合は導入を検討したい。

REST APIの返金エンドポイントが強化された

REST APIの返金エンドポイントが強化された

返金処理を外部システムから操作する開発者にとって大きな変更が入った。WooCommerce REST APIの返金フローが更新され、サーバー側で返金額を自動計算できるようになった。従来は返金額を手動で計算してリクエストに含める必要があったが、その手間を省ける。

既存の返金エンドポイントに compute_totals フィールドが追加された。このフィールドに true を指定すると、WooCommerceサーバーが商品代金、送料、税を自動的に計算して返金額を確定する。計算ミスによる返金誤りを防げるのが利点だ。

POST /wc/v3/orders/123/refunds
{
  "compute_totals": true
}

この例では注文番号123に対して返金リクエストを送信している。ボディに compute_totals を指定するだけで、あとはWooCommerceが注文の明細を基に返金額を算出する。手動で計算する必要がなくなった。

さらに新しいプレビューエンドポイントも追加された。POST /wc/v3/orders/123/refunds/preview を使うと、実際に返金を実行せずに計算結果だけを確認できる。返金額を事前に検証したいケースや、顧客に返金額を提示する前に確認したいケースで重宝する。

POST /wc/v3/orders/123/refunds/preview

このプレビューエンドポイントは、返金処理を自動化するシステムを構築する際にデバッグと金額確認を容易にする。実際に返金を実行せずに結果を確認できるため、開発環境でのテストにも適している。

従来の返金処理(Before)
商品代金、送料、税を個別に計算して返金額を手動で入力
手計算による誤差や入力ミスのリスクがあった
↓
WooCommerce 11.1の返金処理(After)
compute_totals を true にするだけでサーバーが自動計算
プレビューエンドポイントで事前確認も可能

この比較が示すように、返金処理の負担が大きく軽減された。外部システムから返金を自動化する際の堅牢性も向上している。

Store APIのチェックアウト金額チェック

Store APIのチェックアウト金額チェック

Store APIにも改善が入った。チェックアウトエンドポイントに expected_total というオプションフィールドが追加された。このフィールドには顧客が画面上で確認した合計金額を整数で指定する。サーバー側で計算した金額と一致しない場合、リクエストは失敗し、新しい 409 エラーレスポンスが返される。

このエラーレスポンスのコードは woocommerce_rest_checkout_total_mismatch で、金額の不一致が発生したことをシステムが判別できる。顧客が画面で見た金額と実際に請求される金額が食い違う事故を未然に防ぐための仕組みだ。

金額一致(成功)
顧客の画面に表示された合計金額 → サーバー側の計算結果と一致
リクエストは成功して注文が確定する
↓
金額不一致(エラー)
顧客の画面に表示された合計金額 → サーバー側の計算結果と相違
409エラーが返り、注文は確定しない

この仕組みはチェックアウトの金額改ざんや画面表示の不整合を検出するために有効だ。決済処理を独自に実装している場合は特に注目したい。

バリエーション商品のパフォーマンス改善

バリエーション商品のパフォーマンス改善

バリエーション商品を多数抱えるストアでは、商品編集画面や店舗フロントの表示が遅くなる問題があった。WooCommerce 11.1ではこの問題に対処する複数のパフォーマンス修正が含まれている。主な改善は、バリエーションと属性の読み込み時に発生するN+1クエリの削減だ。

N+1クエリとは、1つの親データを取得した後、子データを1件ずつ追加で取得してしまう非効率なデータベースアクセスのことだ。たとえば100件のバリエーションがあると、101回のクエリが実行される。修正後は必要なデータをまとめて取得するため、クエリ回数が大幅に減る。

加えて価格キャッシュの処理も改善された。変動価格商品の価格計算ではキャッシュを活用してクエリを削減している。管理画面とフロントエンドの両方で、商品数の多いストアほど体感できる差が生まれるはずだ。

ブロック登録の条件付きスキップ

ブロック登録の条件付きスキップ

WooCommerce 11.1では、ブロックタイプとパターンの登録処理が見直された。従来はほぼすべてのリクエストでブロックが登録されていたが、新しい BlockRegistrationContext ガードを導入し、cron、AJAX、REST APIリクエストでは登録をスキップするようになった。

フロントエンド、管理画面、エディタの動作は従来通り維持される。つまり、実際にブロックを描画または編集する場面でのみ登録が走り、不要な場面では処理を省く。これにより管理画面のバックエンド処理が軽くなる。

1つ例外がある。商品やバリエーションの説明文にWooCommerceブロックが含まれている場合、woocommerce_short_description フィルターを通じて必要に応じてブロックタイプが登録される。商品REST API、Store API、バリエーションAJAXエンドポイント、商品ウェブフックでも説明文が正しく描画される。

エクステンション開発者への影響もある。すべてのリクエストでブロック登録が走ることを前提にした実装は修正が必要になる。新しい woocommerce_should_register_blocks フィルターで、スキップされたコンテキストでもブロックを登録するようにオプトインできる。

メールエディタの更新

メールエディタの更新

ブロックベースのメールエディタにも機能追加があった。core/embed ブロックが、クリック可能なサムネイルを描画するプロバイダーで挿入できるようになった。対象はYouTube、Vimeo、VideoPress、TikTok、Dailymotion、そしてWordPressの埋め込みだ。WordPressの埋め込みはリッチなリンクカードとして表示される。

オーディオプロバイダーは対象外だ。また、未対応のプロバイダーからの埋め込みは貼り付けることはできるが、エディタが警告を表示し、配信時にはリンクとして送信される。メールに動画サムネイルを入れたい場合は、対応プロバイダーのURLを使うとよい。

パーソナライゼーションタグのコールバックにも改善が入った。タグが送信先のコンテンツタイプを受け取れるようになり、HTML、プレーンテキスト、href 属性のそれぞれに適切にエスケープできるようになった。新しいパラメータはオプションで、デフォルトはHTMLだ。自動エスケープは新しく登録されたテキスト型タグにのみ適用される。

実験的機能のプレビュー

実験的機能のプレビュー

WooCommerce 11.1には2つの実験的機能が含まれている。1つは統合ブロックエディタアセットだ。ブロックごとに個別のスクリプトとスタイルを読み込む代わりに、共有のJavaScriptとCSSバンドルに置き換える仕組みである。

テストによると、エディタのアセット数が91.7%削減され、ネットワーク転送サイズが48.3%減少、スタイルバンドルは62.3%小さくなった。フロントエンドのアセットには変更がない。デフォルトでは無効で、WooCommerceの設定画面から「詳細 → 機能 → 実験的機能」と進んで有効化できる。

有効化前 ブロックごとに個別のJSとCSSを読み込む
アセット数 100% / 転送サイズ 100% / スタイルバンドル 100%
↓
有効化後 共有バンドルに集約
アセット数 8.3% / 転送サイズ 51.7% / スタイルバンドル 37.7%

この実験的機能が正式採用されれば、ブロックエディタの読み込み速度が大きく改善される。開発段階の指標ではあるが、かなり有望な結果だ。

もう1つの実験的機能は商品ギャラリービデオの内部ストレージだ。商品ギャラリーに動画を追加する第一歩として、動画データを保存する内部構造がフラグの後ろに実装された。設定画面から「商品ギャラリービデオ(ベータ)」を有効化すると使える。

開発者向けの互換性注意事項

開発者向けの互換性注意事項

WooCommerce 11.1では開発者が把握しておくべき互換性修正が複数含まれている。is_rest_api_request() 関数は、これまで /wp-json/ のパーマリンクパスのみでRESTリクエストを検出していた。今回の修正で、空でない rest_route クエリパラメータもRESTリクエストとして扱うようになった。クエリ形式のRESTルートを使う実装では挙動が変わる可能性がある。

  • ProductGalleryUtils::get_product_gallery_image_count() は非推奨となり、get_product_gallery_media_count() に置き換えられた。旧メソッドは非推奨通知を出すシムとして復元されている
  • 数量ステッパーのDOM順序が視覚的な順序と一致するように修正された。旧DOM順序に依存するCSSを書いているテーマは再テストが必要だ
  • WC_Order_Item_Product::set_product() は variation_id をリセットするようになった。部分的なREST注文更新では product_id が変わらない場合、variation_id が保持される
  • search_products() はORグループの結合を括弧で囲むようになった。これにより include、exclude、status、type の条件が全グループに適用される。結果セットが変わる
  • 新しい GET /wc-analytics/activity-panel/counts エンドポイントが3つの従来エンドポイントを統合し、管理画面のページ読み込みあたり6回のリクエストを1回に削減する
  • アナリティクスページの出力からリクエスト由来のプロパティが除去された。キャッシュされたページが別の訪問者のリクエストデータを漏洩する事故を防ぐ
  • @woocommerce/entities は window.wc.wcEntities で内部ユーティリティを公開しなくなった。これらはもともと公開APIではない
  • 通貨記号の出力がMOP(P から MOP$)とZMW(ZK から K)で変更された。既存の記号オーバーライドフィルターは引き続き動作する

この記事のポイント

  • WooCommerce 11.1ベータ版は2026年9月1日に正式リリース予定
  • EU顧客向けの注文撤回フローが追加され、デフォルトでは無効
  • REST APIに返金自動計算とプレビューエンドポイントが登場
  • Store APIの expected_total によりチェックアウト時の金額不一致を検出
  • バリエーション商品のN+1クエリ削減で管理画面とフロントの表示が高速化
WordPress 7.1 Mary Louリリース。レスポンシブ対応強化と新メディアエディタ搭載

WordPress 7.1 Mary Louリリース。レスポンシブ対応強化と新メディアエディタ搭載

WordPress 7.1「Mary Lou」が2026年8月19日に正式リリースされた。今回のメジャーアップデートでは、カスタムCSSなしでレスポンシブ対応ができるスタイル機能、新しいメディアエディタ、リッチテキスト対応のNotes機能などが追加されている。800人以上の貢献者による1,500以上の改良と修正が含まれる大規模リリースだ。

従来のWordPressでは、画面サイズごとに表示を調整するにはカスタムCSSを書く必要があった。WordPress 7.1ではサイトエディタ内で完結するため、中小企業のサイト担当者やコーディングに不慣れなユーザーでも直感的にレスポンシブ対応できるようになる。画像処理のブラウザ内実行や新ブロックの追加も見逃せない変更点だ。

WordPress 7.1の全体像と主要な新機能

WordPress 7.1の全体像と主要な新機能

WordPress 7.1のコードネーム「Mary Lou」は、ジャズピアニストのメアリー・ルー・ウィリアムズに由来する。彼女はスウィング、ビバップ、セイクリッドジャズとジャンルを横断しながら常にサウンドを再発明し続けた。その革新と協働の精神が今回のリリースに反映されている。

リリース全体の規模を見ると、世界中から800人以上の貢献者が参加し、170人以上が初めてコントリビュートした。修正と改良の総数は1,500を超える。主要な変更点は、レスポンシブスタイルのビジュアル編集、管理バーの全エディタ対応、新しいメディアエディタ、Notes機能の拡張、PlaylistとTabsの2つの新ブロック、そして開発者向けAPI群の公開だ。

WordPress 7.1の主要な新機能カテゴリ
レスポンシブ対応 カスタムCSSなしで画面サイズ別のスタイル設定が可能
メディア編集 切り抜き・反転・回転・メタデータ編集を1つのモーダルで完結
コラボレーション Notes機能がリッチテキストとメンションに対応
パフォーマンス 画像処理をブラウザ内で実行しサーバー負荷を削減
新ブロック PlaylistブロックとTabsブロックを標準搭載
■ レスポンシブ対応 ■ メディア編集 ■ コラボレーション ■ パフォーマンス ■ 新ブロック

このデモでは、WordPress 7.1の主要な変更点を分野別に色分けして示している。青がレスポンシブ対応、橙がメディア編集、紫がコラボレーション、緑がパフォーマンス、赤が新ブロックを表す。

今回のリリースの特徴を一言でまとめると、「サイト制作の作業導線を管理画面内に集約する」方向性が鮮明になったことだ。従来はCSSファイルの編集や複数の画面を行き来する必要があった作業が、ブロックエディタやサイトエディタの中で完結するようになっている。特に中小企業のサイト担当者にとっては、外注や開発者への依頼なしで調整できる範囲が広がる。

レスポンシブスタイルと管理バーの改善

レスポンシブスタイルと管理バーの改善

カスタムCSSなしのレスポンシブ対応

WordPress 7.1では、サイトエディタのグローバルスタイルと個別ブロック設定の両方にレスポンシブコントロールが追加された。具体的には、デスクトップ・タブレット・モバイルの各画面サイズでブロックの表示をどう変えるかを、ビジュアル操作だけで設定できる。

編集中の画面でビューポート(表示領域の幅)を切り替えながらスタイルを調整できるため、仕上がりを確認しやすい。従来のようにカスタムCSSでメディアクエリを手書きする必要がない。この変更は、コーディングに不慣れなユーザーにとって特に大きな意味を持つ。

レスポンシブ対応の進化
従来の対応方法(Before)
カスタムCSSで画面サイズごとにスタイルを記述する必要があった
カスタムCSS → メディアクエリ → 手動でコード管理
※コーディング知識が必要だった
↓
WordPress 7.1の対応方法(After)
サイトエディタ内で画面サイズごとのスタイルをビジュアルに設定できる
ビジュアル編集 → プレビュー確認 → ノーコードで完結
※CSS知識が不要になった

このデモでは、従来のカスタムCSSによる対応と、WordPress 7.1のビジュアル編集による対応の違いを示している。上段の赤い枠がBefore、下段の緑の枠がAfterを表す。CSSの記述が不要になり、プレビューを見ながら調整できるようになった点が大きな変化だ。

管理バーがすべてのエディタで表示される

管理バーがサイトエディタを含むすべてのエディタで追従するようになった。投稿執筆中でもサイトデザインの編集中でも、ダッシュボードや関連ツールへのショートカットが常に画面上部に表示される。WordPressの管理画面を行き来する手間が減り、作業導線が分断されにくくなった。

さらに、ブロックテーマではテーマの設定ファイル(theme.json)にタブレットとモバイルのブレークポイントを独自に定義できるようになった。レスポンシブスタイルとブロック表示の切り替えに使う画面幅の基準を、サイトごとに調整できる。

メディア編集の刷新と画像処理の高速化

メディア編集の刷新と画像処理の高速化

新しいメディアエディタ

従来はインラインで行われていた画像の切り抜きが、新しいモーダル形式のメディアエディタに置き換わった。自由な切り抜き、アスペクト比を固定した切り抜き、水平・垂直の反転、細かな角度調整ができるスナップ回転、そしてメタデータ編集が1つの専用画面に統合されている。

エントリーポイントは従来と同じ「切り抜き」ボタンのまま。既存の操作感を維持しつつ、機能が大幅に拡張されたかたちだ。画像編集のためにプラグインを追加していたユーザーにとっては、標準機能だけで済むケースが増える。

新メディアエディタの操作フロー
STEP 1 メディアライブラリで「切り抜き」ボタンをクリック
↓
STEP 2 新しいメディアエディタがモーダルで開く
↓
STEP 3 切り抜き・反転・回転・メタデータ編集を同一画面で実行
↓
STEP 4 保存して完了
■ 入口 ■ 起動 ■ 編集作業 ■ 保存

このデモは、新しいメディアエディタの操作手順を4ステップで示している。青・緑・橙・紫の順に進み、1つのモーダル内で画像編集からメタデータ更新まで完結する流れが分かる。

ブラウザ内での画像処理

画像の圧縮・リサイズ・サムネイル生成が、サーバーではなくブラウザ内で実行されるようになった。libvipsのWebAssemblyビルドを利用しており、大きな画像をアップロードしてもPHPのメモリ制限やアップロードタイムアウトに引っかかりにくくなる。

サーバー負荷の軽減は、共有サーバーや低スペックのレンタルサーバーを利用しているサイトにとって特に有効だ。画像の多いメディアサイトやECサイトでは、アップロード時のタイムアウトエラーが減ることが期待できる。

対応画像形式も拡充された。AVIF、HEIC、HDRゲインマップのネイティブサポートが追加され、最新のスマートフォンやカメラで撮影した画像をそのまま扱えるようになった。GIFを動画に自動変換するオプションもあり、ファイルサイズの削減が進む。

Notes機能の進化とコラボレーション強化

Notes機能の進化とコラボレーション強化

WordPress 7.1では、コンテンツのレビュー作業を支援するNotes機能が大幅に拡張された。従来はブロック単位でしかコメントを残せなかったが、今回から特定のテキスト範囲に対してノートを付けられるようになった。

リッチテキストにも対応した。太字、斜体、コード表示、リンクの挿入がノート内で使える。さらに「@」を入力すると共同編集者をメンションでき、通知が飛ぶ。複数の会話を同じブロック内で並行して進められるほか、長いノートを折りたたんでサイドバーをすっきり保つことも可能だ。

この機能強化は、複数人で記事をレビューする編集部や、クライアントとの校正作業を行う制作会社にとって実用的な価値がある。フィードバックの場所が明確になり、メールやチャットでのやり取りをWordPress内に集約できる。

執筆中の投稿エディタも全テーマでiframe化された。編集キャンバスが管理画面のスタイルから分離されるため、テーマのCSSが管理画面のスタイルと衝突しにくくなる。ビューポート単位やメディアクエリが編集キャンバスを正確に参照するようになり、レスポンシブレイアウトのプレビュー精度が向上した。

新ブロックと開発者向けAPIの拡充

新ブロックと開発者向けAPIの拡充

PlaylistブロックとTabsブロック

WordPress 7.1では2つの新しいブロックが追加された。Playlistブロックは複数の音声トラックを1つのプレイリストにまとめて再生できる。オプションで波形表示も付けられ、リスナーは各トラックの長さや進行具合を視覚的に把握できる。

Tabsブロックは、関連する情報をタブ形式で整理するためのブロックだ。すべてのコンテンツを一度に表示するのではなく、タブを切り替えて必要な内容だけを見せる。FAQ、料金プランの比較、製品仕様など、関連情報をコンパクトに提示したい場面で役立つ。

開発者向けAPI群

開発者向けの変更も大きい。SVG Icon APIが公開APIとなり、wp_register_icon_collection()、wp_register_icon()、wp_get_icon()といった関数で独自のアイコンコレクションを登録し、エディタ全体で利用できるようになった。

Abilities APIは前バージョンで導入された基盤を拡張し、フィルタ可能な実行ライフサイクル、カスタムバリデーション、共有ディスカバリーを追加した。WordPress上での統合機能や自動化、AI搭載ツールの構築が容易になる。

新しいDesign Systemは、色、角丸、カーソルスタイルを含むWordPress管理画面のテーマリングを支援する。開発者はセマンティックなデザイントークンとThemeProvider Reactコンポーネントを使って、WordPressに馴染むカスタム管理画面を構築できる。

テーマ開発者には、theme.jsonでレスポンシブスタイルと疑似状態(hover、focus、focus-visible、active)のスタイリングが可能になった。DataViewsとDataForm画面を設定する新しいフィルタも追加され、サイトエディタのページ・テンプレート・パーツ管理画面をカスタマイズできる。

パフォーマンスとアクセシビリティの改善

パフォーマンスとアクセシビリティの改善

パフォーマンス面では、前述のブラウザ内画像処理に加えて、GIFから動画への自動変換が導入された。GIFアニメは動画ファイルよりサイズが大きくなりがちで、この変換によりページの読み込み速度が改善する。アップロードの進捗インジケーターと自動リトライも追加され、接続が途中で切れてもアップロードが再開できるようになった。

メディアライブラリはデフォルトで無限スクロールになった。ページネーションに戻すオプションもユーザーごとに用意されている。多数の画像を扱うサイトでは、ページを切り替える操作なしで目的のメディアを探しやすくなる。

Speculative loadingのデフォルト設定を、環境変数や定数で指定できるようになった。ホスティング事業者やサイト運営者は、プラグインを書かずにWordPressの先読み動作を設定できる。これはサイト速度の調整手段として、特にトラフィックの多いサイトで有用だ。

アクセシビリティの改善も続いている。wp_get_tooltip()とwp_get_toggletip()という新しい関数が追加され、投稿メタボックスやログイン画面を含む管理画面の各所でアクセシブルなツールチップを利用できるようになった。スクリーンリーダーのサポートも強化され、投稿一覧テーブルでのラベル付けとナビゲーションがより予測しやすくなっている。

この記事のポイント

  • WordPress 7.1「Mary Lou」が2026年8月19日にリリースされた
  • カスタムCSSなしでレスポンシブスタイルを設定できるようになった
  • 新しいメディアエディタが切り抜き・反転・回転・メタデータ編集を統合
  • 画像処理がブラウザ内で実行され、サーバー負荷とタイムアウトが軽減された
  • Notes機能がリッチテキストとメンションに対応し、コラボレーションが強化された
  • PlaylistブロックとTabsブロックが標準搭載された
  • 開発者向けにSVG Icon API、Abilities API、Design Systemが公開された
WordPress 7.1正式版が8月19日リリース。レスポンシブスタイルと疑似状態の全容

WordPress 7.1正式版が8月19日リリース。レスポンシブスタイルと疑似状態の全容

WordPress 7.1の正式版が2026年8月19日にリリースされる。WordCamp US最終日と重なるタイミングで、すでにRC1とRC2が公開され、機能セットは確定済みだ。先月にはセキュリティリリース2件も出ており、影響を受けるサイトは自動更新が強制された。

今回のアップデートで注目が大きいのは、レスポンシブブロックスタイルと疑似状態スタイルのコア導入だ。テーマ開発者はモバイルとタブレットの表示をtheme.jsonだけで制御できるようになる。プラグイン開発者もリストテーブルの構造変更に注意が必要だ。正式版まで残り数日、互換性確認のポイントを解説する。

WordPress 7.1は8月19日リリース、RC2まで公開済み

WordPress 7.1は8月19日リリース、RC2まで公開済み

正式版はWordCamp US最終日に到着

WordPress 7.1は8月19日にリリース予定だ。ちょうど8月16日から19日にかけて米国フェニックスで開催されるWordCamp USの最終日と重なる。年次フラッグシップイベントの最終日に正式版が出るのは珍しいスケジュールで、現地参加者はその瞬間をライブで目撃できる。

先週までにRC1とRC2が立て続けに公開された。RC(Release Candidate / リリース候補版)とは、正式版の一歩手前の段階だ。ここまで来ると新機能の追加は終了し、バグ修正だけが行われる。Field Guideも公開済みで、全機能の開発者向け詳細がまとまっている。

セキュリティリリース2件、強制自動更新も発動

先月はセキュリティリリースが2件公開された。7月17日に出たWordPress 7.0.2は、重大な脆弱性1件と高深刻度の脆弱性1件に対処したものだ。深刻度が高かったため、影響を受けるバージョンのサイトには強制自動更新が適用された。続いて8月6日には7.0.3が公開され、十数件の追加修正が入っている。

管理しているサイトが両方の自動更新を何らかの理由で逃していた場合、先にそちらの更新を済ませることが最優先になる。7.1のテストはその後でかまわない。

レスポンシブスタイルがコアに登場

レスポンシブスタイルがコアに登場
デスクトップビュー(デフォルト)
パディング幅 3rem(約48px)
theme.json のデフォルト値がそのまま適用される
↓
タブレットビュー(@tablet)
パディング幅 2rem(約32px)
782px 以下の画面で適用される
↓
モバイルビュー(@mobile)
パディング幅 1rem(約16px)
480px 以下の画面で適用される

上記の図は、theme.jsonでデスクトップ・タブレット・モバイルのパディングを切り替える様子を視覚化したものだ。実際には端末の画面幅に応じて、この3つの状態が自動的に切り替わる。

theme.jsonでモバイルとタブレットのスタイルを定義

春先から開発が進められていたレスポンシブスタイルが、WordPress 7.1で正式にコアに導入された。ブロックのスタイルをタブレットとモバイルのビューポートごとに定義できる。Global Styles(グローバルスタイル)ではブロックタイプ単位で、個別のブロック単位でも設定可能だ。theme.jsonでは@mobileと@tabletというキーの中にネストして記述する。

ここで押さえておきたいのは、@desktopキーが存在しない点だ。ブロックのデフォルトスタイルがそのままデスクトップスタイルになる。モバイルやタブレットで上書きしなかったプロパティは、すべてのビューポートでデフォルト値が適用される。

さらにテーマ側でブレークポイントを設定できる。theme.jsonのトップレベルにsettings.viewportプロパティを追加する仕組みだ。デフォルトはモバイルが480px、タブレットが782px。値はpx、em、remの非負の長さのみ許可され、CSS関数やパーセント、単位なしの値は無視される。タブレット値がモバイル値と同じか小さい場合は、モバイルのみが使われる。

標準ブロックサポートを使っているブロックは、タイポグラフィ、カラー、背景、ボーダー、寸法、スペーシング、レイアウトが自動的に対応する。逆に独自のスタイルコントロールを持つブロックは対象外だ。自作ブロックがある場合、この線引きで対応有無を確認してほしい。

疑似状態スタイルでホバーやフォーカスを制御

ボタンの疑似状態スタイル(4状態)
通常状態 ボタン
ホバー状態 ボタン
フォーカス状態 ボタン
アクティブ状態 ボタン
■ 通常 ■ ホバー ■ フォーカス枠 ■ アクティブ

ホバーやフォーカスは実際の操作で状態が変わるため、上記は4つの状態を並べて示したものだ。実際の編集画面では「Hover」タブを選んでスタイルを設定する。

かねてから要望の多かった疑似状態スタイルも7.1で実装された。:hover、:focus、:focus-visible、:activeをtheme.jsonとエディタで定義できる。現時点ではButtonブロックとNavigation Linkブロックに限定されている。

さらに初期段階のカスタムステート機能も入った。現状はtheme.jsonのみで、管理画面のUIはまだない。Navigation Linkブロックが現在のメニュー項目をスタイルするために-currentプロパティを使う仕組みだ。カスタムステートは-接頭辞を使い、ブロックのblock.jsonにあるselectors.statesプロパティで宣言したクラス名をターゲットにCSSを生成する。現時点では限定的だが、今後の拡張に向けた重要な布石だ。

新しいデザインツール3点

新しいデザインツール3点

テーマ開発者が長年待っていた変更を含む、デザインツールの追加が3つある。グラデーションと背景画像を同時に使えるようになるのは特に大きい。

背景グラデーションと背景画像を併用可能に

新しいbackground.gradientは既存のcolor.gradientとは別のサポートとして追加された。違いはCSSの出力先にある。従来のサポートはbackgroundショートハンドを通じて描画されるため、background-imageを含むすべてのbackground関連プロパティをリセットしてしまっていた。ブロックにグラデーションか画像のどちらか一方しか使えなかった理由だ。

新しいサポートはbackground-imageロングハンドで描画される。スタイルエンジンが1つの宣言内にグラデーションと画像をカンマ区切りで出力できるようになった。7.1ではGroup、Accordion、Pullquote、Post Content、Quoteがコアで対応する。値はstyle.background.gradientに保存される。

最小幅とテキストシャドウ

dimensions.minWidthは既存のminHeightと同じパターンで、CSSのmin-widthとして適用される。テーマがdimensionSizesプリセットを提供していれば、それを活用できる。1点注意があり、この設定はデフォルトではブロックインスペクターに表示されない。ブロック側で__experimentalDefaultControlsを通じてopt-inした場合のみ表示される。Global Stylesではデフォルトで表示される。

テキストシャドウもGlobal Stylesでサポートされた。これまでは個別ブロックやCSSでしか指定できなかったが、theme.jsonからサイト全体またはブロックタイプ単位で制御できる。

SVG Icon APIが正式公開

アイコン名の衝突を防ぐ名前空間の仕組み
名前空間なしの場合(衝突する)
core / star → my-plugin / star 同じ名前で衝突
↓
名前空間を付けた場合(安全)
core/star → my-plugin/star それぞれ別のアイコンとして識別

アイコン名の衝突を防ぐため、コレクション名が名前空間の接頭辞になる。プラグイン独自のアイコンを登録しても、コアのアイコンと混同される心配がない。

WordPress 7.0でエディタとIconブロック向けにSVGアイコンのセットが同梱された。7.1ではこれが正式な公開APIになり、プラグインやテーマから登録できるようになった。wp_register_icon_collection()でコレクションを登録し、wp_register_icon()でアイコンを追加する。PHPの任意の場所でwp_get_icon()を使えば、サイズやクラス、ラベルを指定してアイコンを表示できる。

計画時に意識したい制限が2つある。登録したSVGはwp_ksesによって保守的な許可リストでサニタイズされる。許可されるのは<svg>、<path>、<polygon>のみ。許可リストの拡大作業は進行中だ。fillは図形部分にのみ許可され、外側の<svg>には付けられない。またwp_get_icon()単体で呼び出すとSVG自身のfill(黒)で描画される。周囲のテキスト色に合わせたい場合は、渡したクラスに対して自前でCSSを指定するのが推奨される。

エディタのiframe化とプラグインへの影響

エディタのiframe化とプラグインへの影響

投稿エディタは常時iframe表示へ

テンプレートエディタがiframe化されたのはWordPress 5.8からだ。それ以来、投稿エディタも段階的に移行してきたが、7.1で最終段階に入った。テーマの種類や登録ブロックのAPIバージョン、コンテンツ内のブロックのAPIバージョンに関係なく、投稿エディタは常にiframeで表示される。レガシーメタボックスを登録しているサイトも同様だ。

7.0では投稿ごとに挿入されたブロックに基づいて判断されていた。つまりコンテンツによってiframedモードと非iframedモードが切り替わり得た。この条件付き動作がなくなり、挙動が単純化された。

大半のブロックは変更なしで動作する。問題が起きる場合、ほとんどは1つの根本原因にたどり着く。iframeは管理者ページとは別のdocumentとwindowを持つ。エディタスクリプトが実行される管理者ページからグローバルのdocumentやwindowにアクセスしてキャンバスを操作しようとすると、間違ったドキュメントを見ていることになる。対処としては、キャンバス内の要素からownerDocumentとdefaultViewでドキュメントを取得するか、useRefEffectでキャンバス要素にリスナーをアタッチ・クリーンアップするのが一般的だ。

リストテーブルの行ヘッダーが移動

カスタムCSSやJavaScriptを書いているプラグインにとって、静かに何かを壊す可能性が高いのがリストテーブルの変更だ。投稿一覧テーブルで、プライマリのth scope="row"がチェックボックス列からタイトル列に移動した。チェックボックスセルはtdになり、タイトルセルがthとして投稿タイトルを含むaria-labelを持つ。レスポンシブ表示で折りたたまれるセルはflexレイアウトを使うようになった。

これはアクセシビリティの大きな改善だ。スクリーンリーダーは各行を、場合によっては存在しないチェックボックスではなく投稿名で認識できるようになる。ただしこのマークアップは2010年以降ほぼ安定していたため、多くの拡張が暗黙的に依存している。th.check-columnを選択するCSSやJavaScript、td内の行アクションや投稿タイトルを期待するコードがある場合は確認が必要だ。

この記事のポイント

  • WordPress 7.1は8月19日リリース予定、RC2まで公開済みで機能セットは確定
  • セキュリティリリース7.0.2と7.0.3が先月公開され、強制自動更新も適用された
  • レスポンシブスタイルがコアに入り、モバイルとタブレットのスタイルをtheme.jsonで定義可能に
  • 疑似状態スタイルでホバー、フォーカス、アクティブをテーマから制御できる
  • SVG Icon APIが公開され、プラグインが名前空間付きでアイコンを登録可能に
  • 投稿エディタは常時iframe化され、リストテーブルの行ヘッダー移動も要確認
WordPress 7.1の管理画面テーブル変更、一部プラグインに影響の可能性

WordPress 7.1の管理画面テーブル変更、一部プラグインに影響の可能性

WordPress 7.1が2026年8月19日にリリース予定だ。このバージョンでは管理画面のアクセシビリティを大幅に改善する変更が含まれる。具体的には、投稿一覧などの管理用テーブルでHTMLのセマンティクスが修正される。この修正自体は好ましい進化だが、一部のプラグインやテーマで管理画面の動作に影響が出る可能性がある。特に、管理用のテーブル構造を前提にCSSやJavaScriptでカスタマイズしている場合は注意が必要だ。

変更の規模はそれほど大きくないが、プラグイン開発者だけでなく、サイト運営者も事前に互換性を確認しておくことで、アップデート後のトラブルを回避できる。この記事では、変更の具体的な内容と、利用者・開発者それぞれが取るべき対策を簡潔にまとめる。

管理画面テーブルのHTML構造が変わる

管理画面テーブルのHTML構造が変わる

WordPress 7.1では、投稿・固定ページ・カスタム投稿タイプなどを一覧表示する管理画面のテーブル(リストテーブル)のHTMLマークアップが一部変更される。修正の対象は、主に各行の左端にあるチェックボックス列と、投稿タイトル列だ。変更点を整理すると以下のようになる。

  • チェックボックス列が <th>(行ヘッダー)から <td>(通常のセル)に変更される
  • 投稿タイトル列が <td> から <th scope="row">(行ヘッダー)に変更される
  • 投稿タイトルの行ヘッダーには、投稿名を含む aria-label 属性が追加される
  • レスポンシブ表示時の折りたたみセルがFlexboxレイアウトに更新される

この変更によって、スクリーンリーダーを利用するユーザーは、各行で「どの投稿を操作しているのか」を正確に認識できるようになる。従来は、チェックボックス列が行ヘッダーだったために「すべて選択」といった無意味なラベルが読み上げられることが多く、特に投稿がロックされている場合などは混乱の原因になっていた。

変更前と変更後のコード比較

具体的にHTMLがどのように変更されるのか、簡単な例を示す。まずは現行バージョンの構造だ。

<tr>
<th scope="row" class="check-column">
<input type="checkbox" name="post[]" value="123">
</th>
<td class="title column-title column-primary page-title">
<a class="row-title" href="...">Hello world!</a>
</td>
<td class="author column-author">admin</td>
</tr>

これがWordPress 7.1では以下のように変わる。

<tr>
<td class="check-column">
<input type="checkbox" name="post[]" value="123">
</td>
<th scope="row" class="title column-title column-primary page-title" aria-label="Hello world!">
<a class="row-title" href="...">Hello world!</a>
</th>
<td class="author column-author">admin</td>
</tr>

チェックボックスのセルが <th> から <td> になり、代わりにタイトル列が <th scope="row"> として行の見出しの役割を担う。これにより、支援技術は「Hello world!」という投稿タイトルを行の識別子として扱えるようになる。

従来のテーブル行(Before)
チェックボックス列(th)
「すべて選択」と読み上げられる
タイトル列(td)
行の見出しではない
↓
WordPress 7.1のテーブル行(After)
チェックボックス列(td)
ラベルなし、単なるセルに
タイトル列(th scope=”row”)
「Hello world!」が行見出しとして読み上げ
■ チェックボックス列が行ヘッダーから通常セルに  ■ タイトル列が行ヘッダーに昇格

この変更は、サイトのフロントエンド(公開側)には一切影響しない。問題が発生するのはあくまで管理画面の投稿一覧テーブルをカスタマイズしている場合に限られる。

11年越しのバグ修正がもたらすアクセシビリティ向上

WordPressのコア開発チケット「#32892」は、この問題を報告してから実に11年が経過していた。修正が長期化した背景には、管理画面のテーブルマークアップが広範囲に影響するため、影響範囲の調査とテストに時間を要したことがある。

従来の構造では、スクリーンリーダーが各行を読み上げる際に、チェックボックスに関連付けられたラベル(多くの場合「すべて選択」)を読み上げてしまい、ユーザーはどの投稿の行にいるのか理解しづらかった。特に投稿が他ユーザーによってロックされている時に表示される鍵アイコンには、読み上げ用のラベルがなく、スクリーンリーダーは「すべて選択」と繰り返すだけだった。今回の変更により、行の主たる識別子である投稿タイトルが適切に読み上げられるようになり、管理画面の操作性が大きく改善される。

サイト運営者が今すぐすべきこと

サイト運営者が今すぐすべきこと

影響を受けるのは、管理画面の投稿一覧に対して何らかの情報や操作を追加しているプラグインのみだ。具体的には、CSSやJavaScriptで特定の <th> や <td> をターゲットにしてカスタマイズしているプラグインが対象となる。多くのサイトでは問題は起きないが、念のため以下の手順で確認することをおすすめする。

プラグインの互換性情報を確認

WordPress 7.1の公開後、利用中のプラグインが互換性テストをパスしているかどうかをまずチェックしよう。方法は簡単で、「プラグイン名 changelog」や「プラグイン名 WordPress 7.1」で検索すれば、開発元の公式ブログやチェンジログが見つかる。プラグインが「7.1対応済み」と明記されていれば、先にプラグインを最新版に更新してからWordPress本体のアップデートを行うと安全だ。

互換性が未確認の場合は、本番環境に直接アップデートを適用せず、ステージングサイト(テスト環境)で事前に動作確認を行うことが望ましい。特に管理画面に大きく依存したワークフローを構築しているサイトでは、ステージングでのテストは必須に近いと考えていい。

主要SEOプラグインへの影響はほぼなし

多くのサイトで利用されているYoast SEO、Rank Math、All in One SEO(AIO SEO)の3つのSEOプラグインには、管理画面の投稿一覧に独自のカラムを追加する機能が含まれている。こうしたプラグインこそ影響を受けやすいように見えるが、Search Engine Journalの記事によると、公開されているコードを確認した限りでは、今回変更される <th> と <td> の構造に依存したセレクタは見つからなかったという。したがって、これらのプラグインがWordPress 7.1で即座に動作しなくなる可能性は極めて低い。

ただし、これは公式の保証ではない。各プラグインの公式ブログやチェンジログで、7.1対応についてアナウンスがないか確認しておくに越したことはない。

万が一問題が出た場合の対処

仮にプラグインが管理画面の投稿一覧で表示崩れや機能停止を起こしたとしても、フロントエンドの表示やSEO評価に直接影響が出ることはまずない。管理画面の一部の機能が不安定になる程度と考えてよい。その場合は、問題のプラグインを一時的に無効化するか、開発元の対応を待つことになる。落ち着いてステージング環境で原因を特定し、本番への影響を最小限に抑える対応を取ろう。

プラグイン開発者とカスタム実装者に向けて

プラグイン開発者とカスタム実装者に向けて

WordPress向けのプラグインや管理画面のカスタマイズを行っている開発者は、今回の変更を事前に把握し、影響を受けるセレクタを修正する必要がある。特にノーコードツールやAIによるコーディング(いわゆるVibe Coding)で生成されたコードをそのまま利用している場合、セレクタの記述が <th> や <td> に依存している可能性が高いため、注意が必要だ。

修正すべきセレクタの典型例

問題となるのは、以下のようなCSSやJavaScriptのセレクタだ。

  • #the-list tr th.check-column のような、チェックボックスの <th> を前提としたCSSルール
  • document.querySelectorAll('tbody td.title') のように、タイトル列を <td> として取得するJavaScript
  • カスタムカラムを追加する際に、<td> の直後に <td> を挿入するロジック

開発者は、セレクタをタグ名ではなくクラス名(.check-column や .title)に基づいたものに書き換えることで、新旧両方のマークアップに対応できる。WordPress 7.1への移行期間中は、<th> と <td> の両方にマッチするようなセレクタを用意するか、バージョン分岐処理を入れるのが安全だ。変更自体は単純なため、対応に膨大な工数がかかることはないだろう。

問題のあるセレクタ(Before)
tr th.check-column で背景色を変更
→ 7.1では <td> になるためスタイルが当たらなくなる
↓
安全なセレクタ(After)
tr .check-column で背景色を変更
→ クラス名で指定するため、タグ変更に影響されない
■ タグ名に依存したセレクタは7.1で無効化される  ■ クラス名ベースに修正すれば互換性が保たれる

なお、公式の発表では、テーマのフロントエンド側マークアップには一切手が加えられていないことが明言されている。管理画面のカスタマイズだけをメンテナンスすればよく、影響範囲は極めて限定的だ。

この記事のポイント

  • WordPress 7.1ではアクセシビリティ向上のため、管理画面の投稿一覧テーブルのHTML構造が変更される
  • チェックボックス列が <th> から <td> に、タイトル列が <td> から <th scope="row"> に変わる
  • フロントエンドへの影響はなく、管理画面のカスタマイズに依存する一部プラグインのみ注意が必要
  • 主要SEOプラグイン(Yoast、Rank Math、AIO SEO)は現時点で影響が確認されておらず、互換性情報の確認を推奨
  • 開発者はタグ名ではなくクラス名ベースのセレクタに修正することで新旧両対応が可能
WooCommerce 11.0が公開、ゲスト注文の連携と大規模ストア向けパフォーマンス改善

WooCommerce 11.0が公開、ゲスト注文の連携と大規模ストア向けパフォーマンス改善

WooCommerce 11.0が2026年8月4日にリリースされた。このバージョンは551件のプルリクエストを含む、近年最大規模のアップデートのひとつだ。バックログの整理とコアの基盤強化に重点が置かれ、ゲスト購入者が過去の注文を自分のアカウントに紐づけられる機能や、アナリティクスの信頼性向上、大規模ストア向けのパフォーマンスチューニングが行われている。

本記事では、運用者と開発者の両方にとって重要な変更点を中心に、WooCommerce 11.0の中身を解説する。カタログが数千点を超える店舗でも体感できる速度改善や、新しいゲスト注文管理の仕組みを詳しく見ていこう。

大規模ストアで効くパフォーマンス最適化

大規模ストアで効くパフォーマンス最適化

WooCommerce 11.0のパフォーマンス改善は、商品点数が多く、過去の注文データが膨大な店舗ほど効果を発揮する。内部クエリの最適化を中心に、Store APIの改良や注文処理中の在庫ステータス管理がより軽量になった。

内部クエリの見直しとStore APIの改善

大規模ストアでは、商品一覧や注文履歴を表示するたびにデータベースへ重いクエリが走り、管理画面やフロントエンドのレスポンスが悪化しがちだ。今回のアップデートでは、こうしたクエリに不要なJOINやサブクエリが含まれていないかを洗い出し、インデックスを活用したシンプルな構造に書き換える修正が多数含まれている。

Store APIも改良された。Headless構成やカスタムストアフロントでWooCommerceを利用している場合、商品データの取得やカート操作がより高速になる。具体的には、APIの内部で使用するキャッシュ戦略とデータ構造が見直され、同じデータを重複して取得する無駄が省かれた。

在庫管理まわりの処理が軽量化

注文が入るたびに在庫数を更新し、ステータスを変更するフローもチューニングされている。特に、バックエンドで複雑な在庫チェックを繰り返していた処理が一本化され、注文から在庫確保までの一連の流れがスリムになった。商品バリエーションが多い店舗では、これによる管理画面の操作感向上が期待できる。

パフォーマンス改善の対象例
商品数1万点 商品一覧画面の読み込み速度向上
↓
注文履歴5万件 顧客注文リスト表示の軽量化
↓
バリエーション200種 在庫更新バッチ処理の効率化

上記のように、規模が大きくなるほど効果が明確になる。クエリ最適化は累積的なため、今後のWooCommerceバージョンでも継続して改善が加えられる見込みだ。

ゲスト購入とアカウントの連携がスムーズに

ゲスト購入とアカウントの連携がスムーズに

WooCommerce 11.0では、購入後のアカウント作成フローがさらに強化された。これまではゲストとして注文した後にアカウントを作っても、過去の注文は引き継がれなかった。今回のアップデートで、ゲスト購入者が自分の過去注文を見つけ、メール認証を通じてアカウントに紐づけられるようになっている。

メール認証による過去注文の引き継ぎ

具体的な流れはこうだ。ゲスト購入者が新たにアカウントを作成すると、WooCommerceはそのメールアドレスに関連する過去のゲスト注文を検索し、一覧を提示する。ユーザーは「自分の注文」として承認するかどうかを選択でき、承認されるとアカウントの注文履歴に統合される。この仕組みにより、リピート購入への心理的なハードルが下がり、顧客ロイヤルティの向上にもつながる。

従来のフロー(Before)
ゲスト購入 → アカウント作成 → 過去注文は表示されず
※ゲスト注文はアカウントと別管理のまま
↓
改善後のフロー(After)
ゲスト購入 → アカウント作成 → メール認証 → 過去注文を統合
※顧客が明示的に承認した注文のみアカウントに紐づく

この機能は、WooCommerce 9.5で導入された購入後アカウント作成の自然な拡張だ。単に「購入後にアカウントを作れる」だけでなく、「過去の購入履歴もまとめて管理できる」ようになる点が、顧客体験として大きな進化といえる。

アナリティクス報告の信頼性が向上

アナリティクス報告の信頼性が向上

WooCommerce 11.0では、売上分析や注文レポートの精度が高められた。イベントトラッキングの確実性が増し、返金データが売上APIの数値に正しく反映されるようになった。また、過去データのインポートに失敗した場合、再試行できる機能が追加され、管理画面からエラー状況を確認しやすくなっている。

返金が売上レポートに正しく反映

これまでのアナリティクスでは、返金処理が行われても売上APIの数値が更新されないケースがあった。11.0では、返金も含めた正味売上が計算されるため、ダッシュボードの数字と実際の会計がずれる問題が解消される。

失敗時のリトライ機能でデータ欠損を防止

大量の履歴データを一括でインポートする際、サーバーの制限などで処理が途切れることがある。今回のアップデートで、インポートに失敗したジョブの一覧が表示され、管理者が手動でリトライできるようになった。大規模なデータ移行やバックアップからの復元作業が、より安全で扱いやすくなっている。

開発者向けアップデートと基盤整理

開発者向けアップデートと基盤整理

WooCommerce 11.0には、開発者向けの変更も数多く含まれている。Abandoned Cartメールやブロックベースのメール編集、新しい設定UIといった試験的機能が追加されたほか、Product Editor Betaの完全廃止、内部依存ライブラリであるAction Schedulerが4.0.0へ更新されている。

Action Scheduler 4.0.0への移行

Action Schedulerとは、WordPressのWP-Cronに代わる形で定期的なジョブや遅延タスクを実行するライブラリで、WooCommerceの購読や自動メールなど多くの機能を支えている。今回、依存バージョンが4.0.0に引き上げられ、ジョブの登録と実行の仕組みが改善された。具体的には、処理の重複防止やエラーハンドリングが強化され、長期間のタスクでも安定して動くようになっている。

試験的機能と廃止スケジュール

Abandoned Cartメールは、カゴ落ちしたユーザーに自動でリマインダーを送る機能だが、これまではサードパーティのプラグインに頼る必要があった。今回、コアに試験的実装が加わり、将来的な標準機能化への布石となっている。ブロックベースのメール編集や新しい設定UIも、まだ試験的ではあるが、より直感的な管理画面を目指す方向性を示している。

一方、Product Editor Betaは今回のバージョンで完全に廃止された。すでに新しい商品編集エディタが安定版へ移行しており、以前のベータ版に依存していたカスタムコードがある場合は、早めの移行が推奨される。

開発者向け主要変更の関係図
コア基盤 Action Scheduler 4.0.0 → バックグラウンド処理の安定性向上
↓
新機能(試験的) Abandoned Cartメール、ブロックメール編集、新設定UI
↓
廃止 Product Editor Beta → 新エディタへの移行完了
■ コア基盤 ■ 試験的機能 ■ 廃止

この記事のポイント

  • WooCommerce 11.0は551件のPRを含む大規模アップデートで、基盤整理とパフォーマンス改善が中心
  • ゲスト購入者が過去の注文をメール認証でアカウントに紐づけられるようになり、リピート率向上に寄与
  • 大規模ストア向けにクエリ最適化とStore API改良が行われ、管理画面とフロントエンドのレスポンスが向上
  • 返金データが売上APIに正しく反映され、アナリティクスの信頼性が高まった
  • 開発者向けにはAction Scheduler 4.0.0への移行や試験的機能の追加、Product Editor Betaの廃止が行われた
WooCommerce Stripeに緊急セキュリティアップデート。バージョン10.8.5へ即時更新を

WooCommerce Stripeに緊急セキュリティアップデート。バージョン10.8.5へ即時更新を

WooCommerceは2026年8月6日、公式決済プラグイン「Stripe for WooCommerce」のセキュリティアップデートをリリースした。影響を受けるのはバージョン9.7.0から10.8.4まで。すべてのストア管理者は直ちにバージョン10.8.5または各リリースラインのパッチ版へ更新する必要がある。

今回の問題はAutomattic社内のプロアクティブなセキュリティテストで発見された。現時点で悪用された証拠はなく、顧客情報や決済データへの不正アクセスも確認されていない。しかし、特定の条件下でストアが利用不能になる可能性があるため、迅速な対応が求められる。

影響範囲とパッチバージョン

今回の脆弱性はStripe for WooCommerceプラグインのバージョン9.7.0から10.8.4に存在する。9.7.0より前のバージョンは影響を受けないが、それらは古いリリースのため、最新のサポート対象バージョンへの移行が推奨される。

WooCommerceチームは、影響を受けるすべてのリリースラインに対してパッチを用意した。理想は最新の10.8.5に更新することだが、何らかの事情ですぐにメジャーバージョンを上げられない場合は、以下のパッチ版を適用すればよい。

更新が必要なバージョン(Before)
9.7.0 〜 10.8.4
※これらのバージョンは脆弱性の影響を受ける
↓
安全なパッチバージョン(After)
10.8.5(推奨) または 10.7.2 10.6.3 10.5.4 10.4.1 10.3.2 10.2.1 10.1.1 10.0.2 9.9.3 9.8.2 9.7.2
※いずれかのパッチ版へ更新すれば脆弱性は解消される

更新手順と確認ポイント

更新手順と確認ポイント

管理画面からの手動更新

自動更新を設定しているストアでも、念のためバージョンを直接確認することが重要だ。管理画面の「プラグイン」→「インストール済みプラグイン」から「WooCommerce Stripe Payment Gateway」または「Stripe for WooCommerce」を探し、更新が利用可能な場合は「今すぐ更新」をクリックする。更新後は必ず決済テストを実施し、Stripe決済手段が正常に表示されることを確認しておきたい。

STEP 1 管理画面の「プラグイン」→「インストール済みプラグイン」を開く
↓
STEP 2 Stripe決済プラグインの現在のバージョンを確認する
↓
STEP 3 「今すぐ更新」をクリックし、10.8.5またはパッチ版を適用する
↓
STEP 4 フロントエンドでテスト購入を行い、Stripe決済が正常に動作することを確認する

自動更新とインフラストラクチャ対応

WordPress.orgプラグインチームと連携した自動更新の配信も進められている。Automatticの管理下にあるストアや、プラグインの自動更新を有効にしている環境では、すでにパッチが適用されている可能性がある。しかし、複数ストアを管理する開発者や代理店、ホスティング事業者は、実際のバージョンを直接確認することを怠ってはならない。

今回の脆弱性の内容と影響

今回の脆弱性の内容と影響

最も深刻な問題は、特定の条件下でストア自体が利用不能になるというものだ。顧客のクレジットカード情報や購入履歴といった機密データにアクセスされる性質のものではないが、サイトが停止すれば売上機会の損失に直結する。WooCommerceは今回の脆弱性を悪用した実例は確認されていないとしている。

このアップデートでは、利用不能を引き起こす可能性のある問題に加えて、関連するセキュリティ上の問題点も修正されている。具体的な脆弱性の手順は、多くのストアが更新を完了するまでは公開されない方針だ。未パッチのサイトを狙った攻撃を防ぐためであり、詳細な技術情報は安全が確認され次第、アドバイザリに追記される予定である。

7月14日のアップデートとの違いに注意

7月14日のアップデートとの違いに注意

今回のリリースは、2026年7月14日に公開されたStripe for WooCommerceの決済検証パッチとは別のアップデートである。7月のアドバイザリ対応でバージョン10.6.2、10.7.1、10.8.4に更新したストアも、重ねて今回のパッチを適用しなければならない。両方の修正を含んだ最新版は10.8.5だ。

7月のパッチ適用後(10.6.2 / 10.7.1 / 10.8.4)
決済検証の脆弱性は修正済みだが、今回のストア利用不能に関する脆弱性は未修正
↓
今回のアップデート後(10.8.5等)
7月の決済検証パッチと今回の修正が両方とも含まれている
重要な注意
7月のアドバイザリで更新したストアも、今回のパッチを別途適用する必要がある。自動更新に任せず、必ず手動でバージョンを確認すること。

困ったときのサポート窓口

困ったときのサポート窓口

更新作業に手詰まりを感じたら、WooCommerceの公式サポートに問い合わせるのが確実だ。ストア管理者はWooCommerceサポートページからチケットを発行できる。プラグイン開発者やホスティング事業者など、技術的な質問がある場合は、WooCommerce Community Slackの利用が案内されている。

この記事のポイント

  • Stripe for WooCommerce 9.7.0〜10.8.4にセキュリティ脆弱性。全ストアで即時更新が必要
  • 推奨更新先は10.8.5。各リリースラインにパッチ版あり
  • ストアが利用不能になる可能性があるが、決済データ等へのアクセスはない
  • 7月のパッチとは別のアップデート。両方の修正を含む最新版への移行が必須
  • 自動更新環境でも必ず手動でバージョンを確認し、テスト購入を行う
OpenAI、GPT-5.6 SolとLunaをChatGPTに展開。無料ユーザーに無制限チャット、事実誤認を最大68%削減

OpenAI、GPT-5.6 SolとLunaをChatGPTに展開。無料ユーザーに無制限チャット、事実誤認を最大68%削減

OpenAIは2026年8月6日、ChatGPTの大幅なモデルアップデートを発表した。有料ユーザー向けにGPT-5.6 Solの回答品質を刷新し、無料ユーザー向けにはGPT-5.6 Lunaのデフォルト化と無制限テキストチャットを実現する。内部評価では事実誤認が最大68%削減されており、実務利用に直結する進化といえる。

週に10億人が利用するChatGPTにとって、この変更は情報検索や企画立案、専門的な意思決定の質を大きく左右する。有料ユーザーには思考深度を調整できる新しいスライダーが提供され、無料ユーザーは難しい質問に対して深い推論を呼び出す「Think」ボタンを利用できるようになる。

GPT-5.6 Solが実現する3つの改善点

GPT-5.6 Solが実現する3つの改善点

事実誤認が最大68%減少

今回のGPT-5.6 Solでは、金融・医療・法律といった専門領域で事実誤認を大幅に減らすことに注力した。OpenAIの内部評価によると、GPT-5.5 Instantと比較してGPT-5.6 Lunaでは約62%、GPT-5.6 Solでは約68%も事実誤認を含む回答が減少している。日付や数字、出典や前提条件に依存する問いに対して、より正確に情報を引き出せるようになった。

回答の簡潔さと一貫性の向上

GPT-5.6 Solは質問の粒度に応じて回答の詳細度を自動調整する。たとえば「明日の午前中に自転車で移動するが、天気は問題ないか」という問いに対して、従来モデルが降水確率や風速を列挙するだけであったのに対し、新モデルは「風が強いため注意が必要」という核心を先に伝え、必要な詳細だけを整理して返す。

また、同じモデルで即時応答(Instant)と深い思考(Thinking)の両方をカバーするため、思考深度を切り替えても回答のトーンやスタイルが一貫している。「別のAIに切り替わった」ような違和感はなく、単に「より時間をかけて包括的に答えてくれる」という自然な体験になる。

従来の回答(Before)
GPT-5.5 Instant
明日の午前中は晴れ、気温は15度、降水確率は10%です。風速は7m/sの予報です。
※気象データを並べるが、「何が問題か」が分かりにくい
↓
改善後の回答(After)
GPT-5.6 Sol
風が強いので注意してください。風速7m/sの予報で、晴れですが体感温度は低めです。降水確率は10%で雨の心配はありません。
※核心を先に伝え、必要な情報だけを整理

この例のように、GPT-5.6 Solは本当に知りたいことを捉え、余計なフォーマットや関係の薄い詳細を省く。技術的な質問や多段階の計画立案でも、中心的な推奨事項が明確に示される。

思考深度を調整するスライダー(Plus・Pro向け)

ChatGPTのウェブ版・モバイル版・デスクトップ版に新しく搭載されたスライダーを使うと、日常的な質問では素早く回答を得て、企画・調査・コーディング・意思決定のような深い思考が必要な場面ではスライダーを上げるだけでモデルがより多くの計算リソースを割くようになる。同じGPT-5.6 Solモデルの中で推論量を変えるため、品質と一貫性が保たれる。

無料ユーザー向けの大幅な機能拡張

無料ユーザー向けの大幅な機能拡張

デフォルトモデルがGPT-5.6 Lunaに

これまで無料ユーザーが利用できたGPT-5.5 Instantに代わり、GPT-5.6 Lunaが標準モデルとして展開される。GPT-5.6 Lunaは事実誤認の削減や回答の一貫性でGPT-5.5 Instantを上回り、日常的なチャットの質を底上げする。

テキストチャットが無制限に

無料ユーザーはテキストチャットの回数制限がなくなり、連続して質問を続けたり、アイデアを深掘りしたりできるようになる。ファイルアップロードや画像生成などの他のツールには引き続き制限がかかるが、言語でのやり取りが事実上無制限になることで、学習や日常業務でのハードルが大きく下がる。

難しい質問に使える「Think」ボタン

無料ユーザー向けのインターフェースには新たに「Think」ボタンが追加される。より深い推論が必要な質問に対して、このボタンをタップするとGPT-5.6 Lunaが追加の計算時間をかけて回答を導き出す。複雑な比較検討や論理的な分析が必要な場面で、有料プランに近い推論品質の恩恵を得られる。

無料ユーザーのChatGPT画面イメージ
💬 入力欄 → ✨ Think (深い推論が必要なときにタップ)
■ Thinkを使う質問例
「2つの事業計画のリスクとリターンを比較し、最適な選択肢はどれか」

なお、悪用防止のためのガードレールが設けられており、過度な連続利用には制限がかかる。しかし、重要な場面で深い回答が得られる点は無料ユーザーにとって大きな価値となる。

スライダーで思考量を自在にコントロール

スライダーで思考量を自在にコントロール

操作の仕組みと実務での活用

スライダーは左から右に動かすほど、GPT-5.6 Solが回答の生成に費やす推論時間が増加する。左端ではシンプルな事実確認や挨拶のような即答に適し、右端では複数ステップの計画立案、技術的なトラブルシューティング、長文の分析レポート作成に適した深い回答が得られる。

たとえば「自社サイトのSEO状況を改善したい」という場合、スライダーを低く設定すれば基本的なチェックリストを得られる。高く設定すると、具体的なデータ分析の手順やツールの選定、優先順位付けまで含めた戦略的なアドバイスを引き出せる。

未成年ユーザー保護への取り組み

未成年ユーザー保護への取り組み

18歳未満を対象にした安全訓練とシステム保護

OpenAIは今回のアップデートに伴い、18歳未満と推定されるユーザー向けの安全性対策を強化した。モデルは恋愛ロールプレイや年齢制限のあるチャレンジ、現実の人間関係の代替として振る舞うことを避けるよう訓練されている。さらに、性的コンテンツや摂食障害、危険行為、過激な暴力表現に対する年齢相応の境界も設定された。

システムレベルでの保護も重ねられ、10代のユーザーがサポートを必要としていると判断した場合には、信頼できる大人とのつながりを促すように設計されている。これらの対策の詳細は公開されたシステムカードに記載されており、未成年ユーザーに対するモデルの振る舞いを継続的に改善する姿勢が示された。

このアップデートがもたらすAI活用の展望

このアップデートがもたらすAI活用の展望

無料ユーザーへの高機能提供が意味すること

無制限テキストチャットとThinkボタンの提供は、「高度なAI機能は有料」という従来の常識を覆す。個人事業主や学習者にとっては、リサーチやアイデア出しの頻度を気にせずAIを活用できる環境が整った。アクセスの拡大は学習機会やビジネスチャンスの格差を縮める一歩といえる。

ビジネスユーザーにとっての実用性向上

事実誤認の大幅な減少と回答の簡潔化は、レポート作成や顧客対応の下調べ、契約書のレビューといった業務でミスを減らす直接的な効果をもたらす。スライダーによって手軽に深い分析と迅速な回答を使い分けられるため、AIを実務のパートナーとして日常的に組み込む企業が増える可能性がある。

この記事のポイント

  • GPT-5.6 Solは事実誤認を最大68%削減し、回答の的確さと一貫性が向上した
  • Plus・Proユーザー向けのスライダーで、同じモデル内で思考深度を自由に調整できる
  • 無料ユーザーはGPT-5.6 Lunaがデフォルトモデルとなり、テキストチャットが無制限に
  • 無料ユーザーも「Think」ボタンで深い推論が必要な質問に対応可能になった
  • 未成年保護の安全対策が強化され、18歳未満向けのモデル訓練とシステム保護が導入された
WordPress 7.0.3が緊急リリース。深刻なXSS脆弱性など12件を修正、早急な更新を

WordPress 7.0.3が緊急リリース。深刻なXSS脆弱性など12件を修正、早急な更新を

WordPressのセキュリティアップデート「7.0.3」が2026年8月6日に公開された。このリリースでは12件の脆弱性が修正され、特に認証前の反射型クロスサイトスクリプティング(XSS)が深刻度8.9と評価されている。

当該のXSS脆弱性は、攻撃者が細工したサイトを経由してログイン画面にアクセスさせることで、リモートコード実行(RCE)に発展する可能性がある。全バージョンのWordPressに影響し、過去のブランチにまでパッチがバックポートされた点からも、緊急性の高さが伺える。

本記事では、修正された脆弱性の詳細と、ユーザーがすぐに実践できる対策をまとめた。

今回修正された12件の脆弱性の概要

今回修正された12件の脆弱性の概要

WordPress 7.0.3では、以下の12件の脆弱性が修正された。公式発表では深刻度などの情報が最小限に留められているが、いずれも実運用に影響を与え得るものだ。

  • 投稿日付ブロックでのContributor+保存型XSS
  • 投稿コンテンツブロックでのContributor+保存型XSS
  • 最新コメントブロックにおける情報開示(パスワード保護された投稿のコメントが露出)
  • メールアドレス確認フローのバイパス
  • Author+による安全なCSS属性フィルターのバイパスを介したCSSインジェクション
  • 絵文字設定要素を介したContributor+保存型XSS
  • マルチサイトネットワークでの権限昇格(ユーザー登録が有効な場合、新規サイト作成が可能)
  • URL検証におけるSSRF(サーバーサイドリクエストフォージェリ)により、リンクローカル範囲へのリクエストが可能
  • ログイン画面における認証前の反射型XSS(PHPコード実行の可能性あり)
  • コメントフィードでのノート開示
  • 投稿スラッグの列挙
  • 多数のユーザーが存在するサイトでのクイック編集におけるContributor+保存型XSS

特に注意が必要な3つの深刻な脆弱性

特に注意が必要な3つの深刻な脆弱性

修正された12件のうち、以下の3つは危険度が突出して高い。中でもログイン画面のXSSは、リモートコード実行に繋がる恐れがあり、深刻度は10点満点中8.9と評価された。

脆弱なログイン画面 (Before)
ログインフォーム
ユーザー名: attacker
パスワード: ********
⚠️ エラーメッセージ: ユーザー名「attacker<script>alert(‘XSS’)</script>」は存在しません
※スクリプトがそのまま実行されてしまう
↓
修正後 (After)
ログインフォーム
ユーザー名: attacker
パスワード: ********
✅ エラーメッセージ: ユーザー名「attacker<script>alert(‘XSS’)</script>」は存在しません
※スクリプト部分が無害化されて表示されるだけ

上のデモは、ログインエラーメッセージにスクリプトが紛れ込むケースを簡略化したものだ。修正前は悪意のあるコードがそのまま実行されてしまうが、修正後は出力が適切にエスケープされ、安全なテキストとして表示される。

ログイン画面の反射型XSS(深刻度8.9)

この脆弱性は、認証前(Pre-auth)の反射型XSSに分類される。攻撃者は特別に細工した悪意のあるWebサイトを用意し、標的ユーザーをそこへ誘導する。ユーザーがそのサイトを経由してWordPressのログイン画面にアクセスすると、不正なスクリプトが実行される可能性がある。

公式のGitHubセキュリティリポジトリによると、この脆弱性を悪用するとリモートコード実行(RCE)にまで発展する恐れがあるという。ただし、攻撃を成立させるにはソーシャルエンジニアリングが必須であり、標的ユーザーが意図的にアクションを起こす必要がある点が緩和要因となっている。

セキュリティ企業Patchstackのオリバー・シルド氏はSearch Engine Journalの取材に対し、「ソーシャルエンジニアリングが必要なため、ハッカーがこのXSSを積極的に悪用する可能性は低いと考えている」とコメントしている。同社では開示時点で緩和ルールを顧客に提供済みだ。

SSRF(サーバーサイドリクエストフォージェリ)による内部情報露出

SSRFとは、サーバーが内部ネットワークに対して不正なリクエストを送信させられる脆弱性だ。今回の事例では、リンクローカルIP範囲(サーバー内のプライベート通信で使われるアドレス)へのリクエストが可能になる。

これにより、本来外部からアクセスできない内部の機密情報が漏洩するリスクがある。公式発表では詳細が明かされていないが、仮想ホスト環境やクラウドインスタンスのメタデータサービスなどが標的になる可能性がある。

マルチサイト環境での権限昇格(新規サイト作成)

ユーザー登録が有効なマルチサイトネットワークにおいて、権限を持たないユーザーが新たなサイトを作成できる脆弱性だ。大学や企業のポータルサイトのような大規模マルチサイト環境では、悪意のあるサイト作成によってブランド毀損やフィッシングサイトの設置などに悪用される恐れがある。

単一サイトの運営者には影響しないが、WPMU(WordPress Multisite)を利用している管理者は直ちにアップデートを適用する必要がある。

XSSの危険性を正しく理解する

XSSの危険性を正しく理解する

今回のリリースで最も注意を集めている脆弱性が反射型XSSだ。クロスサイトスクリプティングは、古くから存在する攻撃手法でありながら、依然として多くのWebアプリケーションで発見される。

OWASP(Open Worldwide Application Security Project)は、XSSを「悪意のあるスクリプトが、信頼された正規のWebサイトに注入される攻撃」と定義する。攻撃者は、ユーザーの入力を適切に検証・エンコードせずに出力することで、任意のスクリプトを実行させる。

実行されたスクリプトは、Cookieやセッショントークンといった機密情報にアクセスできるため、アカウントの乗っ取りや個人情報の窃取に直結する。WordPressのログイン画面でこの攻撃が成立すれば、サイト全体の管理者権限を奪取されるリスクもゼロではない。

WordPressユーザーが取るべき具体的な対策

WordPressユーザーが取るべき具体的な対策

自動更新が有効か確認する

WordPress 7.0.3はセキュリティリリースのため、自動更新がデフォルトで有効になっている環境では速やかに適用される。管理画面の「ダッシュボード」→「更新」から、現在のバージョンを確認しておこう。

手動更新が必要な場合の手順

何らかの理由で自動更新が失敗した場合は、手動での更新を推奨する。FTP/SFTPでWordPressファイルを上書きする方法が一般的だが、事前にデータベースとファイルの完全バックアップを取得しておくことが鉄則だ。

マルチサイト運営者は特に注意を

ユーザー登録を許可しているマルチサイトネットワークでは、権限昇格の脆弱性が悪用される前に即座に更新する必要がある。また、新規サイト作成の監査ログを確認し、不審なサイトが作成されていないかも点検すべきだ。

この記事のポイント

  • WordPress 7.0.3では12件の脆弱性が修正され、ログイン画面の反射型XSSは深刻度8.9
  • SSRFやマルチサイト権限昇格も深刻で、特にマルチサイト運営者は早急な対応が必要
  • 攻撃にはソーシャルエンジニアリングが必要だが、RCEに繋がる可能性があるため軽視できない
  • 自動更新の確認と、全バージョンへのパッチ適用を今すぐ実施すべき
WordPress 7.1ベータ公開、ノート機能の大幅強化とCSS不要のレスポンシブ編集

WordPress 7.1ベータ公開、ノート機能の大幅強化とCSS不要のレスポンシブ編集

WordPress 7.1のベータ版が7月下旬に公開され、編集体験に大きな改善が盛り込まれた。ノート機能がチームでの共同編集に本格対応し、CSSを一行も書かずに端末ごとの見た目を調整できるようになる。正式版はWordCamp USが開催期間中の8月19日にリリースされる予定だ。

今回の目玉は「ノート機能の強化」「レスポンシブスタイリング」「ホバーやフォーカス状態の視覚編集」の3本柱である。さらに、かねてから要望の多かったタブブロックとプレイリストブロックが追加され、管理画面の使い勝手も向上する。テスト段階のため本番環境への適用は避ける必要があるが、正式版までに知っておきたいポイントを詳しく見ていこう。

ノート機能がチーム編集ツールに進化

ノート機能がチーム編集ツールに進化

WordPress 6.9で導入されたノート機能は、ブロック単位の簡素なコメント機能だった。WordPress 7.1ではそれが一変し、複数人でのフィードバックに耐える本格的なツールへと変わる。

@メンションで担当者を直接指名

ノートの入力欄で「@」を打ち込むと、サイトの共同編集者の一覧が検索候補として表示される。目的のメンバーを選択すれば、その人を指名したノートが作成される。これにより「この修正は誰に伝えればいいのか」という迷いがなくなり、チーム内でのやり取りが格段にスムーズになる。

インラインノートで誤解を減らす

これまでのノートはブロック全体に対してしか付けられなかったため、長文の中で「ここを直してほしい」と書いても具体的な箇所が伝わりにくかった。WordPress 7.1では、文章内の特定の語句や文を選択し、その部分だけにノートを付けられる。該当部分はハイライト表示されるため、どの言葉に対する指摘なのかが一目でわかる。WP Beginnerの記事でも「『この部分を言い換えてほしい』という指示が、長い段落の中のどの単語を指すのかを推測する必要がなくなった」と評価されている。

従来のノート(ブロック単位)
プロジェクトの進捗は来週のミーティングで共有する予定です。参加者のスケジュールも調整が必要です。
📝 この段落を書き直してください
→ どこが指摘対象か不明
↓
WordPress 7.1のノート(テキスト単位)
プロジェクトの進捗は来週のミーティングで共有する予定です。
@山田 日時を確定できますか?

このように、修正箇所と指示がピンポイントで結びつくため、レビューにかかる時間が劇的に短縮される。

その他の改善点

  • 同じブロックに対して複数のノートスレッドを立てられる。議題ごとに会話を分離できる
  • ノート本文に太字、斜体、コード、リンク、絵文字を使ったリッチテキストが可能
  • 長いノートは初期状態で折りたたまれ、サイドバーが散らからない

CSS不要のビジュアルスタイリングが編集画面で完結

CSS不要のビジュアルスタイリングが編集画面で完結

WordPress 7.1で最もインパクトが大きいのが、レスポンシブデザインのビジュアル操作である。これまではスマホやタブレット用の見た目を調整するには、CSSメディアクエリを手書きするか、テーマの設定に頼るしかなかった。今回のアップデートで、ブロックエディタ上でプレビューを切り替えながら、直感的にスタイルを設定できるようになる。

端末別のスタイル設定

エディタ上部のプレビュー切り替えで「デスクトップ」「タブレット」「モバイル」を選択すると、以降のブロックスタイルの操作はその画面サイズにだけ適用される。たとえばモバイル表示を選んで見出しのフォントサイズを小さくすれば、実際のスマホでの表示だけが変わる。デスクトップ表示には影響しない。

さらに、ブロック設定パネルには、現在どの画面サイズを編集中かを示す小さなバッジが表示される。意図しない画面用のスタイルを上書きしてしまうミスを防げる。エディタキャンバス自体も、プリセットの3サイズに縛られず、横幅をドラッグして任意の幅での表示をリアルタイムに確認できるようになった。テーマがtheme.jsonで独自のブレイクポイントを定義していれば、その値に合わせたプレビューも可能である。

デスクトップ表示(幅1200px想定)
見出しサンプル
広い画面ではこの大きさで快適に読める
↓
モバイル表示(幅360px想定)
見出しサンプル
モバイルではフォントを縮小し領域に収める

CSSを書く必要がなくなり、カスタマイズのハードルが大きく下がる。サイト全体に一括適用したい場合は、グローバルスタイルで設定し、変更内容を選択的にグローバルへ反映させることもできる。

ホバーやフォーカス状態も視覚的に編集

ボタンなどのブロックには新たに「状態」ドロップダウンが追加され、ホバー時やフォーカス時、アクティブ時の見た目をエディタ上で直接編集できる。背景色や枠線、テキスト色を状態ごとに変え、その場でプレビュー確認できる。これまではほんの小さな変更であっても、カスタムCSSを追加せざるを得なかったが、今後は組み込みのデザインオプションで完結する。

待望のタブブロックとプレイリストブロック

待望のタブブロックとプレイリストブロック

これまでプラグインで実装していたタブ切り替えのレイアウトが、ついにコアブロックとして導入される。また、音声ファイルをまとめて再生できるプレイリストブロックも新登場する。

タブブロック

商品の仕様、よくある質問、料金プランの比較など、情報をパネルで区切って見せたい場面で重宝する。クリックでパネルを切り替える形式で、長いページを避けたい場合に効果的だ。既存のプラグインで作成したタブは、自動的にはコアブロックに変換されないため、移行の際は手作業が必要になる点に注意しておきたい。

プレイリストブロック

複数の音声ファイルを一つのプレイヤーにまとめ、タイトルやアーティスト名、カバーアート、波形グラフィックとともに表示できる。ミュージシャンや教会、教育機関、ポッドキャスト運営者にとっては、エピソードをまとめて提供するのに理想的なブロックだ。WordPressだけで手軽に音声配信の体裁を整えられるようになる。

加えて、既存のブロックにも多くの改善が加わっている。背景グラデーションと画像の同時適用、テキストシャドウのtheme.json対応、HTMLブロック内でのブロックネストの編集、装飾画像をスクリーンリーダーに読み上げさせない設定、ショートコードのEmbedブロックへの自動変換、ColumnsやGalleryからのグリッドレイアウト変換、アイコンブロックの回転・反転・アイコンセット登録機能など、日常的な制作を後押しするアップデートが多数含まれている。

画像編集とメディア処理の刷新

画像編集とメディア処理の刷新

WordPressに組み込まれている画像編集機能が大幅に変わる。従来の狭いインライン操作から、専用のモーダルウィンドウでの本格的な編集へと進化した。

専用の画像編集モーダル

画像ブロックの「切り抜き」ボタンを押すと、フルスクリーンに近い編集画面が開く。自由トリミング、アスペクト比のプリセット、回転・反転、メタデータの編集を一か所で行える。カバーブロックにも対応しており、背景画像をその場でトリミングできる。本格的な写真編集ソフトには及ばないものの、サイト運営者が日常的に行う作業としては十分な機能を備えている。

ブラウザで画像を前処理しHEICにも対応

WordPress 7.1では、画像のリサイズや圧縮、サムネイル生成の大部分を、アップロード前にブラウザが処理する仕組みが導入される。これにより、サーバーの負荷が大幅に減り、低スペックなホスティング環境でもアップロードエラーが起きにくくなる。

さらに、iPhone標準の画像形式であるHEICをはじめ、UltraHDR、AVIF、WebPといった最新フォーマットへの対応が強化される。これまではサーバー側のImageMagickのバージョンに依存してHEICの変換が失敗することがあったが、ブラウザが変換を担うことで環境を選ばずに済むようになる。なお、ChromeとEdgeではフル機能が利用でき、Safariでは一部がサーバー処理に委ねられ、Firefoxでは従来通りサーバー側で処理される。

アップロードの堅牢性と細かな改善

アップロード中にネットワークが切断されても、キューが自動で一時停止し、再接続後に中断したところから再開される。一括アップロード時には進行状況が表示される。このほか、投稿に添付された画像を自動で引っ張ってくる動的ギャラリーモード、投稿専用の「添付画像」セクションがインサーターに追加され、メディアライブラリは自動読み込みの無限スクロールに対応する。日々のメディア管理のストレスを確実に減らす改良が詰め込まれている。

管理画面と編集体験の快適化

管理画面と編集体験の快適化

WordPress 7.1では、編集画面と管理画面の連携を改善する数々の小さな改良も施されている。

管理ツールバーが常に表示される

ブロックエディタやサイトエディタで編集しているときも、管理ツールバーが非表示にならず、画面上部に固定される。これにより、作業中でもサイトの管理メニューに素早くアクセスできる。ツールバーそのものもデザインが整理され、戻るボタンがわかりやすい山形アイコンに変更され、サイトアイコンと丸いプロフィールアバターが表示される。アイコン類も旧来のDashiconsからモダンなSVGに置き換わった。もちろん、集中執筆モードではツールバーが隠れるため、文章だけに集中したい場合も安心だ。

コマンドパレットとアイデンティティ設定の進化

コマンドパレット(Ctrl+K / Command+K)は、最近使ったコマンド、一致する候補、おすすめの3つに分類されるようになった。利用履歴はログインをまたいで保存されるため、よく使う操作に素早くたどり着ける。サイトエディタのサイドバーも、ユーザーが選んだ管理画面のカラースキームを反映するようになり、全体的な統一感が増した。

サイトのタイトル、キャッチフレーズ、ロゴ、サイトアイコンといった基本情報は「デザイン」内の「アイデンティティ」セクションにまとめられ、設定画面とテンプレートを行き来する手間がなくなった。

「あの日何を書いたか」ウィジェットとコメント親変更

ダッシュボードに新たに「On This Day」ウィジェットが追加され、過去の同じ日に公開した記事を表示してくれる。長く続けているブログにとっては、更新のネタを見つけるきっかけになる。また、コメント編集画面では「どのコメントへの返信か」を後から変更できるようになり、誤って違うスレッドにぶら下がったコメントを正しい位置に付け替えられる。対象は同一投稿内に限られるが、コメント管理の柔軟性が向上した。

見送られた機能と開発舞台裏

見送られた機能と開発舞台裏

今回のリリースには含まれなかったが、注目すべき開発項目がいくつかある。

リアルタイム共同編集は次期以降に持ち越し

Googleドキュメントのような複数人同時編集は、WordPress 7.1では搭載が見送られた。Gutenbergプラグイン上では既に動作しており、複数人が同じ投稿を同時に編集できる段階にある。しかし、コアチームは協調編集データの保存方法や、完全な機能を提供するか基盤だけを先にリリースするかといった重要な判断を続けている。コミュニティによるテストも継続中で、時期尚早な投入によるデータ消失リスクを避けるための慎重な判断と見られている。WP Beginnerの記事でも「作業内容を失う共同編集機能ほど最悪なものはない」と指摘されており、この慎重さは妥当だろう。

Unicodeメールアドレス対応も見送り

日本語などの非ラテン文字を含むメールアドレスへの対応も、ベータテスト中に課題が見つかり延期された。互換性とセキュリティの検証をコミュニティプラグインで続けた後、改めてコアへの導入を目指す方針だ。

パフォーマンスと開発者向けの内部改善

投稿エディタは常にiframe内で動作するようになり、管理画面のCSSによる表示崩れを根本的に防ぐ。ただし、旧APIで作られたブロックは影響を受ける可能性があるため、プラグイン開発者はBlock API v3への移行が推奨される。アイコンAPIが公開され、プラグインやテーマが独自のSVGアイコンセットを登録・レンダリングできるようになった。そのほか、デザインシステムの成熟や、外部サービス接続の認証方式拡充など、長期的な安定性と拡張性を見据えた改良も進められている。

この記事のポイント

  • ノート機能に@メンションとインラインノートが追加され、チームでのフィードバックが格段に正確になった
  • レスポンシブスタイリングとホバー・フォーカス状態の編集がCSS不要で行える
  • タブブロックとプレイリストブロックがコアに加わり、コンテンツ表現の幅が広がった
  • 画像編集モーダルとブラウザベースの画像処理で、メディアまわりの操作性と安定性が向上
  • 管理ツールバーの常時表示やアイデンティティ設定の集約など、管理画面の使い勝手が改善された