WordPress təhlükəsizlikdə kiçik, amma çox önəmli bir detal

WordPress(WP) saytların təhlükəsizliyi mövzusu çox önəmlidir, ən azı ona görə ki bu CMS dünyada ən populyar CMS-dir.
Bu yazıda sadə bir əməliyyatın, administrator istifadəçi adını fərqli etməyin nə dərəcədə önəmli olmasından bəhs edəcəyik.
Amma ilk öncə WP CMS-inin Core halında nə dərəcədə təhlükəsiz olması haqda deyim: Tam təhlükəsizdir. Heç bir əsaslandırılmamış əks fikrə inanmaq lazım deyil. Kod tərəfdən heç bir problem yoxdur, problem insan amili ilə bağlıdır ki, o haqda bəhs edəcəyik.
Sual: Bəs o halda Core halda belə əlavə təhlükəsizlik tədbirləri nəyə lazımdır? (Plugin və theme haqda bu dəfə danışmırıq)
Cavab: Ona görə lazımdır ki, WordPress nə qədər güvənli olsa da, açıq kodludur deyə strukturu hər kəsə aydındır. Və aydındır deyə, internetdə gəzib dolaşan çoxsaylı botlar arabir sizin sayta da bir tilov atacaq. Çünki hansı faylın harda yerləşdiyini bilir.

Məsələn wp-admin-ə təsadüfi post request göndərəcək 100 dəfə, təsadüfi parollarla, tutar tutar, tutmaz tutmaz. Bu tip hücumları əksər developerlər tədqiq etmir deyə say haqda təsəvvürləri yoxdur. Amma gerçək olan budur ki, hər bir WP sayt ay ərzində 100-lərlə, bəlkə minlərlə belə hücuma məruz qalır. Və hər hücumda milyonda bir ehtimal olsa belə saytın admin panelinin ələ keçirilməsi ehtimalı var.

WP təhlükəsizlik uzun mövzudur, bir yazıda ətraflı bəhs etmək olmaz. Amma cəmi 1 detalı dəyişməklə siz hücumların mütləq əksərinin qarşısını almış olursunuz. Aşağıdakı şəklə baxaq:
Screenshot from 2013-06-04 09:23:43
Burada mən Cavablar.net analitikasını aparmışam və bir gün ərzində əcnəbi İP-lərdən edilən hücumların sayına diqqət edin. Yüzlərlə hücum var, hər hücum 16 cəhddən sonra xüsusi plugin ilə blok edilib hələ, edilməsəydi say minlərlə olardı.

Gələk bugünku əsas məqama: Bütün bu hücumları bir şey birləşdirir: username = admin yoxlanılır, yalnız və yalnız. Çünki WP-də başlanğıc halda username admin olur. İnstall zamanı bircə admin username-ni dəyişməklə siz bütün bu hücumları tam mənasız etmiş olursunuz. Gördüyünüz kimi kiçik, amma çox önəmli detaldır.

Sual: Bəs artıq aktiv olan saytımda admin userini necə dəyişim, axı login-i dəyişmək icazəsi yoxdur?
Cavab: Bəli yoxdur, amma bunu asanlıqla sql admin-dən etmək olar. Məsələn girirsiniz phpmyadmin-ə, wp_users cədvəlində admin userini tapıb, user login-i dəyişib yadda saxlayırsınız, vəssalam. Və ya SQL dili ilə desək: update
wp_users set user_login=’yeni_ad’ where user_login=’admin’;

Təkrar edirəm ki, WP təhlükəsizlik tədbirləri bircə bu deyil və xeyli sayda tədbirlər var, sadəcə mən ən asan bir tədbirin necə effektiv olması haqda bəhs etmək istədim.

Qeyd: Yuxarıdakı analitikanı Limit Login Attemps plugini ilə aparmışam. Pulsuzdur, yükləyə bilərsiniz. Plugin bu tipli analiz hesabat ilə yanaşı həm də bu tip İP-ləri blok etmək imkanına malikdir.

