WordPress development for businesses in Vienna and Austria
I am Mariusz Szatkowski and I have built WordPress sites since 2006. For companies in Vienna, Graz, Linz, Salzburg and Innsbruck I take on the technical work nobody in-house has time for: themes built from your design, WooCommerce shops with Austrian payment methods, custom plugins, performance work and maintenance. I work alone, so the code you receive is code I wrote, and your logins stay with me.


My own photos from Vienna, September 2026. I work remotely and sometimes come to the city in person.
Who I am
WPPoland is the name I use for my work as a WordPress developer. I am a senior developer based in Gdynia, Poland, and I work for Austrian companies as their outside technical bench: you keep marketing and editorial in-house, I handle the development.
What I offer
Theme and block development, WooCommerce with Austrian payment and shipping, custom plugins, performance work based on real user data, privacy-compliant embedding of third-party services, and multilingual sites with Polylang, WPML or MultilingualPress. You bring the wireframes and graphic design, for example as a Figma file or a filled-in template that says which element goes where. I build that into a responsive WordPress theme.
WordPress services in Vienna
Block themes
A custom theme pays off when your editors should publish without asking a developer for every new location page. I build block themes on theme.json with patterns for the content you actually have: staff profiles, press releases, events, locations. If your design lives in Figma with design tokens, I carry the colours and spacing over so Figma, the block editor and the CSS use the same values.
WooCommerce shops
Austrian shoppers expect EPS bank transfer, Klarna and cards with 3-D Secure under PSD2. I connect them through Mollie, Stripe or Adyen, whichever you already settle with. For shipping I connect Österreichische Post, and other carriers through their own APIs. Tax settings cover the 20 % standard rate and the reduced 10 % and 13 % rates, plus OSS reporting when you sell to consumers in other EU countries.
Plugins
I write a custom plugin only when no existing one fits the workflow. Typical Austrian cases: a connector that hands WooCommerce orders to BMD or RZL, a REST endpoint for a partner network, blocks that enforce accessible markup.
Performance
I measure Core Web Vitals on real Austrian visitors through the CrUX data for your .at domain, not on a single Lighthouse run. Most of the work is removal: loading third-party scripts later, serving images as AVIF, replacing old shortcode patterns with blocks that do not load hundreds of kilobytes of JavaScript for a contact page.
Maintenance
Maintenance covers uptime monitoring every 1 to 5 minutes, backups kept for at least 30 days in EU countries, and updates I test on staging first. I do not sell hosting: you choose the provider and I work with the stack you have. I do not offer a 24/7 on-call service or guaranteed response times.
When is WordPress the right choice in Austria?
WordPress suits brands that publish a lot, B2B service firms, tourism businesses with frequent new content, and WooCommerce shops with a manageable order volume. With current PHP, an object cache and a properly sized server it also carries larger shops; a load test with your own data shows where the limit is.
It suits marketplaces with very high order volume less well, as it does editorial teams with complex approval workflows that TYPO3 already covers, and SaaS dashboards, where a separate application with its own authentication is the honest answer.
Multilingual sites in Austrian German (DE-AT)
Multilingual means something different in Vienna than in Berlin. The editorial language is Austrian German: Jänner, Feber, Erdäpfel, Marillen, Paradeiser. Tourism, hospitality and consumer brands lose Viennese readers’ trust when the copy reads like it was written in Germany.
I pick the plugin by scope:
- Polylang Pro for two to four languages: a stable URL structure, little overhead, hreflang set cleanly in the template.
- WPML with String Translation when your team needs translation memory or a translation agency working inside the dashboard.
- MultilingualPress for multisite setups with separate sites for AT, DE, CH or South Tyrol.
Your own editors check the DE-AT wording. I take care of slugs, hreflang and Open Graph tags, and of making sure no language version points to an empty translation.
GDPR and the Austrian DSG on a WordPress site
The GDPR sets the frame, the Austrian Datenschutzgesetz (DSG) supplements it, and the Datenschutzbehörde decides complaints; its decisions are published in the RIS. Art. 32 GDPR requires security measures that match the risk. On a typical WordPress site that means encrypted backups in the EU, TLS, two-factor login for administrators, an activity log, and a documented list of every third-party script that touches visitor data. I check how far your site already meets this before I start.
Cookies and tracking fall under § 165 (3) TKG 2021, which replaced § 96 (3) of the 2003 act: information on a user’s device may only be stored or read with active consent, unless it is strictly necessary for a service the user explicitly asked for. So I set up analytics with consent mode and configure the consent tool (Cookiebot, Usercentrics or Borlabs) so that nothing non-essential loads before consent. None of them does that in its default configuration.
Anyone who gives me access to a site holding personal data signs a processor agreement with me under Art. 28 GDPR first. I use no sub-processors.
Migrating from TYPO3, Magento and older systems
Many Austrian mid-sized companies and institutions still run TYPO3 8 or 9 or older Magento installs whose security updates have become expensive. I migrate in a way that keeps your visibility on Google.at. Method and templates: confidential TYPO3 to WordPress case study.
- URL mapping: every existing URL is inventoried and mapped to the new structure with a 301 redirect. Canonical tags, Open Graph data and structured data are rebuilt.
- Scripted data transfer: I export content, taxonomies, custom fields and media from the old system, clean them and move them into custom post types and ACF fields.
- Customers and orders: on shop migrations to WooCommerce I carry over customer accounts, order history and product variants. Old password hashes are converted to the WordPress format at each customer’s first login.
Connecting WooCommerce to BMD NTCS, RZL and Austrian Post
A shop saves work only when orders do not have to be typed into the accounting system by hand:
- BMD NTCS: connectors that pass orders, customer data and invoice data from WooCommerce to BMD and sync stock levels, through the interface your BMD installation provides.
- RZL: for companies and tax advisers on RZL, automated accounting exports in the right format, with the Austrian tax rates mapped correctly.
- Österreichische Post: label printing, tracking and returns from the WooCommerce dashboard, without anyone opening the Post portal.
Accessibility under the BaFG, WZG and BGStG
Federal public bodies fall under the Web-Zugänglichkeits-Gesetz (WZG). Since 28 June 2025 the Barrierefreiheitsgesetz (BaFG) also requires many private businesses to make consumer-facing online shops and booking flows accessible; micro-enterprises providing services are exempt. The Federal Disability Equality Act (BGStG) still applies alongside. The WKO overview of the BaFG in e-commerce is a good starting point. If you want your site audited, the OCG’s WACA certificate (Web Accessibility Certificate Austria) is one route.
- WCAG 2.2 AA: semantic HTML, ARIA only where needed, full keyboard use without focus traps, contrast of at least 4.5:1 for body text.
- Testing: screen reader checks with NVDA and VoiceOver, automated axe-core checks before every deployment.
Hosting with Austrian data residency
I do not run hosting myself. If your compliance rules say the data must stay in Austria, you pick a provider with a data centre in the country, such as Anexia in Vienna, World4You or easyname, and I set WordPress up there or take over the existing install. Before I start, I agree in writing what your host delivers (backups off the web server, a tested restore path, a hardened server) and what I handle inside WordPress.
How does working with someone in Poland work?
- Contract and invoice: a B2B contract with your company under Polish law, with an NDA and processor agreement if you need them. The invoice uses reverse charge with my EU VAT ID PL7393037445 and your UID number.
- Communication: in writing, by email, in documents and in the repository, so decisions can be looked up later. If you need a phone call, tell me.
- Sign-off: I show every change on staging and describe in writing what changed. Code review happens in a private Git repository.
- Time zone: Gdynia and Vienna are in the same time zone.
How does a WordPress project run?
- Analysis and scope: I read your brief, review the current site and send my questions in writing.
- Quote: scope, assumptions and timeline are in the quote before any code is written.
- Build: the code lives in a private Git repository. Every push deploys to staging automatically; production is updated only after your approval.
- Review on staging: staging uses a copy of production data without personal data. You review there and get a written description of each change.
- Launch: before go-live I run Lighthouse, axe-core and a manual test in current Firefox, Chrome, Safari and Edge, plus iOS Safari and Chrome on Android.
Contact
Send me the scope, your timeline and the stack you want through the contact form. You get the next steps in writing and a quote with the assumptions it rests on.




