IBF ir tikai online uzņēmējdarbība forums un bezmaksas sludinājumu dēlis – dalība ir bez maksas ar pilnu piekļuvi visām sadaļām; maksas konti piedāvā papildu priekšrocības kā baneri un vietu jaunumu izsūtnē. ✅ Paraksta saites pieejamas visiem. 🚫 Aizliegts publicēt ar mākslīgo intelektu (LLM) radītu saturu – dalies ar saviem viedokļiem, pretējā gadījumā konts var tikt dzēsts.

Paspēlēsimies ar ibf ielādes ātrumu

HelmutsHelmuts is verified member.

Administrator
Personāla loceklis
IBF.lv
Pievienojies
18. Oktobris 2017
Ziņas
129
Reakciju rezultāts
7
Esošā situācija:
CMS: WordPress
Tēma: Enfold (custom child tēma)
Foruma funkcionalitāte: BBpress
Host: 20i
CDN: netiek izmantots
dns: 20i default nameservers
wp pluginu skaits: 26 (traki vai ne?)
Ātrumu nodrošina: Autoptimize
Datubāzi optimizē: WP-Optimize
Bildes spiež: WP-Optimize (max compression)

Problēma: ielādes ātrums ar FB video pirmajā lapā (FB video +1 sec salīdzinot ar embedotu YouTube video) = 10sec :(

Uzdevums: Uzlikt uz max diētas un iegūt ielādes ātrumu zem 1 sec :) .. sanāks?

ibf.lv ielādes ātrums - GTMetrix screenshot


ibf.lv ielādes ātrums - YSlow GTMetrix screenshot


ibf.lv ielādes ātrums - GTMetrix Waterfall ielādes ātrumu screenshot


Screenshotos norādītā GTMetrix pārbaudes saite: https://gtmetrix.com/reports/www.ibf.lv/eFWj3GAV
 
1) mainam tēmu

Izvēlēšos Astra >> https://wpastra.com/

Kāpēc? Viegla, ātra, viegli maināma, personīgi labi zināma :), varēšu viegli spēlēties ar header/footer (tos taisīt max vieglus un labus)
 
Aiziet! Salīdzinam uzreiz 2 tēmas, kāpēc gan aprobežoties tikai ar Astra? ;)

Taisam testu: Astra vs Neve:

// Jāpiemin: no malas noņemti reklāmas un mūsu draugu baneri >> un tas viennozīmīgi atvieglo ielādes ātrumu, jā, varbūt ne daudz, bet tomēr..//

Rezultāti:

1) Testējam wordpress tēmu Neve:

Testējam wordpress tēmu Neve


testa saite: https://gtmetrix.com/reports/www.ibf.lv/GTy0lHSJ

Pieminēšu to, ka šajā gadījumā headerī vēl ir maza "search" ikoniņa, kuru nospiežot atveras meklētājs.

---

2) Testējam wordpress tēmu Astra (bezmaksas):

Testējam wordpress tēmu Astra (bezmaksas)


testa saite: https://gtmetrix.com/reports/www.ibf.lv/vjjwy2TA

---

Uzvarētājs: pārliecinoši uzvar wordpress tēma Neve ar 1.1 sekundes ātrāku ielādes ātrumu.

:) lapa jau ir paātrināta gandrīz par 50% un mēs tikai sākam.

---

p.s. jāpiemin, ibf agrāk ielādējās daudz labāk, jo bija optimizēts iepriekšējam serverim (siteground) un izmantoja šīs serveru kompānijas izstrādāto caching pluginu.
 
ejam tālāk: sākam dzēst ārā pluginus.

1. piegājienā dzēšanai sagatoti (deaktivizēti) uzreiz sekojoši 12 plugini:

12 plugini sagatavoti dzēšanai


.. dzēšot pluginus, skatos, hopā :o ... vienu no tiem - WP User Avatar nevar izdzēst... ok, ar to tiksim galā vēlāk:

WP User Avatar nevar izdzēst


---

nākošais solis: izdzēst liekos datus no datubāzes, kas palikuši pēc pluginu izņemšanas. Šim uzdevumam lietoju WP Optimize. Atverot lapu, redzu, ka tur ir vēl šis aizķēries tas jau no daudz senāk arī dzēstiem pluginiem >> dzēšam visu ārā:

liekie tables datubāzē








kk

pēc lieko atlikumu dzēšanas, optimizējam datubāzi un šis darbiņš ir izdarīts:

optimizācija paveikta


tālāk dodamies taisīt ātruma testu un priecāties.. cerams :)
 
