WooCommerce: كيفية تغيير هيكل الرابط الثابت

نشرت: 2021-09-28

قد يبدو هيكل الرابط الثابت WooCommerce غير معتاد للقادمين الجدد. هذه / product / و / product-category / الأجزاء من عنوان URL هي ميزات مميزة معروفة ، لكن بعض الخبراء لا يتفقون على أن هذه هي الطريقة الأكثر ملاءمة للتعامل مع الروابط الثابتة من حيث تحسين محركات البحث.

هناك فكرة شائعة تتمثل في الحفاظ دائمًا على بنية عنوان URL بسيطة قدر الإمكان وإزالة أي أجزاء غير ضرورية منها. لست مضطرًا إلى أخذ كلام هؤلاء الخبراء أو أنا لأن الإرشادات الرسمية من Google تقترح تجنب عناوين URL الطويلة التي تحتوي على معلمات غير ضرورية.

إذن ، ماذا يعني ذلك بالضبط لبناة متجر WooCommerce؟

بادئ ذي بدء ، يمكن اعتبار قواعد عناوين URL مثل / shop / و / product-category / و / product / غير ضرورية لأن Google تعرف كيفية تحديد صفحات المتجر والمنتج دون الحاجة إلى تحديد ذلك داخل عنوان URL.

وربما لا ترغب في إنشاء تصور خاطئ لعمق الموقع لبرامج الزحف حتى لا يصنفوا تلك الصفحات بأقل مما ينبغي. مرة أخرى ، هناك مبدأ مشهور - الصفحات الأقرب إلى المجلد الرئيسي (المجال) أكثر فائدة لمحركات البحث.

إذا كنت توافق على هذه العبارات ، فسيكون من المفيد فهم كيفية إعادة تصميم هيكل الرابط الثابت في WooCommerce. لذا اقرأ مسبقًا لمعرفة ذلك.

ما هو هيكل الرابط الثابت الافتراضي لـ WooCommerce؟

دعونا نرى كيف تعمل الروابط الثابتة الآن وما يمكننا القيام به لجعلها أكثر سهولة في الاستخدام.

هناك بعض الأشياء التي يجب أن تتأكد من الإشارة إليها عند إنشاء إعدادات الرابط الثابت:

  • قاعدة فئة المنتج (التي / فئة المنتج / بشكل افتراضي)
  • قاعدة علامة المنتج ( / product-tag / افتراضيًا)
  • قاعدة صفحة المنتج (يمكن أن تكون / product / ، / shop / أو أي قاعدة مخصصة أخرى)

ليس لديك طريقة لترك هذه الخيارات فارغة أو استخدام نفس ( / shop / ، على سبيل المثال) لكلا الروابط الثابتة. يجب أن تكون قواعد المنتج والفئات والعلامات فريدة بحيث لا تسبب تعارضًا بين التصنيفات والمشاركات والصفحات.

لذلك ، قد تكون عناوين URL الافتراضية لصفحات المتجر كالتالي:

  • لصفحات الفئات: site.com/ product-category / category-slug
  • لصفحات العلامات: site.com/ product-tag / tag-slug
  • لصفحات المنتج: site.com/ product / product-slug

في حين أنه من الجيد تمامًا بالنسبة لصفحات العلامات (ربما تحتاج إلى قاعدة ما لتحديد الفرق بين الفئات والمجموعات) ، فقد يكون استخدام هذه القواعد زائدة عن الحاجة لعناوين URL لصفحات الفئات والمنتجات.

لماذا تفكر في تغيير الروابط الثابتة الافتراضية

في بعض الأحيان ، يحث مستخدمو WooCommerce على التخلص من / product-category / و / product / القواعد أو التلاعب بهيكل عنوان URL القياسي بطرق أخرى. يحدث ذلك لسببين مهمين:

  • إنهم يرغبون في رؤية عناوين URL بسيطة وواضحة ، والتي يمكن أن تستفيد أيضًا من وجهة نظر تحسين محركات البحث
  • في حالة التبديل من CMS آخر إلى WP \ Woo والرغبة في الاحتفاظ بنفس بنية عنوان URL

من المثير للجدل ما إذا كانت إزالة تلك الأجزاء من عنوان URL يمكن أن تحسن نتائج SEO الخاصة بك. لكنه السبب الأكثر شيوعًا الذي يجعل الناس يفكرون في تدمير بنية الرابط الثابت الافتراضي لـ WooCommerce.

