Како је оптимизована база на Вордпрес сајту LINog.info
Већ четврти човек ме је у року од 5 дана путем Фејсбука питао како сам то урадио то магично оптимизовање базе на одличном Линукс блогу LINog.info (који је угашен крајем 2016-те године) а Линукс другар Иван Благојевић ме је исхвалио на пар места толико да ми је просто непријатно (како нам добро иде) јер нисам ко-зна-шта битно и компликовано урадио.
Блог је имао проблем да је био затрован, како сам касније видео на њему је било инсталирано и деинсталирано подоста додатака (plugins) и тема (themes), претпостављам док је био у развојној фази – те је свакакво смеће остало у бази које је требало на DBА начин и уз завршен факултет очиститити…
….а уствари сам урадио посао који може буквално свако да одради и не тражи никакво специјално знање, образовање, лудило и завршава се за 20 минута уз кафу. Ево описаћу укратко како, да не бих свакоме ко ме пита понаособ објашњавао, можда ће некоме користити а видећете да није нека мудрост свемира.
Упозорење за прекаљене Вордпрес MySQL DBА гуруе који би за ово узели 200€: Колутаћете очима, најбоље прескочите текст јер ћете се смејати. Не знам да ли је ово што је рађено по правилу службе како треба и DBА правилима, али јебига, шта ћу, с обзиром да завршава посао и не иште много времена, добро је. За знање не гарантујем.
Дакле, требало је прочистити све и некако кренути од новог почетка кад је LINog.info у питању….очистити смеће, некако убрзати ствари.
Прављење тестног окружења за играње
Да се не би играли на продукционом окружењу са овим оптимизацијама и чудима и тако довели продукциони сајт у опасност да уде у три лепе, кроз cPanel сам направио поддомен v2.linog.info који је био клон оригинаног сајта а који је био намењен том игрању.
Експорт продукционе базе, CTRL+H у неком текстуалном едитору, реименовао сам linog.info у v2.linog.info, направио нову базу и урадио импорт те линк-реименоване базе у њу па се улоговао и потврдио пермалинкове кроз сам Вордпрес.
Додатак – Optimize Database after Deleting Revisions
Сајт је имао око 300 текстова а база је била велика око 50MB…..зашто?
Кад год пишете текст у Вордпресу, по дифолту (сем ако ви не измените подешавања на нивоу wp-config фајла) креирају се ревизије уноса којих може бити трилион по тексту.
У бази је сем овога било и подоста табела које се нису користиле али их је неки додатак или тема оставила да умру у самоћи. Тако је и било, кроз phpMyAdmin сам их дроповао.
Инсталирао сам овај додатак, пустио скенирање, обрисао чини ми се 45MB вишка. База смршала 🙂
После тога овај додатак сам обрисао.
Деинсталација свих додатака и тема
Све додатке (plugins) и теме које су биле инсталиране – сам обрисао. Од тема оставио сам само ону подразумевану Вордпресову. Зашто? Следећи корак даје одговор на то питање…
Додатак – Options Optimizer
Након брисања свих тема и додатака инсталирао сам овај додатак и обрисао све уносе из wp_options табеле које ми је овај додатак понудио.
Зашто ово нисам радио кроз phpMyAdmin, брже је, само један SQL упит и ћао? Пробајте то ви и само ће вам касти (само направите прво бекап базе).
Кад сам обрисао све уносе из options табеле, деинсталирао сам овај додатак.
Бекап свега
Продукционо и тест окружење, база, фајлови – резервна копија, чување локално и унутар cPanel-а у неком фолдеру на root локацији (са пермисијама 700 над фолдером). Бекап тестног окружења сам урадио само да не бих остављао смеће на серверу а можда људима из пројекта ЛИНог некад затреба за нешто.
Миграција тестног окружења на продукционо
База на тестном окружењу је експортована, простим CTRL+H је v2.linog.info реименован у linog.info, па враћен у тестно окружење, које ће сад бити продукционо. Фајлови са тестног окружења су компресовани, пребачени на продукционо окружење – продукциони фајлови су обрисани а тестни распаковани како би их заменили. Сајт је био офлајн око пола минуте. После миграције сам се улоговао поново и потврдио подешавања у пермалинковима због оне CTRL+H промене линкова у бази.
Тиме је посао био завршен. Све укупно – око 20 минута посла.
ЛИНог тиму је још остало само да на неким маторим текстовима испегла неке shortcodе-ове остале од ко зна кад и ко зна које теме или додатка (овај проблем је постојао и пре ове акције).
Шта би још требало урадити да би ово било како ваља?
Да би оптимизација била права требало би (тај део нисам радио, оставио сам ЛИНог тиму да се поигра тиме) средити подешавања у фајлу wp-config.пхп, средити број ревизија, дати апсолутне путање до теме која се користи како би се смањио load и свашта још нешто.
Даље, обрисао бих све фотографије које се не користе – а има их обично милијарду по сајтовима (пракса је показала да људе боли ову за овај корак). Није ово неко оптерећење за сајт, али волим да стање буде апсолутно чисто. То чишћење можете радити дирекно из Вордпреса (имате тамо да изаберете из падајућег менија у библиотеци – НЕПРИДРУЖЕНО) а можете и помоћу неког додатка, рецимо овог: Cleanup Images
Кеширање – има подоста одличних додатака које се баве овим, не бих да давим, али оно што ја волим јесте да поставим кеширање на нивоу htaccess фајла (то прогуглаје мало) што заиста није довољно (не ради се кеширање упита над базом, „js“ компресија и слично) али мени завршава посао, рецимо, блог kompjuteras.com не користи никакав додатак за кеширање а има средњу посећеност (око 1500 прегледа страница дневно).
Брисање непотребних фајлова и фолдера – има неких додатака које праве локални кеш који је користан – док је додатак активиран, кад га обришете не требају вам ни ти фајлови и фолдери. Обично се ти фолдери зову по додатку и неки додатак, типа bps-cache или тако нешто. Ови фајлови не утичну нешто на брзину сајта, али – као што рекох раније, не волим да видим смеће.
BruteForce заштита – с времена на време вам се накаче свакакви Украјинци/Турци/Албанци и пусте насумично погађање корисничког имена и лозинке на локацији /wp-admin што оптерети сервер до линије пуцања сајта. Прво треба сакрити ту подразумевану путању како бисте их у старту сморили и наравно не користити глупаве лозинке и корисничка имена типа админ а богами и поставити закључавање таквих корисника и захтева. То све ради бесплатан додатак који се показао одлично All In One WP Security & Firewall. Има и других додатака, сви хвале овај iThemes али шта знам ја, мени овај завршава посао око много ствари од цикличног бекапа базе и слања исте на маил па до заштите критичних фајлова тако да је не мењам до даљњег.
Željko Popivoda
24/04/2015 @ 22:57
Hvala, Darko.
Znatiželja da se nešto nauči i/ili da se potvrdi već stečeno znanje. 😉
Koristim slične/iste dodatke. Imam oko 450 postova, a baza je oko 7MB.
Компјутераш блог
25/04/2015 @ 00:07
Da nisi optimizovao – baza bi ti bila veličine level „Google“ 🙂
Stefan
26/04/2015 @ 01:09
Da, to su koraci koje može, i trebalo bi, svako da uradi kad pravi „sezonsko čišćenje“ WP sajta. Moj blog je recimo dosta glomazan pa ovo nije dovoljno, ali za početak je ok. Preporuka za podešavanje htaccess i WP config. Takođe i taj plugin za optimizaciju. Naravno, backup pre svega 🙂
Neko
25/04/2015 @ 17:43
Kratko i efikasno. Svaka čast stari!!!
Zoran
14/08/2017 @ 21:14
Odličan tekst.
Dragan
05/03/2018 @ 10:14
Plugin Plugin – Options Optimizer nije vise dostupan za download. Zamena?