Google Chrome və RAM problemi

Google Chrome brauzerinin performans cəhətdən ən sürətli brauzer olması heç kimə sirr deyil. Amma Webkit motoru üzərində qurulmuş bu brauzerin digər brauzerlərdən önəmli fərqlərindən biri də, hər TAB rejiminin Əməliyyat Sisteminin proseslər panelində ayrıca proses kimi olmasıdır. Yəni digər brauzerlərdə bütün brauzer yaddaşda N MB yer tutursa, Chrome-da hər tab A MB həcmdə, cəmi kifayət qədər iri olan yer tutur. Ona görə də Chrome ilə iş zamanı resursdan istifadə digər brauzerlərdən xeyli çox olur. Məsələn mən az öncə 12-15 tab-ı açıq olan Chrome-da task manager-dən baxdım, 1.5 GB resurs yeyildiyini gördüm. Əsas resursları da işlətmədiyim, uzun müddətdir passiv qalan tab-lar yeyirdi. Bu kifayət qədər pis göstəricidir,  kompüter resursunun az qala yarısını tutur.

monitor-google-chrome-memory

Background rejimdə hansısa fəaliyyətini davam etdirən tab, daxilində flash obyekt olan tab,  informasiya həcmi iri olan tab Chrome-da çox resurs yeyir. Bundan qurtulmağın primitiv yolu təbii ki, lazım olmayan tab-ları bağlamaqdır. Amma bu effektiv həll deyil. Çünki bəzi tab-lar var ki, onları hazırda işlətməsək də əl altında olması baxımdan daim açıq tutmaq gərək olur(Məndə Evernote app, Gmail, Google+, Feedly app bu qəbildən tab-lardır)

Ona görə də effektiv həll üçün 3-cü tərəf həllərə baş vuraq. Mən axtarışlardan sonra cəmi 2-sini sinamışdım və sonra 1-nin üstündə dayanmışdım və hazırda onu işlədirəm.

1. Sınadığım amma işlətmədiyim – Tabmemfree

Bu extension 15 dəqiqədən(dəyişmək də olur) artıq açmadığınız tabları avtomatik yuxuya verir. Və onların RAM-dan istifadəsi dayanır. Yuxuya vermə prinsipi sadə formada aparılır. Səhifələr yönləndirilir boş bir səhifəyə, ona görə resurs yemir, siz tab-ı açan kimi dərhal geri dönüş baş verir və tab əvvəl hansı URL-də qalmışdısa ordan da davam edir. Mənfi cəhət budur ki, bu bütün tab-lara şamil edilir, 1-2 istisna etmək imkanı yoxdur(məsələn Gmail kimi tab-lar yuxuya getməməlidir, çünki hər an vacib mail gələ bilər). İstisna imkanı PİN olunmuş tab-larçün təklif edilir. Amma yuxuya getməməsini istədiyimiz tab-ı mütləq pin etmək məcburiyyəti xoş deyil.

2. Hazırda işlətdiyim – The Great Suspender

Bu extension avtomatik yuxuya vermə xüsusiyyətinə malik deyil. Hər bir tab əllə yuxuya verilir və RAM-dan istifadəsi kəsilir. İstənilən an da harda qalmışdıqsa oradan davam etmək olur. Bu extensionun 1-cidən üstünlüyü də budur, nəyi istəyirik yuxuya veririk, nəyi istəmirik vermirik.  Mənfi cəhəti də budur ki, avtomatik yuxuya vermə funksiyası yoxdur. Avtomatik yuxuya vermə funksiyası da var. White list imkanı da var. Yəni məsələn gmail, youtube və 1-2 başqa saytı whitelist-ə əlavə edib digər bütüb tab-lar üçün avtomatik suspend aktivləşdirmək olar. Bu halda bizə lazım olan effektiv həll alınmış olur.

Screenshot from 2013-03-28 11:51:40

