{"id":1003,"date":"2026-02-16T19:00:03","date_gmt":"2026-02-16T17:00:03","guid":{"rendered":"https:\/\/folla.fi\/?p=1003"},"modified":"2026-02-23T19:24:04","modified_gmt":"2026-02-23T17:24:04","slug":"sometimes-the-solution-isnt-more-code","status":"publish","type":"post","link":"https:\/\/folla.fi\/de\/sometimes-the-solution-isnt-more-code\/","title":{"rendered":"Sometimes the solution isn\u2019t more code"},"content":{"rendered":"<p>Last Thursday Tuija Pirttijoki called me:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cThis doesn&#8217;t make any sense, can you have a look?\u201d<br>I&#8217;m glad I did.<\/li>\n<\/ul>\n\n\n\n<p>Our common aquaintance &amp; friend, tax law attorney Dr Marja Hokkanen, was already at the second full website rebuild within under 4 years.<\/p>\n\n\n\n<p><strong>What she ordered:<\/strong><br>A website that is simple to use, so that external collaborators or herself would be able to update it with ease. That&#8217;s why she asked (twice &#8211; second rebuild, remember?) a &#8220;WordPress Expert&#8221; for help.<\/p>\n\n\n\n<p><strong>What she got:<\/strong><br>A cryptic custom theme no one else could read, with hardcoded content buried inside template files and duplicate plugins doing the same thing &#8211; that&#8217;s not the whole list, but you understand my point.<br>My personal favorite? WordPress running inside WordPress for bilingual content.<\/p>\n\n\n\n<p>Yes, two individual installations. One site.<\/p>\n\n\n\n<p>Tuija was supposed to refresh the design.<br>Instead, she was reverse-engineering a black box. \ud83d\udd75<\/p>\n\n\n\n<p>And now we&#8217;re here to ask the uncomfortable question:<br>Was it incompetence? \ud83d\ude35\ud83d\udcab<br>Or was it dependency by design?<\/p>\n\n\n\n<p>Because when:<br>1) Only one developer understands the structure<br>2) Content can\u2019t be edited safely<br>3) A second language requires a second installation<br>-and-<br>4) every small change requires \u201ccalling the guy\u201d (and paying handsomely)<\/p>\n\n\n\n<p>\u2026 you don\u2019t have a website.<br>You have a lock-in mechanism. \ud83d\udd12<\/p>\n\n\n\n<p>Even if it wasn\u2019t intentional, the effect is the same.<\/p>\n\n\n\n<p>\u2757 <strong>This is especially upsetting because that behavior hurts our industry<\/strong>\u2757<br>\ud83d\udd34 It destroys trust.<br>\ud83d\udd34 It makes clients suspicious of everyone.<br>\ud83d\udd34 It turns WordPress, an open and flexible system, into a hostage situation.<\/p>\n\n\n\n<p>So, what was the fix?<br>Of course, no full rebuild. No ego &#8220;I&#8217;m a super coder&#8221; project. Focusing on offering upgrade paths instead of dead ends.<\/p>\n\n\n\n<p>\ud83d\udfe2 I activated Twenty Twenty-Four (which is WordPress&#8217; default template since Nov. 2023 &#8211; actually before the time when the website was rebuilt for the second time, so no excuses)<br>\ud83d\udfe2 Removed plugin duplication and bloat<br>\ud83d\udfe2 Replaced hardcoded content with proper blocks<br>\ud83d\udfe2 Installed TranslatePress on a single installation<br>\ud83d\udfe2 Implemented clean language filtering<br>\ud83d\udfe2 Hardened security properly<\/p>\n\n\n\n<p><strong>-and-<\/strong><\/p>\n\n\n\n<p>\ud83d\udfe2 Documented every modification!!!<\/p>\n\n\n\n<p>Now the site it editable by the client and maintainable by any competent developer. And live by Friday (yes, Friday like 24h after the call).<\/p>\n\n\n\n<p><strong>The main takeaway<\/strong><br>WordPress is not complicated.<br>People make it complicated.<br>And sometimes &#8211; let\u2019s be honest &#8211; complexity is profitable.<\/p>\n\n\n\n<p>But professionalism means building systems that:<br>1) The client can understand<br>2) Another developer can take over<br>3) Won\u2019t collapse on the next update<\/p>\n\n\n\n<p>If your solution requires secrecy to survive, it\u2019s not expertise.<br>It\u2019s insecurity.<br>And we can do better than that.<\/p>\n\n\n\n<p>If your WordPress site feels fragile, overly complex, or suspiciously dependent on one specific person \u2014 it probably doesn\u2019t have to be.<\/p>\n\n\n\n<p>Sometimes the solution isn\u2019t more code.<br>It\u2019s less ego. \ud83e\uddd8<\/p>","protected":false},"excerpt":{"rendered":"<p># WordPress Website Complexity: Incompetence or Intentional Lock-In? How to Build Maintainable Sites Instead<\/p>","protected":false},"author":2,"featured_media":1005,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,9],"tags":[],"class_list":["post-1003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-generic","category-technology"],"_links":{"self":[{"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/posts\/1003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/comments?post=1003"}],"version-history":[{"count":4,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/posts\/1003\/revisions"}],"predecessor-version":[{"id":1009,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/posts\/1003\/revisions\/1009"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/media\/1005"}],"wp:attachment":[{"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/media?parent=1003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/categories?post=1003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/folla.fi\/de\/wp-json\/wp\/v2\/tags?post=1003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}