Shopware · Magento · WooCommerce
Wir halten Ihren Shopware-, Magento- oder WooCommerce-Shop aktuell, und vergleichen danach jede Seite mit ihrem Zustand von vorher. Weicht eine ab, kommt der alte Stand zurück, bevor Sie davon erfahren müssen.
We keep your Shopware, Magento or WooCommerce shop current, and afterwards compare every page with how it looked before. If one differs, the old state comes back before you have to hear about it.
Wir halten Ihren Shop aktuell und vergleichen danach jede Seite mit ihrem Zustand von vorher. Weicht eine ab, kommt der alte Stand zurück.
We keep your shop current and afterwards compare every page with how it looked before. If one differs, the old state comes back.
Ein echter Lauf vom 18.08.2026. Die Sekunden stammen aus dessen Protokoll; die beiden Playwright-Phasen skalieren mit der Seitenzahl, angegeben ist die gemessene Rate je Seite.
A real run from 18 Aug 2026. The seconds come from its own log; the two Playwright phases scale with page count, the figure is the measured rate per page.
Ein echter Lauf vom 18.08.2026, hier auf vier von elf Phasen gekürzt. Die 82 Sekunden sind der ganze Lauf, die 2 Sekunden gelten je geprüfter Seite.
A real run from 18 Aug 2026, shortened here to four of its eleven phases. The 82 seconds cover the whole run, the 2 seconds are per page checked.
Größter Lauf bisherLargest run so far
Shopware 6.6.4.1 → 6.7.13.0
190
Core- und Plugin-Migrationen
core and plugin migrations
1
Lauf, ohne Rücksetzung
run, no rollback needed
0
Handgriffe am Shop
manual steps on the shop
Ein Major-Update auf einem Shop mit echten Kundendaten, einschließlich Plugin-Konflikten, die der Lauf selbst aufgelöst hat. Ein Sprung über eine Hauptversion ist der Fall, den sonst niemand automatisiert — deshalb steht er hier und nicht ein Patch-Update.
A major update on a shop carrying real customer data, including plugin conflicts the run resolved by itself. A jump across a major version is the case nobody else automates — which is why it is here rather than a patch update.
01
Updates werden aufgeschoben. Schwierig sind sie nicht. Riskant schon: ein übersprungener Schritt, und der Shop ist offline.
Updates get postponed. They are not difficult. They are risky: one skipped step and the shop is offline.
02
Der Abstand wächst. Monate ohne Sicherheitspatches, und irgendwann ist das Update ein Projekt statt einer Routine.
The gap widens. Months without security patches, and eventually the update is a project rather than a routine.
03
Am Ende macht es niemand. Weder die Agentur noch der Betreiber will derjenige sein, der den Shop heruntergeholt hat.
So nobody does it. Neither the agency nor the owner wants to be the one who took the shop down.
Der AblaufThe sequence
BackupBackup
Datenbank und Dateien, vollständig, bevor irgendetwas angefasst wird.
Database and files, complete, before anything is touched.
Playwright-Tests · ReferenzPlaywright tests · reference
Aus Ihrer Sitemap entsteht eine Playwright-Testsuite, ein Test je Seite. Der erste Lauf hält fest, wie Ihr Shop aussieht.
Your sitemap becomes a Playwright test suite, one test per page. The first run records how your shop looks.
WartungsmodusMaintenance mode
Der Shop nimmt keine Bestellungen mehr an.
The shop stops taking orders.
PaketePackages
Composer beziehungsweise WP-CLI holt die neuen Versionen.
Composer or WP-CLI fetches the new versions.
MigrationenMigrations
Das Datenbankschema wird auf den neuen Stand gebracht.
The database schema is brought up to date.
CachesCaches
Alles Zwischengespeicherte wird verworfen und neu aufgebaut.
Everything cached is discarded and rebuilt.
IndizesIndexes
Such- und Katalogindizes werden neu erzeugt.
Search and catalogue indexes are regenerated.
AbschlussFinalise
Der Wartungsmodus endet, der Shop ist wieder offen.
Maintenance mode ends, the shop is open again.
Health-CheckHealth check
Die Storefront wird aufgerufen. Nur eine gesunde Antwort zählt als Erfolg.
The storefront is called. Only a healthy answer counts as success.
Playwright-Tests · AbgleichPlaywright tests · comparison
Dieselbe Suite läuft erneut. Jede Seite wird Pixel für Pixel mit ihrer Referenz verglichen.
The same suite runs again. Every page is compared pixel by pixel with its reference.
Rücksetzung bei FehlschlagRollback on failure
Antwortet der Shop nicht gesund oder hat sich eine Seite verändert, kommt der Stand aus Schritt 01 zurück, ohne Rückfrage.
If the shop does not answer healthy, or a page has changed, the state from step 01 comes back, with nothing to confirm.
Kommt der Shop nicht gesund zurück, wird der Stand von vorher automatisch wiederhergestellt. Das ist keine Option, die man vergessen kann.
If the shop does not come back healthy, the previous state is restored automatically. It is not an option anyone can forget to tick.
Vor dem EingriffBefore the work starts
Bevor irgendetwas angefasst wird, fragen wir Ihren Shop, was einem Update im Weg steht: unverträgliche Erweiterungen, eine zu alte PHP-Version, ein fehlendes Modul. Ist das Hindernis nicht behebbar, lehnen wir den Lauf ab, bevor ein Wartungsfenster beginnt.
Before anything is touched, we ask your shop what stands in the way of the update: incompatible extensions, a PHP version that is too old, a missing module. If the obstacle cannot be resolved, the run is refused before a maintenance window ever starts.
Ein Shopware-Shop sollte von 6.6 auf 6.7. Eine Erweiterung, frosh/robots-txt, blockierte den Sprung: keine ihrer Versionen unterstützt 6.7. Statt zu raten, prüften wir die Veröffentlichungen des Herstellers und stellten fest, dass Shopware die robots.txt-Verwaltung seit 6.7.1 selbst mitbringt. Die Erweiterung wurde nicht ersetzt, sondern entfernt, sie wurde nicht mehr gebraucht.
A Shopware shop was to move from 6.6 to 6.7. One extension, frosh/robots-txt, blocked the jump: none of its releases support 6.7. Rather than guess, we checked what the vendor had published and found that Shopware has handled robots.txt itself since 6.7.1. The extension was not replaced but removed, it was no longer needed.
Nach dem EingriffAfter the work
Der übliche Test nach einem Update ist ein Statuscode: Die Startseite antwortet mit 200, also gilt das Update als gelungen. Ein Theme, das nicht übersetzt wurde, antwortet mit 200. Ein Block, der mit einer entfernten Erweiterung verschwunden ist, ebenso. Und ein Stylesheet, das nie neu gebaut wurde, auch.
The usual test after an update is a status code: the home page answers 200, so the update counts as done. A theme that failed to compile answers 200. So does a block that vanished with a removed extension. So does a stylesheet that never rebuilt.
Wir vergleichen stattdessen jede Seite mit sich selbst. Direkt nach der Sicherung, solange der Shop noch läuft, wird er Seite für Seite fotografiert, nach dem Update noch einmal. Weicht eine Seite ab, kommt der Stand von vorher zurück, bevor Sie davon erfahren müssen.
We compare every page with itself instead. Right after the backup, while the shop is still live, it is photographed page by page, and again after the update. If a page differs, the previous state comes back, before you have to hear about it.
Aus Ihrer Sitemap, nicht aus einer Auswahl. Bis zu 95 % Ihrer Sitemap werden erfasst, gleichmäßig über Kategorien, Produkte und Landingpages verteilt, nicht die ersten vierzig Adressen.
From your sitemap, not from a selection. Up to 95% of your sitemap is covered, spread evenly across categories, products and landing pages, not the first forty addresses.
Die Tests gehören Ihnen. Was wir anlegen, bleibt bei Ihrem Shop: eine Testsuite, die es vorher nicht gab, und die jedes weitere Update prüft.
The tests are yours. What we build stays with your shop: a test suite that did not exist before, and that checks every update after this one.
Abweichungen werden benannt. Mit „drei Seiten verändert" kann niemand etwas anfangen. Sie sehen, welche Seite es war und um wie viel.
Differences are named. "Three pages changed" helps nobody. You see which page it was, and by how much.
Dynamisches bleibt außen vor. Slider, Werbeflächen, Lagerbestände und Bewertungen werden ausgenommen, sonst meldet jede Prüfung eine Änderung, die keine ist.
Dynamic parts are excluded. Sliders, ad slots, stock levels and reviews are left out, otherwise every check reports a change that is not one.
Der schlechteste FallThe worst case
Jeder Anbieter beschreibt, was passiert, wenn alles gut geht. Die Frage, die Sie eigentlich stellen wollen, ist eine andere: Was passiert, wenn das Sicherheitsnetz selbst reißt? Hier ist die Antwort, so unangenehm sie ist.
Every provider describes what happens when things go well. The question you actually want to ask is a different one: what happens if the safety net itself tears? Here is the answer, uncomfortable as it is.
Die Sicherung wird gelesen, bevor sie zählt. Ein Dump, der sich nicht zurücklesen lässt, ist eine Datei und keine Sicherung. Wir prüfen die Prüfsumme und den Abschluss-Marker, den mysqldump als Letztes schreibt. Schlägt das fehl, endet der Lauf, bevor irgendetwas verändert wurde.
The backup is read back before it counts. A dump that cannot be read back is a file, not a backup. We verify the checksum and the trailer mysqldump writes last. If that fails, the run stops before anything has been changed.
Eine gescheiterte Rücksetzung heißt gescheitert. Sie bekommt einen eigenen Zustand, und niemand meldet Ihnen „wiederhergestellt“. Das klingt selbstverständlich und ist es nicht: der bequeme Weg wäre, den Fehler zu protokollieren und trotzdem grün zu melden.
A failed restore is reported as failed. It gets a state of its own, and nobody tells you “restored”. That sounds obvious and is not: the convenient path is to log the error and report green anyway.
Der Shop bleibt dann im Wartungsmodus. Mit Absicht. Er steht auf keiner der beiden Versionen, und in diesem Zustand soll er keine Bestellung annehmen, die niemand später zuordnen kann. Sie bekommen die Kennung der Sicherung und einen Menschen, nicht eine Statusseite.
The shop then stays in maintenance mode. On purpose. It is on neither version, and in that state it should not take an order nobody can reconcile later. You get the backup’s id and a person, not a status page.
Nie zwei Läufe auf einem Shop. Das erzwingt die Datenbank, nicht eine Prüfung im Programm: zwei gleichzeitige Updates auf einem Verzeichnis wären zwei Sicherungen, zwei Schreibvorgänge und eine Rücksetzung mitten in der anderen.
Never two runs on one shop. Enforced by the database rather than by a check in the program: two updates at once on one directory would mean two backups, two sets of writes, and a rollback landing in the middle of the other.
Was diese Zusage nicht ist: eine Haftung für Umsatzausfall. „Gelingt das Update nicht, zahlen Sie nicht“ heißt, dass Sie für einen misslungenen Lauf nichts bezahlen — nicht, dass wir einen Schätzwert Ihres entgangenen Geschäfts erstatten. Was darüber hinausgeht, gehört in einen Vertrag und nicht auf eine Website.
What this promise is not: liability for lost revenue. “If the update does not succeed, you do not pay” means you pay nothing for a run that failed — not that we reimburse an estimate of the business you missed. Anything beyond that belongs in a contract, not on a website.
Zugang und NachvollziehbarkeitAccess and accountability
Kein Root-Zugang. Ein Benutzer mit Zugriff auf das Shop-Verzeichnis genügt.
No root access. A user with access to the shop directory is enough.
Zugangsdaten verschlüsselt. AES-256-GCM, serverseitig entschlüsselt, niemals im Browser.
Credentials encrypted. AES-256-GCM, decrypted server-side, never in the browser.
Jeder Befehl protokolliert. Was auf Ihrem Server ausgeführt wurde, können Sie jederzeit anfordern, Zeitpunkt, Befehl, Ergebnis.
Every command logged. You can ask for what was run on your server at any time, when, what, and what came back.
Widerruf jederzeit. Sie entziehen den Zugang, wir löschen die Daten und bestätigen es schriftlich.
Revoke whenever. You withdraw the access, we delete the data and confirm it in writing.
| 15:23:16 | BACKUP | export MYSQL_PWD=«redacted»; mysqldump --single-transaction … | 0 | 131 ms |
| 15:23:17 | BACKUP | tar -czf '/var/www/orbynt-backups/…/files.tar.gz' … | 0 | 8084 ms |
| 15:23:25 | MAINTENANCE | bin/magento maintenance:enable --no-interaction | 0 | 323 ms |
| 15:23:26 | PACKAGES | composer require magento/product-community-edition … | 0 | 29720 ms |
Vier von 391 Zeilen eines echten Laufs. Das Datenbankpasswort erscheint auch im Protokoll nicht, es wird geschwärzt, bevor irgendetwas gespeichert wird.
Four of 391 lines from a real run. The database password does not appear in the log either, it is redacted before anything is stored.
PreisePricing
EinmaligOne-off
499 €
pro Shop, pauschal · Shopware und Magentoper shop, flat · Shopware and Magento
Gelingt das Update nicht, zahlen Sie nicht.If the update does not succeed, you do not pay.
Monatlich, optionalMonthly, optional
249 €
pro Shop und Monat · Shopware und Magentoper shop and month · Shopware and Magento
Keine Voraussetzung. Sie können einmal aktualisieren lassen und danach entscheiden.Not a precondition. Have one update done and decide afterwards.
Für Agenturen und HosterFor agencies and hosts
39 €
pro Shop und Monat, ab 10 Shopsper shop and month, from 10 shops
Sie haben die Zugänge ohnehin. Das ist der Grund, warum es für Sie billiger ist.You already hold the access. That is why it costs you less.
WooCommerce
299 € einmalig, 79 € monatlich. Niedriger, weil unsere Automatik dort weniger tut: Bei Shopware und Magento kennt sie die Abhängigkeiten, löst Konflikte selbst und weiß im Voraus, auf welche Version ein Shop überhaupt kann. Bei WooCommerce macht sie das Update und die Seitenprüfung — den Rest macht ein Mensch. Das ist der ehrliche Unterschied, und er gehört in den Preis und nicht ins Kleingedruckte.
€299 one-off, €79 monthly. Lower, because the automation does less there. On Shopware and Magento it knows the dependency graph, resolves conflicts itself and works out in advance which version a shop can even reach. On WooCommerce it does the update and the page comparison — a person does the rest. That is the honest difference, and it belongs in the price rather than in the small print.
Der erste LaufThe first run
Sie geben uns einen SSH-Zugang zu dem Server, auf dem Ihr Umsatz entsteht. Das ist eine große Bitte für eine kleine Rechnung, und uns kennen Sie noch nicht. Deshalb suchen Sie sich aus, wie der erste Lauf abläuft: zu einem vereinbarten Termin, während Sie zusehen — Sie sehen jeden Schritt und jeden Befehl, während er läuft — oder zuerst auf einer Kopie, wenn Sie eine Staging-Umgebung haben. Beides kostet nichts extra und ändert nichts am Preis.
You are handing us SSH access to the server your revenue runs on. That is a large request for a small invoice, and you do not know us yet. So you pick how the first run happens: at an agreed time, with you watching — you see every step and every command as it runs — or on a copy first, if you have a staging environment. Neither costs extra and neither changes the price.
Keine EinrichtungsgebührNo setup fee
Keine Kosten je geprüfter SeiteNo cost per page checked
Keine MindestabnahmeNo minimum commitment
Alle Preise zzgl. gesetzlicher Umsatzsteuer. Leistungen außerhalb des Vertrags werden nur nach vorheriger Vereinbarung in Textform erbracht.
All prices plus statutory VAT. Work outside the contract is only carried out after prior agreement in writing.
Vier Angaben genügen. Wir sehen uns den Stand an und sagen Ihnen, was ein Update bei Ihnen bedeutet.
Four details are enough. We look at the current state and tell you what an update means in your case.