Критичностите на WordPress: перспектива на програмери

Критичностите на WordPress: перспектива на програмери

Сè почесто, програмерите завршуваат со користење на CMS како WordPress, иако не им се допаѓа платформата.

Вештите програмери често претпочитаат да користат сопствени решенија, особено кога сте развивач кој е навистина добар во кодирање. Со прилагодено решение можете да креирате многу елегантни апликации кои работат многу добро. Сепак, програмерите на крајот користат CMS како WordPress, дури и ако силно не им се допаѓа платформата.

Оваа статија е наменета за овие развивачи и се однесува на многу од предизвиците со кои се среќаваме при работа со WordPress (WP). Ќе објасниме кои се овие потешкотии, а исто така ќе дадеме предлог: помошта на Plesk, која обезбедува WP-алатки што навистина помага да се земат предвид некои од главните критики на најомилениот CMS во светот: WordPress.

Зошто програмерите користат WordPress

Не правете грешка, WordPress е најпопуларниот CMS на пазарот од многу добри причини. Во овој дел опишуваме зошто CMS е толку популарен дури и меѓу искусни програмери кои всушност можат да напишат сопствен код.

Прво, WordPress е супер лесен за инсталирање. Сè што ви треба е стандардната LAMP/LEMP околина – Linux, Apache/Nginx, PHP и MySQL/MariaDB како DBMS. Ако го имате, можете да започнете со инсталирање на WordPress.

Приспособувањето е исто толку лесно бидејќи WP CMS доаѓа со огромен опсег на додатоци, вклучувајќи теми за приспособување на изгледот и чувството на предниот дел и додатоци кои додаваат функционалност. Исто така, можно е да се изгради сопствена тема, а искусни програмери исто така можат да направат свои приклучоци, но овој процес е покомплексен.

Можеби најголемата причина за популарноста на WordPress е, се разбира, фактот што е достапен за корисници кои не се технички. Откако ќе се инсталира WP не бара искуство со кодирање или разбирање на софтвер за да работи добро, корисниците почетници можат да објават веб-локација и да постават примерок на WordPress веднаш по работа.

Што точно е проблемот со WordPress?

Па, најпопуларниот CMS во светот има многу прашања што треба да се разгледаат. Немаме намера да правиме врева за проблемите со WordPress, но следново е искрена дискусија и се надеваме дека тимот за развој зад овој неверојатно популарен CMS ги зема следните точки како позитивна критика. Еве зошто мислиме дека WordPress е фрустрирачки за програмерите:

Широко способен, но никогаш одличен

Почетокот на WordPress беше едноставен. WP е роден да биде платформа за оние кои сакаа да пишуваат и објавуваат блог. CMS целосно се промени со текот на годините и сега не е ништо како неговите скромни почетоци. Некои луѓе го користат како основен систем за управување со цел сајт, како платформа за онлајн продавници, па дури и како начин за генерирање статични сајтови (лудо, но го видовме и ова со текот на годините)

Тоа на некој начин нагласува колку е прилагодлив CMS и ние се согласуваме со таа изјава, но проблемот со да се биде толку флексибилен е што станува тешко да се истакнеш во која било поединечна улога. Еден начин да се сфати ова е да се погледне низ објективот на приклучокот: илјадниците достапни приклучоци за WordPress покажуваат како луѓето се обидуваат да го принудат WordPress да биде нешто што едноставно не е или уште полошо, да прави нешто што не е способен да го направи или ако го прави, го прави лошо. Поради оваа причина, кога користиме WordPress и го користиме често и доброволно, никогаш не го вчитуваме со додатоци кои не се строго неопходни. Во тој момент, ние претпочитаме да ги правиме сами.

Јасно е дека WordPress е направен за овој „само-направен“ пристап и очигледно флексибилноста има многу предности, без сомнение. Но, без силен фокус на одредена задача, CMS се бори многу да понуди јасно решение. Овој фокус на обидот да се биде сè за секого предизвикува огромни проблеми. Сепак, мораме да истакнеме: WordPress сè уште работи добро како платформа за градење блогови и некомплексни веб-страници и страници за е-трговија.

