Како је оптимизована база на Вордпрес сајту LINog.info

Већ четврти човек ме је у року од 5 дана путем Фејсбука питао како сам то урадио то магично оптимизовање базе на одличном Линукс блогу LINog.info (који је угашен крајем 2016-те године) а Линукс другар Иван Благојевић ме је исхвалио на пар места толико да ми је просто непријатно (како нам добро иде) јер нисам ко-зна-шта битно и компликовано урадио.

Како је оптимизована база на Вордпрес сајту LINog.infoБлог је имао проблем да је био затрован, како сам касније видео на њему је било инсталирано и деинсталирано подоста додатака (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 фајла) креирају се ревизије уноса којих може бити трилион по тексту.

Плус као смеће остају постови које сте обрисали (налазе се у Trash-у и даље су у бази), спам и обрисани коментари, и свашта још понешто.

У бази је сем овога било и подоста табела које се нису користиле али их је неки додатак или тема оставила да умру у самоћи. Тако је и било, кроз phpMyAdmin сам их дроповао.

Инсталирао сам овај додатак, пустио скенирање, обрисао чини ми се 45MB вишка. База смршала 🙂

После тога овај додатак сам обрисао.

Деинсталација свих додатака и тема

Све додатке (plugins) и теме које су биле инсталиране – сам обрисао. Од тема оставио сам само ону подразумевану Вордпресову. Зашто? Следећи корак даје одговор на то питање…

Додатак – Options Optimizer

Након брисања свих тема и додатака инсталирао сам овај додатак и обрисао све уносе из wp_options табеле које ми је овај додатак понудио.
Зашто ово нисам радио кроз phpMyAdmin, брже је, само један SQL упит и ћао? Пробајте то ви и само ће вам касти (само направите прво бекап базе).

Кад сам обрисао све уносе из options табеле, деинсталирао сам овај додатак.

Бекап свега

Продукционо и тест окружење, база, фајлови – резервна копија, чување локално и унутар cPanel-а у неком фолдеру на root локацији (са пермисијама 700 над фолдером). Бекап тестног окружења сам урадио само да не бих остављао смеће на серверу а можда људима из пројекта ЛИНог некад затреба за нешто.

Миграција тестног окружења на продукционо

База на тестном окружењу је експортована, простим CTRL+H је v2.linog.info реименован у linog.info, па враћен у тестно окружење, које ће сад бити продукционо. Фајлови са тестног окружења су компресовани, пребачени на продукционо окружење – продукциони фајлови су обрисани а тестни распаковани како би их заменили. Сајт је био офлајн око пола минуте. После миграције сам се улоговао поново и потврдио подешавања у пермалинковима због оне CTRL+H промене линкова у бази.

Тиме је посао био завршен. Све укупно – око 20 минута посла.

После овога је остало људима иза ЛИНог тима да поставе тему коју желе, додатке које ће користити (ово сам могао и ја да урадим додуше) и наставе са радом. У принципу, ове додатке нисам морао да бришем, али бих онда у „options“ табели морао да гледам линију по линију, тражим да ли дата линија припада додатку који се користи и тако то (тако радим превентивно с времена на време на kompjuteras.com јер је смеће из options одавно обрисано) али сам то баталио јер ми је Иван из ЛИНога рекао ба баш жели да крене од нуле – али да текстови остану нетакнути.

ЛИНог тиму је још остало само да на неким маторим текстовима испегла неке shortcodе-ове остале од ко зна кад и ко зна које теме или додатка (овај проблем је постојао и пре ове акције).

Шта би још требало урадити да би ово било како ваља?

Да би оптимизација била права требало би (тај део нисам радио, оставио сам ЛИНог тиму да се поигра тиме) средити подешавања у фајлу wp-config.пхп, средити број ревизија, дати апсолутне путање до теме која се користи како би се смањио load и свашта још нешто.

Даље, обрисао бих све фотографије које се не користе – а има их обично милијарду по сајтовима (пракса је показала да људе боли ову за овај корак). Није ово неко оптерећење за сајт, али волим да стање буде апсолутно чисто. То чишћење можете радити дирекно из Вордпреса (имате тамо да изаберете из падајућег менија у библиотеци – НЕПРИДРУЖЕНО) а можете и помоћу неког додатка, рецимо овог: Cleanup Images

Кеширање – има подоста одличних додатака које се баве овим, не бих да давим, али оно што ја волим јесте да поставим кеширање на нивоу htaccess фајла (то прогуглаје мало) што заиста није довољно (не ради се кеширање упита над базом, „js“ компресија и слично) али мени завршава посао, рецимо, блог kompjuteras.com не користи никакав додатак за кеширање а има средњу посећеност (око 1500 прегледа страница дневно).

Брисање непотребних фајлова и фолдера – има неких додатака које праве локални кеш који је користан – док је додатак активиран, кад га обришете не требају вам ни ти фајлови и фолдери. Обично се ти фолдери зову по додатку и неки додатак, типа bps-cache или тако нешто. Ови фајлови не утичну нешто на брзину сајта, али – као што рекох раније, не волим да видим смеће.

BruteForce заштита – с времена на време вам се накаче свакакви Украјинци/Турци/Албанци и пусте насумично погађање корисничког имена и лозинке на локацији /wp-admin што оптерети сервер до линије пуцања сајта. Прво треба сакрити ту подразумевану путању како бисте их у старту сморили и наравно не користити глупаве лозинке и корисничка имена типа админ а богами и поставити закључавање таквих корисника и захтева. То све ради бесплатан додатак који се показао одлично All In One WP Security & Firewall. Има и других додатака, сви хвале овај iThemes али шта знам ја, мени овај завршава посао око много ствари од цикличног бекапа базе и слања исте на маил па до заштите критичних фајлова тако да је не мењам до даљњег.