HPOS در ووکامرس چیست؟ افزایش سرعت و مقیاسپذیری سفارشات WooCommerce اگر فروشگاه ووکامرسی شما از چند سفارش در روز به صدها یا هزاران سفارش رسیده باشد، احتمالاً متوجه شدهاید که افزایش حجم سفارشها فقط فضای دیتابیس را بیشتر نمیکند؛ بخش مدیریت سفارشها، گزارشگیری، جستوجوی سفارش و بعضی عملیات پسزمین...
اگر فروشگاه ووکامرسی شما از چند سفارش در روز به صدها یا هزاران سفارش رسیده باشد، احتمالاً متوجه شدهاید که افزایش حجم سفارشها فقط فضای دیتابیس را بیشتر نمیکند؛ بخش مدیریت سفارشها، گزارشگیری، جستوجوی سفارش و بعضی عملیات پسزمینه نیز ممکن است سنگینتر شوند.
یکی از مهمترین تغییراتی که WooCommerce برای حل این مسئله ایجاد کرده High-Performance Order Storage یا به اختصار HPOS است.
HPOS شیوه ذخیرهسازی سفارشهای WooCommerce را تغییر میدهد. بهجای اینکه اطلاعات اصلی سفارشها مانند گذشته در جداول عمومی WordPress یعنی wp_posts و wp_postmeta ذخیره شوند، WooCommerce جداول اختصاصی برای سفارشها در اختیار دارد.
هدف این معماری، سادهترشدن ساختار داده، کاهش فشار روی جداول عمومی WordPress و فراهمکردن زیرساخت بهتر برای فروشگاههایی است که تعداد سفارش آنها رشد میکند. WooCommerce HPOS را معماریای با جداول و Indexهای اختصاصی سفارش معرفی میکند که برای Queryهای فروشگاهی بهینه شده است.
برای سالها WooCommerce سفارش را مانند یک Custom Post Type در WordPress ذخیره میکرد.
یعنی سفارش در:
wp_posts
قرار میگرفت و بخش زیادی از جزئیات آن در:
wp_postmeta
ذخیره میشد.
این معماری در ابتدای کار مزیت مهمی داشت: WooCommerce میتوانست از API و ساختار آماده WordPress استفاده کند.
اما یک سفارش فروشگاهی با یک نوشته وبلاگ متفاوت است.
یک سفارش ممکن است شامل اطلاعاتی مثل:
باشد.
در فروشگاهی با تعداد سفارش بالا، این اطلاعات میتوانند wp_posts و مخصوصاً wp_postmeta را بسیار بزرگ کنند.
WooCommerce نیز در مستندات HPOS توضیح میدهد که رشد تعداد مشتری و سفارش باعث افزایش فشار روی دیتابیس میشود و جداول اختصاصی HPOS برای کاهش Read/Writeهای غیرضروری و Busy Tableها طراحی شدهاند.
HPOS مخفف:
High-Performance Order Storage
است.
این قابلیت قبلاً با نام:
Custom Order Tables
شناخته میشد.
در این معماری WooCommerce برای سفارشها جداول اختصاصی ایجاد میکند.
از جمله:
wp_wc_orders
wp_wc_order_addresses
wp_wc_order_operational_data
wp_wc_orders_meta
نام دقیق Prefix ممکن است در سایت شما بهجای wp_ چیز دیگری باشد.
برای مثال اگر Prefix دیتابیس:
vatan_
باشد، جدول میتواند به شکل:
vatan_wc_orders
ایجاد شود.
WooCommerce این ساختار را برای نیازهای خاص Commerce طراحی کرده است، نه برای یک Post عمومی WordPress.
ساختار قدیمی:
Order
↓
wp_posts
↓
wp_postmeta
در HPOS:
Order
↓
wc_orders
├─ wc_order_addresses
├─ wc_order_operational_data
└─ wc_orders_meta
در نتیجه اطلاعات اصلی سفارش دیگر مجبور نیستند میان دادههای نوشتهها، برگهها و سایر Custom Post Typeها قرار بگیرند.
wp_postmeta یک جدول عمومی است.
اطلاعات Meta انواع مختلف محتوا داخل آن قرار میگیرد:
در فروشگاه بزرگ، تعداد رکوردهای این جدول میتواند به میلیونها برسد.
اگر Queryها دائماً مجبور باشند برای پیدا کردن داده سفارش میان حجم زیادی از Meta جستوجو کنند، دیتابیس کار بیشتری انجام میدهد.
البته صرف بزرگبودن wp_postmeta الزاماً به معنی کندبودن سایت نیست؛ Indexها، Queryهای افزونهها، RAM دیتابیس، Storage و Cache نیز اهمیت دارند.
اما جداکردن سفارشها از این ساختار عمومی، امکان طراحی Schema و Index مناسبتر برای سفارش را فراهم میکند.
WooCommerce سه مزیت اصلی برای HPOS مطرح میکند:
Scalability، Reliability و Simplicity.
هرچه تعداد سفارشها افزایش پیدا کند، Query روی جداول اختصاصی میتواند منطقیتر از جستوجوی دادههای سفارش میان جداول عمومی WordPress باشد.
این مسئله مخصوصاً برای فروشگاههایی اهمیت دارد که:
HPOS باعث میشود داده اصلی سفارش از Post Storage سنتی فاصله بگیرد.
در نتیجه داده سفارش دیگر باعث رشد مستقیم همان ساختاری نمیشود که نوشتهها و بسیاری از دادههای دیگر WordPress نیز از آن استفاده میکنند.
وقتی Schema مخصوص سفارش طراحی شده باشد، WooCommerce میتواند Indexهای متناسبتری برای Queryهای مرتبط با سفارش ایجاد کند.
برای توسعهدهندگان نیز مدل دادهای که ستونهایی مخصوص Order دارد معمولاً قابلفهمتر از ذخیره حجم زیادی از اطلاعات به شکل Meta است.
میتواند، اما باید دقیق صحبت کنیم.
HPOS بهصورت خاص لایه ذخیره و Query سفارشها را بهینه میکند.
بنابراین بیشترین تأثیر آن را باید در عملیات مرتبط با Order انتظار داشت، نه همه قسمتهای سایت.
مثلاً میتواند به بهبود این موارد کمک کند:
اما اگر صفحه محصول شما بهدلیل تصویر هشت مگابایتی کند است، HPOS آن را حل نمیکند.
اگر Plugin خاصی در Checkout به یک API خارجی کند متصل میشود، HPOS الزاماً Checkout را سریع نمیکند.
اگر CPU هاست ضعیف است، HPOS CPU قدرتمندتر ایجاد نمیکند.
HPOS و Redis کاملاً متفاوتاند.
HPOS:
ساختار ذخیره داده سفارش در Database را تغییر میدهد.
Redis Object Cache:
بخشی از دادههای پرکاربرد را در RAM نگه میدارد.
یعنی:
WooCommerce
↓
Redis Object Cache
↓
HPOS Tables
↓
MySQL / MariaDB
میتوان هر دو را همزمان استفاده کرد.
در تنظیمات جدید WooCommerce حتی گزینه HPOS Data Caching نیز وجود دارد که Cache داده Order در Data Store را فراهم میکند و WooCommerce استفاده از آن را برای فروشگاههایی که Object Cache دارند توصیه میکند.
HPOS یک Optimization نرمافزاری است.
هاست بهتر منابع زیرساختی فراهم میکند:
این دو جایگزین هم نیستند.
فروشگاه بزرگ معمولاً هم به معماری نرمافزاری مناسب و هم زیرساخت مناسب نیاز دارد.
ممکن است HPOS فعال باشد ولی هاست دائماً CPU Limit بخورد.
یا برعکس، سرور بسیار قدرتمند باشد ولی Pluginهای قدیمی Queryهای مستقیم و نامناسب روی دیتابیس اجرا کنند.
HPOS از WooCommerce 8.2 که در اکتبر ۲۰۲۳ منتشر شد، برای نصبهای جدید بهصورت پیشفرض فعال شد.
بنابراین اگر فروشگاه نسبتاً جدیدی ساختهاید، احتمال زیادی وجود دارد که همین حالا از HPOS استفاده کنید.
فروشگاههای قدیمیتر ممکن است هنوز روی ساختار Legacy Order Storage باشند.
در پیشخوان WordPress وارد:
WooCommerce → Settings → Advanced → Features
شوید.
در این بخش گزینه مربوط به Order Data Storage یا High-Performance Order Storage را مشاهده میکنید.
بسته به وضعیت فروشگاه، WooCommerce مشخص میکند کدام Data Store در حال حاضر Authoritative است. مستندات رسمی نیز همین مسیر را برای مدیریت HPOS معرفی میکنند.
Authoritative یعنی منبع اصلی و معتبر داده سفارش.
در دوره مهاجرت ممکن است اطلاعات هم در:
wp_posts / wp_postmeta
و هم در:
wc_orders
وجود داشته باشند.
اما یکی از این دو ساختار باید منبع اصلی باشد.
وقتی HPOS Authoritative باشد، WooCommerce جداول Order جدید را منبع اصلی میداند.
WooCommerce برای مهاجرت فروشگاههای قدیمی Compatibility Mode دارد.
در این حالت دادههای سفارش بین:
HPOS Tables
و:
Posts Tables
همگام میشوند.
هدف این است که افزونه یا کدی که هنوز با ساختار قدیمی کار میکند فرصت مهاجرت داشته باشد.
برای فعالسازی HPOS در فروشگاه موجود، WooCommerce توصیه میکند ابتدا Compatibility Mode فعال شود تا دادههای سفارش Sync شوند.
Compatibility Mode برای دوران گذار مفید است.
اما عملاً دو ساختار داده باید همگام شوند.
یعنی مزیت کامل جداشدن از Legacy Storage را به دست نمیآورید.
برای مهاجرت کنترلشده بسیار مفید است، اما هدف نهایی معمولاً این است که تمام Pluginها HPOS-compatible شوند و HPOS به Data Store اصلی تبدیل شود.
این بخش یکی از دلایلی است که مقاله امروز ارزش زمانی دارد.
WooCommerce در فوریه ۲۰۲۶ اعلام کرد از WooCommerce 10.7، قابلیت Sync on Read در HPOS بهطور پیشفرض خاموش میشود. این تغییر برای فروشگاههایی اهمیت دارد که Compatibility Mode فعال دارند اما هنوز Plugin یا Custom Code آنها بهطور کامل HPOS-compatible نیست.
Sync on Read قبلاً میتوانست هنگام خواندن Order ناسازگاری میان دو Data Store را تشخیص داده و Synchronization انجام دهد.
خاموششدن پیشفرض آن یعنی اتکا به کد قدیمی برای خواندن مستقیم wp_posts در آینده ریسک بیشتری دارد.
برای مدیر فروشگاه، نتیجه ساده است:
در ۲۰۲۶ بررسی HPOS Compatibility افزونهها جدیتر از قبل است.
مهمترین ریسک، افزونه یا کد ناسازگار است.
فرض کنید یک Plugin قدیمی برای دریافت سفارش مستقیم Query میزند:
SELECT *
FROM wp_posts
WHERE post_type = 'shop_order';
وقتی HPOS منبع اصلی باشد، این روش دیگر معماری صحیحی نیست.
Plugin باید از WooCommerce CRUD/API استفاده کند.
مثلاً توسعهدهندگان بهجای دسترسی مستقیم به Post Storage باید از APIهای Order خود WooCommerce استفاده کنند.
هر افزونهای که با سفارش تعامل دارد اهمیت دارد.
مخصوصاً:
اگر Plugin فقط ظاهر Header را تغییر میدهد، احتمال اثر HPOS بسیار کم است.
ولی Plugin حسابداری که مستقیماً سفارشها را میخواند باید حتماً بررسی شود.
اول صفحه رسمی Plugin را بررسی کنید.
بسیاری از Extensionهای جدید WooCommerce صراحتاً عبارت:
HPOS Compatible
را درج میکنند. اسناد فعلی WooCommerce برای Extensionهای متعدد نیز همین سازگاری را اعلام میکنند.
همچنین WooCommerce در بخش Features میتواند Pluginهای شناختهشده ناسازگار را نمایش دهد.
اما برای افزونه اختصاصی یا محلی بهتر است از توسعهدهنده سؤال کنید.
نمیتوان درباره همه درگاهها یک پاسخ واحد داد.
هر Plugin باید جداگانه بررسی شود.
درگاههایی که از API استاندارد WooCommerce برای Order استفاده میکنند معمولاً مسیر بهتری برای سازگاری دارند.
اما اگر افزونهای بسیار قدیمی باشد و مستقیماً:
wp_posts
wp_postmeta
را Query کند، باید تست شود.
برای فروشگاه واقعی، فقط مشاهده متن «Compatible» کافی نیست؛ پرداخت تستی نیز انجام دهید.
برای فروشگاه فعال این ترتیب توصیه میشود:
حداقل:
باید نسخه قابل بازیابی داشته باشند.
برای فروشگاه پرتراکنش بهتر است زمان مهاجرت را مدیریت کنید تا سفارش جدید وسط عملیات از دست نرود.
از یک نسخه قدیمی مستقیماً روی Production مهاجرت بزرگ انجام ندهید.
ابتدا Compatibility افزونهها را بررسی کنید.
مهاجرت را ابتدا روی Clone فروشگاه انجام دهید.
Staging یکی از مهمترین امکاناتی است که هنگام انتخاب هاست ووکامرس حرفهای باید در نظر بگیرید.
بهخصوص افزونههایی که Order Data را میخوانند.
برای فروشگاه قدیمی، WooCommerce امکان Synchronization سفارشها را فراهم میکند.
تعداد سفارشها در فروشگاه بزرگ ممکن است زیاد باشد.
Background Actions باید تکمیل شوند.
بعد از Sync شدن دادهها:
Use the WooCommerce orders tables
را انتخاب کنید. راهنمای WooCommerce برای فروشگاههای بزرگ نیز همین فرآیند را توصیه میکند.
WooCommerce برای مهاجرت فروشگاه بزرگ پیشنهاد میکند ابتدا HPOS را منبع اصلی کنید اما Synchronization را مدتی نگه دارید تا امکان Rollback سریع وجود داشته باشد.
فقط صفحه اصلی سایت را باز نکنید.
یک Order Lifecycle کامل را آزمایش کنید.
اگر یکی از این مراحل مشکل دارد، قبل از خاموشکردن Compatibility Mode علت را بررسی کنید.
چهار جدول اصلی نقش مهمی دارند.
اطلاعات اصلی Order.
برای مثال مواردی مانند:
اطلاعات آدرس.
مثل:
دادههای Operational که برای پردازش داخلی Order استفاده میشوند.
Metaهایی که همچنان ساختار Key/Value دارند اما مختص Order هستند.
این تفکیک نسبت به ریختن همهچیز در Post Meta ساختار مشخصتری فراهم میکند.
الزاماً به شکل چشمگیر و فوری خیر.
HPOS هدفش فقط کوچککردن حجم نیست.
هدف اصلی ساختار بهتر و Query مناسبتر است.
در Compatibility Mode حتی ممکن است بهدلیل نگهداری داده در دو ساختار، حجم دیتابیس موقتاً بیشتر شود.
بنابراین HPOS را ابزار پاکسازی Database تصور نکنید.
این کار را دستی انجام ندهید.
حذف رکوردهای Order از wp_posts با Query دلخواه میتواند Integration یا Synchronization را خراب کند.
مدیریت Migration را به WooCommerce بسپارید.
خصوصاً روی فروشگاه Production:
DELETE FROM wp_posts ...
راه مناسبی برای «پاکسازی HPOS» نیست.
اگر فروشگاه شما wp_postmeta بسیار بزرگی دارد، HPOS کمک میکند رشد جدید Order Data از معماری قبلی جدا شود.
اما HPOS همه Metaهای قدیمی سایت را پاک نمیکند.
ممکن است جدول همچنان بهدلیل:
بزرگ باشد.
پس Database Optimization همچنان موضوع جداگانهای است.
اگر WooCommerce جدید استفاده میکنید، معمولاً دلیلی برای برگشت به Legacy Storage ندارید مگر Compatibility Problem داشته باشید.
اما نباید انتظار داشته باشید فروشگاهی با ۲۰ سفارش با فعالسازی HPOS ناگهان تفاوت Performance قابل مشاهده زیادی داشته باشد.
مزیت معماری HPOS با رشد Order Data ارزش بیشتری پیدا میکند.
برای فروشگاهی با:
معماری Order Storage اهمیت بسیار بیشتری دارد.
WooCommerce صراحتاً HPOS را برای بهبود Scalability فروشگاه با افزایش مشتری و سفارش طراحی کرده است.
HPOS مشکل همه زیرساخت را حل نمیکند.
یک WooCommerce Hosting مناسب باید در کنار آن مواردی مانند اینها را فراهم کند:
داده Search Console وطن هاست نشان میدهد عبارت «بهترین هاست ووکامرس» ۳۲۹ Impression با میانگین رتبه ۲۶.۰۹ و «هاست مخصوص ووکامرس» ۲۳۰ Impression با رتبه حدود ۴۸.۴۹ داشته است؛ بنابراین این مقاله میتواند بهصورت طبیعی به صفحه تجاری هاست ووکامرس متصل شود.
WooCommerce در مستندات فعلی MySQL 8.0 یا جدیدتر یا MariaDB 10.6 یا جدیدتر را برای Performance و Security بهتر توصیه میکند.
این نکته در HPOS اهمیت دارد، چون HPOS همچنان روی همان دیتابیس Relational شما کار میکند.
HPOS جای MySQL را نمیگیرد.
ساختار کلی:
WooCommerce
↓
HPOS
↓
MySQL / MariaDB
↓
NVMe
است.
Storage سریع میتواند روی عملکرد دیتابیس اثر بگذارد.
HPOS تعداد و ساختار Queryها را بهتر میکند، اما Queryها همچنان باید روی Storage اجرا شوند.
برای فروشگاه Database-heavy، NVMe مناسب معمولاً انتخاب بهتری از Storage بسیار کند است.
اما همانطور که قبلاً در وطن هاست مقاله مستقل درباره NVMe وجود دارد، بهتر است در این مقاله فقط لینک داخلی داده شود و وارد مقایسه کامل NVMe و SSD نشویم.
WooCommerce CRUD از PHP اجرا میشود و Order Data را از Data Store دریافت میکند.
پس HPOS بخشی از مسیر است:
Request
↓
PHP
↓
WooCommerce CRUD
↓
HPOS
↓
Database
اگر PHP Workerها اشباع باشند، HPOS بهتنهایی مشکل را حل نمیکند.
به همین دلیل مقاله قبلی «بهترین نسخه PHP برای وردپرس و ووکامرس» مکمل طبیعی این صفحه است.
Migration و بعضی عملیات Background در WooCommerce از Scheduled Actions استفاده میکنند.
WooCommerce در فرآیند Sync HPOS نیز Background Action زمانبندی میکند.
اگر Scheduled Actionها گیر کرده باشند، Migration نیز ممکن است کامل نشود.
وطن هاست از قبل مقاله مستقلی درباره Cron Job دارد و Search Console نیز آن صفحه را ثبت کرده است؛ پس توضیح Cron را در این مقاله کوتاه نگه میداریم و لینک داخلی میدهیم تا Cannibalization ایجاد نشود.
در WooCommerce میتوانید Scheduled Actions را بررسی کنید.
اگر هنگام Migration تعداد زیادی Action با وضعیت Pending یا Failed باقی ماندهاند، مشکل را قبل از ادامه بررسی کنید.
WooCommerce مستندات رسمی برای Scheduled Actions و ارتباط آنها با WP-Cron دارد.
قبل از Migration حتماً Backup بگیرید.
WooCommerce یکی از مزایای HPOS را سادهترشدن Backup هدفمند Order Data میداند، اما این به معنی بینیازی از Full Backup نیست.
برای فروشگاه بهتر است حداقل:
داشته باشید.
Backupی که هرگز Restore آن تست نشده، هنوز کاملاً قابل اعتماد نیست.
در فروشگاههایی که Migration بهدرستی انجام شده و Compatibility Mode فعال است، امکان برگشت کنترلشده وجود دارد.
به همین دلیل WooCommerce برای فروشگاه بزرگ پیشنهاد میکند هنگام مرحله اول مهاجرت Synchronization را فوراً خاموش نکنید؛ اگر مشکلی مشاهده شد میتوان Data Store را برگرداند بدون اینکه Downtime جدی ایجاد شود.
ولی HPOS معماری آینده WooCommerce است.
بنابراین اگر Plugin ناسازگار دارید، راهحل بلندمدت بهتر این است که Plugin بهروزرسانی یا جایگزین شود، نه اینکه فروشگاه برای همیشه روی Legacy Storage بماند.
سه گزینه منطقی دارید:
اگر Plugin اختصاصی است، توسعهدهنده باید دسترسی مستقیم به Posts Table را کنار بگذارد و از WooCommerce Order API استفاده کند.
برای فروشگاه مهم، ابتدا Staging.
Checkout مهمترین مسیر درآمد سایت است.
افزونههای Accounting و ERP شدیداً به Order Data وابستهاند.
قبل از اطمینان از سلامت Integrationها این کار ریسک ایجاد میکند.
HPOS Migration را با SQL دستی مدیریت نکنید مگر دقیقاً ساختار داخلی WooCommerce را میشناسید.
HPOS یک Optimization تخصصی برای Order Storage است، نه جایگزین Cache، CPU و هاست مناسب.
Elementor عمدتاً با محتوای صفحه و Front-end سروکار دارد.
خود Elementor معمولاً دلیل اصلی تصمیم HPOS نیست.
ولی Add-onهایی که اطلاعات Order نمایش میدهند یا Dashboard فروشگاه میسازند باید بررسی شوند.
اگر از ACF روی Orderها استفاده میکنید، سازگاری نسخه افزونه اهمیت دارد.
ACF در نسخههای جدید پشتیبانی HPOS را توسعه داده است، اما Custom Code قدیمی که فرض میکند Order همیشه Post است باید بررسی شود.
قاعده اصلی همان است:
Order را از WooCommerce API بخوانید، نه با فرض ساختار قدیمی دیتابیس.
یکی از مزایای معماری اختصاصی Order این است که دادههای اصلی در Schema مناسبتری قرار دارند.
اما Report Plugin نیز باید HPOS-compatible باشد.
گزارشگیری که مستقیم از wp_postmeta میخواند ممکن است روی HPOS Authoritative داده ناقص یا قدیمی دریافت کند.
اگر Integration از REST API استاندارد WooCommerce استفاده کند، معماری داخلی Storage باید برای آن کمتر اهمیت داشته باشد.
این یکی از دلایل ارزش API Abstraction است.
Custom Integrationهایی که مستقیم SQL Query میزنند شکنندهتر هستند.
اگر یکی از این شرایط را دارید:
HPOS باید بخشی از بررسی فنی شما باشد.
قبل از Migration:
هنگام Migration:
بعد از Migration:
اگر هدف شما فروشگاه جدی است، فقط حجم دیسک را مقایسه نکنید.
برای مثال پلن:
50GB NVMe
بهتنهایی چیز زیادی درباره Performance Checkout نمیگوید.
موارد مهمتر:
WooCommerce برای محیط فعلی خود PHP جدید، دیتابیس مدرن، HTTPS و منابع قابل Scale را توصیه میکند.
حتی بهترین Schema هم نمیتواند Plugin ضعیف را نجات دهد.
فرض کنید Plugin گزارشگیری هر بار صدها Query غیرضروری اجرا کند.
HPOS ممکن است Queryها را بهتر کند، اما طراحی ضعیف Plugin همچنان باقی است.
برای فروشگاه حرفهای باید همه لایهها بررسی شوند:
Theme
Plugins
PHP
Object Cache
HPOS
Database
Storage
CPU
Network
اگر فروشگاه جدید WooCommerce دارید، احتمالاً از قبل HPOS فعال است.
اگر فروشگاه قدیمی دارید و هنوز Legacy Order Storage استفاده میکنید، مسیر آینده WooCommerce بهوضوح HPOS است؛ اما Migration باید کنترلشده انجام شود.
HPOS سفارشها را از ساختار عمومی wp_posts/wp_postmeta به جداول اختصاصی WooCommerce منتقل میکند و هدف آن افزایش Scalability، Reliability و سادگی مدل داده است.
برای فروشگاه کوچک ممکن است تفاوت Performance بسیار محسوس نباشد.
اما با افزایش تعداد سفارش، ارزش معماری اختصاصی بیشتر میشود.
قبل از فعالسازی:
Backup → Staging → Compatibility Check → Sync → Test
و بعد:
HPOS → Monitoring → حذف تدریجی وابستگیهای Legacy
مهمترین نکته در سال ۲۰۲۶ نیز این است که افزونهها و Custom Code فروشگاه باید واقعاً HPOS-compatible باشند؛ تغییر رفتار Sync on Read در WooCommerce 10.7 نشان میدهد اتکا به روشهای قدیمی دسترسی به Order Data دیگر راهکار آیندهداری نیست.
HPOS یا High-Performance Order Storage معماری ذخیره سفارش WooCommerce است که دادههای سفارش را در جداول اختصاصی و بهینهشده بهجای ساختار سنتی wp_posts و wp_postmeta نگهداری میکند.
HPOS میتواند عملیات مرتبط با Order Data و مقیاسپذیری دیتابیس را بهبود دهد، مخصوصاً در فروشگاه دارای سفارش زیاد. اما مشکلات تصویر، JavaScript، CPU یا Plugin کند را بهتنهایی حل نمیکند.
از WooCommerce 8.2، HPOS برای نصبهای جدید بهصورت پیشفرض فعال شده است.
از مسیر WooCommerce → Settings → Advanced → Features وضعیت Order Data Storage را بررسی کنید.
حالت مهاجرتی است که Order Data را بین HPOS Tables و Legacy Posts Tables همگام نگه میدارد تا افزونههای قدیمی فرصت سازگاری داشته باشند.
در WooCommerce جدید معمولاً استفاده از معماری پیشفرض HPOS منطقی است، اما انتظار جهش بزرگ Performance در فروشگاه بسیار کوچک نداشته باشید.
بله. Redis Object Cache و HPOS لایههای متفاوتی هستند و میتوانند همزمان استفاده شوند. WooCommerce حتی برای HPOS گزینه Data Caching مخصوص دارد که در حضور Object Cache توصیه میشود.
خیر. اکثر افزونههای مدرن در مسیر سازگاری قرار گرفتهاند، اما Pluginهای قدیمی، اختصاصی یا محلی باید جداگانه بررسی شوند.
در فرآیند استاندارد WooCommerce، Orderها Synchronize میشوند؛ بااینحال قبل از Migration حتماً Full Backup تهیه کنید.
در دوره Migration و زمانی که Synchronization برقرار است امکان Rollback کنترلشده وجود دارد. WooCommerce برای فروشگاههای بزرگ توصیه میکند Sync را بلافاصله بعد از تغییر Data Store خاموش نکنید.
یکی از جداول اصلی wc_orders است و جداول دیگری برای Address، Operational Data و Order Meta نیز استفاده میشوند.
خیر. HPOS ساختار Database است؛ Redis یک In-memory Object Cache است.
ثبت دیدگاه