.. un še tev :D :D ielādes laiks īpaši mainījais nav.. liekas savādi.. salīdzinu ar iepriekšējo un redzu, ka ir pieaudzis "Requests" skaits >> no 87 uz veseliem 108 :o

nākošais gtmetrix ātruma tests


gtmetrix testa saite: https://gtmetrix.com/reports/www.ibf.lv/BIqhGVKj

.. nāksies iedziļināties..
 
.. eju uzreiz tālāk un deaktivizēju vēl 4 pluginus..

deaktivizēti vēl 4 wordpress plugini


visi 4 izdzēšas bez problēmām - wp user avatar ne par ko nevēlas pamest ibf.. hmmm.. man arī patiesībā to negribas :D

4 plugini izdzēsti


.. pārbaudu atlikumus datubāzē > gdpr plugins bija atstājis aiz sevis drazu >> dzēsta.

aktivizēju atpakaļ wp user avatars (izdzēsīšu vēlāk) > optimizēju datubāzi > un taisam jaunu testu:

ielādes ātrums 5.4 sekundes un redzam, ka pieaudzis 1 request > daudziem liksies, ka tas ir mega daudz, tomēr mēs esam tikai sākuši :)

ielādes ātrums 5.4 sekundes un redzam, ka pieaudzis 1 request


testa atskaites saite: https://gtmetrix.com/reports/www.ibf.lv/fuSZiB2o
 
nākošais solis diezgan brutāls: izdzēsti Elementor un Autoptimizer

papildus: no 1. lapas izņemts Facebook video, Google reklāmas bloks un visu foruma kategorijas saraksts (to var viegli atrast no top menu).

rezultāts, ho ho ho!! >> 1. lapas ielādes ātrums 2.7 sekundes un tikai 39 requests!!

pēc elementor un autoptimizer izdzēšanas, lapas ielādes ātrums 2.7 sekundes


testa saite: https://gtmetrix.com/reports/www.ibf.lv/lurgK1Id
 
ejam tālāk > testējam vienu no maniem iecienītākajiem cache pluginiem "Cache Enabler".

Tālāk būs 2 testi, kur atšķirsies tikai cache minification veidi:

tests 1: "html"

molais tests


un papildus attiecībā uz lapas ielādi uz mobilajiem tālruņiem:

mw4xl7ajtg8sa29so5esoiyykoy3stq4.png


lietas, kuras var uzlabot


tālāk, attiecībā par lapas ielādi uz datora:

tests


sfq5asviagqgmbvw90ev7gur88qafo7x.png


ko labot uz datora


---

tests 2: "html & inline js"

uz mobilajām ierīcēm:

rf7zisbnws7h48xnmgz287dmzdkkemrv.png


83dc2qndoecin83f63h8w8sd5017pt6n.png


un iespējas, ko vajadzētu uzlabot:

iespejas


un pie šiem pašiem iestatījumiem, google pagespeed ielādes ātruma tests uz datora:

fx5b0wz60mcu5d9divqoblqymovloeuu.png


5d5es3htbxzhm2k1du45zf7z1if9tt5o.png


un ko būtu ieteicams labot un kam pievērst uzmanību, lai lapa ātrāk ielādētos uz datora:

kam vajadzētu pievērst uzmanību, lai lapa ātrāk ielādētos uz datora


-----

-----

Uzvarētājs: "HTML" minifikācija (jau iepriekš biju ievērojusi, ka šādi lapas strādā vislabāk).

--

Jāpiezīmē > skaitliskie ielādes dati vienmēr atšķirsies atšķirībā no dotā mirkļa servera noslodzes.
 
nākošais: plugins Asset CleanUP .. šo jau lieku ar drebošām rokām.. pavisam negribās :/

1) saglabāju pamatiestatījumus

2) eju uz "combine js & css" (pirms tam pārbaudīju vai var aiziet atpakaļ - var). ..

bang:

gtmetrix tests pēc Asset CleanUP uzlikšanas un konfigurācijām

gtmetrix tests pēc Asset CleanUP uzlikšanas un konfigurācijām


un Google pagespeed tests pēc Asset CleanUP uzlikšanas:

Google pagespeed tests pēc Asset CleanUP uzlikšanas:


.. un šeit ir vēl kur strādāt:

ir vēl ko darīt..


----

ar šo tests ir oficiāli pabeigts :)

piebildīšu, ka man liekas, ka ibf lādējās krietni ātrāk pirms Asset CleanUP uzlikšanas, kaut arī pie vainas var būt slavenais Lielbritānijas vakara internets (no 18:00-00:00 ātrumi krītās līdz 95%).

papildus jāpiebilst, ka pirmā lapa būs smagāka: man ir obligāti jāuzliek Alvini baneris, par kuru ibf-am tiek regulāri maksāts :)