هناك عدد قليل من المصادر المحترمة التي تخبرنا بكيفية هيكلة الروابط الثابتة ولماذا تكون عناوين URL الأقصر أفضل - عوامل ترتيب محرك البحث Backlinko (النقطة رقم 10) وأفضل ممارسات Moz لهيكلة عناوين URL (النقطتان رقم 6 ورقم 11).

في حالة بدء تشغيل موقع ويب جديد ، فمن الآمن إجراء مثل هذه التجارب ومعرفة كيف يساعد ذلك في تحسين محركات البحث. في حين أن تغيير الروابط الثابتة على موقع ويب راسخ بالفعل قد يكون أمرًا محفوفًا بالمخاطر. سأشرح مخاوفي أكثر.

فيما يتعلق بتغيير الروابط الثابتة لمطابقة عناوين URL القديمة لموقع الويب الخاص بك ، من ناحية أخرى ، يبدو هذا معقولًا ويترك لك المزيد من الفرص لعدم الإضرار بسجل تتبع مُحسنات محركات البحث.

كيفية إزالة / product-category / و / product / من روابط WooCommerce الثابتة

تعد الطرق التالية آمنة للاستخدام على مواقع الويب الجديدة عندما لا تحتاج إلى اللعب مع عمليات إعادة التوجيه 301 لجعل المستخدمين وبرامج الزحف لديك يعرفون أن عنوان URL قد تم تغييره.

أول شيء عليك القيام به هو الذهاب إلى إعدادات WP> الروابط الثابتة وانتقل إلى " قاعدة فئة المنتج " واكتب "." (نقطة) كقاعدة مخصصة.

ثم الصق هذا المقتطف في ملف jobs.php الخاص بك:

add_filter( 'request', function( $vars ) {

    global $wpdb;

    if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {

        $slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );

        $exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));

        if( $exists ){

            $old_vars = $vars;

            $vars = array('product_cat' => $slug );

            if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )

                $vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];

            if ( !empty( $old_vars['orderby'] ) )

                    $vars['orderby'] = $old_vars['orderby'];

                if ( !empty( $old_vars['order'] ) )

                    $vars['order'] = $old_vars['order'];    

        }

    }

    return $vars;

});

ثم أضف عامل تصفية لإزالة / product / base من عنوان URL لصفحة المنتج:

function na_remove_slug( $post_link, $post, $leavename ) {

        if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {

        return $post_link;

    }

        $post_link = str_replace( '/product/', '/', $post_link );

        return $post_link;

}

add_filter( 'post_type_link', 'na_remove_slug', 10, 3 );

function change_slug_struct( $query ) {

        if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {

        return;

    }

                if ( ! empty( $query->query['name'] ) ) {

                $query->set( 'post_type', array( 'post', 'product', 'page' ) );

                } elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) {

                $query->set( 'post_type', array( 'post', 'product', 'page' ) );

        // We also need to set the name query var since redirect_guess_404_permalink() relies on it.

        $query->set( 'name', $query->query['pagename'] );

    }

}

add_action( 'pre_get_posts', 'change_slug_struct', 99 );

تم أخذ المقتطفات من مناقشة StackOverflow هذه ويبدو أنها تعمل بشكل جيد لمعظم المستخدمين باستثناء بعض الحالات:

  • ستستجيب عناوين URL التقليدية مع ظهور خطأ 404. لذلك ، إذا تمت فهرسة هذه الصفحات مسبقًا ، فتأكد من إنشاء عمليات إعادة توجيه 301 إلى الصفحات المقابلة.
  • قد لا يعمل مع ترقيم الصفحات أو يسبب مشاكل مع المرشحات ، اعتمادًا على السمة والمكوِّن الإضافي الذي تستخدمه.

كيفية إعداد قواعد الروابط الثابتة المتقدمة باستخدام الروابط الثابتة المخصصة لـ WooCommerce

على الرغم من أن WooCommerce في وثائقهم تحذرنا من إزالة / product / أو / product-category / أو / shop / من عناوين URL ، يمكنك الانتقال والبحث عن Custom Permalinks لملحق WooCommerce داخل السوق الرسمي الخاص بهم. يوفر لك الطريقة الأكثر أمانًا لتغيير خيارات الرابط الثابت الافتراضية للفئات وصفحات المنتج.

