# KapsuleHostでWooCommerceをセットアップする

Source: https://support.kapsulehost.com/ja-jp/wordpress-woocommerce

KapsuleHostにはWooCommerce専用のサイトタイプがあり、WordPress、WooCommerce、そしてニュージーランド向けの決済ゲートウェイ一式を自動でインストールし、ストア専用のツールをサイトメニューに追加します。本ガイドでは、ストアの作成、決済の接続、負荷のかかるストアで重要になる設定、そして注文を失わずに変更を行う方法について説明します。

## WooCommerceサイトを作成する

1. [KPanel](https://kpanel.kapsulehost.com)にサインインし、左サイドバーの**ウェブサイト**をクリックします。
2. **ウェブサイトを追加**をクリックし、続けて**新しいウェブサイト**をクリックします。
3. サイトタイプとして**WooCommerce**を選択します。
4. ストアに名前を付けてウィザードを完了します。

KapsuleHostはWordPressをプロビジョニングし、データベースを作成し、WooCommerceをインストールして有効化し、以下に記載する決済ゲートウェイプラグインを事前インストールします。ランタイムにはPHP 8.3が設定され、画像処理を含むストアに必要な拡張機能も用意されます。

すでにWordPressサイトをお持ちで、そこにストアを追加したい場合は、wp-adminの**Plugins**から**Add New**を選び、通常の方法でWooCommerceをインストールしてください。その場合サイトはWordPressサイトタイプのままとなるため、ここで説明しているストア専用タブは表示されません。

> **Note:** 既存のストアを一から作り直すのではなく移行したい場合は、手作業で再構築しないでください。左サイドバーの**移行**を使うと、現在のストアを稼働させたまま、ファイルとデータベースをコピーできます。[cPanelからのウェブサイト移行](https://support.kapsulehost.com/ja-jp/sites-migrate-cpanel)をご覧ください。

## 決済ゲートウェイ

ストアを開き、**WordPress**タブ、続いて**決済**を開きます。これはWooCommerce専用のタブで、通常のWordPressサイトには表示されません。

![WooCommerceストアの決済ゲートウェイパネル](https://support.kapsulehost.com/help/screenshots/wordpress-woocommerce.475328e2.webp)

5つのゲートウェイに対応しており、ニュージーランドに関連するものには印が付いています。

| ゲートウェイ | 対応内容 | 新規ストアでの状態 |
|---|---|---|
| Stripe | カード、Apple Pay、Google Pay | 事前インストール済み、無効 |
| Afterpay | 後払い（Buy now, pay later） | 事前インストール済み、無効 |
| POLi | ニュージーランドの銀行振込 | 事前インストール済み、無効 |
| PayPal | PayPalおよびカード | 事前インストール済み、無効 |
| Windcave | ニュージーランドのカード決済処理およびEFTPOS | 利用可能、ベンダーからインストール |

Apple PayとGoogle PayはStripeに含まれており、別途インストールする必要はありません。

ゲートウェイは意図的に**無効**の状態でインストールされます。認証情報のない状態で有効化されたゲートウェイはチェックアウトを壊してしまうため、ご自身のマーチャントアカウント情報を入力するまでは何も本番稼働しません。

1. 使用するゲートウェイで**Enable**をクリックします。
2. **Configure**をクリックすると、そのゲートウェイの設定画面がwp-admin内で開きます。
3. ご自身のAPIキーまたはマーチャント認証情報を入力して保存します。
4. ストアを公開する前にテスト注文を実施します。

Windcaveはプラグインディレクトリではなくベンダーから配布されているため、パネルには**プラグインを取得**リンクが表示されます。ダウンロードしてから、wp-adminの**Plugins**、続いて**Add New**からアップロードし、その後ここに戻って設定を行ってください。

> **Note:** **決済**タブはManaged WooCommerceの一部です。他のプランではアップグレード案内パネルが代わりに表示されます。どのプランでも、wp-admin上で直接任意のゲートウェイをインストール・設定することは可能です。このタブはあくまで近道であり、唯一の方法ではありません。

## ストアのパフォーマンス

ストアはパンフレット的なサイトに比べて、ページビューごとにはるかに多くのデータベース処理を行うため、キャッシュが最も大きな効果を発揮する部分です。

**フルページキャッシュ。** サイトの**WordPress**タブ、続いて**キャッシング**において、フルページキャッシュは匿名の訪問者に対して、PHPを実行せずデータベースにも一切アクセスせずに、完成済みのHTMLを配信します。カート、チェックアウト、マイアカウントページ、WooCommerceのAJAXエンドポイントは自動的に除外され、有効なカートCookieを持つ訪問者には常にライブページが配信されます。このキャッシュは、ある顧客に別の顧客のカートを表示してしまうことなく、商品ページやカテゴリーページを高速化します。

**オブジェクトキャッシュ。** 同じ画面にあるオブジェクトキャッシュは、データベースのクエリ結果やトランジェントをメモリ上に保持します。大規模なカタログでWooCommerceの管理画面を実用的な速度に保つのはこの機能です。

**CDN。** **パフォーマンス**、続いて**Kapsule CDN**からオンにすると、商品画像や静的アセットをエッジから配信できます。Kapsule CDN+のプランでは画像最適化とWebP変換も利用できます。詳しくは[CDNの有効化](https://support.kapsulehost.com/ja-jp/cdn-enabling)をご覧ください。商品画像を一括変更した後は[CDNキャッシュのパージ](https://support.kapsulehost.com/ja-jp/cdn-cache-purge)を行ってください。

> **Tip:** フルページキャッシュとオブジェクトキャッシュはManaged WooCommerceに含まれています。ストアが別のプランをご利用の場合、Cachingタブにアップグレードで追加される内容が表示されます。いずれにせよ、まずはCDNを有効化してください。これはWeb Hosting、WordPress、Managed WordPress、Managed WooCommerce、Concierge各プランすべてに含まれており、画像の多いストアにとって最も手軽なパフォーマンス改善策です。

## ストア向けのPHP設定

ストアは、デフォルト設定から変更が必要になる最も一般的なケースです。サイトの**設定**、続いて**PHP**タブで以下を設定します。

- **メモリ上限**: カタログが大きい場合やサブスクリプションを運用している場合は、256Mから512Mに引き上げます。
- **最大実行時間**: 商品インポートやレポート生成がタイムアウトする場合は、30秒から120秒または300秒に引き上げます。
- **最大入力変数数**: バリエーションの多い商品がある場合や、保存時に項目が静かに失われる設定画面がある場合は、3000から引き上げます。

詳細は[WordPressのメモリ上限を増やす](https://support.kapsulehost.com/ja-jp/wordpress-memory-limit)をご覧ください。

## スケジュールされたタスク

WooCommerceは、注文ステータスの遷移、サブスクリプションの更新、メール送信、在庫の同期など、多くの処理をバックグラウンドで実行します。これはWordPress標準のスケジューラーを使用しており、デフォルトでは誰かがサイトを訪問したときにのみ実行されます。アクセスの少ないストアでは、更新やメールが遅れて実行されたり、まったく実行されなかったりします。

これを実際のサーバー側スケジュールに置き換えてください。**WordPress**タブの**WP-Cron**セクションには**システムcronを有効化**というアクションがあり、これを実行するとスケジュールが追加されると同時に、訪問者によるトリガー方式が無効化されます。詳しい説明と手動設定の代替手段は[cronジョブの設定と管理](https://support.kapsulehost.com/ja-jp/cron-jobs)をご覧ください。

キューの状況は、wp-adminの**WooCommerce**、続いて**Status**、続いて**Scheduled Actions**で確認できます。

## 注文を失わずに変更を行う

すべてのストアは、顧客が継続的に書き込みを行っているライブデータベースであり、このことが更新作業の進め方に影響します。

> **Important:** ステージングのデータベースを本番のストアにプッシュしないでください。注文、顧客、サブスクリプション、クーポン、在庫レベルはすべてデータベースに保存されているため、データベースをプッシュすると、前回のリセット以降に本番環境で発生したすべての注文が削除されてしまいます。プッシュするのは**ファイルのみ**にしてください。これでテーマ、プラグイン、コードの変更には十分です。詳しくは[ステージングの使用方法: プッシュとプル](https://support.kapsulehost.com/ja-jp/wordpress-staging-workflow)をご覧ください。

ストア向けの安全な更新手順は次のとおりです。

1. バックアップを取得します: [バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup)。
2. 本番環境に合わせてステージングをリセットします。
3. ステージング上でプラグイン、テーマ、WooCommerceの更新を適用します。
4. ステージング上で、確認ページまで到達する完全なテスト注文を行います。
5. **ファイルのみ**を本番環境にプッシュします。
6. 本番環境で少額の実際の注文を行い、返金処理をします。

マネージドプランでは、**クイックアクション**の**プラグインを更新**アクションが**スマート更新**になります。これはバックアップを取得し、プラグインを1つずつ更新し、それぞれの更新後にサイトヘルスチェックを実行し、サイトに問題が発生した場合は自動的にロールバックします。チェックアウトの不具合が金銭的損失に直結するストアにとって、これは備える価値のある機能です。

## ポイントインタイムリカバリ

日次バックアップでは、そのバックアップが実行された時点の状態にストアを復元することになり、アクセスの多いストアでは1日分の注文を失う可能性があります。WooCommerceサイトでは、**バックアップ**、続いて**ポイントインタイムリカバリ**からこの機能を有効化し、特定の分単位の時点まで復元することができ、最大30日間の保持が可能です。実際に金銭を扱うストアでは、これを有効にしておくことをお勧めします。詳しくは[バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup)をご覧ください。

## トラブルシューティング

**チェックアウトがエラーなしで失敗する。** ほとんどの場合、認証情報が欠落または誤っている有効化済みのゲートウェイが原因です。**決済**タブからゲートウェイを1つずつ無効化し、チェックアウトが機能するか確認したうえで、問題の原因だったゲートウェイを再設定してください。

**注文確認メールが届かない。** WordPressはデフォルトでPHP経由でメールを送信しますが、多くのネットワークではこれが拒否されます。**WordPress**タブ、続いて**サイトヘルス**で配信に関する警告を確認し、適切な認証付き送信方法を設定してください。

**管理画面が遅い、またはタイムアウトする。** **PHP**タブでメモリと実行時間の上限を引き上げ、オブジェクトキャッシュを有効化してください。注文数が数万件に達するストアでは、古いスケジュール済みアクションを削除することも効果があります。

**商品の変更がフロントエンドに反映されない。** **WordPress**、続いて**クイックアクション**、続いて**キャッシュをフラッシュ**からキャッシュをフラッシュし、CDNもパージしてください。