.. un bez šaubām, es šeit nemaz pat nepieķēros smagajiem lādiņiem: premium dns un cdn risinājumiem :) .. un, kā redzams, šeit vēl var daudz un daudz ko darīt :)

Mērķis saniegts.. atzīšos, ka neticēju, ka sanāks tik ātri un viegli :D :D

kādas tavas pārdomas?
 
ejam tālāk... modificējam .htaccess

Kods:
# Ātrākai ibf ielādei - sākums

<IfModule mod_deflate.c>

# Insert filters / compress text, html, javascript, css, xml:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/vtt 

AddOutputFilterByType DEFLATE text/x-component

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/js

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/x-httpd-php

AddOutputFilterByType DEFLATE application/x-httpd-fastphp

AddOutputFilterByType DEFLATE application/atom+xml 

AddOutputFilterByType DEFLATE application/json

AddOutputFilterByType DEFLATE application/ld+json 

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 

AddOutputFilterByType DEFLATE application/x-font-ttf 

AddOutputFilterByType DEFLATE application/x-web-app-manifest+json 

AddOutputFilterByType DEFLATE font/opentype 

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon 



# Exception: Images

SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png)$ no-gzip dont-vary



# Drop problematic browsers

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html



# Make sure proxies don't deliver the wrong content

<IfModule mod_headers.c>

Header append Vary User-Agent env=!dont-vary

</IfModule>



</IfModule>



<IfModule mod_deflate.c>

# Insert filters / compress text, html, javascript, css, xml:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/vtt 

AddOutputFilterByType DEFLATE text/x-component

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/js

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/x-httpd-php

AddOutputFilterByType DEFLATE application/x-httpd-fastphp

AddOutputFilterByType DEFLATE application/atom+xml 

AddOutputFilterByType DEFLATE application/json

AddOutputFilterByType DEFLATE application/ld+json 

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 

AddOutputFilterByType DEFLATE application/x-font-ttf 

AddOutputFilterByType DEFLATE application/x-web-app-manifest+json 

AddOutputFilterByType DEFLATE font/opentype 

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon 



# Exception: Images

SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png)$ no-gzip dont-vary



# Drop problematic browsers

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html



# Make sure proxies don't deliver the wrong content

<IfModule mod_headers.c>

Header append Vary User-Agent env=!dont-vary

</IfModule>



</IfModule>



## EXPIRES CACHING ##

<IfModule mod_expires.c>

ExpiresActive On

ExpiresDefault "access plus 1 week"



ExpiresByType text/css "access plus 1 month"



ExpiresByType application/atom+xml "access plus 1 hour" 

ExpiresByType application/rdf+xml "access plus 1 hour"

ExpiresByType application/rss+xml "access plus 1 hour" 



ExpiresByType application/json "access plus 0 seconds"

ExpiresByType application/ld+json "access plus 0 seconds"

ExpiresByType application/schema+json "access plus 0 seconds"

ExpiresByType application/vnd.geo+json "access plus 0 seconds"

ExpiresByType application/xml "access plus 0 seconds"

ExpiresByType text/xml "access plus 0 seconds" 



ExpiresByType image/x-icon "access plus 1 month"

ExpiresByType image/vnd.microsoft.icon "access plus 1 month"



ExpiresByType text/html "access plus 1 minute"



ExpiresByType text/javascript "access plus 1 month"

ExpiresByType text/x-javascript "access plus 1 month"

ExpiresByType application/javascript "access plus 1 months"

ExpiresByType application/x-javascript "access plus 1 months"



ExpiresByType image/jpg "access plus 1 month"

ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType image/svg+xml "access plus 1 month" 

ExpiresByType image/bmp "access plus 1 month"

ExpiresByType image/webp "access plus 1 month"



ExpiresByType audio/ogg "access plus 1 month" 



ExpiresByType video/mp4 "access plus 1 month" 

ExpiresByType video/ogg "access plus 1 month" 

ExpiresByType video/webm "access plus 1 month" 



ExpiresByType text/plain "access plus 1 month"

ExpiresByType text/x-component "access plus 1 month" 



ExpiresByType application/manifest+json "access plus 1 week"

ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"

ExpiresByType text/cache-manifest "access plus 0 seconds"



ExpiresByType application/pdf "access plus 1 month"



ExpiresByType application/x-shockwave-flash "access plus 1 month"



ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

ExpiresByType font/eot "access plus 1 month"

ExpiresByType font/opentype "access plus 1 month" 

ExpiresByType application/x-font-ttf "access plus 1 month" 

ExpiresByType application/font-woff "access plus 1 month" 

