واردات محصول از دیجی‌کالا به ووکامرس

Digikala WooCommerce Importer

افزونهٔ وردپرس برای خواندن صفحات لیست محصول دیجی‌کالا و وارد کردن خودکار به فروشگاه ووکامرس همراه با دسته‌بندی، تصویر، پیشرفت زنده و تاریخچهٔ واردات.

توسعه‌دهنده

مجوز

GPL v2 یا بالاتر

پیش‌نیاز اصلی

ووکامرس فعال

معرفی و پیش‌نیاز

Digikala WooCommerce Importer (فایل اصلی: digikala-product-scraper.php) صفحات لیست محصول دیجی‌کالا را می‌خواند و رکوردهای ووکامرس می‌سازد یا به‌روز می‌کند. مناسب فروشگاه‌هایی است که می‌خواهند کاتالوگ اولیه را از یک URL دسته یا جستجو پر کنند.

  • نسخهٔ ذکرشده در README: 1.0.0 — در صورت نصب افزونه، اگر ثابت نسخه در کد تعریف شده باشد همان نمایش داده می‌شود.
  • وردپرس: ۵٫۰ به بالا؛ PHP: ۷٫۴ به بالا.
  • ووکامرس باید نصب و فعال باشد.
  • سرور: پشتیبانی از cURL و DOMDocument برای دریافت و پارس HTML.
یادآوری: ساختار HTML سایت مبدأ ممکن است تغییر کند؛ در آن صورت استخراج داده نیاز به به‌روزرسانی منطق اسکرپر دارد. همیشه با تأخیر معقول بین درخواست‌ها از سرورها محافظت کنید.

نصب

  1. پوشهٔ افزونه را در /wp-content/plugins/ کپی کنید (نام پوشه معمولاً مطابق مخزن است).
  2. از منوی افزونه‌ها در پیشخوان، افزونه را فعال کنید.
  3. منوی Digikala Scraper (یا معادل فارسی/انگلیسی در منوی ادمین) برای شروع واردات در دسترس است.

جایگزین: کلون مستقیم از گیت‌هاب — بخش پایانی همین صفحه.

جریان واردات (استفادهٔ پایه)

  1. در دیجی‌کالا به یک صفحهٔ لیست (دسته، نتایج جستجو، …) بروید.
  2. URL کامل را از نوار آدرس کپی کنید.
  3. در پیشخوان: Digikala Scraper → Scrape Products (یا رابط معادل).
  4. URL را در فرم بچسبانید، تعداد صفحه و تأخیر را تنظیم کنید، در صورت نیاز دستهٔ ووکامرس را انتخاب کنید.
  5. Start Import را بزنید و پیشرفت را دنبال کنید.

افزونه از چند صفحهٔ لیست پشتیبانی می‌کند؛ برای شروع بهتر است محدودهٔ کوچک (۱–۳ صفحه) و تأخیر ۳–۵ ثانیه تست شود.

فیلدهای واردشده

بسته به نسخهٔ افزونه و ساختار صفحه، موارد زیر (طبق README مخزن) قابل انتظار است:

  • عنوان محصول، قیمت فروش، قیمت عادی (در صورت تخفیف)
  • تصاویر (دانلود و اتصال به محصول)
  • برند، امتیاز، تعداد نظرات (در صورت وجود در HTML)
  • لینک به صفحهٔ دیجی‌کالا، شناسه/SKU
  • توضیحات و ویژگی‌ها در صورت فعال بودن گزینه‌های مربوطه

تنظیمات و گزینه‌ها

اسکرپینگ

  • تأخیر بین درخواست‌ها: معمولاً ۱ تا ۱۰ ثانیه (کاهش بار روی سرور).
  • حداکثر صفحات: مثلاً ۱ تا ۲۰ صفحه از هر لیست.
  • User-Agent: رشتهٔ سفارشی برای HTTP در صورت پشتیبانی در تنظیمات.

واردات

  • ایجاد خودکار دستهٔ ووکامرس یا انتساب به دستهٔ موجود
  • روشن/خاموش کردن دانلود تصویر، تولید توضیح، وارد کردن ویژگی‌ها (برند، امتیاز، …)

رابط پیشخوان

  • داشبورد: آمار کلی، میانبرها، فعالیت اخیر.
  • Scrape Products: فرم URL، اعتبارسنجی، انتخاب دسته، پیشرفت زنده و نتیجه.
  • Settings: گزینه‌های اسکرپ و واردات، بررسی پیش‌نیازهای سیستم.
  • Import History: لاگ عملیات، موفق/ناموفق، جزئیات و در صورت وجود پاکسازی/خروجی.

جزئیات فنی

ساختار فایل (خلاصه)

  • digikala-product-scraper.php — bootstrap افزونه
  • includes/class-digikala-scraper.php — منطق استخراج
  • includes/class-woocommerce-importer.php — یکپارچگی ووکامرس
  • admin/ — داشبورد، اسکرپ، تنظیمات، تاریخچه

جدول سفارشی

جدولی مانند wp_dps_scraping_logs برای ثبت URL، وضعیت، تعداد محصول، خطا و زمان (پیشوند جدول مطابق پیکربندی وردپرس شما).

نمونهٔ اکشن‌های AJAX (طبق README)

اکشن کاربرد
dps_scrape_digikala اجرای اصلی اسکرپ و واردات
dps_get_scraping_progress خواندن پیشرفت
dps_test_connection اعتبارسنجی URL
dps_cleanup_logs پاکسازی لاگ
dps_get_log_details جزئیات یک رکورد لاگ

امنیت: طبق مستند افزونه، عملیات نیازمند احراز هویت مدیر و nonce معتبر برای درخواست‌های AJAX است.

عیب‌یابی

  • واردات ناموفق: دسترسی به URL، فایروال هاست، و فعال بودن cURL را بررسی کنید.
  • محصولی پیدا نشد: احتمال تغییر DOM دیجی‌کالا یا URL غیرلیست.
  • تصویر نیامد: مجوز نوشتن در رسانه و محدودیت PHP (حجم/زمان).
  • کندی: تعداد صفحات را کم و تأخیر را بیشتر کنید.
مخزن عمومی

کلون یا دانلود از گیت‌هاب

برای توسعه یا نصب دستی، مخزن را کلون کنید یا از دکمهٔ سبز Code در گیت‌هاب ZIP بگیرید.

git clone
git clone https://github.com/alireza-aminzadeh/digikala-woocommerce-importer.git

https://github.com/alireza-aminzadeh/digikala-woocommerce-importer