ورود دستی صدها محصول
ثبت تکتک محصولات با عنوان، توضیح، تصویر، قیمت و دستهبندی، هفتهها زمان میبرد و معمولاً نیمهکاره رها میشود. هر محصول تازه هم دوباره همان زمان را میگیرد.
فیلتور برای فروشگاههای ووکامرسی افزونه اختصاصی میسازد تا اطلاعات محصولات بهصورت ساختاریافته وارد سایت شود، قیمت و موجودی بهشکل خودکار بهروز بماند و فروشگاه بتواند به API، فایلهای CSV و Excel، خروجی XML و JSON یا سیستم تأمینکننده وصل شود. هر پروژه پیش از اعلام زمان و هزینه، از نظر منبع اطلاعات و امکان فنی بررسی میشود.
افزونه اختصاصی وردپرس، برنامهای است که فقط برای فرایند یک کسبوکار نوشته میشود و کاری را انجام میدهد که افزونههای عمومی پوشش نمیدهند. در فروشگاههای ووکامرسی، این افزونه اطلاعات محصولات را از یک منبع مجاز مانند API، فایل CSV یا Excel، خروجی XML و JSON یا سیستم تأمینکننده میگیرد، آنها را اعتبارسنجی و به ساختار ووکامرس تبدیل میکند و به شکل محصول ساده یا متغیر در سایت ثبت میکند. سپس میتواند در بازههای زمانی مشخص قیمت، موجودی و محصولات تازه را بهروز کند، از ثبت محصول تکراری جلوگیری کند و گزارش هر عملیات را برای مدیر فروشگاه ذخیره کند.
بیشتر سفارشهای افزونه اختصاصی از یک نقطه مشترک شروع میشوند: کاری که باید یک بار انجام شود، هر هفته دوباره و دستی تکرار میشود.
ثبت تکتک محصولات با عنوان، توضیح، تصویر، قیمت و دستهبندی، هفتهها زمان میبرد و معمولاً نیمهکاره رها میشود. هر محصول تازه هم دوباره همان زمان را میگیرد.
وقتی قیمت تأمینکننده هفتگی یا روزانه تغییر میکند، بهروزرسانی دستی عملاً ممکن نیست. نتیجه، فروش با قیمت قدیمی یا حذف محصول از دسترس است.
محصولی که در انبار تأمینکننده تمام شده اما در سایت هنوز «موجود» است، سفارش لغوشده و مشتری ناراضی میسازد. این یکی از پرهزینهترین خطاهای فروشگاههای آنلاین است.
یک صفر اضافه در قیمت، دستهبندی اشتباه یا تصویر جابهجا، خیلی راحت اتفاق میافتد. وقتی حجم داده بالا میرود، بررسی دستی هم دیگر جواب نمیدهد.
وقتی یک فایل دو بار وارد سایت میشود یا چند منبع همزمان محصول میفرستند، نسخههای تکراری ساخته میشود و پاککردن آنها از خود ورود اطلاعات سختتر است.
مهاجرت از یک سیستم قدیمی به ووکامرس، فقط کپیکردن نام محصول نیست؛ ویژگیها، گالری تصاویر، دستهبندیها و ساختار محصولات متغیر هم باید درست منتقل شوند.
افزونه آماده برای یک ساختار استاندارد نوشته شده است. بهمحض اینکه منبع شما فیلد متفاوت، قیمت پلکانی یا ساختار غیرمعمول داشته باشد، کار متوقف میشود.
هر تأمینکننده فایل خودش را با ستونها و قالب خودش میفرستد. تبدیل این فایلها به یک ساختار قابل استفاده، بخش اصلی کار است، نه یک جزئیات کوچک.
وقتی نیروی فروش یا پشتیبانی، ساعتها صرف کپیکردن اطلاعات میکند، همان زمان از بازاریابی، پاسخگویی و رشد فروشگاه کم میشود.
فهرست زیر، قابلیتهایی است که در پروژههای افزونه ووکامرس بیشتر از همه درخواست میشوند. ترکیب نهایی برای هر فروشگاه جداگانه تعریف میشود؛ لازم نیست همه موارد در یک پروژه پیادهسازی شوند.
پاسخ کوتاه: به هر منبعی که ساختار مشخص و دسترسی مجاز داشته باشد. روش اتصال، بیشترین تأثیر را روی پایداری، سرعت و هزینه پروژه میگذارد.
پایدارترین گزینه. اطلاعات به شکل ساختاریافته و رسمی دریافت میشود، تغییر ظاهر سایت منبع تأثیری روی کار ندارد و بهروزرسانیهای دورهای قابل اتکا هستند. اگر تأمینکننده API دارد، معمولاً بهترین انتخاب همین است.
ساده، رایج و برای انتقال یکباره بسیار مناسب. نکته اصلی، یکسانبودن ستونها در هر بار ارسال است. اگر تأمینکننده هر بار قالب فایل را عوض کند، افزونه باید انعطاف بیشتری داشته باشد.
برای تیمهایی که اطلاعات را داخل شرکت نگه میدارند گزینه راحتی است. چند شیت، سطرهای ادغامشده و قالببندیهای دستی معمولاً نیاز به قواعد پاکسازی بیشتری دارند.
در فیدهای محصول و سیستمهای قدیمیتر زیاد دیده میشود. ساختار درختی آن برای محصولات متغیر و ویژگیهای تودرتو مناسب است، به شرطی که فید بهصورت منظم بهروز شود.
سبک، دقیق و مناسب اتصالهای برنامهنویسیشده. اگر تأمینکننده یک آدرس JSON منظم در اختیار بگذارد، عملاً مزایای نزدیک به API خواهید داشت.
وقتی مبدأ هم وردپرس است، میتوان از REST API خود ووکامرس یا خروجی رسمی سایت استفاده کرد. این حالت معمولاً دقیقترین انتقال ویژگیها و ساختار محصول را میدهد.
پنل اختصاصی، سامانه پخش یا سرویس واسط تأمینکننده. اگر روش دسترسی رسمی و مجوز استفاده وجود داشته باشد، اتصال مستقیم و پایدار قابل ساخت است.
بسیاری از شرکتها اطلاعات محصول را در نرمافزار انبار یا حسابداری نگه میدارند. اگر آن نرمافزار خروجی یا دسترسی مجاز بدهد، فروشگاه میتواند مستقیم از همان منبع تغذیه شود.
خواندن اطلاعات از صفحات عمومی فقط زمانی در دستور کار قرار میگیرد که دسترسی و مجوز استفاده از محتوا روشن باشد. این روش از همه روشهای بالا شکنندهتر است، چون با تغییر ساختار صفحه نیاز به بهروزرسانی پیدا میکند.
سناریوهای زیر، پرتکرارترین دلایلی هستند که یک فروشگاه بهجای افزونه آماده سراغ توسعه اختصاصی میرود.
انتقال کامل عنوان، توضیحات، تصاویر، دستهبندی و ویژگیها از فروشگاه قبلی به ووکامرس، بدون بازنویسی دستی. ساختار محصولات متغیر هم حفظ میشود.
محصولات تازه تأمینکننده بهصورت خودکار وارد فروشگاه میشوند و دیگر لازم نیست کسی فایل را باز کند و محصول به محصول ثبت کند.
افزونه در ساعت مشخصی اجرا میشود، تغییرات منبع را میخواند و فقط فیلدهای تغییرکرده را بهروز میکند؛ بدون دستزدن به محتوایی که خودتان نوشتهاید.
موجودی سایت با موجودی واقعی انبار هماهنگ میشود تا سفارشهایی که قابل تأمین نیستند، ثبت نشوند.
ارسال اطلاعات سفارش یا دریافت قیمت و کد کالا از نرمافزار حسابداری، تا ثبت اطلاعات در دو سیستم موازی حذف شود.
ارسال خودکار پیامک وضعیت سفارش یا انتقال اطلاعات مشتری به CRM، تا پیگیری فروش از حالت دستی خارج شود.
افزودن درصد سود، مبلغ ثابت یا قاعده متفاوت برای هر دسته و هر تأمینکننده، همراه با رند کردن قیمت نهایی.
وقتی چند تأمینکننده با فایلها و ساختارهای متفاوت دارید، افزونه میتواند همه را به یک ساختار واحد تبدیل و اولویت هر منبع را رعایت کند.
گاهی نیاز واقعی، ورود محصول نیست؛ یک گزارش خاص، یک فرم داخلی، یک فرایند تأیید یا یک ابزار مدیریتی است که هیچ افزونه آمادهای آن را پوشش نمیدهد.
دادهای که از منبع میآید، هیچوقت مستقیم در سایت ثبت نمیشود. افزونه اختصاصی یک مسیر مشخص را طی میکند تا محصول نادرست، ناقص یا تکراری وارد فروشگاه نشود.
افزونه آماده همیشه انتخاب بدی نیست؛ اگر ساختار منبع شما استاندارد و نیازتان ساده باشد، سریعتر و ارزانتر است. جدول زیر کمک میکند تشخیص دهید کدام مسیر به وضعیت شما نزدیکتر است.
برای دیدن همه ستونها، جدول را به چپ و راست بکشید.
| معیار | افزونه عمومی آماده | افزونه اختصاصی فیلتور |
|---|---|---|
| سازگاری با منبع اطلاعات | فقط با ساختارهای استاندارد و از پیش تعریفشده | بر اساس ساختار واقعی منبع شما نوشته میشود |
| محصولات متغیر | معمولاً پشتیبانی محدود یا نیازمند نسخه حرفهای | ترکیب رنگ و سایز با قیمت و موجودی مستقل |
| قواعد قیمتگذاری | درصد ساده، بدون تفکیک دسته و تأمینکننده | قاعده جداگانه برای هر دسته، برند یا منبع |
| جلوگیری از تکرار | وابسته به تنظیمات پیشفرض افزونه | بر پایه SKU یا شناسه مرجع انتخابی شما |
| گزارش خطا | پیامهای کلی و اغلب غیرقابل پیگیری | گزارش هر اجرا با دلیل رد شدن هر رکورد |
| توسعه آینده | محدود به نقشه راه توسعهدهنده افزونه | قابلیت تازه هر زمان که کسبوکار نیاز داشت |
| سادگی پنل مدیریت | تنظیمات زیاد و اغلب انگلیسی | فقط گزینههایی که واقعاً استفاده میکنید، به فارسی |
| اتصال به API | تنها اگر آن سرویس خاص پشتیبانی شده باشد | اتصال به API موردنظر شما، در صورت وجود دسترسی |
| زمانبندی | بازههای ثابت و محدود | بازه دلخواه و متفاوت برای قیمت، موجودی و محصول تازه |
| پشتیبانی از فرایند اختصاصی | معمولاً وجود ندارد | دقیقاً بر اساس گردش کار داخلی شما ساخته میشود |
| وابستگی به ساختار منبع | بالا؛ هر تغییری کار را متوقف میکند | وجود دارد، اما با بهروزرسانی افزونه قابل مدیریت است |
| هزینه اولیه | کمتر | بیشتر، چون توسعه اختصاصی انجام میشود |
| انعطاف بلندمدت | محدود | بالا؛ افزونه با رشد فروشگاه توسعه پیدا میکند |
این دو مدل، دو پروژه کاملاً متفاوت هستند و هزینه، زمان و پیچیدگی متفاوتی دارند. تشخیص درست همین یک مورد، بخش مهمی از تصمیم شماست.
اطلاعات یک بار به فروشگاه منتقل میشود و از آن پس، مدیریت محصولات در اختیار خود شماست. مناسب زمانی که منبع، منبع دائمی نیست.
افزونه بهصورت زمانبندیشده اجرا میشود و فروشگاه را با منبع هماهنگ نگه میدارد. مناسب زمانی که اطلاعات مدام تغییر میکنند.
مسیر زیر همان چیزی است که در پروژههای افزونه اختصاصی طی میکنیم. هیچ مرحلهای پیش از تأیید مرحله قبل شروع نمیشود.
شما توضیح میدهید چه چیزی میخواهید و منبع اطلاعات کجاست. یک نمونه فایل یا آدرس، بیشتر از چند صفحه توضیح کمک میکند.
ساختار منبع، روش دسترسی، حجم داده و مجوز استفاده از اطلاعات بررسی میشود. اگر پروژه شدنی نباشد، همینجا صادقانه گفته میشود.
تعیین میکنیم چه فیلدهایی منتقل شوند، ویژگیها چطور نگاشت شوند و قواعد قیمتگذاری و شرایط رد کردن رکورد چیست.
معماری افزونه، پنل مدیریت، نحوه زمانبندی و ساختار گزارشها طراحی میشود تا توسعه بعدی آسان بماند.
افزونه روی یک نسخه آزمایشی یا Staging توسعه و تست میشود، نه روی فروشگاه در حال فروش.
ابتدا چند ده محصول وارد میشود تا کیفیت داده، تصاویر، ویژگیها و قیمتها قابل بررسی باشد.
شما نتیجه را میبینید و بازخورد میدهید. اصلاح قواعد در این مرحله بسیار کمهزینهتر از بعد از اجرای کامل است.
پس از تأیید، عملیات کامل روی همه محصولات اجرا میشود؛ بهصورت مرحلهای و با امکان توقف در هر لحظه.
نحوه اجرای دستی، تغییر تنظیمات، خواندن گزارشها و رفع مشکلات رایج، بهصورت عملی آموزش داده میشود.
اگر ساختار منبع تغییر کرد یا قابلیت تازهای لازم شد، افزونه بهروزرسانی و توسعه داده میشود.
افزونهای که با حجم بالای داده کار میکند، اگر بیاحتیاط نوشته شود میتواند هاست را از کار بیندازد یا اطلاعات فروشگاه را بههم بریزد. موارد زیر برای جلوگیری از همین اتفاقها رعایت میشوند.
این بخش را نوشتهایم تا پیش از شروع، انتظار درستی شکل بگیرد. شفافیت در این موارد، از هر تضمین تبلیغاتی ارزشمندتر است.
دو فروشگاه ممکن است ظاهر مشابهی داشته باشند اما اطلاعات را کاملاً متفاوت ارائه کنند. به همین دلیل، تجربه یک پروژه لزوماً به پروژه بعدی منتقل نمیشود و هر منبع جداگانه بررسی میشود.
وجود API کار را ساده، سریع و پایدار میکند. نبود آن بهمعنای غیرممکنبودن نیست، اما معمولاً یعنی پروژه پیچیدهتر، شکنندهتر و نیازمند نگهداری بیشتر خواهد بود.
اگر منبع، فیلدها یا قالب خروجی خود را تغییر دهد، افزونه باید متناسب با آن بهروزرسانی شود. این یک نقص نیست؛ ویژگی طبیعی هر اتصال بین دو سیستم مستقل است.
اگر توضیحات محصول در منبع ناقص، تصاویر کمکیفیت یا دستهبندیها نامنظم باشند، همان کیفیت به فروشگاه منتقل میشود. افزونه میتواند پاکسازی کند، اما اطلاعات نداشته را نمیسازد.
مشخصات فنی، ابعاد، گارانتی و جزئیات مشابه فقط از منبع خوانده میشوند. تولید این اطلاعات با هوش مصنوعی میتواند داده نادرست بسازد و ما این کار را انجام نمیدهیم.
استفاده از تصاویر و متنهای یک منبع باید با حق استفاده مناسب همراه باشد؛ چه از طریق قرارداد با تأمینکننده، چه مالکیت خودتان بر آن اطلاعات.
دورزدن ورود کاربری، کپچا، محدودیتهای امنیتی یا هر نوع دسترسی غیرمجاز، بخشی از این خدمت نیست و پروژهای با این هدف پذیرفته نمیشود.
برآورد هزینه بدون دیدن ساختار منبع، فقط یک عدد بیپایه است. ابتدا منبع بررسی میشود، بعد زمان و هزینه واقعی اعلام میگردد.
بیشتر پروژههای شکستخورده، نه بهدلیل ضعف در برنامهنویسی، بلکه بهخاطر روشننبودن صورت مسئله شکست میخورند. در جلسه بررسی، این موارد را با هم مشخص میکنیم:
پاسخ کوتاه: هر جا حجم اطلاعات محصول زیاد است یا اطلاعات مدام تغییر میکند، افزونه اختصاصی صرفه دارد. هر جا کار محدود و یکبار برای همیشه است، معمولاً نه.
فیلتور روی اتوماسیون کسبوکارهای ایرانی کار میکند؛ از ساخت ربات بله و ربات تلگرام تا طراحی سایت و خدمات هوش مصنوعی. همین نگاه، در توسعه افزونه هم دنبال میشود.
بهجای پیشنهاد یک بسته آماده، اول میفهمیم مشکل کجاست. گاهی جواب، یک افزونه بزرگ نیست؛ یک قابلیت کوچک و دقیق است.
پنل افزونه فقط شامل گزینههایی است که واقعاً استفاده میکنید، به فارسی و با ساختاری که نیازی به آموزش طولانی ندارد.
کد طوری نوشته میشود که افزودن یک منبع تازه یا یک قاعده جدید، نیازمند بازنویسی کل افزونه نباشد.
ابتدا منبع و شرایط فنی بررسی میشود. اگر پروژه شدنی نباشد یا صرفه نداشته باشد، همان ابتدا گفته میشود.
افزونه بر اساس گردش کار واقعی شما ساخته میشود، نه بر اساس فرضی که در مستندات یک محصول عمومی نوشته شده.
فروشگاه شما ثابت نمیماند. افزونه هم باید بتواند با تأمینکننده تازه، فیلد جدید یا گزارش متفاوت رشد کند.
یک افزونه خوب فقط درست کار نمیکند؛ باید برای کسی که هر روز با آن کار میکند هم قابل فهم باشد.
افزونه با توضیح ساختار، تنظیمات و نحوه استفاده تحویل داده میشود تا در آینده وابسته به حافظه یک نفر نباشد.
بسته به اینکه اطلاعات یک بار منتقل شود، مرتب بهروز بماند یا فروشگاه به سیستمهای دیگر وصل شود، پروژه یکی از سه شکل زیر را میگیرد.
برای مهاجرت فروشگاه یا ورود اولیه اطلاعات، وقتی قرار نیست اتصال دائمی برقرار بماند.
برای فروشگاههایی که قیمت و موجودیشان به منبع بیرونی وابسته است و باید مرتب بهروز بماند.
وقتی کار فراتر از محصولات است و فروشگاه باید به سیستمهای دیگر کسبوکار وصل شود.
هزینه این خدمت عدد ثابتی ندارد، چون دو پروژه با نام یکسان میتوانند ده برابر با هم تفاوت داشته باشند. عوامل زیر بیشترین تأثیر را دارند.
نتیجه این خدمت، افزایش تضمینشده فروش نیست؛ چیزی است که مستقیماً قابل مشاهده است: کاهش کار تکراری و بالا رفتن دقت اطلاعات فروشگاه. تأثیر این دو روی فروش، به بازار، قیمتگذاری و بازاریابی شما بستگی دارد.
پاسخ پرسشهایی که پیش از شروع پروژه بیشتر از همه پرسیده میشوند.
یک توضیح کوتاه از منبع اطلاعات و تعداد محصولاتتان کافی است تا بگوییم پروژه شما شدنی است یا نه، کدام مدل مناسبتر است و چه چیزی برای شروع لازم دارید. اگر افزونه آماده کار شما را راه بیندازد، همان را میگوییم.