ExpiresByType application/font-woff2 "access plus 1 month"

ExpiresByType application/x-font-woff "access plus 1 month"

ExpiresByType font/woff "access plus 1 month"



</IfModule>

## EXPIRES CACHING ##



#Alternative caching using Apache's "mod_headers", if it's installed.

#Caching of common files - ENABLED

<IfModule mod_headers.c>



# 1 Month

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">

Header set Cache-Control "max-age=2592000, public"

</FilesMatch>



# 2 DAYS

<FilesMatch "\.(xml|txt)$">

Header set Cache-Control "max-age=172800, public, must-revalidate"

</FilesMatch>



# 2 HOURS

<FilesMatch "\.(html|htm)$">

Header set Cache-Control "max-age=7200, must-revalidate"

</FilesMatch>



</IfModule>



<IfModule mod_headers.c>

  <FilesMatch "\.(js|css|xml|gz|html|ttf)$">

    Header append Vary: Accept-Encoding

  </FilesMatch>

</IfModule>



<IfModule mod_gzip.c>

  mod_gzip_on Yes

  mod_gzip_dechunk Yes

  mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

  mod_gzip_item_include handler ^cgi-script$

  mod_gzip_item_include mime ^text/.*

  mod_gzip_item_include mime ^application/x-javascript.*

  mod_gzip_item_exclude mime ^image/.*

  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

</IfModule>



# Set Keep Alive Header

# This *just* sets the header - maybe your hoster is not allowing this feature

# Please check if it is working with tools like http://www.webpagetest.org

<IfModule mod_headers.c>

    Header set Connection keep-alive

</IfModule>

# Ātrākai ibf ielādei - beigas



Source: https://gist.github.com/Zodiac1978/3145830

----

Piezīme: netiek lietots pēdējais:
Kods:
# If your server don't support ETags deactivate with "None" (and remove header)



Header unset ETag



FileETag None



Rezultāts:

ielādes ātrums uzlabots pēc htaccess papildinājumiem


.. palika vēl šis.. gtmetrix yslow rāda, ka vēl var veikt labojumus:

yslow rāda, ka vēl var veikt uzlabojumus


.. so far ir ok :) ... uz šo pašlaik apstāšos :)

nākošais solis > 1. lapā apakšā ievietot sponsoru un draugu banerus
 
gatavs :) huhh.. par šo gan baidījos ;)

uzliku pluginu "Classic Editor", lai varētu redģēt lapas html režīmā un tad frontpage apakšā uztaisīju

ar statistiku (jau pirms tam bija) un blakus trīs 125x125px baneri, no kuriem 1 ir animēts gif > baidījos, ka tikšu izstumts no šīs maģiskās 1 sekundes :D :D

rezultāts:

ibf ielādes ātrums pēc Classic Editor uzstādīšanas, papildus CSS rindiņām un trīs 125px baneriem


---

kods sekojošs:

html:
Kods:
<table class="table">

	<colgroup>

		<col class="one"/>

		<col class="two"/>

		<col class="three"/>

		<col class="four"/>

	</colgroup>

  <tbody>

    <tr>

      <td >[bbpas-activity]</td>

      <td ><a href="https://kripto.media" target="_blank"><img class="aligncenter size-thumbnail wp-image-83882" src="https://www.ibf.lv/wp-content/uploads/2018/09/kriptomedia-logo-80x80.png" alt="Kriptomedia - Kriptovalūtu ziņu portāls latviešu valodā" width="125" height="125" /></a></td>

      <td ><a href="https://www.alvini.ie" target="_blank"><img class="aligncenter size-thumbnail wp-image-83572" src="https://www.ibf.lv/wp-content/uploads/2018/09/alvini.gif" alt="Alvini.ie - Jūsu Nr. 1 vape speciālists" width="125" height="125" /></a></td>

      <td ><a href="http://ibrahimslv.adpro.futurenet.club/" target="_blank"><img class="aligncenter size-thumbnail wp-image-83735" src="https://www.ibf.lv/wp-content/uploads/2018/09/futurenet2.png" alt="FutureNet.club sponsors" width="125" height="125" /></a></td>

    </tr>

  </tbody>

</table>




papildus css:
Kods:
.ibftable { table-layout: fixed; width: 100%; }

.ibftable td, th {

  border: 1px solid #aaa; 

  text-align: center; padding: 4px;

}

.ibftable col.one { width: 70%; }

.ibftable col.two { width: 10%; }

.ibftable col.three { width: 10%; }

.ibftable col.four { width: 10%; }




varbūt ir kādi ieteikumi attiecībā uz šo table? paldies :)
 
Atpakaļ
Tops