Güman edirəm ki, daha yaxşı extensionlar var, mən heç də çox araşdırmamışam. Bu haqda istifadə təcrübəsi olanlar və sualı olan oxucular şərh bölməsində fikirlərini yaza bilərlər.

Nexus 4 barədə ilkin təəssüratlar

3 həftədir sınamaq imkanı əldə etdiyim Google Nexus 4 smartfonu haqda ilkin təəssüratları paylaşmaq istəyirəm. Bundan öncə başqa 2 Android smartfon işlətdiyimdən(HTC Wildfire və Samsung Galaxy S2) daha yaxşı müqayisə aparmaq imkanı var.

unnamed

Nexus 4 smartfonunun özəllikləri ilə internetdə(məsələn Gsmarena.com) tanış olmaq olar.

Eləcə də performansı barədə Youtube.com-da icmallara baxmaq olar.

İndi yazacağım şəxsi təəssüratlardır, hansı ki parametrlərə yox, istifadədən sonra formalaşan fikirlərə əsaslanır.

Müsbət məqamlar  

1. Performans – Performansa söz ola bilməz. Aparat təminatı çox güclü olduğundan xeyli sayda app paralel açıldıqda belə aparatın resursları yarından azca çox dolur, bu isə aparatın heç nə olmayıbmış kimi tam sürətli işləməyinə səbəb olur. Əvvəlki smartfonlarımda bunu müşahidə etməmişdim. Bəlli olur ki, 2 GB RAM, 4 nüvəli prosessor hazırkı smartfonlar üçün artıqlaması ilə bəs edəcək parametrlərdir.

2. Pure(qarışıqsız,təmiz) Android – Təmiz Android olmasının üstünlüyü istehsalçının bizim seçimdən asılı olmayan quraşdırılmış app-larının smartfonda işə düşməsi halının olmaması, interfeysin native olması deməkdir bu da bir çox istifadəçilər üçün, o cümlədən mənim üçün müsbət məqamdır.

3. Enerji saxlaması – Enerji saxlaması əvvəlki smartfonlara nisbətən hiss ediləcək dərəcədə artıqdır.  1 sutkaya yaxın enerji saxlaya bilir. Təbii ki, optimal istifadədən də çox şey asılıdır.  Amma enerji ilə bağlı mənfi məqam da var ki, bu haqda mənfi məqamlar bölməsində yazacam.

4. Ən son Android – Nexus cihazları daim ən son Android versiyasına malik olurlar. Bu isə başqa heç bir device-da rast gəlinməyən üstünlükdür. Aparatda daim ən son ƏS versiyasından, ƏS-ə qoşulu gələn proqramların ən yeni variantından istifadə məmnun etməyə bilməz.

Mənfi məqamlar  

1. Enerji – Enerji ilə bağlı mənfi məqamın dəqiq səbəbi mənim üçün bir qədər anlaşılmazdır. Samsung Galaxy S2-də şarj 100% olandan sonra aktiv ekran rejimində istifadədə enerji bir neçə saatın içində boşalırdı. Super Amoled plus ekranlı smartfon ekran yanılı halda enerjini “içirdi”. Nexus 4-də isə elə deyil. Amma elə olmaması əsasən mənfi məqam kimi də hiss edilir. Məsələ bu ki, Galaxy S2 smartfonunu istifadə etməyəndə, cibdə qalanda, və ya gecə səhərədək interneti açıq vəziyyətdə olsa belə ekranı sönülü qalanda, ekranı açanda görürdüm ki, keçən bir neçə saatda enerji demək olar azalmayıb. Yəni Samsungda əsas problem aktiv rejimdə işləyəndə idi. Nexus-da isə sanki ekranın yanılı olub olmaması əhəmiyyət kəsb etmir. Aktiv ekran rejimində enerjiyə çox dözümlüdür, enerji daha az sürətlə əriyir, amma məsələn gecə 12-dən səhər 8-ədək sleep rejimindən sonra ekranı açanda görürsən ki, gecə azı 30% enerji xərclənib. Bu maraqlı faktın dəqiq səbəbini yəqin ki, mütəxəssislər bilər.