Хакови и пукнатини: WordPress може да биде отворена врата

Накратко, WordPress се хакира деноноќно и тоа е најголемата поплака што сме ја слушнале од светот на програмерите. Не може да се негира, CMS е полн со безбедносни дупки, никогаш не завршува. Тоа е како кратко ќебе: го прилагодувате од едната страна, а се открива од другата страна. Делумно бројот на хакери се должи на популарноста на WordPress, но и на тоа колку WordPress е со отворен код.

Бидејќи секој може да го види кодот со отворен код на CMS, ова им овозможува на хакерите да најдат слабости во кодот. Не сакаме да кажеме дека кодот со отворен код е лош пристап, но мислиме дека природата со отворен код на WordPress CMS придонесува за неговите бескрајни безбедносни проблеми.

Анализата покажува дека WordPress сајтовите сочинуваат повеќе од една четвртина од интернетот. Тимот на WordPress го знае ова и се обидува да направи се што може за да се увери дека CMS е безбеден, но бидејќи развојните циклуси се толку брзи денес, може да биде тешко целосно да се обезбеди сложена апликација. И кога безбедносните напори не успеат, милиони веб-локации може да бидат изложени на ризик.

Ние немаме очигледно решение за безбедносните предизвици на WordPress освен, се разбира, очигледното „ажурирајте го вашиот примерок на WordPress“. Дури и тогаш, циклусот на објавување на WordPress со себе носи уникатни и бескрајни проблеми.

Многу луѓе велат дека грижата за безбедноста на WordPress е едноставна, и тоа е точно во голема мера, но прашањето е зошто од сопствениците на сајтовите треба да се бара да направат список со задачи за да се уверат дека WordPress е безбеден? Зошто овој безбедносен дел од WordPress не е надвор од кутијата?

  • Лесно е некој да прикачи извршна датотека на WordPress и оваа опција треба да биде стандардно ограничена. Потребно е само малку паметен човек да постави датотека со злонамерен код во PHP скрипта и вашата страница е компромитирана.
  • Во моментов, опциите може да се конфигурираат во датотечниот систем. Наместо тоа, WordPress треба да го отстрани ова и да претпостави дека датотечниот систем е „само за читање“. Додека јадрото на WordPress го прави ова, приклучоците не го следат овој модел на однесување. Ако наидете на додаток кој ја менува неговата конфигурациска датотека додека е активно во производство, престанете да го користите. Тоа укажува на датотечен систем што може да се запише и, следствено, лесен начин за правење малициозни промени. Едно решение е да се отстрани датотеката wp-config.php од коренот на системот (WordPress работи во секој случај), но тоа не е целосна гаранција за безбедност и во секој случај го спречува правилното функционирање на многу додатоци напишани со рака од несвесните програмери.
  • Стандардно, WordPress им овозможува на корисниците да направат онолку обиди за најавување колку што сакаат. Ова ја отвора вратата за напад со брутална сила каде хакерите продолжуваат да пробуваат случајни лозинки додека најавувањето не биде успешно. WordPress CMS треба да оневозможи неограничени обиди за најавување при инсталацијата.

Ова не е исцрпна листа, тоа е само неколку точки. Очигледно, големото софтверско решение, особено решението со отворен код, не може да биде целосно неповредливо за напад. Но, нашата поента е дека сериозните програмери не сакаат да користат WordPress токму затоа што е толку ранлив. Вештите програмери би сакале да изградат сосема нова апликација која елегантно ги задоволува нивните потреби и може ригорозно да се заштити - без да се грижат за непознати идни пропусти.

Или, со најдоброто користење на поставките на PLESK и не вчитување на WordPress со „не се препорачува“ или уште полошо „бесплатни“ или уште полошо напишани приклучоци (потребно ви е искуство во областа за да можете да процените за тоа), сепак можете да го направите WordPress одлична платформа, исто така, во однос на безбедноста. Но, тоа веќе не е менаџмент „направи сам“, потребна е стручна рака.