تتوفر بعض المتغيرات من الروابط الثابتة لصفحات الفئات هنا:

ارتباط الفئة وحده يعني ببساطة إزالة / فئة المنتج / جزء من جميع عناوين URL ، وترك النطاق + فئة الفئة.

المسار الكامل يعني إزالة / فئة المنتج / وإضافة سبيكة الفئة الأصلية (إذا كانت الفئة بها واحدة) قبل سبيكة الفئة المقابلة.

هناك أيضًا العديد من الخيارات لصفحات المنتج:

ستزيل سبيكة المنتج وحدها أي جزء زائد من عنوان URL وتترك المجال + سبيكة المنتج فقط.

سيؤدي ارتباط المنتج مع اسم الفئة إلى إنشاء الإصدار الأكثر شيوعًا من عنوان URL للمنتج: النطاق + سبيكة الفئة + سبيكة المنتج .

يعمل المسار الكامل بالطريقة نفسها التي يعمل بها الخيار رقم 2 مع استثناء واحد - فهو يوسع عنوان URL باستخدام سبيكة الفئة الأصلية إذا كانت فئة المنتج الأصلي بها واحدة.

يزيل هذا المكون الإضافي مشكلات ترقيم الصفحات والفلترة ، ويعمل بشكل مستقل عن قالبك ويحميك من العواقب المحتملة الناتجة عن الزاحف.

الشيء الوحيد الذي يجب الحذر منه أثناء تغيير هذه الروابط الثابتة هو عناوين URL المكررة. تحقق جيدًا مما إذا لم يكن لديك صفحات أو أنواع منشورات بنفس الارتباطات الفاصلة مثل الفئات أو المنتجات. إذا وجدت بعضها ، فتأكد من تغيير تلك الارتباطات الرخوة إلى فريدة لتجنب التكرارات.

كيفية إضافة ملحقات مثل .html إلى عناوين المواقع

بصراحة ، لا أعرف ما إذا كانت هناك أي فوائد أو عيوب للقيام بهذا تحسين محركات البحث. لكن الكثير من الناس يطلبون ذلك ، لذلك لا يمكننا تجاهل هذا الموضوع.

ربما يكون السبب الرئيسي وراء بحثك عن حل لهذا هو الترحيل من CMS آخر . إذا قررت الانتقال من نظام أساسي آخر إلى WooCommerce ، فقد ترغب في نسخ عناوين URL القديمة (مثل تلك التي تحتوي على html في النهاية).

بالطبع ، يمكنك استخدام عمليات إعادة التوجيه 301 لإعلام الجميع بعناوين URL الجديدة الخاصة بك ، لكننا غالبًا ما نلاحظ انخفاضًا طفيفًا في حركة المرور ومواقع SERP بعد ملء موقع ويب بمجموعة من 301 عملية إعادة توجيه لبعض الوقت. ربما لا علاقة لها بإعادة التوجيه نفسها لأنها ، كما تقول Google ، لا تعاقب PageRank على استخدام عمليات إعادة التوجيه بعد الآن.

ولكن نظرًا لأسباب أخرى تتعلق بترحيل المحتوى وواجهة المستخدم الجديدة وفرص الروابط المعطلة ، فقد لا ترغب في المخاطرة ومحاولة إعادة إنشاء نفس عناوين URL لديك.

تمنحك الروابط الثابتة المخصصة لـ WooCommerce الفرصة لإضافة أي امتداد في نهاية عنوان URL ، سواء كان .html أو .php. أو .htm أو أي شيء تريده:

كيفية تجنب مشاكل تحسين محركات البحث بعد تغيير الروابط الثابتة

يتمثل الجزء الصعب من تغيير عناوين URL في تكرارات المحتوى وأخطاء 404 وعمليات إعادة التوجيه.

عندما تتلاعب بعناوين URL على موقع ويب تم إنشاؤه مؤخرًا دون أي سجل تتبع للمجال وترتيب الصفحة وعناوين URL في فهرس Google ، فلا داعي للقلق. لا تتردد في إجراء التجارب واختيار أي تركيبة رابط ثابت تريده.

