كيفية تحسين ووردبريس للسرعة بدون إضافات (دليل الكود فقط)

نُشر في | بواسطة
6 دقائق قراءة

إذا كنت تقرأ هذا، فمن المحتمل أنك سئمت من نصائح أداء ووردبريس التقليدية. الروتين المعتاد - تثبيت WP Rocket، وإضافة إضافة لتحسين الصور، وإضافة مدير أصول - غالباً ما يؤدي إلى مفارقة: أنت تقوم بتثبيت إضافات لتسريع موقعك، لكن الإضافات نفسها تضيف انتفاخاً لقاعدة البيانات، ومهام cron في الخلفية، وحمولات CSS/JS خاصة بها.

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

في هذا الدليل، سنتجاوز نظام الإضافات بالكامل. سنقوم بتحسين ووردبريس باستخدام تكوينات جانب الخادم، wp-config.php والتعديلات، و functions.php المقتطفات البرمجية الدقيقة.


1. أساس جانب الخادم (لا يتطلب PHP)

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

الترقية إلى PHP 8.1+

يعمل ووردبريس على PHP. الانتقال من PHP 7.4 إلى PHP 8.1 أو 8.2 يمكن أن يؤدي إلى تقليل وقت التنفيذ بنسبة 20-30% وخفض استهلاك الذاكرة بشكل كبير. الإجراء: قم بتغيير هذا في cPanel أو Plesk أو عبر CLI إذا كنت تدير خادم VPS الخاص بك.

تمكين الضغط على مستوى الخادم (Brotli بدلاً من Gzip)

بينما يعتبر Gzip معياراً، Brotli (الذي طورته جوجل) يوفر نسب ضغط أفضل بنحو 15-20% لملفات النصوص (HTML, CSS, JS) بنفس تكلفة وحدة المعالجة المركزية. الإجراء (Nginx): تأكد من أن nginx.conf لديك Brotli مفعلاً:

brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;

قم بتنفيذ التخزين المؤقت FastCGI (Nginx) أو LiteSpeed Cache

بدلاً من استخدام إضافة تخزين مؤقت تعتمد على PHP (والتي لا تزال تتطلب تحميل ووردبريس جزئياً لتقديم التخزين المؤقت)، قم بالتخزين المؤقت على مستوى خادم الويب. يقوم تخزين Nginx FastCGI المؤقت بتخزين HTML الذي تم إنشاؤه في ذاكرة الوصول العشوائي (RAM) أو على القرص ويقدمه مباشرة، متجاوزاً PHP و MySQL تماماً للزوار المجهولين.


2. التقوية والتقليص عبر wp-config.php

إن wp-config.php ملف هو غرفة التحكم الخاصة بك. افتراضياً، يسمح ووردبريس بسلوكيات معينة تؤدي إلى تضخم قاعدة بياناتك بمرور الوقت.

أضف هذه المقتطفات مباشرة قبل /* That's all, stop editing! Happy publishing. */ السطر.

تحديد مراجعات المنشورات

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

// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );

تحسين الفاصل الزمني للحفظ التلقائي

يقوم ووردبريس بالحفظ التلقائي كل 60 ثانية. إذا كان لديك عدة محررين يعملون، فهذا يرهق قاعدة البيانات. قم بزيادة الفاصل الزمني.

// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );

إفراغ سلة المهملات بشكل أسرع

تبقى المنشورات والتعليقات المحذوفة في قاعدة البيانات لمدة 30 يوماً. قلل هذه المدة للحفاظ على قاعدة البيانات خفيفة.

// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );

3. مقتطف functions.php مكافحة التضخم الرئيسي

يقوم نواة ووردبريس بحقن كمية هائلة من نصوص دعم الأنظمة القديمة، وروابط الاكتشاف، والأنماط المضمنة في  و 

 افتراضياً.

لتحقيق أقصى قدر من كسب المعلومات مقارنة بالمنافسين، لن نخبرك فقط بـ "استخدام إضافة لتقليل التضخم". إليك الكود الدقيق لإزالة تضخم ووردبريس الأكثر شيوعاً جراحياً.

ملاحظة: أضف هذا إلى قالبك الفرعي (Child Theme) functions.php أو إضافة mu-plugin.

/**
 * The Ultimate WordPress Debloat Snippet
 */