2. Bug – Android 4.2.2-də instant message servisi ilə bağlı bug var. Və maraqlısı odur ki, heç də bütün mobil operatorlarda rast gəlinmir. Bug bundan ibarətdir ki, çat servislərində 3G rejimində mesajlar gec çatır və gec qəbul edilir. Hiss olunacaq dərəcədə gec. 1-2 saniyəyə gəlməli olan 10-60 saniyəyə gəlir. Həmişə belə olmur, amma bəzən olur. Bu bug barədə Google Bugs-da şikayət açılıb və xeyli istifadəçi təsdiq də edib. Əksini iddia edən, hər şeyin qaydasında olduğunu deyən Nexus 4 istifadəçiləri də çoxdur. Deməli ola bilər ki, sırf bəzi mobil operatorlarla, 3G-nin tezliyi, keyfiyyəti və.s. parametrləri ilə bağlı həssaslıqdır bu. Bu təbii ki, həll olunası bug-dır, amma ən azı növbəti update-i gözləmək və ya bu bug-a malik olmayan kernel-lərdən birini müstəqil olaraq sistemə yazmaq lazımdır. Ki bunların hər birinin öz narahatlığı var. Birincisi gözləmək tələb edir, ikincisi isə sistemin qarışıqsızlığını, originallığını pozur, stabilliyi riskə salır.

3. İstehsalçı şirkətlərin əlavə etdikləri özəlliklərin pure Androiddə olmaması.
İstehsalçı şirkətlərin öz app-ları əsasən bezdirici və lazımsız olsa da, onların ƏS-ə etdiyi bəzi modifikasiyalar, bug fix-lər böyük üstünlük verir və bu modifikasiyalar pure Androiddə mövcud deyil. Məsələn Azərbaycan dilinin olması, Azərbaycan dilində klavituarın sistemin özündə olması, TouchWiz və Sense kimi tanınmış həllərin təklif etdiyi bir sıra maraqlı həllər,vidcetlər və.s. Bir sözlə sistem pure olanda onun təmiz olması müsbət məqam hesab edilsə də bu bənddə qeyd etdiyim məsələyə görə mənfi məqamlara da malikdir.

Hələ ki bu qədər. Sualı olan şərhlərdə fikrini yaza bilər.

Sən bir brend kimi

Bu yazını bir neçə ay öncə alıb oxuduğum maraqlı bir kitabdan etdiyim qeydlər və öz əlavələrim əsasında  yazıram. Yazının üslubu bir az qəribə görünə bilər, belə ki, yazıdakı üslubu kitabın üslubuna uyğun etmişəm. Bloqda yazmaqda əsas məqsədimi isə son abzasda oxuyacaqsınız. 
Brand-Yourself-on-LinkedIn

Sən brendsən, sən hazırda direktorsan- ÖZÜNÜN. Brend dedikdə şirkət adı, direktor dedikdə şirkət direktoru nəzərdə tutmuruq. Hələ ki. Söhbət səndən, bir nəfərdən, bir fərddən, orqanizmdən gedir. Sənin bacarıqların, işlərin, istirahətin, sənin rəhbəri olduğun bölmələrindir-şöbələrindir, onlara ən yaxşı şəkildə rəhbərlik sənin vəzifəndir, borcundur. Nədəsə tənbəlsən, gecikirsən, həvəs tapmırsan, əyləncəni, istirahətini düzgün və rəngarəng təşkil etmirsən, idman etməyə vaxt yoxdur – hamısının təqsiri sənin özündədir, çünki sən özünün müdirinsən, əgər vaxtı düzgün bölmürsənsə, effektivlik yoxdursa, deməli pis müdirsən, müəssisən yaxşı işləmir. Hər bir bölmən üzrə plan, idarəetmə tərtib etmək, ən yaxşı nəticəni almaq, özünü sübut etmək, potensialını meydana qoymaq gərəkdir.

