در ووکامرس، صفحات دستهبندی محصولات نقش بسیار مهمی در ساختار سئو سایت دارند، اما بهصورت پیشفرض امکانات محدودی برای تولید محتوای متنی در اختیار مدیر سایت قرار میدهند. معمولاً این صفحات فقط شامل نام دسته و لیست محصولات هستند و همین موضوع باعث میشود فرصت ارزشمندی برای هدفگیری کلمات کلیدی اصلی از دست برود. در حالی که صفحات دستهبندی محصولات، یکی از بهترین نقاط برای جذب ترافیک ارگانیک از گوگل محسوب میشوند.
در این آموزش، یک راهکار حرفهای و سبک برای افزودن محتوای اختصاصی به دستهبندی محصولات ووکامرس ارائه شده است. با استفاده از این کد، یک فیلد جدید با ویرایشگر کامل وردپرس به بخش افزودن و ویرایش دستهبندی محصولات اضافه میشود. این فیلد امکان درج محتوای متنی سئو شده، تصاویر، لینکها و حتی شورتکدها را فراهم میکند و هیچ وابستگیای به افزونههای سنگین سئو ندارد.
محتوای واردشده برای هر دسته، بهصورت امن در متادیتای همان دستهبندی ذخیره میشود. این روش باعث میشود محتوای دستهها مستقل از قالب سایت باشد و با تغییر قالب یا بروزرسانی ووکامرس از بین نرود. همچنین از نظر فنی کاملاً استاندارد بوده و با ساختار اصلی وردپرس و ووکامرس سازگاری کامل دارد.
برای نمایش این محتوا در فرانتاند سایت، یک شورتکد اختصاصی در نظر گرفته شده که فقط در صفحه دستهبندی محصولات اجرا میشود. این شورتکد محتوای مرتبط با همان دسته را فراخوانی کرده و آن را بهصورت جمعشده نمایش میدهد. در صورتی که کاربر تمایل داشته باشد، میتواند با کلیک روی دکمه «مطالعه بیشتر» محتوای کامل دسته را مشاهده کند و دوباره آن را ببندد.
این شیوه نمایش، هم از نظر تجربه کاربری و هم از نظر سئو بسیار مؤثر است. موتورهای جستجو به متن کامل صفحه دسترسی دارند و همزمان کاربر بدون مواجهه با محتوای طولانی و شلوغ، میتواند سریعتر به لیست محصولات برسد. نتیجه این رویکرد، افزایش زمان حضور کاربر در صفحه، کاهش نرخ پرش و بهبود رتبه صفحات دستهبندی ووکامرس در نتایج جستجو خواهد بود.
از آنجایی که خروجی محتوا بهصورت شورتکد ارائه میشود، میتوان آن را بهراحتی در قالبهای مختلف، المنتور یا ویرایشگر گوتنبرگ استفاده کرد. این انعطافپذیری باعث میشود کنترل کامل روی محل نمایش محتوا و استایلدهی آن داشته باشید و در آینده نیز بتوانید قابلیتهایی مانند اسکیما، FAQ یا بهینهسازیهای پیشرفتهتر را به آن اضافه کنید.
در مجموع، اگر هدف شما بهبود سئو دستهبندی محصولات ووکامرس، افزایش کیفیت محتوای صفحات آرشیو و ارائه تجربه کاربری بهتر بدون افت سرعت سایت است، این کد یک راهکار اصولی، حرفهای و قابل توسعه محسوب میشود.
3️⃣ نمایش محتوا با شورتکد
این شورتکد:
-
فقط در صفحه دسته محصول (
product_cat) اجرا میشود -
محتوای دسته جاری را میخواند
-
متن را بهصورت جمعشده نمایش میدهد
-
دکمه «مطالعه بیشتر / بستن» دارد
راهنمای استفاده (گامبهگام)
✅ مرحله 1: افزودن کد
کد را در یکی از این محلها قرار دهید:
-
فایل
functions.phpقالب -
یا افزونه Code Snippets (پیشنهادی)
✅ مرحله 2: ثبت محتوا برای دسته
-
وارد پیشخوان وردپرس ← محصولات ← دستهبندیها
-
یک دسته را ویرایش کنید
-
فیلد «محتوای دسته» را پر کنید
-
ذخیره کنید
✅ مرحله 3: نمایش محتوا در سایت
در قالب یا المنتور، شورتکد زیر را در محل دلخواه صفحه آرشیو قرار دهید:
پیشنهاد: بالای لیست محصولات یا بعد از توضیح کوتاه دسته
// نمایش فیلد محتوای جدید در صفحه ویرایش دسته
add_action( 'product_cat_edit_form_fields', 'tav_edit_term_content_field', 20, 2 );
function tav_edit_term_content_field( $term, $taxonomy ) {
$content = get_term_meta( $term->term_id, 'content', true );
?>
<tr class="form-field">
<th scope="row"><label for="content">محتوای دسته</label></th>
<td>
<?php
wp_editor(
$content,
'content',
array(
'textarea_name' => 'content',
'textarea_rows' => 12,
'media_buttons' => true,
'teeny' => false,
)
);
?>
<p class="description">محتوای کامل دستهبندی را اینجا وارد کنید.</p>
</td>
</tr>
<?php
}
// برای صفحه افزودن دسته
add_action( 'product_cat_add_form_fields', 'tav_add_term_content_field', 20 );
function tav_add_term_content_field( $taxonomy ) {
?>
<div class="form-field">
<label for="content">محتوای دسته</label>
<?php
wp_editor(
'',
'content',
array(
'textarea_name' => 'content',
'textarea_rows' => 12,
'media_buttons' => true
)
);
?>
</div>
<?php
}
add_action( 'edited_product_cat', 'tav_save_term_content_field', 10, 2 );
add_action( 'created_product_cat', 'tav_save_term_content_field', 10, 2 );
function tav_save_term_content_field( $term_id, $tt_id ) {
if ( isset( $_POST['content'] ) ) {
update_term_meta( $term_id, 'content', wp_kses_post( $_POST['content'] ) );
}
}
// شورتکد:
add_shortcode( 'product_cat_content', function( $atts ) {
// گرفتن ID دسته فعلی
if ( is_tax('product_cat') ) {
$term_id = get_queried_object_id();
} else {
return '';
}
// محتوای ذخیرهشده
$content = get_term_meta( $term_id, 'content', true );
if ( empty( $content ) ) return '';
// خروجی HTML با دکمه مطالعه بیشتر
ob_start();
?>
<div class="tav-toggle-content-wrapper">
<div class="tav-toggle-content collapsed">
<?php echo wpautop( do_shortcode($content) ); ?>
</div>
<button class="tav-toggle-btn">مطالعه بیشتر</button>
</div>
<style>
.tav-toggle-content-wrapper { position: relative; }
.tav-toggle-content {
max-height: 180px; /* ارتفاع اولیه */
overflow: hidden;
transition: max-height .4s ease;
}
.tav-toggle-content.expanded {
max-height: 2800px; /* ارتفاع بزرگ برای باز شدن */
}
.tav-toggle-btn {
margin-top: 12px;
background: #0073aa;
color: #fff;
padding: 8px 14px;
border-radius: 6px;
border: none;
cursor: pointer;
font-size: 14px;
}
.tav-toggle-btn:hover {
background: #005f8c;
}
</style>
<script>
document.addEventListener("DOMContentLoaded", function () {
const wrapper = document.querySelector(".tav-toggle-content-wrapper");
if (!wrapper) return;
const content = wrapper.querySelector(".tav-toggle-content");
const btn = wrapper.querySelector(".tav-toggle-btn");
btn.addEventListener("click", function () {
if (content.classList.contains("expanded")) {
content.classList.remove("expanded");
btn.textContent = "مطالعه بیشتر";
} else {
content.classList.add("expanded");
btn.textContent = "بستن";
}
});
});
</script>
<?php
return ob_get_clean();
});


