微信客服
Telegram:guangsuan
电话联系:18928809533
发送邮件:xiuyuan2000@gmail.com

Yoastは数千万件の商品データを処理するのに適していますか | 10万から数千万データまでの完全なソリューション

本文作者:Don jiang

適していません。もしWordPressサイトの商品データが10万件を超える場合、Yoast SEOの管理画面の読み込み速度はすでに明らかに遅くなる可能性があります。100万件規模に達すると、サイトマップ生成が直接タイムアウトで失敗し、内部リンク提案機能はほとんど使えなくなります。

実測では、32GBメモリ、8コアCPUのサーバーでYoastが50万件の商品を処理する際、単一商品編集ページの読み込み時間が1秒から8秒以上に延びる可能性があり、全商品を含むサイトマップの生成には5分以上かかることもあります。

核心的な問題はYoast自体が「使えない」わけではなく、リアルタイムコンテンツ解析、サイトマップ巡回、内部リンク計算といったデータベースクエリに強く依存する機能が、大量データ環境では性能のボトルネックとなる点にあります。

本記事では実際のテストデータに基づき、10万から1000万件規模のデータに対する段階的な解決策を提示し、SEO基盤機能を安定的に稼働させる方法を解説します。

Yoastは1000万件の商品データを処理できるか

大量商品データ下でのYoastの挙動

WordPressサイトの商品データが5万件を超えると、Yoast SEOの動作速度は明らかに遅くなります。

10万件以上の商品になると、単一商品ページの編集読み込み時間は通常の1~2秒から5~10秒に延び、サイトマップ生成はPHPの30秒実行制限を超えて直接失敗する可能性があります。

4コアCPU・16GBメモリのサーバーでのテストでは、商品数が10万件増えるごとにYoastのリアルタイムSEO解析と内部リンク提案機能が30~50%遅くなりました。

最も深刻な性能ボトルネックは以下の3点に集中しています:

  • サイトマップ生成(全商品URLのスキャンが必要)
  • キーワード密度チェック
  • 内部リンク提案システム

例えば、50万件の商品を持つサイトでYoastがSEOスコアを再計算する際、MySQLのCPU使用率が80~90%に急上昇しました。

良いニュースは、Yoastの核心機能であるタイトルタグ、メタディスクリプション、構造化データマークアップは、大規模データ環境でも正常に動作することです。

Yoast SEOは本来、50万件以上の商品を管理するショップ向けに設計されていません。私たちは32コア128GBメモリのサーバー上で120万件のWooCommerce商品をテストしましたが、以下の機能が最初に崩壊しました:

  • サイトマップ生成
    • 完了時間が1万件で8秒 → 120万件で4分37秒に急増
    • 生成中のCPU使用率ピークは92%
    • 10回中3回はPHPメモリ不足で完全に失敗
  • 商品編集画面の遅延
    • 単一商品ページの読み込み時間が0.8秒 → 6.4秒に延びる
    • 「更新」ボタンを押すごとに3.2秒(Yoast関連処理のみ計測)
    • 商品タブを開くごとにメモリ使用量が38MB増加
  • データベースへの影響
    • 商品読み込みごとに17件の追加クエリが発生
    • wp_yoast_indexableテーブルが4.3GBに膨張(DB全体の28%を占有)
    • インデックス操作がMySQLピーク時負荷を20%増加

テストではメタタグ出力機能は常に安定(正確性100%保持)でしたが、管理画面はほぼ使用不能でした。

標準WooCommerce環境における注意すべき閾値:

  • 5万件商品:明確な遅延(ページ読み込み1.5秒以上)
  • 20万件商品:一括編集で頻繁にタイムアウト
  • 100万件以上:サーバー構成のアップグレード必須

興味深いのは、有料版のリダイレクトマネージャーは25万件のルールを容易に処理できることです。しかし核心SEO機能に関しては、ある閾値を超えるとサーバー性能を上げても意味がなく、プラグイン構造自体がボトルネックとなります。

10万件以下の商品数であれば、適切なキャッシュを組み合わせることでYoastはまだ良好に動作します。

それ以上の規模では、特定機能を無効化する(後述)か補完的な手段を採用する必要があります。

10万件から100万件へ

WooCommerceショップの商品が10万件を突破すると、Yoastのデフォルト設定は性能ボトルネックとなります。

8コア32GBメモリのサーバーでの負荷テストでは:

  • サイトマップ生成時間が5万件時の15秒 → 30万件時には3分42秒に急増
  • 単一商品編集ページのMySQLクエリ数が28件 → 137件に激増
  • 一括操作時のメモリ使用ピークが2.4GBに達し、23%の処理が失敗

有効だった最適化手法は以下の通りです:

データベースインデックス最適化
wp_yoast_indexableテーブルにインデックスを追加すると、クエリ時間が68%短縮(1.4秒 → 0.45秒)

選択的機能停止
内部リンク提案機能を無効化するだけでadmin-ajax呼び出しが42%減少

サーバーパラメータ調整
PHPメモリ制限を256MB → 1GBに引き上げると、タイムアウトエラーが81%減少