Fərqi yoxdur sən hazırda hansı vəzifəni icra edirsən, tək işləyirsən ya hansısa müəssisədə işləyirsən. Sən işlədiyin/oxuduğun sahədə istehsal etdiyin hər bir məhsula can qoymalısan, wow (heyranlıq reaksiyası) proyekt olmalıdır bütün məhsulların. Məhsul deyərkən ağla sənaye, zavod gəlməsin. İşdə icra etdiyin tapşırıq da sənin məhsulundur, müstəqil yaratdığın hər hansı proyekt də məhsulundur, əmək sərf edib hasil etdiyin nəticələr sənin məhsulundur. Fərqi yoxdur hansı sahədə çalışırsan. Heç bir məhsulu/xidməti/icranı yarım qüvvəylə görməməlisən, “buna az qüvvə sərf etdim, yoxsa daha yaxşı olardı” bəhanəsi olmamalıdır, çünki buna kimsə inanmaz, çünki sən = sənin proyektlərin. Sənin proyektlərin sənin təcəllindir, sənin potensialının aynasıdır, əgər onlar pisdirlərsə, zəifdirlərsə deməli sən də zəifsən, yox əgər sən zəif deyilsənsə, onda elə et ki məhsulların da zəif olmasın. Zəif olacaq heç bir məhsul çıxarma ortaya, bütün məhsullarına can qoy, ən kiçik detalını belə işlə, ən həssas məqamlarını araşdır, var gücünü sərf et, tam potensialını yansıtdıqdan sonra məhsulu burax, təhvil ver. Məhsulu təhvil verərkən, xidməti icra edərkən bunun sənin potensialını tam əks etdirməsi şərtinə mütləq əməl et. O halda uğur qazanacağına, brendinin qiymətə minəcəyinə şübhə etmə.

Səndən az şey umulsa belə bu sənin məsuliyyətini azaltmasın, təhvil alan zəif məhsulla qane olsa belə sən var gücünü sərf edib wow proyekt hazırla, unikal ol, özünəməxsus dəst xəttə malik ol, qoy məhsulun təhvil alanı artıqlaması ilə qane etsin, brendin yüksəlsin. Məhsulun keyfiyyətli olması təhvil alandan çox sənə lazımdır. Sən işi hazırki iş yerində yaxşı icra edən nümunəvi işçi olmağa doğru yox, brendə çevrilməyə doğru getməlisən. Sən öz işində bir brend olmalısan, işlədiyin yerdən asılı olmadan, ayrılıqda, tək götürüb nəzər saldıqda bir brend hesab edilməlisən, harda işləsən, işləməsən, brend olmaq əsas ilkin vəzifədir.

İndi isə özünü bir neçə cümləylə təsvir et, sən hazırda kimsən, nəçisən? Təsvir et. Lap fərz et ki, reklam lövhəsində xidmətlərini təklif etməlisən, təcili. 4-5 cümlə ilə təsvir et özünü. Sən nə təklif edirsən istehlakçılara, potensial müştərilərə? Nəyi bacarırsan və ya bacara bilərsən, gücün çatar? Onlar səndən hansı məhsulu, xidməti ala bilərlər? Sən başqalarından fərqli nə vəd edə bilərsən onlara?

Daim istedadlı dostlar axtar, istedadlı insanları əldən buraxma, onlarla ünsiyyətə cəhd et, can at. Belə ünsiyyət fayda gətirir, hər görüşdən nəticəni çıxar, öz brendini necə təkmilləşdirə biləcəyini düşün.

Keçən həftə nə öyrəndin? Yaz bir yerə və ya say şifahi. Beləcə vaxtı boşuna keçirməyindən xəbər tutmuş ol və ya boşuna keçirməmisənsə belə daha da effektiv ola biləcəyinin fərqinə var. Hər həftəsonu bu sualı özünə ver, təqvim ilə telefonda qur, sənin yadına salsın həftəsonu, ki bu sualı özünə vermək yaddan çıxmasın.

