/E-Haci.net

texnologiya, elm, təhsil mövzularında düşüncələr

Tag: wordpress

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

    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:
    davamı…

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

    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. davamı…

  • WordPress – Avtomatik yenilənmədə problem olarsa

    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. davamı…

  • Fərdi kod ilə veb sayt bazasının müntəzəm backup nüsxəsini almaq

    Fərdi kod ilə veb sayt bazasının müntəzəm backup nüsxəsini almaq

    Bəzi veb saytlarda fayl sistem aylarla sabit qalır, dəyişikliklərə gərək olmur, bütün olub bitənlər verilənlər bazasında baş verir. Belə veb saytlarda verilənlər bazasının müntəzəm nüsxəsini almaq daha prioritet məsələ olur, nəinki bütün fayl sistem. Təbii ki, həm fayl sistemi, həm verilənlər bazası, həm də server parametr fayllarının backup nüsxəsini almaq ümumən zəruridir və bunlar üçün necə lazımdır həllər mövcuddur.  Bu yazıda məqsəd sadəcə verilənlər bazası üçün çevik, asan, əlavə proqram, modul qoşmadan asan nüsxəçıxarma həlli yazmaqdır.

    1-ci funksiyamız verilənlər bazasının backup nüsxəsini alacaq.
    2-ci funksiyamız bu nüsxəni kənar bir serverimizə göndərəcək(zira backup nüsxəni sayt ilə eyni serverdə saxlamaq risk daşıyır və mahiyyətə ziddir).
    3-cü funksiyamız isə bu prosesi avtomatlaşdıracaq.

    davamı…

  • WordPress və cache texnologiyası haqda qısaca

    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:

    davamı…

  • 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.

  • Azərbaycan dilində WordPress paketi

    Azərbaycan dilində WordPress paketi hazırlamaq işi hələ 2009-cu ilin ortalarında Dev.az komandası tərəfindən başlanılmışdı. Layihə Launchpad kollektiv tərcümə sistemində yerləşdirildiyindən könüllülər də layihəyə qoşulmuşdu(59 nəfər). Təxminən 1 il öncə mən də layihəyə administrator olaraq qoşuldum və 1000-ə yaxın sözün tərcüməsində redaktələr apardım.
    Hazırda bir neçə aydır Launchpad tərcümə sisteminin məhz adıçəkilən bölməsində sistem xətaları meydana gəlir deyə tərcüməni davam etdirmək çətinləşib. Həm də tərcümə paketi WordPress-in köhnə versiyalarından birinə aiddir deyə yeni versiyalardakı sözlər orada öz əksini tapmır. Bu səbəbdən də Azərbaycan dili paketi aktiv edilmiş saytlarda tez-tez ingiliscə sözlərə də rast gəlinir.
    Ona görə də bir müddətdir budaq versiyanı Launchpad-dan ayırıb tək davam etdirirəm. Şəxsi istifadədə yanlış tərcümə və ya ingiliscə sözə rast gəldikcə paket faylında redaktələr edib onu yeniləyirəm. Planda var ki, bir neçə ay ərzində daim yenilənmə sayəsində keyfiyyətli bir tərcümə əldə edilmiş olsun. Beləliklə daim yenilənən paketi bu ünvandan yükləyə bilərsiniz. http://e-haci.net/wordpress-az%c9%99rbaycan-dili/

  • Google+ WordPress Developers Community – Məqsəd

    Belə bir Community yaratmağı qərara gəldim. https://plus.google.com/communities/115971210454065924105
    Screenshot from 2012-12-27 09:54:52
    Yəqin bəzilərinizin məlumatı var ki, Linkedin-də də belə bir qrupumuz var(qoşula bilərsiniz: http://www.linkedin.com/groups?home=&gid=3722491) və hazırda müxtəlif ölkələrdən 3000-ə yaxın üzvü var, qrup çox aktivdir. Məlumatımıza görə bu qrup Linkedin-də sırf WordPress Developer-lər üçün nəzərdə tutulan ən böyük qrupdur.

    Amma Linkedin bir növ qapalı sistem olduğundan, funksionalı da məhdud olduğundan orada qrup imkanları dardır və sırf qrup olmaqdan o tərəfə keçmir, Community ola bilmir. Facebook qruplarda da vəziyyət eynidir.

    Google+ isə Community üçün yaxşı imkanlar yaradır. Beləliklə bu qrupu yaratdıq və WordPress Development-də maraqlı olan hər kəs üçün maraqlı və faydalı bir platformaya çevirməyə çalışacağıq.
    https://plus.google.com/communities/115971210454065924105

    P.S. Səhifə ingilisdillidir və lokal xarakter daşımır.

  • WordPress üçün asan və funksional Backup qoşmaları

    wordpress-seo-plugins

    WordPress sistemində qurulan saytları Backup etmək üçün bir çox üsullar mövcuddur. Bazanı əllə dump etmək, file sistemi copy paste etmək həll yollarından ən qabasıdır. Bəs optimal yollar necədir? Optimal yollar üçün bir çox asanlaşdırıcı pluginlər mövcuddur. Bəzi pluginlər tək bazanı, bəziləri tək faylları, bəziləri hər ikisini backup edib sistemdə saxlayır, siz yükləyirsiniz. Bəziləri də var ki, backup etdikdən sonra arxiv faylı dərhal Dropbox bulud xidmətinə köçürə bilir. Bu da çox yaxşı funksiyadır. Belə ki backup-un hazır olmasından sonra dərhal hostinqi tərk edib Dropbox-a köçməsi hostinqdə istənilən an baş verəcək qəzanın fəsadlarını minimallaşdırır.

    backup-solutions

    Backup pluginlərinə 2 yaxşı nümunə yazım:

    1. Backup Scheduler
    Bəzi saytlarda istifadə edirəm. Yaxşı plugindir. Schedule imkanına malikdir, hansı ki, istənilən gün intervalı seçib hansı intervaldan bir backup çıxarılmasını təyin edə bilirik. Backupun ftp ilə kənar hostinqə yüklənməsini, habelə emailinizə göndərilməsini də təmin edə bilirik.
    Hostinqlərin məhdudiyyətini nəzərə alaraq backup faylını hissələrə bölmək imkanı da var. Yəni backup 100 MB olacaqsa, bunu yaratmaq və göndərmək hostinqə çətin ola bilər, onu 5-5 meqabaytla 20 yerə bölmək imkanı var.

    2. WordPress Backup to Dropbox 
    Bu da yaxşı plugindir. Backup faylını birbaşa Dropbox qovluğunuza göndərir. Saytın içərisindən Dropbox-a login Oauth metodu ilə aparılır, odur ki, sizin login məlumatlarınız haqda kiminsə xəbəri olmur, güvənlidir.