إذا كنت تقرأ هذا، فمن المحتمل أنك سئمت من نصائح أداء ووردبريس القياسية. الروتين المعتاد - تثبيت WP Rocket، إضافة إضافة تحسين الصور، وإضافة مدير الأصول - غالباً ما يؤدي إلى مفارقة: تقوم بتثبيت إضافات لتسريع موقعك، لكن الإضافات نفسها تضيف تضخماً في قاعدة البيانات، ومهام كرون خلفية، وأحمال 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 الخاص بك.
تمكين الضغط على مستوى الخادم (بروتلي بدلاً من جزيب)
بينما جزيب هو المعيار، بروتلي (المطور من قبل جوجل) يوفر نسب ضغط أفضل بحوالي 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 Caching (Nginx) أو LiteSpeed Cache
بدلاً من استخدام إضافة تخزين مؤقت تعتمد على PHP (والتي لا تزال تتطلب تحميل WordPress جزئياً لخدمة التخزين المؤقت)، قم بالتخزين المؤقت على مستوى خادم الويب. يقوم Nginx FastCGI caching بتخزين HTML المولّد في RAM أو على القرص ويخدمه مباشرة، متجاوزًا تمامًا PHP وMySQL للزوار المجهولين.
2. التعزيز والتقليص عبر wp-config.php
ال wp-config.php الملف هو غرفة التحكم الخاصة بك. بشكل افتراضي، يسمح WordPress ببعض السلوكيات التي تثقل قاعدة البيانات الخاصة بك بمرور الوقت.
أضف هذه المقتطفات مباشرة قبل /* That's all, stop editing! Happy publishing. */ السطر.
تحديد مراجعات المنشورات
بشكل افتراضي، يقوم WordPress بتخزين مراجعات غير محدودة لمنشوراتك. المنشور الذي تم تحديثه 50 مرة سيكون لديه 50 نسخة في wp_posts جدول قاعدة البيانات، مما يبطئ استعلامات قاعدة البيانات بشكل كبير.
// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );
تحسين فترة الحفظ التلقائي
يقوم WordPress بالحفظ التلقائي كل 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 المقتطف الرئيسي
يقوم WordPress الأساسي بحقن كمية هائلة من نصوص الدعم القديمة وروابط الاكتشاف والأنماط المضمنة في و بشكل افتراضي.
لتحقيق أقصى استفادة من المعلومات على المنافسين، لن نخبرك فقط بـ “استخدام إضافة إزالة الانتفاخ”. إليك الكود الدقيق لإزالة الانتفاخ الشائع في WordPress بدقة.
ملاحظة: أضف هذا إلى 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 الخاص بك، مما يستهلك موارد وحدة المعالجة المركزية.
تحويل WebP/AVIF يدوي
قبل تحميل أي صورة إلى WordPress، قم بتمريرها عبر أداة ضغط خارجية بدون فقدان مثل Squoosh.app (من Google) أو TinyPNG. والأفضل من ذلك، قم بتحويلها إلى .webp أو .avif التنسيقات محلياً قبل التحميل.
استفد من التحميل البطيء الأصلي
منذ WordPress 5.5، أصبح التحميل البطيء الأصلي مدمجًا. يضيف WordPress تلقائيًا 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
عادةً ما تحتوي إضافات التحسين على زر “تنظيف قاعدة البيانات”. يمكنك القيام بذلك أصلاً على مستوى قاعدة البيانات.
- سجل الدخول إلى لوحة الاستضافة وافتح phpMyAdmin.
- حدد قاعدة بيانات WordPress الخاصة بك.
- مرر إلى الأسفل، حدد تحديد الكل.
- في القائمة المنسدلة “مع المحدد:”، اختر تحسين الجدول.
سيقوم MySQL بإعادة بناء فهارس الجدول واستعادة المساحة غير المستخدمة. قم بذلك يدويًا مرة واحدة في الشهر.
الحكم
تحسين ووردبريس بدون إضافات لا يتعلق فقط بتوفير المال على الاشتراكات المميزة. إنها فلسفة تقليل الديون التقنية. كل إضافة لا تقوم بتثبيتها هي ثغرة أمنية لا تحتاج إلى تصحيحها، وجدول قاعدة بيانات لا تحتاج إلى تنظيفه، ونص PHP لا يحتاج خادمك إلى تنفيذه.
انقل عبء العمل إلى الخادم (PHP 8.1+، Nginx FastCGI)، وفرض الانضباط في wp-config.php، واقطع التضخم الأساسي باستخدام functions.php. سينعكس الفرق في وقت البايت الأول (TTFB) ومؤشرات أداء الويب الأساسية.