Güvənli brendə malik ol. Tələbi qane edəcək təklifə malik ol, heç vaxt aldatma, etimadı doğrultmaq üçün var gücünlə çalış, doğrulan hər etimad irəliyə doğru addım, brendinin inkişafıdır.

Sən istehlakçıya hansı məhsul və ya xidməti təklif edirsən? Bu təkliflərə tələb varmı? Zamanla ayaqlaşa bilirmi? Daim yenilə təkliflərini, daim zamana, tələbə görə təkmilləşdir. İslahatlar apar, lazım olsa xidmət portfelində radikal dəyişikliklər də et.

Müştərilərin kimlərdir? Müştərilər pisdir, daim narazısan? Onda sənin brend də pisdir. Sən = sənin proyektlər olduğu kimi, sən = sənin müştərilər. Ona görə də müştəriləri də uyğun seqmentdən seç.
Danışıqlar aparmağı öyrən, xidmət və məhsulları qısa və lakonik təsvir etməyi bacar. Bir biznes növünə fokuslan. Yalnız bir, amma bu bir növdə müxtəlif spektrli xidmətlər məhsullar təklif et.
Üzərində daim işlə, şablon səslənsə də sözün əsl mənasında işlə. Nəyi bilirsən, nəyi bilmirsən, fərqinə var, plan tut və özünütədrislə məşğul ol. Özünü məsələn 30-35 sözlə təsvir etməyə cəhd et və bu 30-35 sözlük təsviri daim optimallaşdır. Bir yerə elə indicə yaz, 5 dəqiqə vaxt alacaq, yaz, çətin deyil. Sonralar üstündə zaman-zaman işlə.

Brend olaraq hansı missiyan var, real missiyanı təsvir et, yoxdursa yarat, şüar düşün, əsas dəyərləri formalaşdır, sənin üçün əsas olan nədir, prinsiplərin nədir?

Brendinin əsas pik hədəflərindən biri bu olsun, bunu özünə deyə biləsən: Elə bir biznes növünün elə bir spektri var ki, o spektrdə o qədər yüksək səviyyədə peşəkarlaşmışam ki, əminliklə özümə deyə bilərəm: Dünyada(heç olmasa bölgədə) bu spektrdə məhsulu/xidməti məndən daha yaxşı bacaran yoxdur. Bunu bacararsan? Çalışsan, əlbəttə ki hə.

Sən ideal brendə çevrilmək üçün etməli olduqlarından xeylisini artıq bilirsən. Bəs bu ideal obraz necə olmalıdır. Ümumi bir nümunə təsvir edək:

  • O iş vaxtı işinə tam konsentrasiya olur, fikrini tam işinə yönəldir.
  • Hazırda gördüyü iş wow-proyektdir. Yəni unikal nəyəsə malikdir, onun potensialını tam yansıdır və nəhayət tələb edən tərəfi artıqlaması ilə qane edəcək.
  • Son proyekt onun üçün çox vacibdir. O ümumiyyətlə vacib olmayan proyekti işləmir.
  • O işində macəra axtarır, ruhən dəniz piratıdır, yeknəsək deyil.
  • O həyatının tək direktorudur.
  • İddiası çox böyükdür.
  • O düşünür ki, səhv etmək nəfəs almaq qədər təbiidir, qaçılmazdır.
  • İşindən zövq qalır
  • O istedadlı dostlarla tez-tez vaxt keçirir, ünsiyyət qurur.
  • O prestijli sabit işi qeyri adi, maraqlı, inkişaf üçün ona nəsə öyrətməyi vəd edən proyektə dəyişə biləcək qədər cəsarətə malikdir.

Bu işlər bir günə həll olmur, qaçaraq yox, yeriyərək irəliləmək lazımdır, ideyalarını yaz, öz mənfi və müsbət məqamlarını qeyd et, özünü məqsədəuyğun hərəkətə sövq et, heç vaxt panikaya düşmə.

