Performance
Unsere Seiten sind sehr langsam. Die Genaue Ursache kann ich nicht sicher bestimmen. Ich vermute, es handelt sich um relativ viel PHP-Verarbeitung auf einer langsamen CPU. Ich habe verschieden Tests ausgeführt, die auch noch verfügbar sind:
- Abruf einer einfachen HTML-Seite zum Test der Netzverbindung des Web-Servers: https://compass-collective.org/hello.html
- Aufruf eines einfachen PHP-Skriptes zum Test der Instanzierung des PHP-Stacks: https://compass-collective.org/hello.php
- Aufruf einer einfachen Datenbankabfrage zum Test der DB-Anbindung: https://compass-collective.org/db.php; ich habe auch mit dem Plugin „Query Monitor“ getestet, demnach ist die DB schnell genug
Keiner der Tests zeigte Auffälligkeiten, eine Antwort kam innerhalb von 100ms, d.h. die Technik ist in allen getesteten Bereichen okay. Eine Auffällig gab es allerdings: der Browser ruft bei den Tests das favicon.ico ab. Das wird mit einem Redirect auf die eigentliche Bilddatei beantwortet. Dieser Redirect benotigt über eine Sekunde. Vermutlich geht auch der Request über WordPress.
Außerdem habe ich eine lokale Kopie der Seite ohne BeaverBuilder getestet. Das hat bei mir 800ms gekostet und die Seite ist ohnehin bei mir schon viel schneller. Ich nehme daher an, dass der BeaverBuilder das Problem mindestens verschlechtert. Ich habe mittlerweile eine Möglichkeit entwickelt, Seiten auch ohne BeaverBuilder zu erstellen, ohne Abstriche beim Design machen zu müssen. Ich habe bzgl. der Performance minimale Seiten mit und ohne BeaverBuilder getestet. Die Seiten sind:
Beide Seiten laden in etwas gleich schnell. Man beachte, dass ich für meinen lokalen Test, der eine deutliche Verbesserung ergab, BeaverBuilder komplett deinstalliert hatte. Beide Seiten laden auch ganz erhalblich schneller also unsere volle Seite. Notfalls müssten wir unsere Seite stark vereinfachen. Allerdings betreffen die Performance-Probleme alle Seiten, auf denen mehr als ein Text-Schnipsel ist, das ist also auch nicht wirklich eine Lösung.
TODOs
- Checken, ob favicon.ico direkt hochgeladen werden kann um die Server-Load bei jedem Request zu mindern. Das könnte auch noch für andere Dateien zutreffen und eine mögliche Minderung der Load bringen
- Ein PHP-Test-Skript schreiben, das die Performance der PHP-Verarbeitung testet, um das Problem einzugrenzen
- ✅ Evtl. mit JPBerlin über die Performance sprechen
- Plugins auf lokaler Kopie deaktivieren um Performance-Auswirkung zu testen (sieh JPBerlins Antwort
Ich habe mit JPBerlin gesprochen. Hier die Antwort mit dem aktuellen Stand:
Standardvorgehen wäre, ein verursachendes Plugin zu identfizieren durch Deaktivieren aller Plugins und reihenweise erneutes aktiveren. Anschließend sollten die geforderte Systemvorgaben des gefundenen Plugins festgestellt werden. Hernach können wir gerne sehen, inwieweit wir dabei unterstützen können.
Zum Vergleich, dass der Server nicht grundsätzlich der Verursacher ist:
Unter dem gleichen Kundenkonto liegt auf dem selben Server beispielsweise die Domain grenzenlos-people-in-motion.eu, die ebenfalls ein WordPress ist und normale Antwortzeiten (für ein Shared Hosting) hat).
Mitigation
Ich habe auf Tills Anregung und in Rücksprache mit Jörn verschiedene Cache-Plugins getestet (drei oder vier). Die meisten hatten keinen deutlichen Effekt. Ich habe nun „WP Super Cache“ installiert. Auf Empfehlung von JPBerlin ist aktuell das Cache-Plugin „W3 Super Cache“ installiert.
Shop
Der Shop kann aktuell hier angesehen werden: https://compass-collective.org/shop/?woo-share=Zw9ncdKirN0Lcs9eL7UtZCUwP5jglMA1
Lene 10.1.26
Wenn ich im Soli-Shop eine Bestellung aufgegeben habe sehe ich am Ende weder die Leiste mit den Reitern oben, noch gibt es einen Button „Zurück zur Startseite“ oder ähnliches. Könntet ihr sowas einbauen?
Außerdem wäre auch großartig, gäbe es im Soli-Shop jederzeit irgendwo einen Button „Zum Warenkorb“. Aktuell wird der nur eingeblendet, wenn ich gerade etwas dem Warenkorb hinzugefügt habe, das ist etwas unpraktisch.
TODOs
| Status | Beschreibung | Ergebnis | zuständig |
|---|---|---|---|
| ✅ | Ich habe eingestellt, dass wir keine UmsatzST anmelden, wegen Kleinunternehmerregelung. | Ist bestätigt, bleibt so. | Thorsten, Matthias |
| ✅ | Notwendigkeit des UmsatzST-Hinweises bei jedem Preis prüfen, ggf. entfernen | notwendig, bleibt so | Katja, Thorsten, Matthias |
| ✅ | Wir benötigen AGB und Widerrufsbelehrung. | Mit Germanized pro erzeugt | Katja, Thorsten |
| ✅ | Lieferzeit in AGB eintragen | Katja, Thorsten | |
| ✅ | AGB & Widerrufsbelehrung & Versandartenseite stylen, plus Nav-Menü | Neues Theme-Template „No BeaverBuilder“ | Thorsten |
| ✅ | Sollen Versandoptionen integriert werden (DHL, Deutsche Post, UPS, weitere benötigen Pro-Version)? | DHL, | Lene, Thorsten |
| ✅ | Versandverpackungen festlegen (Preis! Siehe unten) | Lene, Thorsten | |
| ✅ | Versandpauschalen einstellen | Lene, Thorsten | |
| ✅ | Versandklassen und Versandpauschalen für mehrere Artikel konfigurieren | Lene, Thorsten | |
| ✅ | Versandarten-Seite schreiben | Template kopiert und | Lene, Thorsten |
| ✅ | Aus welchen Ländern nehmen wir Bestellungen an? | EU | Lene, Thorsten |
| ✅ | In welche Länder versenden wir? | EU | Lene, Thorsten |
| ✅ | Weitere Fotos sollten evtl. ergänzt werden (z.B. blaues T-Shirt). | Lene, Thorsten | |
| ✅ | „Menschenbilder“ als Vorschaubilder, Crew-Shirt vorn rausnehmen | Lene, Thorsten | |
| ✅ | Sweater fehlt noch (keine Bilder) | Lene, Thorsten | |
| ✅ | Preise prüfen | Lene, Thorsten | |
| ✅ | Produkte auf Vollständigkeit prüfen | vollständig | Lene |
| ✅ | Hinweis hinzufügen: Verfügbarkeit unbekannt bis Lagerhaltung eingerichtet ist. Und prüfen, wie Artikel auf nicht verfügbar gesetzt werden können. | Lieferzeit unbekannt bei allen Artikeln und Hinweis bei Kasse | Thorsten |
| ✅ | „Sticker“/“Postkarte“ in betreffendem Produkttitel | Lene, Thorsten | |
| ✅ | ganz unten einbauen „Bei Fragen meldet euch gerne unter foerdern@compass-collective.org.“, unter Shop und/oder Produkte | Über Shop | Thorsten |
| ✅ | Stilanpassung der Bilder, wenn diese final sind (aktuell sind einige angeschnitten!) | Thorsten | |
| ✅ | Einrichtung des Zahlungsprozesses (Rechnung und Überweisung, Versand nach Zahlungseingang) | Thorsten | |
| ✅ | Soll für automatische Rechnungsstellung die Pro-Version angefragt/ggf. angeschafft werden? Siehe unten! | ja, gesponsorte Version installiert | Matthias, Thorsten |
| ✅ | Vendidero im Shop-Footer danken | Im generellen Footer | Thorsten |
| ✅ | Prüfen ob/wie Rechnungsnummern im Shop und außerhalb des Shops fortlaufend organisiert werden müssen/können | A2025-xxx, siehe unten | Matthias, Thorsten |
| ✅ | Kontodaten einfügen | Vorerst Spendenkonto | |
| ✅ | Vereinssteuernummer, USt.-ID, Vereinsregisternummer, Vorsitzende:r eingeben | Katja, Thorsten | |
| ✅ | Stornierungs-Nummer konfigurieren | S2025-xxx wie Rechnung | Matthias, Thorsten |
| ✅ | Lieferscheinnummern konfigurieren | L2025-xxx wie Rechnung | Matthias, Thorsten |
| ✅ | Ggf. Rücksendeadresse eingeben | eingetragen, tauch nicht auf? | Lene, Thorsten |
| ✅ | Rechnungsstellung im Shop prüfen | Sieht okay aus | Thorsten |
| ✅ | Rechnungs-Template einrichten | Thorsten | |
| ✅ | Test und wahrscheinlich Style-Anpassung von Warenkorb und Check-Out | Style angepasst, keine Nav | Thorsten |
| ✅ | Gutschein-Code-Eingabe bei Zahlung und Kasse entfernen | entfernt bei Zahlung & Kasse | Thorsten |
| ✅ | Navigationsmenü anpassen (z.B. Shop & Warenkorb hinzufügen) | Nur Shop zugefügt | |
| ☑️ | Ausgiebige Tests von Check-Out-Prozess und Bestellung | ||
| ☑️ | Sticker- & Bierdeckelbestellung auf 50 begrenzen | Plugin installieren | Lene, Thorsten |
| ☑️ | Kommt per Default jetzt die englische Seite? | Thorsten | |
| ☑️ | Auf einigen fotografierten T-Shirts ist unsere URL falsch, diese müssen ersetzt werden. | Nach KLP | |
| ☑️ | Lagerhaltung im Shop einrichten (Stückzahlen hinzufügen). | Nach KLP | Lene, Thorsten |
| ☑️ | Lagerhaltung testen und die zuständigen Personen einweisen. | Nach KLP | |
| ☑️ | Verfügbarkeitshinweis entfernen | Nach Lagerhaltung | Thorsten |
| ☑️ | Bildunterschriften und -Alt-Texte (für Accessibility) sollten ergänzt werden (wenn Bilder final sind). | Thorsten | |
| ☑️ | Checkbox Newsletter-Abo bei Ende Bestellvorgang | manuelle Checkbox, siehe unten | Thorsten |
| ☑️ | Ggf. auf Wunsch weitere Stilanpassungen | ||
| ☑️ | CSV-Export der Rechnungen prüfen | Thorsten | |
| ☑️ | Datenschutzerklärung anpassen | Nach KLP | Katja, Thorsten |
Diverses
@Matthias Ich habe gefunden, wie ich die Mehrwertsteuer aus den Rechnungen entferne und das umgesetzt. Bitte schick mir die Kontodaten, sobald Du sie hast (auch für die Rechnungen). Ebenso unsere Vereinssteuernummer und ggf.. USt.-ID.
Die manuelle Änderung von Rechnungsnummer ist deaktiviert. Ich schrieb das nur, weil Du danach fragtest.
Schick mir bitte wer unsere Vereinsregisternummer und den Namen der/des Vorsitzende:n (kommt auch in Setting, ich bin nicht sicher, wo das auftaucht, wahrscheinlich in Rechnungen).
Kund:innen können Bestellungen stornieren. Dazu werden Stornierungsbelege (analog zu Rechnungen) erstellt. Diese habe auch Nummern. Wie sollen diese zusammengesetzt werden – z.B. genauso wie Rechnungsnummern (A{Jahr}-{nnn})? Falls das genau so gemacht würde, könnten Rechnungen und Stornierungen identische Nummern haben. Es können auch Nummern aus dem selben Nummernkreis wie für die Rechnungen verwendet werden. Ich nehme an (bin aber nicht sicher) Rechnungen und Stornierungen haben dann alle einzigartige, gleich aufgebaute Nummern.
Sollen E-Rechnungen auch automatisch erstellt werden (ist aktuell nicht der Fall)?
Es werden automatisch Lieferscheine für Bestellungen erstellt. Auch hier wieder die Nummernfrage …?
Es gibt 27 unterschiedliche Geschäftsvorfälle, für die automatisch E-Mails versendet werden. Für jede dieser Mails gibt es diverse Einstellungsmöglichkeiten. Ich geh hier mal nicht ins Detail. Wisst: Wenn Ihr etwas an den Mails geändert oder deaktiviert haben wollt, lasst es mich wissen …
Ich habe Handelsrechnungen deaktiviert. Diese werden nach meiner Recherche benötigt, wenn Sendungen verzollt werden, was bei uns nicht der Fall sein sollte. Korrigiert mich ggf. bitte.
Es gibt Möglichkeiten, Bestellungen mit Versand automatisch als fertiggestellt zu markieren und mit Fertigstellung automatisch als versandt. Das habe ich noch nicht aktiviert.
Ich habe für Stornierungen als Absender wieder unsere „Unternehmensadresse“ bei Katja eingetragen. Soll ich eine separate Rücksendeadresse eingeben?
Es wurde der Wunsch geäußert, an der Kasse eine Checkbox anzuzeigen, mit der man unseren Newsletter abonnieren kann. Unser Newsletter-Sytem, hat eine mit WooCommerce integrierte Pro-Version für 99€ (einmalig, aber erlaubt keine Updates nach einem Jahr), die das automatisch unterstützt. Ich kann wahrscheinlich auch eine „manuelle“ Checkbox da einfügen, deren Status dann irgendwo angezeigt wird (sorry, dass das so unpräzise ist …).
Sollen nicht vorrätige Produkte nur als solche markiert (aktuell der Fall), oder komplett ausgeblendet werden?
Ich erlaube (hoffentlich 🙄) derzeit keine Erstellung von Kundenkontos.
Anmerkung zu Rechnungen
(PDF-)Rechnungen können im Prinzip automatisch im Shop erstellt werden. Das muss noch getestet (und ggf. konfiguriert) werden. Ich gehe davon aus, dass die automatisch an unsere Kund:innen versendet werden. Das muss getestet werden. Es gab bereits Probleme mit dem Email-Versand. Diese sollten in diesem Zusammenhang evtl. priorisiert werden (siehe unten unter Form-Mails).
Ich habe die Rechnungsnummer A{Jahr}-{Nummer} gesetzt (Teile in Klammern werden ersetzt). „Nummer“ ist mindestens dreistellig und wird jährlich zurückgesetzt.
Rechnungsnummern können manuell im Admin-Interface verändert werden. Durch Hochsetzen der Nummer im Admin-Interface kann eine Nummer für eine Rechnung, die außerhalb des Shops erstellt wird, „freigehalten“ werden. Durch Runtersetzen oder andere „Fehler“ können Nummern aber auch doppelt vergeben werden!
Es gibt auch noch Einstellmöglichkeiten für Stornierungen, Lieferscheine und Handelsrechnungen. Ich nehme an, Stornierungen und Lieferscheine brauchen wir? Was ist mit Handelsrechnungen?
Erste Tests zeigen, dass in der Rechnung Mehrwertsteuer berechnet wird. Das kann ich echten Bestelltests auch anders aussehen. Wäre die Mehrwertsteuer ein Problem? Ja, das wäre ein Problem!
Es können noch folgende Information eingetragen werden, welche juristisch nötig sind, weiß ich nicht:
- Kontoinhaber:in, Bank, IBAN, BIC,
- Steuernummer, USt.-ID
- Registernummer (Vereinsregister?)
- Evtl. Vereinsvorsitzende:r
Versand
Der Versand kann vollautomatisch mit der IT der Versanddienstleister integriert werden. Dazu benötigen wir ein Geschäftskundenkonto. Ich schlage vor, wir machen erst mal nur DHL. Da benötige ich für die Integration die Kundennummer, „Benutzer“ und Passwort. In unserem Konto bei DHL müssen wir dann festlegen, an welchen dieser „Produkte“ wir teilnehmen: DHL Paket, DHL Paket PRIO, DHL Paket Taggleich, DHL Warenpost, DHL Kleinpaket, DHL Warenpost International, DHL Europaket (B2B), DHL Paket Connect, DHL Paket International, Beilageretouren. Für unseren Shop brauche ich dann für die von uns unterstützten Versandoptionen die Teilnahmenummern sowie ggf. noch die dazugehörige GoGreen-Teilnahmenummer (letztere kann auch global im Kundenkonto vergeben werden).
Mit der Integration kann man dann automatisch Labels für die Sendungen erzeugen (und drucken), ich nehme an, die Versandkosten werden automatisch berechnet, Sendungsverfolgung wird an unsere Käufer gesendet usw. Vielleicht kann der Kram sogar automatisch von DHL abgeholt werden …
Anmerkungen (Lene):
Der Versand integriert über DHL klingt gut. Kannst du dieses Geschäftskundenkonto für uns eröffnen bzw brauchst du dazu noch Infos? [Thorsten: ich kümmer mich drum]
Am besten wäre es wenn dieses auch über die shop-Mailadresse läuft. Diese kann Matthias aber erst am 25. Mai erstellen.
Für Shirts und alle Druckerzeugnisse würde ich A4-Versandtaschen nutzen (entspricht im DHL-Angebot Warensendung). Für Pulli oder mehrere Shirts Kartons (geht ggf auch noch als Warensendung oder Maxibrief).
Das Problem mit Versandkosten automatisch berechnen: Versandkosten von 2,55€ oder 2,90€ für’s Porto würden berechnet. Aber wir müssten auch Kartons/Umschläge kaufen. Daher hätte ich den Preis gern pauschal selbst festgelegt und etwas höher angesetzt. Aber wenn das zu kompliziert ist, ist es auch in Ordnung. Bleibt immer noch genügend „Gewinn“.
Lagerhaltung
Aktuell werden alle Waren als verfügbar angezeigt. Wenn die Lagerhaltung nicht eingerichtet wird, werden potentiell Waren verkauft, die wir nicht haben und erst produzieren lassen müssten. Hierzu sollte für die Übergangszeit mindestens ein großer Hinweis bei der Bestellung angezeigt werden.
Anmerkung (Lene): Den Hinweis auf eventuelle Nicht-Verfügbarkeit finde ich für die Übergangszeit gut. Außerdem würde ich’s in der Übergangszeit so handhaben, dass Produkte die nicht mehr verfügbar sind temporär aus dem Shop raus genommen/auf unsichtbar gestellt werden.
Thorsten: einzelne Artikel können im Admin-Interface manuell auf „nicht verfügbar“ gesetzt werden.
bb-kit Theme
Ich habe das WordPress-Theme „bb-kit“ als Child-Theme des BeaverBuilder „bb-theme“ entwickelt und installiert. Der Code des Themes findet sich (via FTP) unter wp-content/themes/bb-kit. Hier finden sich zahlreiche Anpassung in CSS, PHP-Templates und -Funktionen, mit denen ich die events- und shop-Seiten an unseren Stil angepasst habe.
TODOs
- Update BeaverBuilder (Jörn, Thorsten)
- automatische Skalierung der Beitragsbilder prüfen, ggf. umsetzen (Thorsten)
- Social-Links im Theme-Header einfügen (Thorsten)
- Notwendigkeit von Link auf separate Fördermitgliedsseite prüfen, ggf. entfernen (Katja, Thorsten)
- Klick-Effekt auf Nav-Menü im Theme-Header (Thorsten)
- prüfen ob Nav-Menü klassisch sticky in eine Ecke kann, ggf. umsetzen (Thorsten)
- ✅ 19.5.25 Prüfen, ob Höhe des Spenden-Footers reduziert werden kann, ggf. umsetzen (Thorsten)
- ✅ 5.5.25
Kann Spende für Skipper Johannes weg? Prüfen, ggf. umsetzen (Thorsten)
Form-Mails
Beim Versand von Mails, die nach dem Ausfüllen von diversen Forms (z.B. Crewing) versandt werden sollten, wurden Probleme beobachtet. Eine Crewing-Anfrage von Thorsten ist verschütt gegangen, Katja hat bei einer Gelegenheit einen ganzen Schwung Mails erhalten, die offenbar teils Monate irgendwo stecken geblieben sind.
TODOs
- Das verwendete SMTP-Plugin loggt alle Mails.
Contact Form 7 empfiehlt das Flamingo-Plugin um Nachrichten in der DB zu speichern: dies evaluieren und umsetzen(Thorsten) - ✅ 26.5.25 Der Mail-Versand ist vermutlich direkt in PHP implementiert. Es sollte ein SMPT-Plugin evaluiert und ggf. installiert werden um den Versand zuverlässiger zu machen (Thorsten)
Kommentare
Woher kommen unsere Spam-Kommentare?