add_action('init', function() {
    // 1. Remove RSD, XMLRPC, and WLW links
    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wlwmanifest_link');
    add_filter('xmlrpc_enabled', '__return_false');

    // 2. Remove WordPress version footprint (Security & Speed)
    remove_action('wp_head', 'wp_generator');

    // 3. Remove Shortlinks and REST API links from header
    remove_action('wp_head', 'wp_shortlink_wp_head');
    remove_action('wp_head', 'rest_output_link_wp_head');

    // 4. Disable native Emojis (Saves 1 JS and 1 CSS HTTP Request)
    remove_action('wp_head', 'print_emoji_detection_script', 7);
    remove_action('wp_print_styles', 'print_emoji_styles');
    remove_action('admin_print_scripts', 'print_emoji_detection_script');
    remove_action('admin_print_styles', 'print_emoji_styles');
    remove_filter('the_content_feed', 'wp_staticize_emoji');
    remove_filter('comment_text_rss', 'wp_staticize_emoji');
    remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

    // 5. Disable oEmbeds (If you don't embed external URLs automatically)
    remove_action('wp_head', 'wp_oembed_add_discovery_links');
    remove_action('wp_head', 'wp_oembed_add_host_js');
    add_action('wp_footer', function() { wp_deregister_script('wp-embed'); });
});

/**
 * 6. Remove Global Styles (WP 5.9+ Inline CSS Bloat)
 */
add_action('wp_enqueue_scripts', function() {
    wp_dequeue_style('global-styles');
    wp_dequeue_style('classic-theme-styles');
}, 100);

/**
 * 7. Remove jQuery Migrate (If using modern themes/plugins)
 */
add_action('wp_default_scripts', function($scripts) {
    if (!is_admin() && isset($scripts->registered['jquery'])) {
        $script = $scripts->registered['jquery'];
        if ($script->deps) {
            $script->deps = array_diff($script->deps, ['jquery-migrate']);
        }
    }
});

/**
 * 8. Throttle the Heartbeat API
 * Prevents high CPU usage when leaving the WP Admin open
 */
add_filter('heartbeat_settings', function($settings) {
    $settings['interval'] = 60; // Throttle to 60 seconds
    return $settings;
});

ما الذي حققناه للتو؟

بإضافة الكود أعلاه، قمت فوراً بالتخلص من ما يصل إلى 5-8 طلبات HTTP غير ضرورية وإزالة عشرات الأسطر من CSS/JS المضمنة من كل تحميل للصفحة—كل ذلك دون تثبيت إضافة واحدة.


4. تحسين الوسائط (الطريقة الصعبة)

إضافات مثل Smush أو Imagify مريحة، لكنها تقوم بمعالجة الصور على خادم PHP الخاص بك، مما يستهلك موارد المعالج (CPU).

تحويل WebP/AVIF اليدوي

قبل تحميل أي صورة إلى ووردبريس، قم بتشغيلها عبر ضاغط خارجي بدون فقدان للبيانات مثل Squoosh.app (من جوجل) أو TinyPNG. والأفضل من ذلك، قم بتحويلها إلى .webp أو .avif تنسيقات محلياً قبل التحميل.

الاستفادة من التحميل الكسول الأصلي (Native Lazy Loading)

منذ إصدار ووردبريس 5.5، أصبح التحميل الكسول الأصلي مدمجاً. يضيف ووردبريس تلقائياً loading="lazy" إلى صورك. لا تحتاج إلى إضافة تحميل كسول تعتمد على JavaScript. ومع ذلك، تأكد من أن صورك "فوق الطية" (مثل شعارك أو الصورة الرئيسية) لا تحتوي على هذه السمة، لأنها ستؤخر أكبر محتوى مرسوم (LCP).

يمكنك إزالة التحميل الكسول للصورة الأولى في الصفحة عبر functions.php:

add_filter( 'wp_get_attachment_image_attributes', function( $attr, $attachment, $size ) {
    static $is_first_image = true;
    if ( $is_first_image ) {
        $attr['loading'] = 'eager'; // Force immediate load for LCP
        $is_first_image = false;
    }
    return $attr;
}, 10, 3 );

5. إلغاء تجزئة قاعدة البيانات عبر phpMyAdmin

عادةً ما تحتوي إضافات التحسين على زر "تنظيف قاعدة البيانات". يمكنك القيام بذلك أصلياً على مستوى قاعدة البيانات.

  1. سجل الدخول إلى لوحة تحكم الاستضافة وافتح phpMyAdmin.
  2. اختر قاعدة بيانات ووردبريس الخاصة بك.
  3. انتقل إلى الأسفل، حدد تحديد الكل.
  4. في القائمة المنسدلة "مع المحدد:"، اختر تحسين الجدول.

سيقوم MySQL بإعادة بناء فهارس الجدول واستعادة المساحة غير المستخدمة. قم بذلك يدوياً مرة واحدة في الشهر.


الحكم

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

انقل عبء العمل إلى الخادم (PHP 8.1+، Nginx FastCGI)، وفرض الانضباط في wp-config.php، وقم بتقليص تضخم النواة باستخدام functions.php. ستعكس سرعة الاستجابة الأولية (TTFB) ومؤشرات أداء الويب الأساسية الفرق.

Ajay Malik

أجاي مالك هو مطور ووردبريس ومستقل متميز يتمتع بخبرة تزيد عن 8 سنوات.