Yaz elə indi, sən kimsən, nə ilə məşğulsan? Və sən kim deyilsən? Səndə peşənlə bağlı hansı mənfi xüsusiyyətlər yoxdur?

Səni tanıyanlar(az ya çox sayda) nəyin hesabına tanıyırlar? Ən çox nəyə görə tanınmısan?
Sənin hazırki proyektlərin hansı məqamlarına görə sənə maraqlı görünür? Maraqlı görünməyən varsa, nəyə lazımdır o proyekt?
Son 90 gündə hansı önəmli biliyi mənimsəmisən?
Hədəfin nədir? Hara doğru irəliləyirsən?

Lozunqlar düşün, sənə məxsus lozunqlar. Dəyərləri, hədəfləri, inamını özündə ehtiva etsin məsələn.
Sonuncu dəfə “mən gələcəkdə özümü harda görürəm, hədəfim nə olmaqdır?” sualını özünə nə vaxt vermisən? Unutma ki, bu sualın cavabını daim əzbərdən bilməyin səni konkret hədəfə doğru yönəltmiş olar. Niyə taleyin gedişatına buraxasan axı özünü? Konkret hədəfin varmı? Yoxdursa, yarat, qoy hara getdiyini bilmiş olasan.

Öz brendin, öz direktorluğun daxilində bəzi mini-peşələrə malik olmalısan. Marketoloq, məhsul istehsalçısı, əməliyyatçı, müştərilərlə iş, satıcı, informasiya idarəetməsi, vaxt-idarəetməsi eksperti, analitik və planlaşdırma mütəxəssisi. Təbii ki bu peşələrə yiyələnmək tələb edilmir, sən sadəcə öz brendinin çərçivəsində öz xidmətlərini/məhsullarını satmaq üçün bu istiqamətlərdə müəyyən biliklər əldə etsən çox yaxşı olar.

Fikirlərimi burda yekunlaşdırıram. Ümid edirəm ki, yazı oxuyucuya motivasiya vermək istiqamətində az da olsa faydalı olar və bu istiqamətli kitablar oxumağa həvəsləndirər. Məqsəd də bu idi. Əgər yazıdan hər hansı nəticəni çıxardınızsa, elə indicə hərəkətə keçin qeydlər aparın, yazıdakı suallara cavab verin. Suallara cavab verdikdən sonra keçirəcəyiniz xoş hiss sizə çox şey deyəcək.
Bəhrələndiyim kitabın adı “The Brand Called You”, müəllifi Tom Peters. Yazıdakı cümlələr özümə məxsus olsa da, fikirlərimin ilkin mənbəyi adıçəkilən kitabdır.

Cari yazını Amazon KindlePDF formatlarında yükləmək də olar.

Web sayt yüklənmə sürətinin ciddi artırılması üsulları

page-speed

Bir çoxlarımız veb sayt hazırlayarkən standart mexanizmlərdən, qaydalardan istifadə edib saytı ərsəyə gətiririk. Amma performans haqda müşahidələrimə görə az adam düşünür. Əslində sadə metodları demək olar çox developer bilir və istifadə edir (şəkillərin həcminin çox olmamasına nəzarət, flash-dan az istifadə, bir səhifədə ağır sql sorğuların çox olmaması və.s.) Amma bəzi metodlar da var ki, onlar server səviyyəsində aparılır və effekti daha çoxdur. İndi onların əsas vacib olanları ilə tanış olaq.

