Middle+
Чӣ гуна ба беҳтар кардани иҷрои вебсайт кӯмак мерасонед?
sobes.tech AI
Ҷавоб аз AI
- Беҳтарсозии тасвирҳо:
- Истифодаи форматҳои муосир, ба монанди WebP.
- Таҳрири тасвирҳо бе аз даст додани сифат.
- Lazy loading барои тасвирҳо берун аз минтақаи намоён.
- Тасвирҳои ҷавобгӯ бо истифодаи
<picture>ёsrcset.
- Минфикатсия ва таҳрири захираҳо:
- Минфикатсия кардани HTML, CSS ва JavaScript.
- Gzip ё Brotli таҳрири барои захираҳои матнӣ.
- Кэшгирӣ:
- Кэшгирии браузер бо истифода аз сариҳолҳои HTTP (
Cache-Control,Expires). - Кэшгирии дар ҷониби сервер.
- Истифодаи Service Workers барои дастрасии офлайн ва кэшгирии мураккаб.
- Кэшгирии браузер бо истифода аз сариҳолҳои HTTP (
- Беҳтарсозии роҳи муҳим барои рендеринг:
- боркунии таъхирӣ барои CSS ва JavaScript ғайриқатъӣ.
- боркунии асинхронӣ (
async,defer). - CSS-и муҳимро дарунӣ кардан.
- Кам кардани шумораи дархостҳои HTTP:
- Иҷрои якҷояи файлҳои CSS ва JavaScript (аммо бо эҳтиёт дар HTTP/2).
- Истифодаи спрайтҳо барои нишонаҳои хурд.
- Вуруд кардани захираҳои хурд (масалан, шрифтовҳо ё SVGs) ба CSS бо истифодаи data URIs.
- Беҳтарсозии шрифтов:
- Истифодаи форматҳои муосир (WOFF2).
- ҷойгиркунии локалӣ.
- боркунии пешакӣ (
preload). - Истифодаи
font-displayбарои идоракунии намоиши шрифтов.
- Самаранокии JavaScript:
- Беҳтарсозии алгоритмҳо ва сохторҳои додаҳо.
- Кам кардани шумораи амалҳои DOM.
- Истифодаи делегацияи рӯйдодҳо.
- тақсим кардани коди (code splitting).
- Беҳтарсозии рендеринг ва тасвир:
- Ҳаросати хусусиятҳои гаронбаҳо ва услубҳои CSS.
- Истифодаи
will-change. - Беҳтарсозии анимациялар ва гузаришҳо.
- Истифодаи CDN (Content Delivery Network).
- Беҳтарсозии қисми серверӣ:
- Посухи зуд аз сервер.
- Беҳтарсозии дархостҳо ба базаи додаҳо.
// Намунаи боркунии сустии тасвир
const images = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
delete img.dataset.src;
observer.unobserve(img);
}
});
});
images.forEach(image => {
observer.observe(image);
});
<!-- Намунаи истифодаи async ва defer барои скриптҳо -->
<script src="script1.js" async></script>
<script src="script2.js" defer></script>
/* Намунаи истифодаи font-display */
@font-face {
font-family: 'MyFont';
src: url('myfont.woff2') format('woff2');
font-display: swap; /* Имкон медиҳад браузер ба истифодаи шрифтҳои захиравӣ ҳангоми боркунӣ */
}