← بازگشت به صفحه اصلی

📋 Overview

یک Controller کامل و پیشرفته برای بهینه‌سازی PageSpeed سایت که با معماری MVC سازگار است و در پوشه Admin قرار دارد.

🎯 ویژگی‌های اصلی

1. Resource Loading Optimization

2. Preloading Strategy

3. Critical CSS

4. WordPress Optimization

5. Admin Panel

📁 ساختار فایل‌ها

app/
└── Admin/
    └── PageSpeedController.php       # Controller اصلی (منتقل شده به Admin)

views/
└── admin/
    └── pagespeed.php                  # صفحه تنظیمات Admin

assets/
└── src/
    └── js/
        └── pagespeed-admin.js         # JavaScript اصلی (بدون نیاز به کامپایل)

🚀 نحوه استفاده

فعال‌سازی

Controller به صورت خودکار در functions.php فعال شده است:

use XPayMain\Admin\PageSpeedController;

PageSpeedController::register();

دسترسی به تنظیمات

  1. به پنل مدیریت WordPress بروید
  2. منوی XPayPageSpeed را انتخاب کنید
  3. تنظیمات مورد نظر را فعال کنید
  4. روی Save Settings کلیک کنید

⚙️ تنظیمات موجود

Resource Loading

Critical CSS

WordPress Features

🔧 Hooks و Filters

Frontend Hooks

// اضافه کردن فونت‌های بحرانی
add_filter('xpay_critical_fonts', function($fonts) {
    $fonts[] = [
        'url' => 'path/to/font.woff2',
        'type' => 'woff2'
    ];
    return $fonts;
});

// اضافه کردن استایل‌های بحرانی
add_filter('xpay_critical_styles', function($styles) {
    $styles[] = 'path/to/critical.css';
    return $styles;
});

// اضافه کردن دامنه‌های خارجی برای DNS Prefetch
add_filter('xpay_external_domains', function($domains) {
    $domains[] = '//cdn.example.com';
    return $domains;
});

📊 بهبودهای PageSpeed

مشکلات برطرف شده:

✅ Network Dependency Tree

✅ Script Loading

قبل:

Initial Navigation (2,041 ms)
  ├─ price-table.css (2,118 ms)
  ├─ main.css (2,123 ms)
  ├─ jquery.min.js (2,126 ms)
  └─ coin-filter.js (2,425 ms)
      ├─ coin-search.js (2,456 ms)
      ├─ bottom-sheet.js (2,846 ms)
      └─ view-more-coins.js (2,961 ms) ❌

بعد:

Initial Navigation (< 1,000 ms) ✅
  ├─ Critical CSS (Inlined)
  ├─ main.css (Preloaded)
  ├─ price-table.css (Preloaded)
  └─ jquery.min.js (Immediate)
      └─ Other scripts (Deferred) 🚀

🎨 تنظیمات پیشرفته

Defer Specific Scripts

// در PageSpeedController::addAsyncDeferAttributes()
$defer_scripts = [
    'coin-filter',
    'coin-search',
    'bottom-sheet',
    'view-more-coins',
    'custom-script-handle'  // اضافه کردن handle جدید
];

Async Scripts

$async_scripts = [
    'google-analytics',
    'gtag',
    'custom-analytics'  // اضافه کردن handle جدید
];

🧪 تست سرعت

استفاده از Speed Test Tool

  1. به صفحه XPay → PageSpeed بروید
  2. در Sidebar روی Run Speed Test کلیک کنید
  3. نتیجه در میلی‌ثانیه نمایش داده می‌شود

رنگ‌بندی نتایج:

🔄 Cache Management

پاک کردن Cache

// Programmatically
delete_transient('xpay_critical_css');

// یا از طریق Admin Panel
// کلیک روی دکمه "Clear Cache"

📱 Responsive Admin

رابط کاربری Admin به صورت کامل Responsive طراحی شده:

🛠️ توسعه و Debug

فعال‌سازی Debug Mode

define('XPAY_PAGESPEED_DEBUG', true);

لاگ‌ها

تمام عملیات‌ها در WordPress debug.log ثبت می‌شوند (اگر WP_DEBUG فعال باشد).

⚡ Performance Metrics

قبل از بهینه‌سازی:

بعد از بهینه‌سازی:

🔒 امنیت

📚 منابع مفید

ابزارهای تست سرعت:

ابزارهای Critical CSS:

🤝 مشارکت

برای گزارش مشکلات یا پیشنهادات، لطفاً با تیم توسعه تماس بگیرید.

📄 License

این کد تحت مجوز تیم XPay توسعه یافته است.


نسخه: 1.0.0
آخرین بروزرسانی: نوامبر 2025
توسعه دهنده: XPay Development Team