Öncə bir faydalı alət haqda yazım, Google-un Make Web Faster şüarı altında təqdim etdiyi çox faydalı xidməti var. Hansı ki, saytın sürət performansını ölçərək 100 ballıq dərəcə üzrə qiymətləndirir. Mən bu yaxında bir saytda sürət performansını artırmalı idim. Yazacağım sadə addımlarla saytın sürətini 55-dən 95 bala yüksəltdim. 

  1. İlk öncə hədəf veb saytı qiymətləndirək. Buradan saytın url-ni daxil edərək nəticəni alaq: https://developers.google.com/speed/pagespeed/insights
  2. Fayl tiplərinə görə faylları serverdən sıxılmış formada ötürülməsini təmin etmək. Bu metod əsas 3 önəmli metoddan birincisidir. Bunun üçün saytda root folderdə .htaccess faylına daxil olun, yoxdursa yaradın, və aşağıdakıları əlavə edin:
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    
  3. Brauzerin sizin saytınızın statik fayllarını daha yaxşı və uzun müddət saxlaması üçün bütün fayl tiplərinə expire date təyin edin. Yenə də server-apache səviyyədə. Yenə də .htaccess-i açın, bunları yazın:
    <IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/x-component "access plus 1 month"
    # Webfonts
    ExpiresByType font/truetype "access plus 1 month"
    ExpiresByType font/opentype "access plus 1 month"
    ExpiresByType application/x-font-woff "access plus 1 month"
    ExpiresByType image/svg+xml "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
    # CSS and JavaScript
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType text/javascript "access plus 1 year"
    <IfModule mod_headers.c>
    Header append Cache-Control "public"
    </IfModule>
    </IfModule>
    

    Bu metod heç də bütün serverlərdə işləməyə bilər. Əgər hosting shared-dirsə o halda bu hostinq provider-dən asılıdır. Əgər server virtual dedicated və ya real serverdirsə o halda bu metodun işləməsini Apache modulları bölməsində EXPİRES adlı modulu aktiv etməklə təmin edə bilərsiniz. (Bəlkə də artıq aktivdir, amma yoxlamaqda fayda var)

  4. Nəhayət 3-cü metod. Bu metod server yox, browser tərədə olan CSS-ə tətbiq edilir. CSS sprite texnologiyası vasitəsilə saytınızdakı əksər statik şəkilləri(arxa fon, düymə, kiçik ikonlar və.s.) bir şəkildə birləşdirib sprite ilə onu əvvəlki görünüşdə olmaqla daha yüksək sürətlə yüklənməsini təmin etmək. Çoxsaylı kiçik kiçik şəkillərin yüklənməsi ilə onların hamısının birləşib bir şəkil kimi yüklənməsi arasında önəmli sürət fərqi var. Bu metod üçün çox yaxşı bir xidmət var. http://spriteme.org/ bu sayta daxil olub İnstallation bölməsindəki linki sürüşdürürsünüz brauzerinizin Bookmark bölməsinə. Daha sonra saytınıza daxil olub bu bookmarka klik edirsiniz. Və 1-2 saniyəyə hazır olan nəticə demək olar ki, sizə bir koderin saatlarla əziyyət çəkib edə biləcəyi bir nəticəni verir. Şəkilləri avtomatik yığır birləşdirir, sizə şəkli yükləmək imkanı verir. Daha sonra hətta css fayllarınızıda nəyi nə ilə əvəz etmənizi bir-bir dəqiq şəkildə deyir.

Əsas önəmli metodları təqdim etmiş oldum. Digər az önəmli, sürətə az da olsa təsir edəcək metodlar haqda 1-ci bənddə təqdim etdiyim Google xidmətindən məlumat ala bilərsiniz. Orada xeyli sayda çox və az önəmli məsləhətlər verilir, hər birinin Learn More bölməsi var.

P.S. Bunları etməkdə çətinlik çəkənlər üçün əlavə bir məsləhət. Ən azından CSS və JS fayllarınızın hamısını minify edin, yəni compressor xidmətləri ilə sıxın. Bu da sürətə çox önəmli təsir göstərir. Bu xidmət vasitəsilə CSS və ya JS mətni ora paste edirsiniz, icra düyməsi ilə alınan nəticəni CSS və ya JS faylınızda köhnə mətnlə əvəz edirsiniz.