بهینه سازی سرعت لاراول با پکیج Page Speed

Laravel Page Speed نام یک پکیج است که توسط رناتو مارینو برای بهینه سازی اتوماتیک سایت شما ایجاد شده است. این بسته از mod_pagespeed گوگل الهام گرفته است و قابلیت های زیر را ارائه می کند:

  • inline_css : فایل های css خارجی کوچک را به صورت Inline در می آورد
  • elide_attributes : خصیصه های غیرضروری را از تگ های HTML حذف می کند
  • insert_dns_prefetch : تگ هایی را به بخش Head صفحه می افزاید تا مرورگر بتواند عمل DNS Prefetching را انجام دهد
  • remove_quotes : کوتیشن های غیرضروری را حذف می کند
  • trim_urls : پیشوندهای غیرضروری را از ابتدای url ها بر می دارد
  • collapse_whitespace : فضاهای خالی غیرضروری را از کدهای HTML بر می دارد
  • remove_comments : کامنت های HTML را بر می دارد

امکانات بیشتر کم کم در حال اضافه شدن به این پکیج هستند مثل Combine فایل های CSS برای قرار دادن چند فایل css در یک فایل و Combine فایل های Javascript که کار مشابهی را این بار روی فایل های جاوا اسکریپت انجام می دهد.

عمل بهینه سازی به این صورت انجام می شود که یک middleware برای هر نوع از عملیات های بهینه سازی بالا تعریف می کنیم که بعد از آن می توانیم آنها را به یک route ویا گروهی از route ها اعمال کنیم:

//app/Http/Kernel.php

protected $middleware = [
...
\RenatoMarinho\LaravelPageSpeed\Middleware\InlineCss::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\ElideAttributes::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\InsertDNSPrefetch::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\RemoveComments::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\TrimUrls::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\RemoveQuotes::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace::class,
]

همچنین می توانید route هایی را از این قاعده مستثنا کنید برای این کار در فایل تنظیمات پکیج باید به این صورت عمل کنید:

'skip' => [
'*.pdf', // Ignore all routes with final .pdf
'*/downloads/*',// Ignore all routes that contain 'downloads'
]

برای اطلاعات بیشتر در مورد این پکیج و مستندات آن می توانید به این مخزن گیت هاب مراجعه کنید.

در همین رابطه :   روت Resource لاراول برای API: چطور متدهای Create/Edit را حذف کنیم؟

منبع

 

دسته بندی : Laravel

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

More in تجهيزات همراه
تفاوت بین طراحی صنعتی Apple و Samsung در چیست ؟

استیو جابز پدر شرکت اپل همیشه توجه خاصی به القای حس غرور در هنر و صنعت داشت . طراح ارشد...

Close