Приклучоците како извор на проблеми

Добриот развивач не прибегнува кон приклучок првиот пат кога ќе се заглави. Наместо тоа, добрите програмери се обидуваат да изградат едноставно и елегантно решение. Напротив, секогаш да се потпирате на приклучоци преку нивно пребарување на интернет или да се потпрете на оние предложени од Заедницата е многу погрешен начин на размислување.

На крајот на краиштата, приклучокот го олеснува додавањето специфични функции на WordPress, што го прави широкиот опсег на приклучоци достапни за WP како сила на CMS - но исто така е ризик. Колку што приклучоците можат да ги направат работите полесни и побрзи, приклучоците исто така вклучуваат многу ризици во однос на безбедноста и во исто време ве принудуваат да ја изберете верзијата на WP што можете да ја користите и во исто време да го надувате вашиот примерок на WordPress надвор од секоја одржлива мерка, поништувајќи го или поткопувајќи го вашето онлајн присуство, брзината на отворање на страницата и на тој начин достапноста и, следствено, точниот индекс на пребарувачот.

Приклучоци и безбедност

Прво, да ги погледнеме приклучоците за безбедносни проблеми што ги создаваат. Еден извештај сугерира дека повеќе од половина од познатите безбедносни проблеми на WordPress произлегуваат од приклучоците. Програмерите се предмет на какви било добри практики што ги следи производителот на приклучоци - што можеби не е толку добро. Затоа, како развивач треба темелно да го тестирате додатокот пред да го користите. До одреден степен, овој процес на проверка може да го отстрани времето што го заштедувате со приклучоците, па во тој момент можеби ќе размислите да ја развиете од нула потребната карактеристика што треба да ја додадете на страницата.

Ограничувања на верзиите на WP

Познати како „ограничување на верзијата“, приклучоците можат да ја ограничат верзијата на WP CMS што можете да ја извршите. Сега, WordPress е многу агресивен со својот циклус на издавање, па редовно објавува ново ажурирање и всушност често се случува платформата да објави неколку мали верзии или закрпи во секој даден месец. Ова е разбирливо бидејќи тимот на WP постојано ги поправа векторите за напад. Сепак, сите овие ажурирања имаат проблем: ажурирањето на WP може да го скрши приклучокот, предизвикувајќи вашата страница да престане да работи или да падне.

Секако дека треба да го ажурирате вашиот CMS, но ограничувањата за верзијата наметнати од приклучоците може да ја отежнат оваа работа. Некои развивачи на приклучоци секогаш ги тестираат и ажурираат своите приклучоци, но овој мал „свет“ на премиум приклучоци не го претставува мнозинството. Надвор од овие премиум приклучоци постои реален ризик надградбата на верзијата на WP буквално да ја скрши страницата.

Надуеност на приклучокот

Да претпоставиме дека повеќето програмери знаат дека е важно да се градат посно проекти кои не користат вишок код. Сега, некои приклучоци се усогласени со овој принцип, но многу приклучоци се многу надуени бидејќи овие приклучоци се обидуваат да го решат секој проблем што може да го има корисникот. Вообичаено е развивачот да открие дека приклучокот решава еден проблем додека нуди решение за педесет други проблеми кои не се релевантни за неговата страница. (Да не зборуваме за темите и „градителите“).

Приклучоците го прекинуваат работниот тек на WordPress

Конечно, уште еден чест проблем што го создаваат многу приклучоци е фактот што приклучокот може да го попречи корисничкото искуство во WordPress, ова зависи за жал од ефектот bloat додатоци на WordPress. На пример, приклучокот може целосно да го промени начинот на креирање и дистрибуција на објавата низ страницата.

