اگر تا به حال با وارد کردن انبوه داده ها به وردپرس دچار سردرگمی یا تاخیر شدید، این راهنمای کامل WP All Import دقیقاً همان چیزی است که به دنبال آن هستید. در این مقاله، هر مرحله را به صورت عملی و گام به گام بررسی می کنیم تا بتوانید فایل های CSV یا XML خود را بدون خطا به سایت منتقل کنید. از تنظیمات اولیه تا بهینه سازی نقشه برداری فیلدها، نکات تخصصی ما به شما کمک می کند تا فرآیند را با اطمینان و سرعت پیش ببرید. ما همچنین به شما نشان می دهیم چگونه از قابلیت های پیشرفته افزونه برای به روزرسانی خودکار محتوا و مدیریت تکراری ها بهره ببرید. در هر بخش، توضیح های واضح و مثال های ملموس همراه با توصیه های عملی ارائه می شود تا هیچ ابهامی باقی نماند. پس با ما همراه شوید و به سرعت توانایی وارد کردن داده های پیچیده را به سطح حرفه ای ارتقا دهید.
فهرست مطالب
- نصب و فعال سازی WP All Import
- تنظیمات پایه برای واردات داده
- ساخت پروفایل واردات گام به گام
- پیکربندی فیلدهای سفارشی با دقت
- مدیریت خطاها و بهینه سازی فرآیند
- اجرای واردات نهایی و بررسی نتایج
- سوالات متداول
نصب و فعال سازی WP All Import
برای شروع کار با WP All Import ابتدا باید افزونه را از مخزن وردپرس یا وب سایت رسمی آن دریافت کنید. اگر از مخزن استفاده می کنید، وارد بخش «افزونه ها» → «افزودن» شوید، سپس نام «WP All Import» را جستجو کنید و دکمهٔ «نصب» را بزنید. در صورتی که نسخهٔ پرو یا افزونه های افزودنی (Add‑On) مورد نیاز دارید، بهتر است فایل zip مربوطه را از حساب کاربری خود در وب سایت رسمی دانلود کرده و از گزینهٔ «بارگذاری افزونه» در همان صفحه بارگذاری کنید.
بعد از اتمام نصب، کلید «فعال سازی» ظاهر می شود. با کلیک بر روی این دکمه، افزونه به صورت خودکار فعال می شود و صفحهٔ تنظیمات اولیه در منوی «All Import» اضافه می شود. در اولین بار فعال سازی، ممکن است وردپرس از شما بخواهد تا حافظهٔ PHP (memory_limit) یا زمان اجرای اسکریپت (max_execution_time) را افزایش دهد؛ این تنظیمات برای پردازش فایل های بزرگ ضروری هستند. اگر پیام خطا دریافت کردید، می توانید این مقادیر را در فایل php.ini یا از طریق پنل میزبانی خود تنظیم کنید.
برای اطمینان از اینکه افزونه به درستی کار می کند، یک آزمایش ساده انجام دهید: یک فایل CSV کوچک شامل دو ستون (مانند «عنوان» و «متن») بسازید و آن را به صورت «Import a New Import» بارگذاری کنید. در ویزارد وارد کردن، ستون ها را به فیلدهای پست مربوطه (مثلاً post_title و post_content) نگاشت کنید و عملیات را اجرا کنید. اگر پست های جدید در سایت ظاهر شد، نصب و فعال سازی با موفقیت انجام شده است.
| الزامی | حداقل نسخه | توضیح |
|---|---|---|
| وردپرس | 5.5+ | پشتیبانی از ساختارهای جدید و APIهای افزونه |
| PHP | 7.2+ | قابلیت پردازش فایل های بزرگ بدون وقفه |
| حافظهٔ سرور | 256 MB+ | پیشنهاد می شود برای وارد کردن CSV/XML حجم دار |
نکتهٔ مهمی که در طول نصب باید به آن توجه کنید، استفاده از افزونه های «Add‑On» مربوط به نوع داده است؛ برای مثال اگر می خواهید محصولات ووکامرس یا فیلدهای سفارشی ACF را وارد کنید، باید افزونهٔ مربوطه را نیز نصب و فعال کنید. این افزونه ها همانند یک پل ارتباطی عمل می کنند و داده های شما را به فیلدهای هدف در قالب مناسب تبدیل می نمایند. پس پس از اطمینان از نصب پایه، می توانید به سرعت افزونه های افزودنی مورد نیاز را نصب کنید و وارد فرآیندهای پیشرفتهٔ واردسازی شوید.
تنظیمات پایه برای واردات داده
قبل از اینکه داده های خود را به وردپرس بارگذاری کنید، تنظیمات پایهٔ WP All Import را دقیقاً پیکربندی کنید. این تنظیمات شامل نوع فایل (CSV یا XML)، جداکنندهٔ ستون ها (مثل , یا ;)، رمزگذاری (UTF‑8 یا Windows‑1256) و نحوهٔ شناسایی ردیف های تکراری است. هر اشتباه در این بخش می تواند منجر به ورود نادرست یا تکراری محتوا شود، بنابراین حتماً فایل نمونه ای را در برنامهٔ پیش نمایش بارگذاری کنید تا ساختار ستون ها به وضوح نمایش داده شود.
برای تنظیمات پایه مراحل زیر را در پنجرهٔ New Import دنبال کنید:
- روی Upload file کلیک کنید و فایل CSV یا XML خود را انتخاب کنید.
- در بخش File Type، نوع فایل را تعیین کنید؛ برای CSV گزینهٔ
CSVو برای XML گزینهٔXMLرا انتخاب کنید. - اگر فایل CSV است، در قسمت Delimiter جداکنندهٔ مناسب را انتخاب کنید (معمولاً
,یا;). برای فایل های XML، مسیر XPath را برای هر عنصر داده تعیین کنید. - در Encoding، UTF‑8 را به عنوان پیش فرض استفاده کنید مگر اینکه فایل شما به صورت خاصی ذخیره شده باشد.
- در بخش Unique Identifier یک ستون کلید اصلی (مانند SKU یا شناسهٔ کاربر) را انتخاب کنید تا WP All Import بتواند رکوردهای موجود را به روزرسانی یا نادیده بگیرد.
| گزینهٔ اصلی | توضیح |
|---|---|
| Update Existing Items | اگر رکوردی با شناسهٔ یکتا موجود باشد، محتوای آن به روزرسانی می شود. |
| Skip Duplicates | رکوردهای تکراری نادیده گرفته می شوند و فقط موارد جدید وارد می شوند. |
| Create New Items | در صورت عدم وجود شناسهٔ یکتا، یک پست یا محصول جدید ایجاد می شود. |
به عنوان مثال، اگر می خواهید لیستی از محصولات را با استفاده از کد SKU وارد کنید، در مرحلهٔ 5 ستون SKU را به عنوان Unique Identifier انتخاب کنید. سپس در تب Mapping، فیلد Post Title را به ستون «نام محصول» و فیلد Custom Field → _price را به ستون «قیمت» متصل کنید. این کار تضمین می کند که هر بار که فایل CSV جدیدی بارگذاری می کنید، محصولات با همان SKU به روزرسانی می شوند و محصولاتی با SKU جدید به صورت خودکار افزوده می شوند. با تنظیم صحیح این گزینه ها، فرآیند واردات سریع، دقیق و بدون دردسر خواهد بود.
ساخت پروفایل واردات گام به گام
پروفایل واردات، همان نقشه راهی است که WP All Import برای تبدیل داده های خام شما به پست ها، صفحات یا محصولات استفاده می کند. ساخت یک پروفایل دقیق، تضمین می کند که هر ردیف فایل CSV یا XML به درستی به فیلدهای مورد نیاز سایت شما متصل شود و از بروز خطاهای ناخواسته جلوگیری می کند.
برای شروع، به بخش All Import → New Import بروید و فایل منبع (CSV، XML یا XLS) را بارگذاری کنید. پس از انتخاب Upload file، افزونه به صورت خودکار ساختار داده ها را شناسایی می کند و یک پیش نمایش از سطرهای اولیه نشان می دهد. در این مرحله، حتماً گزینه Record delimiter (برای CSV) یا Root element (برای XML) را بررسی کنید تا مطمئن شوید داده ها به درستی جدا شده اند.
گام بعدی، Mapping یا نگاشت فیلدهاست. در صفحهٔ Drag‑&‑Drop، فیلدهای وردپرس (عنوان، محتوای اصلی، برچسب ها و …) در سمت چپ و ستون های فایل منبع در سمت راست نمایش می شود. با کشیدن نام ستون به فیلد مقصد، ارتباط برقرار می شود. برای فیلدهای سفارشی مانند _price یا _sku در ووکامرس، می توانید یک Custom Field جدید اضافه کنید و مقدار موردنظر را از ستون مربوطه بکشید. اگر داده ای نیاز به تبدیل داشته باشد (مثلاً تبدیل تاریخ به فرمت Y-m-d)، می توانید از گزینهٔ PHP Function استفاده کنید و تابع ساده ای بنویسید.
در انتها، تنظیمات پیشرفته را مرور کنید. بخش Schedule به شما اجازه می دهد که پروفایل را به صورت روزانه یا هفتگی به صورت خودکار اجرا کنید؛ این کار با تنظیم یک Cron job در سرور یا با استفاده از WP‑Cron انجام می شود. پیش از اجرای نهایی، حتماً از گزینهٔ Run Import – Test Mode استفاده کنید تا یک بار نمونه ای از داده ها را بدون ایجاد پست واقعی وارد کنید و نتایج را بررسی کنید. اگر همه چیز درست بود، می توانید Run Import را فشار دهید و فرآیند را کامل کنید.
| مرحله | عمل اصلی |
|---|---|
| 1. ایجاد پروفایل | بارگذاری فایل و تنظیم جداکننده ها |
| 2. نگاشت فیلدها | کشیدن ستون ها به فیلدهای وردپرس یا فیلدهای سفارشی |
| 3. تنظیمات پیشرفته | برنامه ریزی Cron و فعال سازی Test Mode |
| 4. اجرای نهایی | Run Import و بررسی نتایج در سایت |
پیکربندی فیلدهای سفارشی با دقت
در اکثر سایت های وردپرسی، اطلاعاتی که به صورت پیش فرض توسط پست یا صفحه ذخیره می شوند، کافی نیست؛ برای نگهداری جزئیات محصول، متادیتاهای SEO یا هر دادهٔ سفارشی دیگری نیاز به فیلدهای سفارشی (Custom Fields) داریم. WP All Import این امکان را می دهد که به دقت این فیلدها را از فایل CSV یا XML به صورت مستقیم به پست های هدف بفرستید، به طوری که نیازی به کدنویسی دستی نباشد. کلید موفقیت در این مرحله، تنظیم درست نقشه برداری (mapping) بین ستون های منبع و نام فیلدهای هدف است.
برای شروع، در مرحلهٔ Mapping، بخش «Custom Fields» را باز کنید. دکمهٔ «Add Custom Field» به شما اجازه می دهد تا نام دقیق فیلد (مثلاً _price برای قیمت محصول) را وارد کنید و سپس مقدار متناظر را از فایل منبع با استفاده از مسیر XPath یا نام ستون CSV انتخاب کنید. اگر فیلدهای شما به صورت ترکیبی (مثلاً ترکیب نام و برند) هستند، می توانید از «Combine Fields» استفاده کنید و الگوی دلخواه را تعریف کنید. پس از افزودن تمام فیلدهای مورد نیاز، دکمهٔ «Save» را بزنید تا تنظیمات ذخیره شوند.
در مواقعی که داده ها پیچیده تر هستند-مانند فیلدهای تکراری (repeatable fields) یا آرایه های سریالیزه (serialized arrays)-نیاز به پردازش پیش پردازشی داریم. در این حالت می توانید در بخش «Advanced Options» یک «Custom PHP Function» بنویسید که مقدار ورودی را به صورت مناسب تبدیل کند. برای مثال، برای تبدیل تاریخ به فرمت Y-m-d می توانید از کد زیر استفاده کنید:
function format_date( $value ) {
return date( 'Y-m-d', strtotime( $value ) );
}
سپس این تابع را به عنوان «Function to Run» برای فیلد تاریخ انتخاب کنید تا هر بار که داده ای وارد می شود، به صورت خودکار قالب بندی شود. این روش نه تنها خطاهای رایج را کاهش می دهد، بلکه امکان افزودن منطق شرطی (مثلاً نادیده گیری مقادیر خالی) را نیز فراهم می کند.
| نوع فیلد | روش پیشنهادی برای نگاشت |
|---|---|
| متن ساده (مثلاً توضیح کوتاه) | مستقیم با انتخاب ستون CSV یا XPath |
| عدد (قیمت، وزن) | استفاده از «Convert to Number» در تنظیمات پیشرفته |
| تاریخ/زمان | اعمال تابع PHP برای قالب بندی استاندارد |
| آرایهٔ تکراری (عناوین تصویر گالری) | استفاده از «Custom PHP Function» برای تبدیل به رشتهٔ سریالیزه |
در نهایت، پس از اتمام تنظیمات، می توانید یک «Test Import» کوچک اجرا کنید تا خروجی فیلدهای سفارشی را در یک پست آزمایشی بررسی کنید. اگر همه چیز به درستی نمایش داده شد، می توانید وارد حالت «Run Import» شوید و مطمئن باشید که داده های شما بدون اشتباه به صورت دقیق و منظم در سایت وردپرسی ذخیره می شوند.
مدیریت خطاها و بهینه سازی فرآیند
در حین انجام یک ایمپورت بزرگ با WP All Import، مواجه شدن با خطاهای متنوع امری طبیعی است؛ اما توانایی تشخیص سریع و رفع این مشکلات، زمان و منابع سرور را به طور چشمگیری بهبود می بخشد. اولین گام، فعال سازی گزینه ی «Log» در صفحه تنظیمات است تا تمام پیام های خطا به صورت متنی ذخیره شوند و بتوانید بعداً آن ها را مرور کنید. این لاگ نه تنها به شما می گوید کدام ردیف داده مشکل دارد، بلکه نوع خطا (مثلاً «Invalid CSV format» یا «PHP memory exhausted») را نیز مشخص می کند.
از رایج ترین خطاهای مواجه شده می توان به قالب بندی نادرست فایل CSV، محدودیت حافظه PHP و تایم اوت سرور اشاره کرد. برای رفع مشکل قالب بندی، اطمینان حاصل کنید که همهٔ فیلدها با کاما یا سمی کالن (بسته به تنظیمات) جدا شده اند و از " برای مقادیر شامل کاما استفاده می شود. اگر حافظهٔ PHP پر شد، مقدار memory_limit را در php.ini یا از طریق .htaccess افزایش دهید. در مورد تایم اوت، تقسیم فایل به بخش های کوچکتر (Chunk) یا استفاده از WP All Import – Cron می تواند فشار روی سرور را کاهش دهد.
| خطای رایج | راه حل پیشنهادی |
|---|---|
| Invalid CSV format | بررسی جداکننده ها، حذف کاراکترهای مخفی، استفاده از UTF‑8 بدون BOM |
| PHP memory exhausted | افزایش memory_limit، کاهش تعداد ردیف ها در هر Chunk |
| Maximum execution time exceeded | فعال سازی اجرای زمان بندی شده (Cron)، یا افزایش max_execution_time |
بهینه سازی فرآیند ایمپورت می تواند با چند اقدام ساده صورت گیرد. ابتدا، قبل از شروع ایمپورت، همهٔ افزونه های غیرضروری را غیرفعال کنید تا منابع سرور آزاد بماند. سپس، در بخش «Advanced Settings»، گزینهٔ «Enable Faster Processing» را فعال کنید و تعداد ردیف های هر Chunk را به حدود ۵۰۰-۱۰۰۰ تنظیم کنید. برای مثال، اگر می خواهید دسته بندی ها را بر اساس یک ستون خاص مپ کنید، می توانید از فیلتر زیر استفاده کنید:
add_filter('pmxi_custom_field', function($value, $field_name){
if ($field_name == 'category') {
return strtolower(str_replace(' ', '-', $value));
}
return $value;
}, 10, 2);
این کد به صورت خودکار نام دسته ها را به فرمت مناسب برای وردپرس تبدیل می کند و نیاز به ویرایش دستی داده ها را حذف می نماید. ترکیب این تکنیک ها با بررسی منظم لاگ ها، باعث می شود ایمپورت ها بدون توقف و با کارایی حداکثری انجام شوند.
اجرای واردات نهایی و بررسی نتایج
پس از اینکه تنظیمات نقشه فیلدها، قواعد به روزرسانی و فیلترها را با دقت انجام دادید، نوبت به اجرای نهایی واردات می رسد. برای شروع، در صفحه All Import → New Import گزینه «Run Import» را فشار دهید؛ این کار فرآیند خواندن فایل منبع (CSV، XML یا Excel) و مقایسه داده ها با موارد موجود در پایگاه داده وردپرس را آغاز می کند. اگر تعداد ردیف ها زیاد باشد، می توانید از گزینه «Background Processing» استفاده کنید تا واردات به صورت غیرهمزمان انجام شود و سایت شما بدون تأخیر در دسترس بماند.
در طول اجرا، پیش نمایش زنده ای از پیشرفت کار در نوار وضعیت نمایش داده می شود. برای مانیتور کردن دقیق تر، می توانید به تب «Import History» رفته و لاگ های جزئیات هر مرحله را بررسی کنید؛ این لاگ ها شامل شناسه های پست ها، پیام های خطا و هشدارهای احتمالی می شوند. به ویژه هنگام مواجهه با خطاهای «Duplicate entry» یا «Missing required field» باید به پیام های لاگ دقت کنید تا بدانید آیا باید تنظیمات فیلتر را بازنگری کنید یا داده های منبع را اصلاح نمایید.
- بررسی تعداد مواردی که به روزرسانی شد (Updated) مقابل موارد جدید (Created).
- اطمینان از صحت متادیتاها (مانند SEO meta، فیلدهای ACF) با استفاده از یک یا دو پست نمونه.
- تست عملکرد صفحه های وارد شده (نمایش تصویر، لینک های داخلی) در مرورگرهای مختلف.
- در صورت نیاز، اجرای «Re-Run Import» برای ردیف های ناموفق با تنظیمات تصحیح شده.
یک مثال عملی: فرض کنید می خواهید ۲٬۵۰۰ محصول جدید را از یک فایل CSV به فروشگاه ووکامرس خود اضافه کنید. پس از تعیین فیلدهای SKU، عنوان، قیمت و گالری تصاویر، واردات را اجرا می کنید و پس از اتمام، به گزارش «Created: 2,480 – Updated: 20 – Skipped: 0» می رسید. این نشان می دهد ۲٬۴۸۰ محصول جدید ساخته شد و تنها ۲۰ محصول موجود به روزرسانی شد؛ در این حالت می توانید به سرعت به صفحه محصول های جدید رفته و یک یا دو مورد را بررسی کنید تا اطمینان حاصل شود تصویرها به درستی بارگذاری شده اند.
| معیار | نتیجه |
|---|---|
| پست های جدید | 2,480 |
| پست های به روزرسانی شده | 20 |
| خطاهای مهم | 0 |
| زمان کل اجرا | ≈ 3 دقیقه |
پس از اطمینان از صحت داده ها، می توانید واردات را در برنامه زمان بندی (Cron) تنظیم کنید تا به روزرسانی های دوره ای به صورت خودکار انجام شوند. این کار باعث می شود که هر بار که فایل منبع به روزرسانی می شود، تغییرات به سرعت در وبسایت شما منعکس شود و نیازی به مداخله دستی نباشد.
سوالات متداول
چطور یک فایل CSV جدید برای وارد کردن پست ها تنظیم کنم؟
ابتدا به منوی All Import > New Import بروید. سپس فایل CSV را بارگذاری کنید و نوع پست (پست، صفحه یا نوع سفارشی) را انتخاب کنید. در مرحله Mapping، ستون های CSV را به فیلدهای وردپرس متصل کنید. در نهایت گزینه Run Import را بزنید.
آیا می توانم فیلد های سفارشی (Custom Fields) را هم درون ریزی کنم؟
بله، در بخش Mapping می توانید فیلدهای سفارشی را اضافه کنید. کافی است کلید متا (meta key) مورد نظر را وارد و ستون CSV مربوطه را انتخاب کنید. مطمئن شوید که افزونه Add‑On برای Custom Fields نصب باشد.
خطای «پیکربندی ناقص» در زمان بارگذاری فایل به چه معناست؟
این خطا معمولاً به دلیل عدم انتخاب نوع پست یا عدم تطابق ستون هاست. فایل CSV را بررسی کنید و مطمئن شوید که حداقل یک فیلد الزامی (مانند عنوان) مشخص شده. اگر مشکل ادامه داشت، لاگ خطا را در بخش History بررسی کنید.
چگونه می توانم واردات را به صورت زمان بندی شده (cron) اجرا کنم؟
برای زمان بندی، به منوی All Import > Settings > Cron Jobs مراجعه کنید. یک برنامه زمان بندی (مثلاً هر ساعت) تعریف کنید و مسیر URL اختصاصی را در سرور خود اضافه کنید. سپس WP‑Cron یا Crontab سرور وظیفه اجرا را بر عهده می گیرد.
چک لیست سریع
- نصب و فعال سازی افزونه به درستی.
- تنظیمات پایه برای وارد کردن داده ها را اعمال کنید.
- ساخت پروفایل واردات گام به گام با پیش نمایش.
- پیکربندی دقیق فیلدهای سفارشی و نگاشت داده ها.
- مدیریت خطاها و بهینه سازی فرآیند واردات.
- اجرای واردات نهایی و بررسی نتایج به دقت.
با دنبال کردن این گام ها می توانید داده های بزرگ را به سرعت و بدون مشکل به سایت خود اضافه کنید. دقت در تنظیم فیلدهای سفارشی و نظارت بر خطاها کیفیت نهایی را تضمین می کند. اگر تجربه یا سؤال خاصی دارید، خوشحال می شوم از آن باخبر شوم.

