Zamana uyğunlaşdırılan bölmələr – WordPress üçün sadə kod həlli

Website Development prosesində qarşımıza zamana bağlı dinamik dəyişən sahələr çıxması normaldır. Yəqin ki, hər birimiz bununla zaman-zaman qarşılaşırıq. WordPress Plugin və ya theme develop edərkən bu tipli problemləri sadə yolla da həll etmək olar.
3 nümunə ilə əsas ehtiyaclara uyğun sadə həlləri təsvir etməyə çalışacam. (Nümunələr sadə olduğu üçün parametrləri administrativ sahəyə keçirmək haqqında nəsə yoxdur, sadəcə birbaşa işi görən kodlar var)

1. Gecə-gündüz bannerləri dəyişmək – İstifadəçilər gecə daxil olarkən hansısa verilmiş ərazidə bir banner, səhər isə başqa banner görə bilərlər.
2. Həftəsonu bölməsi – Hansı ki adi vaxtda verilmiş ərazidə normal bir bölmə olduğu halda, həftəsonu orada həftəsonuna özəl bir bölmə peyda ola bilər. Birinci gün başlayan kimi də itər.
3. Qeyd edilən tarix intervalında peyda olan bölmə. Məsələn mağaza veb saytı develop edirik, mağazada ayın 27-28-i kampaniya var. Deməli biz öncədən kodu elə schedule edə bilərik ki, kampaniya haqqında bölmə verilmiş tarixdə özü-özünə peyda olsun və sonra da lazımi vaxt bitəndə itsin. Yəni bunun üçün həmin vaxt aralıqlarında saytın kod hissəsində zamana bağlı editlər etməyə gərək olmur.

Beləliklə, nümunə 1 – gecə-gündüz banner əvəzetməsi nümunəsi:
Continue reading “Zamana uyğunlaşdırılan bölmələr – WordPress üçün sadə kod həlli”

WordPress – lokal host-dan serverə rahat köç

Məlum məsələdir ki, bir çox hallarda veb sayt tərtibatçısı veb saytı ilk öncə lokal host-da (kompüter daxilində yaradılan daxili server hostu) tərtib edir hazırlayır, hər şey bitəndən sonra saytın əsas serverə daşınmasını həyata keçirir. Bu ardıclııq WordPress veb saytlar üçün də keçərlidir.

O halda köç zamanı hansı dəyişikliklər lazım olur? Məlum məsələdir ki, veb saytda lokal hosta özəl bütün konfiqurasiya parametrləri real serverə aid parametrlər ilə əvəz edilməlidir. Bu işi görən pluginlər də var(açar söz: migrate), eyni zamanda verilənlər bazasında müvafiq dəyişikliklər etməklə bunu fərdi qaydada da etmək olur.  Fərdi qaydada veb saytı lokal hostdan real serverə daşıyarkən aşağıdakı ardıcıllıqla əməliyyatlar edilməlidir.

  1. Faylları ftp və ya digər vasitə ilə köçürmək.
  2. Verilənlər bazasını ixrac-idxal əməliyyatı ilə serverə köçürmək.
  3. Verilənlər bazası parametrlərini wp-config.php faylında dəyişmək.
  4. Veb saytın əsas ünvanını verilənlər bazasının wp_options mysql cədvəlində 2 yerdə dəyişmək.
  5. wp_posts cədvəlində post content, post guid və.s. kimi sütunları kütləvi redaktə etmək.(vacib olmayan addımdır)

İndi paylaşacağım çox kiçik bir texnika ilə yuxarıdakı 5 addımdan 4-nü ləğv etmək olar. Continue reading “WordPress – lokal host-dan serverə rahat köç”

WordPress – Avtomatik yenilənmədə problem olarsa

Bəzi hostinq və ya fərdi serverlərdə faylın mənsub olduğu istifadəçi ilə veb server istifadəçisinin fərqli olması və yaxud da sadəcə fayl icazəsinin məhdud olması səbəbindən WordPress sistem yenilənməsi avtomatik baş verə bilmir. Belə hallarda fərdi qaydada yeniləmə etmək əslində çox sadə metodla mümkündür. WordPress yenilənmə zamanı istifadəçiyə aid ərazidə heç bir dəyişiklik baş vermir, dəyişiklik yalnız nüvədə və idarəetmə fayllarında baş verir. Continue reading “WordPress – Avtomatik yenilənmədə problem olarsa”

WordPress və cache texnologiyası haqda qısaca

Cache texnologiyası haqda məlumatı olmayanlar üçün qısaca sadə izah: Cache(keş) texnologiyasının məqsədi serverin informasiya emal etməsi zamanı təkrar emalların qarşısını almaq və bunun hesabına serverin dayanıqlığını, performansını artırmaq, yüklənməsini azaltmaqdır.

Shared hostinqlər üçün(Saytın hostinqi Godaddy, Hostgator və.s. digər hostinq şirkətlərindən alındıqda)

1. WordPress Total Cache – Çox populyar qoşma. WordPress-in sahibi olan Automatic şirkətinin də məsləhət gördüyü həll.

2. WordPress Super Cache – Bu sahədə ən populyar qoşma.  WordPress-in sahibi olan Automatic şirkətinin də məsləhət gördüyü həll.

3. WordPress Hyper Cache – İlk iki qoşma qədər populyar olmasa da struktur baxımından asan və performans baxımından onlar ilə eyni qoşma. Əsasən proqramçılar üçün məsləhətdir, çünki kodu kiçik olduğundan anlaşılan və asan modifikasiya oluna biləndir. Mənfi cəhəti isə ilk iki qoşma qədər təkmilləşmiş konfiqurasiyası olmamasıdır.

Ayrılmış fiziki və ya virtual serverlər üçün

WordPress Predis – Predis for WordPress(Predis = PHP API solution of Redis cache server)

İlk bənddəki 3 və onlar tipində olan 10-larla digər qoşmalar “üst səviyyədə” backend həllərdir, cache prosesi WordPress sistemi daxilində baş verir. İkinci bənddəki həll (və digərləri, məsələn Apache Traffic Server) isə serverin əməliyyat sistemində qurulu olan proqram səviyyəsində baş verir. Və sözsüz ki ikinci tip həllər birinci tipli həllərdən dəfələrlə yüksək performans nümayiş etdirə bilir və daha effektivdir. Birinci tip həllərin üstünlüyü o sayıla bilər ki, CMS-in strukturuna spesifik istisnalar daha asan reallaşdırıla bilir.

Sonda maraq üçün wp-predis həllinin müəllifinin apardığı performans testinin nəticəsini paylaşım:

Continue reading “WordPress və cache texnologiyası haqda qısaca”

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.