Restoring and Securing Ukraine's Official EU-Integration Portal
Challenge
A portal that civil servants and EU counterparts rely on, with its core features broken
By early 2025 the portal's problems were getting in the way of everyday work, even as its audience kept growing: Ukrainian civil servants, EU counterparts, journalists, and members of the public following accession. An initial review pointed to four issues that blocked routine tasks:
- The glossary was frozen. Editors could no longer push updates to the EU-law terminology glossary from Google Sheets, so every terminology change waited on a developer.
- Site search was broken. Contextual search across the portal returned nothing usable, leaving visitors unable to find Association Agreement texts, translations, or guidance.
- No safe way to update WordPress. The core was behind and plugins would not update cleanly, and there was no staging environment to test a change before it reached the live site.
- Translation gaps. Interface strings on the English side of this bilingual portal were untranslated or wrong on the version international readers rely on.
The audit also surfaced problems the client had not asked about: unsanitized request variables, custom SQL without parameter placeholders, an uploads folder that would execute PHP, no two-factor authentication, and no automated database backups. For a public-sector service, that is serious exposure.
Solution
We worked in two steps: an independent technical audit that defined the scope and its cost, delivered in late February 2025, then a fixed-price engagement to carry out the fixes, completed by the end of April. A small senior team delivered it: a WordPress developer with seven years on the platform, a DevOps engineer with twelve years of experience, plus QA and coordination.
- A technical audit that priced the work before it started. We reviewed the site configuration, the custom theme code, search, the glossary integration, translations, caching, security, and page speed, then delivered a defect list with effort estimates and a separate QA report. The client could approve a fixed budget knowing exactly what it covered.
- Glossary updates handed back to editors. We rebuilt the import so glossary entries publish directly from a Google Sheet. Legal and translation staff maintain EU-law terminology themselves, with no engineering in the loop.
- Search fixed. We corrected the broken AJAX request and the layering bug on the search field. Contextual search works across the portal again.
- Bilingual content repaired. We wrapped interface strings in gettext so they can be translated, closed the English-Ukrainian gaps, and fixed the filters on the media page.
- Security hardened. We sanitized POST and GET variables, added parameter placeholders to custom SQL queries, blocked PHP execution in the uploads folder, and enabled two-factor authentication with a login-attempt limit.
- An operational safety net. We updated WordPress core to 6.7.1 with plugins on a supported upgrade path, turned on automatic database backups, added caching, optimized images with explicit dimensions, and minified theme JS and CSS.
- A roadmap for what we did not touch. We recommended a pre-production environment with CI/CD so future WordPress and plugin updates never go straight to production, and a cross-device UI/UX audit. Complimentary functional testing during the project surfaced further defects, which we handed over as a documented list.
The tools and technologies we used were:
Results
For a fixed price and in under three months, the portal went from partly broken to fully working. We went the extra mile, so the client also came away with a documented list of further defects from the complimentary testing and a short improvement roadmap: staging with CI/CD, and a cross-device UX audit.
- Fast for the public sector. From audit to final fix took mid-February to the end of April 2025, procurement and approvals included.
- The portal works again. Editors can update terminology without a developer, search returns results, the English version is reliable for EU and international readers, and the site is better secured with 2FA, input sanitization, and automatic backups.
- A portal the Office can plan around. With a stable codebase, a written defect list, and a roadmap in hand, the Office can budget and schedule the portal's next stage itself instead of reacting to breakages.
Olena Ermolenko
Senior Communication Expert at Association4U
Implex updated our WordPress core and the current portal version successfully. The team was highly professional, responsive, and fully aligned with our needs. They suggested valuable solutions and went the extra mile to deliver the work on time, without asking for extra budget.