لا يوجد تحسين صغير جدًا عندما يتعلق الأمر بأداء الويب. بمرور الوقت ، يمكن أن تبدأ الكثير من هذه الحيل والتحسينات الصغيرة في تقليل وقت التحميل الإجمالي ، اليوم نريد أن نشارك معك كيفية تعطيل التضمينات في ووردبريس.
عندما أطلقوا WordPress 4.4 ، قاموا بدمج ميزة oEmbed في النواة. ربما تكون قد رأيت هذا أو استخدمته من قبل. يتيح ذلك للمستخدمين تضمين مقاطع فيديو YouTube وتغريدات والعديد من الموارد الأخرى على مواقعهم ببساطة عن طريق لصق عنوان URL ، والذي يحوله WordPress تلقائيًا إلى تضمين ويوفر معاينة مباشرة في المحرر المرئي. على سبيل المثال ، قمنا بلصق عنوان URL هذا من يوتيوب : وتم تحويله إلى ما تراه أدناه. يمكنك مشاهدة القائمة الرسمية لأنواع التضمين المدعومة .
لقد كان WordPress مستهلكًا كاملاً لفترة طويلة ، ولكن مع التحديث ، أصبح ووردبريس نفسه مزودًا مدمجًا . هذه الميزة مفيدة لكثير من الأشخاص ، وقد ترغب في الإبقاء عليها ممكّنة. ومع ذلك ، ما يعنيه هذا هو أنه ينشئ أيضًا طلب HTTP إضافيًا على موقع ووردبريس الخاص بك الآن لتحميل ملف wp-embed.min.js. وهذا يتم تحميله في كل صفحة. بينما يبلغ حجم هذا الملف 1.7 كيلوبايت فقط ، فإن مثل هذه الأشياء تضاف بمرور الوقت. يكون الطلب نفسه أحيانًا أكبر من حجم تنزيل المحتوى.
جدول المحتويات
تعطيل التضمينات في ووردبريس
هناك عدة طرق لتعطيل التضمينات في ووردبريس. يمكنك القيام بذلك باستخدام مكون إضافي مجاني ، مع رمز ، أو مضمن JS المصغر.
1. قم بتعطيل التضمينات في ووردبريس مع البرنامج المساعد
الطريقة الأولى لتعطيل التضمينات هي ببساطة استخدام مكون إضافي مجاني يسمى Disable Embeds ، تم تطويره بواسطة Pascal Birchler وهو في الواقع أحد المساهمين الأساسيين في WordPress.
هذا البرنامج المساعد خفيف الوزن للغاية ، فقط 3 كيلوبايت على وجه الدقة. حتى كتابة هذا المقال ، يوجد حاليًا أكثر من 20,000 عملية تثبيت نشطة بتصنيف 4.8 من 5 نجوم. يمكنك تنزيله من مستودع WordPress أو من خلال البحث عنه في لوحة معلومات WordPress الخاصة بك ضمن الإضافات "إضافة جديدة". لا يوجد شيء لتكوينه ، ما عليك سوى تثبيته وتنشيطه وسيختفي ملف JavaScript الإضافي. يتميز بما يلي:
- يمنع الآخرين من تضمين موقعك.
- يمنعك من تضمين مواقع أخرى غير مدرجة في القائمة البيضاء.
- تعطيل تحميل ملف JavaScript على موقع ووردبريس الخاص بك.
لا يزال بإمكانك تضمين أشياء من YouTube و Twitter باستخدام البرامج النصية لتضمين iframe . يمكنك أيضًا استخدام مكون إضافي مميز مثل perfmatters (تم تطويره بواسطة أحد أعضاء فريق Kinsta) ، والذي يسمح لك بتعطيل التضمينات إلى جانب التحسينات الأخرى لموقع ووردبريس الخاص بك.
2. تعطيل التضمينات في ووردبريس بأستخدام الكود
إذا كنت لا ترغب في تثبيت مكون إضافي آخر ، فيمكنك أيضًا تعطيل التضمينات مع التعليمات البرمجية. ابدأ بإنشاء نسخة احتياطية من موقعك ، ثم قم بإنشاء سمة فرعية حتى لا تضيع تغييراتك إذا قمت بتحديث القالب الخاص بك. بعد ذلك ، أضف ما يلي إلى ملف functions.php الخاص بالقالب الفرعي.
ملاحظة: الكود مصدره المكون الإضافي Disable Embeds أعلاه.
مهم! قد يؤدي تحرير شفرة المصدر لقالب ووردبريس WordPress إلى كسر موقعك إذا لم يتم بشكل صحيح. إذا لم تكن مرتاحًا لفعل ذلك ، فيرجى مراجعة أحد المطورين أولاً ، أو اضف الكود في المكون الاضافي الخاص بالموقع لتجنب مشاكل القالب.
function disable_embeds_code_init() {
// Remove the REST API endpoint.
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// Turn off oEmbed auto discovery.
add_filter( 'embed_oembed_discover', '__return_false' );
// Don't filter oEmbed results.
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// Remove oEmbed discovery links.
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );
// Remove all embeds rewrite rules.
add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
// Remove filter of the oEmbed result before any HTTP requests are made.
remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
}
add_action( 'init', 'disable_embeds_code_init', 9999 );
function disable_embeds_tiny_mce_plugin($plugins) {
return array_diff($plugins, array('wpembed'));
}
function disable_embeds_rewrites($rules) {
foreach($rules as $rule => $rewrite) {
if(false !== strpos($rewrite, 'embed=true')) {
unset($rules[$rule]);
}
}
return $rules;
}
أو يمكنك أيضًا استخدام الدالة wp_dequeue_script.
function my_deregister_scripts(){
wp_dequeue_script( 'wp-embed' );
}
add_action( 'wp_footer', 'my_deregister_scripts' );
3. JS المضمنة المصغرة
الخيار الثالث هو الحصول على محتويات ملف wp-embed.min.js وتضمينها في السطر ملفات JS المصغرة. يجب أن يتم ذلك فقط مع الملفات الصغيرة أو عندما لا يكون هناك الكثير من التعليمات البرمجية. سيكون هذا إذا كنت تريد ببساطة التخلص من طلب HTTP ولكنك لا تزال تترك الدعم للتضمينات.
هذا هو كل شيء ، اتمنى من انك استفدت من هذا المنشور لتعطيل التضمينات في ووردبريس.
أحدث المقالات