Ова резултира со проблем со кој многу често се соочуваат програмерите на WP, тие се чувствуваат како да треба премногу да работат „околу“ приклучокот, наместо само да го користат приклучокот. Неизбежно, програмерите го преземаат овој процес на заобиколување на приклучоците бидејќи тој приклучок може да изгледа дека решава проблем со процесот (што неизбежно го нема).

Веб архитектура еволуираше

Веќе споменавме дека WordPress постои веќе некое време. Кога беше изградена, програмерите мислеа дека веб-локацијата секогаш ќе користи еден сервер, заедно со еден датотечен систем. Сепак, програмерите се повеќе го користат она што се нарекува архитектура на микро-сервери што користи повеќе јазли. Тие го прават тоа затоа што овој начин на работа е поскалабилен и пофлексибилен. Но, користењето на WordPress на комплицирана архитектура може да создаде проблеми, на пример, речиси ексклузивното потпирање на FTP за ажурирања на WP CMS.

Современите програмери очигледно би помислиле дека ажурирањето на кодот преку FTP е само архаично. Програмерите обично користат специфичен работен тек за да може да се запрат потенцијалните проблеми пред кодот да стане оперативен. Ова значи дека развојот се врши локално, кодот е контролиран од верзијата, а тој код исто така се тестира автоматски - сето тоа преку континуиран процес на интеграција. Значи, само вчитување на нов код во средина што работи со кратки циклуси, што значи дека постои голема веројатност работите да тргнат наопаку.

Поголем од проблемот со крпење е едноставно претпоставката дека работиме со еден датотечен систем на еден јазол. Кластерот на веб-сервери со повеќе јазли ги подобрува и хардверските неуспеси и перформансите, поради што овој пристап се повеќе се прифаќа. Сепак, WP има пречка во тоа што инсталирањето на ажурирање на тема или приклучок преку FTP значи дека само еден датотечен систем може да се ажурира одеднаш. Така, со кластерот со повеќе јазли ќе се соочите со ова ажурирање за секој јазол.

Програмерите можат да работат околу овој проблем, но тој останува тешкотија што не се решава лесно. Дополнително, процесот бара датотечниот систем да може да се запише, што пак носи голема загриженост за безбедноста на Базата на податоци која е срцето на WordPress што чука.

Податоците без родители и структурата на податоците воопшто

Отпрвин, структурата на податоци на WordPress е едноставна. Сепак, наскоро се појавува дека има вишок табели во базата на податоци на WP. На пример, зошто метаподатоците треба да се поделат во две табели: едната наречена „wp_posts“ и едната наречена „wp_postmeta“? Зарем не е подобро да се вклучат сите податоци во една табела? Истото важи и за табелата со коментари, која има втора табела поврзана со неа за нејзините метаподатоци.

Резултатот е дека остануваат дополнителни податоци низ базата на податоци. Да, WP вклучува некои функции кои помагаат да се намали ефектот на податоците без родители, но функциите не успеваат кога треба да манипулирате со број на редови од илјадници редови. Во основа, функциите на WordPress предизвикуваат истекувања на серверот и доведуваат до протекување на меморијата и едноставно не се ефективни.

Се разбира, можете да изберете едноставно да ги намалите податоците без родители со директно пишување SQL барања за да го направите тоа. Но, треба темелно да разберете како се поврзани табелите за да можете да ги напишете точните SQL барања. Степенот на раздвојување на податоците во базата на податоци на WordPress едноставно се покажува како излишен.

Што прави Plesk Toolkit за WordPress за да ги подобри работите

Комплетот со алатки за WordPress на Plesk е лесен начин за поставување и приспособување на пример на WordPress, сето тоа од една контролна табла. Можете да го користите се додека е инсталиран на вашата веб-страница. Еве неколку области каде што WordPress Toolkit помага да се грижиме за WP:

Управување со безбедноста

Со комплетот алатки, можете автоматски да ги затворите најочигледните безбедносни дупки. На пример, можете да го префрлите XML на RPC пинг назад, проверете дали е безбедна папката „wp-content“ и многу повеќе. Комплетот со алатки го прикажува безбедносниот статус на вашата страница и ги означува проблемите со „опасност“ или „предупредување“ што е препорака за подобрување на безбедноста.

