#What a senior WordPress developer does that a page-builder shop cannot
Most WordPress work in Poznan, as everywhere, is not development. It is assembly: a licensed theme, a page builder, a stack of plugins to paper over the gaps, and a designer arranging it all inside the browser. For a brochure site that is often the right answer, and a good WordPress developer will tell you so rather than sell you a build you do not need. The line gets crossed the moment your requirements stop fitting inside a visual editor: a content model a page builder cannot express, a WooCommerce checkout that has to talk to KSeF and Przelewy24 and stay in sync with an Allegro listing, a page that has to load fast during a trade-fair campaign, or simply code a second developer can open in a year and understand.
That is where a senior WordPress developer earns the title. The work is writing code rather than clicking through settings: custom themes and plugins built to a standard, a data model designed on purpose instead of accreted from whatever plugin was installed that week, integrations that hold up when the third-party API changes, and a review trail so nothing ships that only one person understands. The output is not prettier admin screens. It is a system your team can operate, extend and hand to the next developer without a rescue project.
Poznan has a particular relationship with this distinction, because it is a commerce city before it is anything else. It is the home of Allegro, Poland’s largest e-commerce marketplace, and the seat of the MTP Poznan International Fair, the biggest trade-fair grounds in the country. That combination has bred a pragmatic, business-first engineering culture where a website is judged by whether it sells and integrates, not by whether it looks clever in a pitch. Two audiences meet on this page: Western European and DACH companies looking for a senior WordPress developer in Poznan as nearshore capacity, and Poznan companies that want senior WordPress work carried out in English against international standards. Both are comparing providers on how the work is done, not just on how the mock-up looks.
#Custom themes and plugins, built to WordPress Coding Standards
A custom theme is not a licensed theme with the colours changed. It is a code base authored for your content, and on a new build the sensible default now is a block theme built on the editor APIs: theme.json for the design system, block patterns for the reusable layouts your editors actually use, and block variations where a pattern needs options. The reward is an editing experience that fits how your team writes, without a page builder loaded on every request to make it work.
The theme-versus-plugin boundary is where a lot of inherited Poznan projects have gone wrong, particularly on stores that a sales team grew organically before anyone thought about maintenance. The rule is plain: if a feature is functional rather than presentational, it belongs in a plugin so it survives a theme switch. Custom post types that outlive the design, REST endpoints, integration logic, admin tools, the bridge that pushes stock to Allegro or pulls invoices into your accounting system, all of it lives in a plugin with its own version history. Themes describe presentation and editorial structure and nothing more. When that boundary is respected, a redesign is a redesign; when it is ignored, a redesign becomes a data-recovery exercise because the last agency buried a custom post type and a Przelewy24 callback inside functions.php.
WordPress Coding Standards are not a badge, they are what makes a second developer productive on day one, and they matter more when the team is distributed across cities and companies. Consistent formatting, proper escaping and sanitisation on every input and output, nonce verification on forms, internationalised strings so the same code base can serve Polish, English and German, and PHP that a linter can check in the pipeline. On top of that sits the practice that separates development from assembly: code review on every branch, an architecture decision record for the non-obvious choices, and small reviewable changes with preview links rather than a single monolithic drop at the end. This is not an imported ideal in Poznan; it is the working culture of the city’s shared-services and product centres, and it carries directly into how WordPress gets built here.
#WooCommerce for Polish, cross-border and DACH commerce
Poznan is a commerce city to its core, and a Polish WooCommerce store carries requirements a generic international build simply ignores. This is where a developer who actually works in the market pulls ahead of a template.
KSeF, the national e-invoicing system, is the clearest example. Structured invoices have to be generated in the correct XML shape and exchanged with the government platform, and a shop that treats invoicing as an afterthought discovers the gap the hard way at go-live. Omnibus is the second: when you show a promotional price, the law requires displaying the lowest price from the prior thirty days, and getting that right in WooCommerce is a data and display problem, not a checkbox. Then there is the delivery and payment texture that Polish shoppers take for granted. InPost Paczkomaty parcel lockers are the default fulfilment expectation, not an exotic add-on, and the checkout needs a proper locker selector rather than a plain address field. Payments run through Przelewy24, PayU or BLIK far more than through a bare card form, and each has its own callback and reconciliation behaviour to handle correctly.
Marketplace integration is the layer Poznan sees more than any other Polish city, because Allegro is headquartered here and selling on it is second nature to local retailers. A serious seller rarely runs WooCommerce or Allegro alone; they run both, and the two have to agree on catalogue, stock and order status without a human retyping data between panels. Building that sync properly, with rate-limit handling, conflict rules and a clear source of truth for stock, is engineering work, not a plugin you switch on. Cross-border is the other half of the story, and here Poznan’s geography does the talking: as the closest major Polish hub to Germany, it sells into the DACH market constantly, which pushes OSS VAT registration and the rate logic that follows, multi-currency and multi-language storefronts, German-language checkout and invoicing, and shipping rules that behave one way inside Poland and another across the EU border. Where the shop side of an engagement grows large enough to stand on its own, the WooCommerce developer service covers it in full.
Commerce and campaign WordPress fails in a specific way: it is fine in the demo and falls over when a trade-fair launch lands or a marketplace promotion drives a rush. The cause is almost never the thing people reach for first. It is rarely the theme’s CSS. It is uncached database queries multiplying under load, a plugin stack that autoloads on every request whether the page needs it or not, and an options table that has quietly grown to megabytes of autoloaded junk that every single page view has to read.
Performance engineering on WordPress starts with a profiler, not an opinion. Query Monitor and server-side timing show which queries run, how many, and how long they take, and the first pass is usually about deleting work rather than adding cache: a plugin that runs a query on every request to render something used on one page, a meta query with no index behind it, an autoloaded option that should never have been autoloaded. Once the query count is honest, object caching earns its place, and a page cache in front of anonymous traffic absorbs the spike that a fair announcement or a campaign creates. On a WooCommerce store the cart and checkout are dynamic and cannot be cached whole, so the work shifts to keeping those paths lean while everything around them is served fast, which matters most exactly when a Poznan exhibitor points every visitor at the site during a fair week. The last step is a performance budget written into the project so the next editor who installs a plugin does not silently undo the work, measured against real user field data rather than a single flattering lab run.
#Security and compliance: GDPR, NIS2 and a code base you can audit
For a growing number of Poznan companies, and for the DACH clients they build for, security is no longer a nice-to-have paragraph. In development terms it is concrete and unglamorous: disciplined escaping and sanitisation on every input and output, nonce verification on forms, hardened configuration, least-privilege database and file permissions, dependencies kept current through Composer, and code a reviewer can actually read rather than a plugin pile nobody has looked inside.
GDPR shapes what personal data a plugin stores, how consent is captured on forms and analytics, and how export and erasure requests are served without a manual database dig. It bites harder on a commerce site that holds customer orders and on a lead-capture site built around a trade-fair campaign. NIS2, now transposed into national law across the EU, pulls more mid-sized companies into a formal cybersecurity regime than the old rules did, and while WordPress is rarely the core system in scope, a public-facing site connected to internal systems still needs patch discipline, logging, access control and a documented update path. In a city where many clients are the security-conscious back office of a larger international group, this language is familiar and the bar is set accordingly. We build those controls into the handover rather than leave them as a policy document that nobody implemented. The point is not to sell fear; it is that a site put together as assembly cannot pass this bar, and one written as engineering can.
#When headless is the right call, and when it is scope creep
Headless WordPress, keeping WordPress as the editorial back end while a separate front end renders the site, is genuinely the right answer for a slice of projects: an app-like interface, a design system shared with a native application, or a publishing operation that wants a static front end sitting in front of a busy editorial back end. When one of those requirements is real, the work is worth doing and we do it, and where a static rebuild is the honest fix for a heavy front end rather than a slow origin, that is the Next.js and Astro migration path, with the broader headless WordPress service covering the architecture in full.
It becomes scope creep when it is chosen for a content site that a well-built block theme would serve at a fraction of the cost and half the ongoing maintenance surface. Headless doubles the number of moving parts, the number of deployments, and the number of things that can break at the seam between the CMS and the front end. Poznan’s business-first instinct tends to keep this in check, because the local question is usually whether the extra complexity sells more or ships faster, and often the honest answer for a commerce or marketing site is no. The recommendation is almost always to sequence: get the WordPress build right first, prove it against real numbers, and only reach for headless when a specific requirement is paying for the extra complexity.
#Three Poznan engagements from the workbench
The names and figures are withheld; the shapes recur, which is why they are worth describing.
The marketplace seller whose store and Allegro listings kept disagreeing. A Poznan retailer sold across their own WooCommerce store and a busy Allegro presence, and the two were maintained by hand, which meant oversold items, mismatched prices and a staff member spending mornings retyping stock between panels. The work was a proper integration layer: a single source of truth for stock, catalogue and order sync running on a schedule and on webhooks, conflict rules for the cases where both channels moved at once, and rate-limit handling so a busy day did not break the sync. The retailer stopped firefighting overselling and started trusting one dashboard, and the store could finally run a promotion without a spreadsheet audit afterwards.
The trade-fair exhibitor who needed a multilingual campaign site in a hurry. A company exhibiting at the MTP Poznan grounds needed a campaign and product microsite that spoke Polish, English and German, could go live before the fair and survive the traffic every time the stand handed out the URL. The fix was a clean custom block theme with a genuine multilingual architecture rather than three loosely related sites, editorial workflows the marketing team could run without a developer during the fair week, and a performance pass so the site stayed fast under a concentrated burst of visitors. After the fair the same site became the permanent product hub, because it had been built as a real property, not a disposable banner.
The DACH-facing B2B distributor that needed WordPress held to an engineering standard. A distributor selling into Germany and Austria ran its catalogue and lead capture on WordPress, and the site had become a liability: slow, hard to edit safely, and carrying consent and data handling that would not survive a German privacy review. We worked as the WordPress specialists alongside their people: a custom block theme so their team could publish without breaking layouts, a German-language checkout and invoicing path, a performance and query-load pass, and a consent and data-handling setup their compliance reviewer could sign off. No headless rebuild, no framework migration, just the WordPress build done properly so a cross-border sales operation could rely on it.
#The Poznan context: Allegro, the MTP fair, shared services and the shortest hop to Germany
Poznan is the commerce capital of Poland’s economy in a way no other city quite matches. It is the home of Allegro, whose presence seeds a whole ecosystem of e-commerce, retail-tech and marketplace-integration skill in the local talent pool, and it hosts the MTP Poznan International Fair, the largest trade-fair grounds in the country, which keeps a permanent culture of B2B commerce, events and exhibitor marketing alive in the city. Around those two anchors sit shared-services and R&D centres for companies such as GSK, Franklin Templeton and Roche, which set the code-review, documentation and compliance bar that international employers expect, and Poznan University of Technology feeds the whole thing a steady stream of computer-science graduates.
Geography is the quiet advantage on top of all that. Poznan sits in western Poland, closer to Berlin than to Warsaw, which makes it the shortest nearshore hop to the German-speaking market of any major Polish tech hub. That shapes WordPress work in two directions at once. Outward, Poznan is a natural DACH nearshore partner, and WordPress travels especially well remotely because the artefact is a reviewable pull request, not a presence in a meeting room. Inward, Poznan’s own organisations, marketplace sellers, trade-fair exhibitors with multilingual audiences, and DACH-facing distributors, increasingly want their WordPress and WooCommerce properties held to the same standard as the rest of their stack. None of these buyers is well served by a page builder and a plugin pile, which is precisely why senior WordPress development has a market here.
#When you do not need a dedicated WordPress developer
The section most agency pages leave out. If your site is a handful of pages, your content changes rarely, and you have no store, integrations or performance pressure, you do not need a dedicated WordPress developer and hiring one is money spent on capability you will never use. A reputable theme, a small number of well-chosen plugins and a designer who keeps it tidy will serve you, and a good developer will point you there rather than invent a build. The same applies when your real problem is content or marketing rather than code: no amount of custom development fixes a site that nobody visits.
There is a second, quieter case for declining. Custom code is a commitment, because a bespoke plugin needs an owner and a maintenance path. If a project cannot fund its own upkeep, an orphaned custom plugin that nobody understands is worse than the off-the-shelf one it replaced. The honest trigger for dedicated development is a genuine mismatch between what you need and what assembly can deliver: a content model that does not fit, a WooCommerce integration with KSeF, Przelewy24 or Allegro that has to be built correctly, a multilingual campaign that has to stay consistent across languages, a performance target a builder cannot reach, or an inherited code base that needs rescuing. Where none of those is present, the recommendation is to save the budget.
#How the nearshore engagement works
We are a Poznan-based team and we build for Western European and DACH clients remotely, both directly and as white-label overflow for agencies, working in English. The mechanics are unremarkable, which is the point: standard B2B contracts, cross-border invoicing as a Polish company inside the EU single market with reverse-charge VAT handled the normal way, and everything shipped through version-controlled pipelines you can inspect. Central European Time is the quiet advantage; Poznan shares a clock with Berlin, Vienna and Zurich, so reviews, standups and releases happen inside your working day rather than overnight, and for a German-speaking client the country is next door rather than a continent away.
The way in is deliberately small: a codebase audit and a written scope that separates real requirements from the wish list, followed by staged delivery where the first reviewed branch is also the first point at which you can judge the work and decide how much further to go. Pricing is individual and tied to the scope the audit justifies, not to your company size or location. The exit is built in from the start, with living documentation and a handover session, so whether the project moves to your own developers, stays with an agency, or continues on an optional maintenance retainer, you own the result rather than depending on us to read our own code. If a broader engineering brief emerges from the audit, the WooCommerce developer service covers shop work in depth, and the headless WordPress service covers the front-end architecture when a specific requirement justifies it.
Last updated: 12 July 2026