{"id":355,"date":"2026-05-15T19:53:06","date_gmt":"2026-05-15T17:53:06","guid":{"rendered":"https:\/\/gorankostic.com\/blog\/?p=355"},"modified":"2026-05-15T19:53:06","modified_gmt":"2026-05-15T17:53:06","slug":"preventive-maintenance","status":"publish","type":"post","link":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/","title":{"rendered":"Preventive Maintenance"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Preventive Maintenance<\/h2>\n\n\n\n<p><strong>Excerpt:<\/strong> <br>Preventive maintenance podrazumeva redovno odr\u017eavanje sajta, servera i aplikacije pre nego \u0161to se pojavi ozbiljan problem. Umesto reagovanja tek nakon pada sistema, preventivni pristup smanjuje rizik, produ\u017eava stabilnost i \u010dini produkciono okru\u017eenje sigurnijim za dugoro\u010dan rad.<\/p>\n\n\n\n<p><strong>Blog \u010dlanak:<\/strong><\/p>\n\n\n\n<p>Preventive maintenance je jedan od najva\u017enijih principa tehni\u010dke stabilizacije. Njegova svrha je da se problemi prona\u0111u i re\u0161e pre nego \u0161to postanu hitni incidenti koji uti\u010du na korisnike, prodaju ili poslovne procese.<\/p>\n\n\n\n<p>Kod web sajtova, preventivno odr\u017eavanje obuhvata mnogo vi\u0161e od povremenog update-a. Potrebno je redovno proveravati server, bazu, PHP verzije, SSL sertifikate, backup sisteme, logove, disk prostor, performanse i klju\u010dne funkcionalnosti sajta.<\/p>\n\n\n\n<p>Jedan od osnovnih zadataka je pra\u0107enje zauze\u0107a diska. Pun disk mo\u017ee oboriti bazu, zaustaviti email servis, prekinuti backup ili spre\u010diti upload fajlova. Ako se disk proverava na vreme, problem se re\u0161ava pre nego \u0161to izazove prekid rada.<\/p>\n\n\n\n<p>Backup sistem mora biti deo preventivnog odr\u017eavanja. Nije dovoljno samo pretpostaviti da backup postoji. Treba proveriti da li se backup zaista kreira, da li obuhvata fajlove i bazu, gde se \u010duva i da li mo\u017ee uspe\u0161no da se vrati.<\/p>\n\n\n\n<p>Update-i treba da budu planirani, a ne nasumi\u010dni. CMS jezgro, pluginovi, teme, PHP, MySQL, Docker servisi i server paketi moraju se odr\u017eavati, ali svaka promena treba da ima proveru, backup i mogu\u0107nost vra\u0107anja na prethodno stanje.<\/p>\n\n\n\n<p>Logovi \u010desto otkrivaju probleme mnogo pre nego \u0161to ih korisnici primete. Ponavljaju\u0107e PHP gre\u0161ke, spori upiti, neuspe\u0161ni login poku\u0161aji, 404 zahtevi ili warning poruke mogu ukazati na tehni\u010dki dug, sigurnosni rizik ili budu\u0107i kvar.<\/p>\n\n\n\n<p>Preventivno odr\u017eavanje uklju\u010duje i proveru performansi. Sajt koji vremenom postaje sporiji \u010desto ima nagomilane podatke, te\u017ee pluginove, neoptimizovane slike, spore upite ili lo\u0161e pode\u0161en cache. Redovna analiza spre\u010dava da se performanse tiho pogor\u0161avaju.<\/p>\n\n\n\n<p>Kod produkcionih sajtova va\u017eno je periodi\u010dno testirati klju\u010dne tokove. Kontakt forma, checkout, registracija, login, email potvrde, tracking eventovi i payment procesi treba da se proveravaju i kada nema prijavljenog problema.<\/p>\n\n\n\n<p>Sigurnost je tako\u0111e preventivna disciplina. Kontrola korisni\u010dkih naloga, SSH pristupa, Fail2Ban pravila, firewall-a, SSL-a i zastarelih komponenti smanjuje mogu\u0107nost kompromitovanja sistema.<\/p>\n\n\n\n<p>Preventive maintenance odr\u017eava sistem u zdravom stanju. Kada se problemi prate, dokumentuju i re\u0161avaju pre nego \u0161to eskaliraju, produkcija postaje stabilnija, intervencije su manje stresne, a dugoro\u010dno odr\u017eavanje znatno predvidljivije.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Preventive maintenance podrazumeva redovno odr\u017eavanje sajta, servera i aplikacije pre nego \u0161to se pojavi ozbiljan problem. Umesto reagovanja tek nakon pada sistema, preventivni pristup smanjuje [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,20],"tags":[],"class_list":["post-355","post","type-post","status-publish","format-standard","hentry","category-recovery-optimization","category-technical-stabilization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Preventive Maintenance - Goran Kostic Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Preventive Maintenance\" \/>\n<meta property=\"og:description\" content=\"Preventive maintenance podrazumeva redovno odr\u017eavanje sajta, servera i aplikacije pre nego \u0161to se pojavi ozbiljan problem. Umesto reagovanja tek nakon pada sistema, preventivni pristup smanjuje [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/\" \/>\n<meta property=\"og:site_name\" content=\"Goran Kostic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-15T17:53:06+00:00\" \/>\n<meta name=\"author\" content=\"WebixDesign\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"WebixDesign\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/\"},\"author\":{\"name\":\"WebixDesign\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f800bfa90359ff9d2204020d58099c8\"},\"headline\":\"Preventive Maintenance\",\"datePublished\":\"2026-05-15T17:53:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/\"},\"wordCount\":413,\"commentCount\":0,\"articleSection\":[\"RECOVERY &amp; OPTIMIZATION\",\"Technical Stabilization\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/\",\"url\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/\",\"name\":\"Preventive Maintenance - Goran Kostic Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-05-15T17:53:06+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f800bfa90359ff9d2204020d58099c8\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/preventive-maintenance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Preventive Maintenance\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/\",\"name\":\"Goran Kostic Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f800bfa90359ff9d2204020d58099c8\",\"name\":\"WebixDesign\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g\",\"caption\":\"WebixDesign\"},\"sameAs\":[\"https:\\\/\\\/gorankostic.com\\\/blog\"],\"url\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/author\\\/webixdesign\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Preventive Maintenance - Goran Kostic Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/","og_locale":"en_US","og_type":"article","og_title":"Preventive Maintenance","og_description":"Preventive maintenance podrazumeva redovno odr\u017eavanje sajta, servera i aplikacije pre nego \u0161to se pojavi ozbiljan problem. Umesto reagovanja tek nakon pada sistema, preventivni pristup smanjuje [&hellip;]","og_url":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/","og_site_name":"Goran Kostic Blog","article_published_time":"2026-05-15T17:53:06+00:00","author":"WebixDesign","twitter_card":"summary_large_image","twitter_misc":{"Written by":"WebixDesign","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/#article","isPartOf":{"@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/"},"author":{"name":"WebixDesign","@id":"https:\/\/gorankostic.com\/blog\/#\/schema\/person\/0f800bfa90359ff9d2204020d58099c8"},"headline":"Preventive Maintenance","datePublished":"2026-05-15T17:53:06+00:00","mainEntityOfPage":{"@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/"},"wordCount":413,"commentCount":0,"articleSection":["RECOVERY &amp; OPTIMIZATION","Technical Stabilization"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/","url":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/","name":"Preventive Maintenance - Goran Kostic Blog","isPartOf":{"@id":"https:\/\/gorankostic.com\/blog\/#website"},"datePublished":"2026-05-15T17:53:06+00:00","author":{"@id":"https:\/\/gorankostic.com\/blog\/#\/schema\/person\/0f800bfa90359ff9d2204020d58099c8"},"breadcrumb":{"@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/preventive-maintenance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gorankostic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Preventive Maintenance"}]},{"@type":"WebSite","@id":"https:\/\/gorankostic.com\/blog\/#website","url":"https:\/\/gorankostic.com\/blog\/","name":"Goran Kostic Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gorankostic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/gorankostic.com\/blog\/#\/schema\/person\/0f800bfa90359ff9d2204020d58099c8","name":"WebixDesign","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g","caption":"WebixDesign"},"sameAs":["https:\/\/gorankostic.com\/blog"],"url":"https:\/\/gorankostic.com\/blog\/author\/webixdesign\/"}]}},"_links":{"self":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts\/355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/comments?post=355"}],"version-history":[{"count":1,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts\/355\/revisions"}],"predecessor-version":[{"id":356,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts\/355\/revisions\/356"}],"wp:attachment":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/media?parent=355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/categories?post=355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/tags?post=355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}