Caching ein WooCommerce-Geschäft, ohne den Warenkorb zu brechen
Ganzseitiges Caching und ein Live-Warenkorb klingen wie geschworene Feinde - bis Sie die richtigen Cookies umgehen. Hier ist genau, wie man einen WooCommerce-Shop fliegen, während die Kasse perfekt funktioniert.
Ein WooCommerce-Store ist für jeden Käufer meist identisch – und dieser Teil kann am Rand für sofortige Lasten zwischengespeichert werden. Die Warenkorb-, Kassen- und Kontoseiten sind persönlich, so dass Sie den Cache für sie umgehen, indem Sie die Session-Cookies von WooCommerce erkennen. Cache den Katalog, umgehen Sie den Warenkorb, und Sie erhalten einen Shop, der sofort ohne ein einziges Plugin fühlt.
Fragen Sie jemanden, warum sie ihren WooCommerce-Store nicht hinter einen Cache gestellt haben und Sie werden in der Regel die gleiche Antwort bekommen: "Ich kann nicht - mein Warenkorb ist dynamisch." Es ist eine vernünftige Sorge. Niemand will, dass ein Käufer drei Artikel hinzufügt, die Kasse anschlägt und einen leeren Wagen sieht, weil eine veraltete Seite bedient wurde. Aber diese Angst hält viele Geschäfte ohne guten Grund langsam, denn der Einwand ist in etwa zwei Minuten lösbar.
Der Trick ist es nicht weniger zu verbergen. Es ist, die 95% Ihres Shops zu verbergen, die für alle gleich sind, und genau zu sein, die 5%, die nicht.
Warum WooCommerce in erster Linie langsam ist
WooCommerce ist WordPress mit einer ernsthaften E-Commerce-Engine verschraubt, und diese Maschine macht eine Menge Arbeit. Für jede einzelne Seitenansicht weckt es PHP auf, führt Ihr Theme und einen Stapel Plugins aus, erstellt einen Stapel Datenbankabfragen, berechnet, was angezeigt werden soll, und sendet erst dann das HTML. Für einen Besucher, der an einem ruhigen Nachmittag stöbert, ist das in Ordnung. Für hundert Käufer auf einmal während einer Aktion, wird diese pro Seite Arbeit die Sache, die Ihren Server kippt über.
Hier ist die Sache: diese Produktseite hat nicht in Wochen verändert. Es von Grund auf neu zu bauen für jeden Besucher ist reine Verschwendung. Ganzseitiges Caching speichert das fertige HTML am Rand und dient dieser Kopie direkt, so dass PHP und die Datenbank eine Pause bekommen und Ihr Shopper eine Seite in Millisekunden bekommt.
Der Einblick: Die meisten Ihrer Shops sind für jeden gleich
Gehen Sie als eingeloggter Besucher durch Ihren Laden. Die Homepage, die Kategorie Auflistungen, jede Produktseite — sie sehen identisch aus, egal wer sie betrachtet. Das ist die zwischengespeicherte Mehrheit. Die einzigen Seiten, die je nach Person unterschiedlich sind, sind diejenigen, die an eine Sitzung gebunden sind: der Warenkorb, die Kasse und der Kontobereich.
Was man zwischenspeichern und was man umgehen muss
| Seite | - Das war's? | Warum? |
|---|---|---|
| Homepage, Kategorien, Produkte | Nein | Identisch für jeden Käufer |
| Suchergebnisse, Blog, CMS-Seiten | Normalerweise | Gleiche Inhalte für alle |
| Einkaufswagen | Niemals | Einzigartig für die Shopper-Sitzung |
| Kasse | Niemals | Gesamtsumme, Zahlung, Anschriften |
| Mein Konto / Bestellverlauf | Niemals | Privat und privat |
Wie der Bypass tatsächlich funktioniert
Woher weiß der Rand, ob eine Anfrage "nur browsing" oder "hat einen Wagen"? Kekse. In dem Moment, in dem ein Käufer etwas zu seinem Warenkorb hinzufügt oder sich anmeldet, setzt WooCommerce bestimmte Cookies auf ihrem Browser. Ein Cache, der diese Cookies versteht, kann bei jeder Anfrage automatisch den richtigen Anruf tätigen.
Ein neuer Besucher kommt
Noch keine WooCommerce Session-Cookies, also bekommen sie die schnelle, zwischengespeicherte Katalogseite – die in Millisekunden vom Rand aus bedient wird.
Sie fügen dem Wagen etwas hinzu
WooCommerce setzt einen Cart-Cookie. Ab sofort sieht der Rand, dass Cookie und umgeht den Cache für sie, die Live-Seiten.
Sie sehen sich um
Warenkorb, Checkout und Kontoanfragen überspringen den Cache komplett, so dass Totals, Versand und Zahlung sind immer live und korrekt.
Die Cookies, die wichtig sind, sind die üblichen WooCommerce Verdächtigen — Dinge wie woocommerce_cart_hash, woocommerce_items_in_cart und den eingeloggten Session-Cookie. Sie müssen sich diese nicht merken: das Preset kennt die Liste bereits.
Die Ein-Klick-Voreinstellung
Sie können all dies per Hand konfigurieren — Liste der Cookies, setzen Sie die Bypass-Pfade für /cart, /checkout und /my-account, testen Sie jeden Rand Fall. Oder Sie können den WooCommerce-Beschleuniger voreingestellt, der alles für Sie aufstellt. Es kennt die Cookies, es kennt die Pfade, und es lässt Sie mit einem Katalog, der vollständig zwischengespeichert ist und eine Kasse, die vollständig live ist.
Was Sie behalten
- Sofortige Produkt- und Kategorieseiten
- Ein lebendiger, immer korrekter Wagen
- Logged-in Kunden sehen ihre eigenen Preise
Was Sie fallen lassen
- Pro-Besuch PHP und Datenbank laden
- "Ist mein Cache sicher?" Angst
- Noch ein weiteres Caching Plugin zu babysit
Vergessen Sie nicht die Produktbilder
Noch ein Sieg, während du hier bist, weil es oft der größte ist. Ein Geschäft lebt und stirbt auf seinen Produktfotos, und diese Fotos sind in der Regel die schwerste Sache auf der Seite. Umwandeln in WebP oder AVIF und Größenänderung auf die tatsächlich angezeigte Größe – on the fly, at the edge – macht häufig mehr für die wahrgenommene Geschwindigkeit als jede Änderung des Backends.
Eine Notiz am Schwarzen Freitag
Dieses Setup geht nicht nur um die tägliche Geschwindigkeit – es ist, was einen kleinen Laden überleben lässt seinen größten Tag. Wenn der Datenverkehr 10x geht, zwischengespeicherte Katalogseiten nehmen fast alle diese Last von Ihrem Ursprung, so ist Ihr Server frei, die Sache zu behandeln, die tatsächlich Geld verdient: Karren und Kassen. Fügen Sie einen optionalen Warteraum vor, und sogar eine Nachfragespitze über Ihre Kapazität wird eine geordnete Warteschlange anstelle eines Absturzes.
"Mein Warenkorb ist dynamisch" ist kein Grund, Caching zu überspringen – es ist ein Grund, genau zu verbergen. Cache den Katalog am Rand, umgehen Sie den Cache für Cart, Checkout und angemeldete Sitzungen mit WooCommerce eigenen Cookies, und optimieren Sie diese Produktbilder. Sie behalten jedes bisschen der Funktionalität des Shops und verlieren die Trägheit, alles ohne eine Sache zu installieren.
Wenn Sie den kurzen Weg, die WooCommerce CDN setup wendet dieses Preset für Sie an und Beschleuniger für die Website deckt die gleiche Idee für WordPress, PrestaShop und benutzerdefinierte Plattformen.
Sehen Sie, wie NordicCDN dies für Ihre Website tut:
Mads hat seit seinem 16. Lebensjahr in der IT gearbeitet — hauptsächlich als Hosting. Er beteiligte sich früh an einer SaaS-Firma und half, sie bis zur Übernahme durch Visma weiterzuentwickeln, hat Data-Center-Netzwerke aufgebaut und betrieben und diente als CTO eines dänischen Rechenzentrums. Er hat NordicCDN gestartet, um eine schnelle, sichere Infrastruktur einfach zu bedienen.