Ажурирање на вашиот WP пример

Достапна како дополнителна функција во Toolkit 3.x и понова верзија, функцијата Smart Updates ви овозможува да одржувате производствена локација да работи и да ја ажурирате во исто време, без ризик од прекинување на страницата. Алатката проверува дали има проблеми што може да се појават поради ажурирањето и ќе ви каже дали постои некаков ризик.

Клоназија

Постојат тони причини зошто можеби сакате да направите копија од вашата страница на WordPress. На пример, можеби имате локација за поставување каде што можете да ги тестирате промените пред да започнете во живо. Откако ќе се подготвите, би сакале да ја копирате содржината на страницата.

Или, можеби имате јавна страница и можеби ќе сакате да направите копија од неа до која не сакате јавноста да има пристап. Друг пример се професионалните програмери кои имаат модел на копија од инсталација на WordPress и само сакаат да ја клонираат, вклучувајќи теми и приклучоци, автоматски.

Имаме и клиенти кои само сакаат да направат неколку копии на страница од различни причини, како на пример да покажат како страницата може да изгледа поинаку со неколку промени.

Без оглед на вашата причина, алатката за клонирање во WordPress Toolkit го олеснува копирањето на сè, вклучително и датотеките на страницата, базата на податоци на страницата и сите поставки за WP CMS.

Синхронизирање

Од различни причини можеби ќе сакате да бидете сигурни дека две веб-страници на WordPress се совпаѓаат. WP Toolkit ви овозможува автоматски да ги синхронизирате и WP базата на податоци и сите WP-датотеки.

Ако имате копија на сцената на вашиот сајт, додека вашата јавна копија работи на друго место, можеби ќе сакате да ги синхронизирате сајтовите затоа што сакате да ги копирате промените што сте ги направиле на локацијата за поставување на страницата во живо на WP.

Слично на тоа, можеби ќе сакате да копирате некои податоци од местото на продукција во вашиот инсценски примерок за да можете да проверите дали промените направени во верзијата за инсценирање играат убаво со податоците во живо. Или, промените што ги направивте на вашата локација за поставување предизвикаа промена во табелите на вашата база на податоци, во тој случај комплетот со алатки ви дозволува само да ги синхронизирате овие промени со вашата база на податоци ако сакате.

Друг случај за употреба на функцијата за синхронизација на WP Toolkit е кога развивачот ажурирал страница за поставување на малопродажна верзија на WordPress и сака да ги отслика промените на страница во живо.

Имате опција да го синхронизирате целиот WP CMS, или само некои негови делови. Значи, можете да ги пресликате датотеките на вашиот WP, неговата база на податоци или и двете. Се нуди дополнителна грануларност со тоа што можете да изберете помеѓу синхронизирање на целата база на податоци или само табели, па дури и табели кои се во изворот, но не се присутни во дестинацијата. Исто така, можно е да се пресликаат поединечни табели.

Лов на бубачки во ВП

Plesk WordPress Toolkit, исто така, им овозможува на програмерите автоматски да детектираат и поправаат грешки во изворот на веб-страницата со овозможување на неговиот режим за отстранување грешки.

Заклучок.

По сето горенаведено, јасно е дека станува исклучително важно да се избере не само развивачот со кој ќе работи или агенцијата што може да ве следи, туку пред се хостингот на кој ќе ја хостирате вашата страница во WordPress. Дури и од овие работи разбираме што значи да се има темна страница на професионален хостинг или не.

WordPress не е лесен „предмет“ за ракување. Секако, се чувствувате слободни, мислите дека не ви треба програмер или не сте врзани за агенција, мислите дека е прекрасно да можеш да го направиш тоа сам, но во реалноста, вистината вели поинаку и денес безбедноста веќе не е второстепена, туку примарна проблематика, исто така врз основа на обврските и одговорностите кон трети лица.