これらの調整により、78万件の商品を持つサイトでも管理画面のページ読み込みを2秒以内に保ちつつ、Yoastの95%の核心機能を維持できました。

以降では、異なる商品規模(5万/20万/50万/100万+)で優先的に残すべき機能や、いつ代替策が必要かを具体的に解説します。
우리는 다음을 모니터링했습니다:

  • 제품 50만 개가 추가될 때마다 wp_yoast_indexable 테이블 용량이 1.8GB 증가
  • 제품 1000개 일괄 업데이트 시, 메모리 사용량이 4GB를 초과
  • Googlebot이 사이트맵 시간 초과로 인해 신규 상품 30%를 수집하지 못하여 색인 속도에 직접적인 영향

그러나 SEO 기본 기능(메타 태그 출력)은 여전히 사용 가능하며, 핵심은 Yoast를 “올인원 도구”에서 “필드 매니저”로 다운그레이드하는 것입니다. 아래는 1700만 개 이상 제품을 보유한 매장 17곳에서 검증된 솔루션입니다:

사이트맵 혁신

Python 스크립트로 데이터베이스를 직접 읽어 분할된 사이트맵(각 5만 URL)을 생성하며, Yoast의 47분에서 3분 20초로 단축됩니다.

내부 링크 시스템 재구축

Elasticsearch로 제품 키워드 색인을 구축하여 추천 속도가 2.4초/회에서 200밀리초/회로 개선됩니다.

백오피스 경량화

Yoast의 메타 필드 편집 화면은 유지하되, 모든 실시간 분석 기능을 비활성화하여 제품 편집 페이지 로딩 시간을 1.5초 이내로 복원합니다.

이러한 변경으로 270만 개 제품을 가진 전자상거래 사이트는:

  • 일일 처리 가능한 제품 업데이트량이 800개에서 5000개로 증가
  • Google 색인 지연이 14일에서 72시간으로 단축
  • 서버 비용이 오히려 월 $600 절감(MySQL 부하 감소 덕분)

다음은 각 솔루션의 구현 세부 사항입니다. 일부는 2시간 내 완료 가능하며, 일부는 개발자 개입이 필요합니다.

백만 개 이상 제품 데이터를 위한 대체 방안

직설적으로 말하면, 제품 수가 150만 개를 넘으면 Yoast의 구조가 워크플로우의 발목을 잡습니다.

실제 측정 결과:

  • 제품 편집 지연 시간이 11.4초에 달함
  • 사이트맵 생성 실패율이 72%

근본 문제:

  • wp_yoast_indexable 테이블이 68GB까지 팽창(데이터베이스 공간의 40% 차지)
  • 일괄 업데이트 시 각 제품의 MySQL 쿼리 시간이 500밀리초 초과

방안 1: 사이트맵 생성 완전 교체

Yoast 내장 툴을 포기하고, 200만 개 이상 제품에 적합한 해결책:

Python 직접 SQL 조회

# 모든 유효한 제품 URL과 최종 수정 시간 조회
SELECT ID, post_modified FROM wp_posts WHERE post_type = ‘product’ AND post_status = ‘publish’

  • 처리 속도 5만 URL/초 (Yoast는 1200 URL/초)
  • 분할된 사이트맵 생성 (예: sitemap-products-1.xml ~ sitemap-products-40.xml)
  • 소요 시간 Yoast의 47분3분 20초
  • 비용: 0원 (기존 서버 리소스 활용)

방안 2: Yoast 내부 링크 추천 시스템 제거

Yoast의 내부 링크 추천은 페이지 로딩 시간을 600ms~1.2초 늘리므로, 대체 방안:

Elasticsearch 기반 링크 추천

// 제품 제목 및 설명 색인 생성
PUT /products { “mappings”: { “properties”: { “title”: { “type”: “text” }, “content”: { “type”: “text” } } } }

  • 추천 응답 시간 200밀리초 미만 (Yoast는 2.4초)
  • 운영 비용: 약 월 120달러 (AWS OpenSearch 관리형 서비스)
  • 스토리지 사용량: 11GB (270만 개 제품 문서 저장)

방안 3: Yoast 최소 모드

Yoast의 메타 태그 출력 기능만 유지하고, 다음은 비활성화:

  1. 텍스트 링크 카운터 (매월 데이터베이스 증가량 400MB 절감)
  2. 실시간 SEO 분석 (제품 저장 시간 8초 → 1.9초)
  3. 자동 리다이렉션 (Nginx 규칙 사용: rewrite ^/old-url$ /new-url permanent;)

설정 코드 (functions.php에 추가):

// Yoast 불필요 기능 비활성화
add_filter( ‘wpseo_enable_notification_term_slug_too_long’, ‘__return_false’ );
add_filter( ‘wpseo_should_save_crawl_cleanup’, ‘__return_false’ );

조치를 취해야 할 시점은 다음과 같습니다:

  • 📉 사이트맵 생성 실패율 >65%
  • ⏱️ 제품 편집 저장 시간 >8초
  • 💾 wp_yoast_indexable 테이블 크기 >50GB

이러한 변경에는 2~40 개발 인시가 필요하며, 이는 기술 역량에 따라 달라집니다.

滚动至顶部