
آیا از کندی لود شدن صفحات سایت فروشگاهی خود خسته شدهاید؟ آیا میخواهید تجربه کاربری سایت خود را بهبود بخشید و سرعت لود صفحات را افزایش دهید؟ یکی از راههای موثر برای این کار، نمایش ثابت منو محصولات در تمامی صفحات سایت بدون نیاز به واکشی مجدد از پایگاه داده است.
در این مقاله، به شما آموزش میدهیم که چگونه منوی محصولات را بدون بارگذاری مجدد در فریمورک محبوب لاراول در تمامی صفحات نمایش دهید.
پس با زنون همراه باشید!
چرا نمایش ثابت منو محصولات مهم است؟
- افزایش سرعت لود صفحات: هر بار که یک صفحه از سایت شما لود میشود، درخواستهای متعددی به پایگاه داده ارسال میشود. با نمایش ثابت منو محصولات، تعداد این درخواستها کاهش یافته و در نتیجه سرعت لود صفحات به طور قابل توجهی افزایش مییابد.
- بهبود تجربه کاربری: زمانی که کاربر در حال مرور محصولات شما است، نمایش ثابت منو محصولات باعث میشود که او به سرعت و به راحتی به محصولات مورد نظر خود دسترسی پیدا کند.
- کاهش بار سرور: با کاهش تعداد درخواستها به پایگاه داده، بار سرور شما نیز کمتر شده و در نتیجه پایداری سایت شما افزایش مییابد.
چگونه منو محصولات را به صورت ثابت نمایش دهیم؟
برای نمایش ثابت منو محصولات در لاراول، میتوانیم از روشهای مختلفی استفاده کنیم. یکی از سادهترین و موثرترین روشها، استفاده از Blade و کش کردن است.
- ایجاد یک Blade Component: ابتدا یک کامپوننت Blade ایجاد میکنیم که مسئول نمایش منو محصولات باشد. در این کامپوننت، محصولات مورد نظر را از پایگاه داده واکشی کرده و به صورت یک لیست نمایش میدهیم.
- کش کردن کامپوننت: برای کش کردن کامپوننت، از تابع
cache()لاراول استفاده میکنیم. این تابع به ما اجازه میدهد تا خروجی کامپوننت را برای مدت زمان مشخصی در حافظه کش کنیم. - نمایش کامپوننت در Layout: کامپوننت ایجاد شده را در فایل layout اصلی سایت خود فراخوانی میکنیم. به این ترتیب، منو محصولات در تمامی صفحات سایت نمایش داده میشود.
روشهای مختلف کش کردن در لاراول
- Cache::remember(): برای کش کردن ساده و موقتی مناسب است.
- Redis: برای کش کردن پیچیدهتر و با عملکرد بهتر، میتوان از Redis استفاده کرد.
- Memcached: این حافظه کش مبتنی بر حافظه برای ذخیره دادههای کوچک و سریع بسیار مناسب است.
معرفی تابع Cache::remember
تابع Cache::remember() یکی از روشهای رایج برای کش کردن در لاراول است. این تابع سه آرگومان میگیرد:
- کلید کش: یک رشته منحصر به فرد برای شناسایی دادههای کش شده.
- مدت زمان کش: مدت زمانی که دادهها در حافظه کش باقی میمانند (بر حسب دقیقه).
- یک تابع ناشناس : این تابع وظیفه تولید دادههای مورد نظر را بر عهده دارد. اگر دادهها در حافظه کش موجود نباشند، این تابع اجرا شده و نتیجه آن در حافظه کش ذخیره میشود.
@php
$products = Cache::remember('products', 60, function () {
return Product::all();
});
@endphp
<ul>
@foreach ($products as $product)
<li>{{ $product->name }}</li>
@endforeach
</ul>
در کد بالا:
'products'کلید کش است.60نشان میدهد که دادهها برای 60 دقیقه در حافظه کش باقی میمانند.- تابع ناشناس
Product::all()را اجرا کرده و تمام محصولات را از پایگاه داده بازیابی میکند.
بهینهسازی بیشتر عملکرد با استفاده از Lazy Loading
اگر لیست محصولات شما بسیار طولانی است، میتوانید از Lazy Loading استفاده کنید تا تنها محصولات قابل مشاهده در صفحه اولیه بارگذاری شوند. این کار باعث میشود که سرعت لود صفحه اولیه به طور قابل توجهی افزایش یابد.
تأثیر نمایش ثابت منو محصولات بر SEO
نمایش ثابت منو محصولات به طور مستقیم بر سئو تأثیر نمیگذارد. اما با افزایش سرعت لود صفحات، تجربه کاربری بهبود یافته و این امر به طور غیرمستقیم بر سئو سایت شما تأثیر مثبت خواهد داشت.
موتورهای جستجو سایتهایی را که سرعت لود بالایی دارند و تجربه کاربری خوبی را ارائه میدهند، بیشتر دوست دارند.
جمعبندی
با استفاده از تابع Cache::remember() و ایجاد یک کامپوننت Blade، میتوانید منو محصولات سایت خود را به صورت ثابت نمایش داده و به طور قابل توجهی سرعت لود صفحات را افزایش دهید. این کار به بهبود تجربه کاربری و افزایش رضایت مشتریان شما کمک خواهد کرد.
دیدگاهتان را بنویسید