ولكن عندما يتعلق الأمر بتغيير الروابط الثابتة على موقع ويب له تاريخ ومواقف SERP عالية الجودة ، يجب عليك التحقق جيدًا من هذه الأركان الأربعة:

  1. هل توجد أي صفحات أو منشورات أو تصنيفات أو أنواع منشورات مخصصة أو كيانات أخرى محتملة لها نفس الارتباط التقريبي مثل الفئات أو صفحات المنتج؟ إذا وجدت البعض ، ففكر في تغيير الرخويات إلى الرخويات الفريدة لتجنب التعارضات.
  2. انتقل إلى وحدة تحكم بحث Google الخاصة بك وتحقق من الصفحات التي تحتوي على ردود 404. إذا وجدت بعض الروابط المعطلة ، يجب أن تفحص ملف sitemap.xml بحثًا عنها أو أي صفحات موقع ويب أخرى ، حيث يمكنك وضع الروابط القديمة يدويًا.
  3. في حالة وجود فرصة لا يزال من الممكن اكتشاف عناوين URL القديمة في مكان ما ، تأكد من تضمين علامة "rel = canonical" . هذا ضروري للسماح لبرامج الزحف بمعرفة الصفحة التي تُنسب إليها المحتوى ، ومن ثم لن تعاقبك Google على إنشاء نسخ مكررة.
  4. لا تنسَ عمليات إعادة التوجيه 301 بأي حال من الأحوال. إنه أمر بالغ الأهمية لزوار الموقع وكذلك للزواحف. بعد تغيير الروابط الثابتة ، لن يكون الوصول إلى الروابط القديمة متاحًا بعد الآن ، لذلك سيتلقى الجميع ، بما في ذلك برامج الزحف ، أخطاء 404 لزيارتهم. إذا قمت بتغيير الروابط الثابتة بالنص البرمجي ، فإنني أوصي بتثبيت المكون الإضافي Redirection للتعامل مع عمليات إعادة التوجيه .

ولكن يمكنك النوم جيدًا: ستنشئ الروابط الثابتة المخصصة لـ WooCommerce عمليات إعادة التوجيه 301 و "rel = canonical" لعناوين URL القديمة بمجرد تغيير بنية الرابط الثابت. وأيضًا ، جنبًا إلى جنب مع المكون الإضافي Yoast ، سيقومون بإنشاء خريطة موقع جديدة نيابة عنك مع عناوين URL المناسبة فيها.

استنتاج

تحذرنا WooCommerce من عواقب تغيير الروابط الثابتة - تباطؤ موقع الويب وتضارب عناوين URL. ولكن بالنظر إلى أن هذا البيان تم إصداره منذ وقت طويل ، ومنذ ذلك الحين ، تحققوا من هذا المكون الإضافي المتميز الذي يقوم بهذا الشيء بالضبط ، فربما غيرت WooCommerce رأيهم بشأن مسألة الروابط الثابتة.

هل سيساعد ذلك في تحسين محركات البحث؟

حسنًا ، هذا سؤال أكثر تعقيدًا. بعض الباحثين يقولون نعم. يوصي بعض خبراء تحسين محركات البحث بتقليل عدد المجلدات في المسار إلى المنتجات والفئات وتصميم عناوين URL أقصر. لكنني أترك هذا القرار متروك لك. في النهاية ، لا توجد حقيقة مطلقة عندما يتعلق الأمر بـ SEO.

وإذا اخترت أن تجربها ، فكيف تفعل ذلك بأمان؟

إذا كنت تقوم بإنشاء موقع ويب جديد ، فيمكنك اختيار أي طريقة تريدها - إضافة مقتطفات من التعليمات البرمجية أو تثبيت المكون الإضافي ، يبدو أن كلاهما آمن. فقط لا تنس التحقق مما إذا كان كل شيء في مكانه في ملف sitemap.xml وما إذا كانت هناك أي تعليقات على جانب وحدة تحكم بحث Google.

إذا كنت تفكر في التلاعب بالروابط الثابتة على موقع موجود ، فإنني أوصيك بشدة باستخدام المكون الإضافي الذي تم التحقق منه. ربما لا تريد إغراء القدر والعبث بروابط معطلة أو نسخ محتوى مكررة أو إنشاء حلقة إعادة توجيه بطريق الخطأ.

يمكن أن يغطي المكون الإضافي جميع احتياجاتك ، وسيساعدك الدعم المتاح على WooCommerce.com في التعامل مع المشكلات المحتملة. نظرًا لأن الروابط الثابتة ضرورية لتحسين محركات البحث ، فسيكون بمثابة كابوس أن تُترك بمفردك مع مثل هذه المشكلة.