مدیریت سایت های فروشگاهی نیازمند یک زمان و انرژی می باشد تا بتواند با نشان دادن بهترین عملکرد خود،رضایت مشتریان را نگه دارد.با مدیریت بهینه در یک سایت فروشگاهی تجربه خرید مشتریان بهبود پیدا می کند و نتیجه آن فروش بیشتر محصولات و خدمات شما می باشد. یکی از مواردی که میتواند تجربه کاربری را بهبود دهد،حذف محصولات تکراری در ووکامرس است. وجود محصولات تکراری نه تنها باعث سردرگمی مشتریان میشود، بلکه میتواند بر روی سئو سایت تأثیر منفی بگذارد و فرآیند مدیریت انبار و سفارشات را پیچیدهتر کند. در این مقاله، به بررسی دلایل اهمیت حذف محصولات تکراری و نحوه انجام این کار در ووکامرس خواهیم پرداخت.

اگر برای فروشگاه خود نیاز به یک پشتیبان حرفه ای دارید قبل از مطالعه این آموزش سری به صفحه زیر بزنید:
چرا باید محصولات تکراری را حذف کنیم؟
بهبود تجربه کاربری: وقتی کاربر با محصولات تکراری مواجه شود، احتمال دارد که گیج شود و نتواند به راحتی محصول مورد نظر خود را پیدا کند. این کار باعث کاهش رضایت مشتری و احتمال خروج از سایت میشود.
کاهش بار سرور و بهبود سرعت سایت: تعداد زیاد محصولات تکراری حجم دیتابیس را افزایش می دهد و میتواند بر عملکرد و سرعت سایت تأثیر منفی بگذارد. حذف این محصولات میتواند به پاکسازی دیتابیس وردپرس شما کمک کند.
تأثیر مثبت بر سئو: وجود چندین نسخه تکراری از یک محصول میتواند موجب ایجاد محتوای تکراری و duplicate content در سایت شود که از نظر سئو و موتورهای جستجو مضر است.
مدیریت بهینه انبار و سفارشات: با وجود محصولات تکراری، مدیریت موجودی انبار و پیگیری سفارشات سخت میشود. این مسئله باعث افزایش احتمال خطا و زمانبر بودن مدیریت فروشگاه می شود.
حذف محصولات تکراری در ووکامرس
برای حذف محصولات تکراری در ووکامرس با استفاده از کد PHP که در فایل functions.php قالب وردپرس قرار میگیرد، میتوان از روش زیر استفاده کرد. این کد با توجه به عنوان و SKU (شناسه محصول) محصولات، موارد تکراری را پیدا کرده و حذف میکند. توجه داشته باشید که قبل از اعمال هرگونه تغییر در کد، از دیتابیس و سایت خود بک آپ بگیرید.
function remove_duplicate_products() {
// دریافت تمام محصولات منتشر شده
$args = array(
'post_type' => 'product',
'posts_per_page' => -۱,
'post_status' => 'publish',
);
$products = new WP_Query($args);
// آرایه برای ذخیره محصولات بررسی شده
$product_titles = array();
$product_skus = array();
if ($products->have_posts()) {
while ($products->have_posts()) {
$products->the_post();
// دریافت عنوان و SKU محصول
$product_id = get_the_ID();
$product_title = get_the_title($product_id);
$product_sku = get_post_meta($product_id, '_sku', true);
// بررسی تکراری بودن عنوان یا SKU
if (in_array($product_title, $product_titles) || in_array($product_sku, $product_skus)) {
// حذف محصول تکراری
wp_trash_post($product_id);
echo 'محصول تکراری با عنوان ' . $product_title . ' حذف شد.<br>';
} else {
// اضافه کردن عنوان و SKU به آرایهها
$product_titles[] = $product_title;
$product_skus[] = $product_sku;
}
}
}
wp_reset_postdata();
}
// فراخوانی تابع برای حذف محصولات تکراری
add_action('init', 'remove_duplicate_products');
توضیحات کد
- این کد ابتدا تمام محصولات منتشر شده را دریافت میکند.
- عنوان و شناسه هر محصول(SKU) را بررسی میکند.
- اگر محصولی با عنوان یا SKU مشابه قبلاً وجود داشته باشد، آن محصول را به سطل زباله منتقل میکند.
- در نهایت، محصولات تکراری حذف میشوند و در پنل وردپرس، پیغامی درباره محصول حذفشده نمایش داده میشود.
نحوه استفاده
- وارد هاست خود شوید و به مسیر /wp-content/themes/your-theme/ بروید.
- فایل functions.php قالب خود را باز کنید.
- کد بالا را در انتهای این فایل قرار دهید.
- پس از ذخیره تغییرات، با بارگذاری صفحه فروشگاه، محصولات تکراری به صورت خودکار حذف خواهند شد.
توجه داشته باشید که این کد به طور موقت عمل میکند و بعد از اجرای یک بار میتوانید آن را حذف کنید.
امیدوارم که این آموزش برای شما کاربردی بوده باشد.پیروز و موفق باشید.