Plugin Implications
We have too many plugins! Our goal is to remove as many plugins as possible over the course of the coming months. This documentation outlines the implications of potentially removable plugins with the goal to find a suitable replacement solution.
NOTE: As soon as a plugin is removed successfully, please add the release version and replacement solution to this documentation including links or references, if relevant. Example:
> Removed since [v1.0.0] (https://github.com/XXX/v1.0.0)
Overview
- Germanized
- Elementor-Pro
- Elementor
- Dynamic-Visibility
- Clickable-Column
- Woo-New
- WP-Crontrol
- Mail-SMTP
- Sequential-Order-Numbers
- Advanced-Custom-Fields
- Variations-Radio-Buttons
- Safe-SVG
- Manage-Notification-Emails
- Complianz-GDPR
- Jet-Engine
- Jet-Menu
- Jet-Tricks
- Login-as-User
- SEO-by-Rank-Math-Pro
- SEO-by-Rank-Math
- Loco-Translate
- Imagify
- TS-Easy-Integration
- Simple-Local-Avatar
- SVG-Support
- Shopwarden
- Doofinder
- Klaviyo
- CTX Feed Pro
- Free-Gifts
- Jet-Product-Gallery
- TS-Review-Importer
- WaWi-Importer
- Single-Variations
- Yith-Gift-Cards-Premium
Germanized
Removed since v1.0.0-alpha.1
- Trusted Shops “Widgets” Integration
- Trusted Shops Bewertungseinladung Touchpoint im Checkout
- Auswahl Anrede im Checkout (hinterlässt bei Uninstall “text-input-field” im Checkout)
- Erzwingen kostenlosen Versands (wenn verfügbar)
- Produkt Grundpreise
- Hinweistext: “zzgl. Versandkosten”
- Hinweistext: “inkl./exkl. MwSt.”
- Entfernt die konkrete Anzeige von Steuersätzen auf Produktebene
- Ersetzt “Checkout-Submit” Button Text (aktuell mit “Jetzt kaufen”)
- Entfernt den Hinweis auf “Steuern werden geschätzt” im Warenkorb
- Rechtstext Ausgabe im Email Footer, aktuell (chronologisch):
- Bestellbestätigung (AGB, Widerrufsbelehr., Datenschutz)
- Neues Konto (Widerrufsbelehr., Datenschutz)
- Konto Aktivierung (AGB, Datenschutz)
- Bestellabschuss (Garantie)
- Anrede in Kunden Email (aktuell “Hallo {Titel} {Last_Name},”
- Versteckt Nutzername in Kunden Email
- Überprüft Ceckbox Einwilligung (zB Datenschutz bei Registrierung und AGB, Widerrufsbelehr., Datenschutz, etc im Checkout)
- Preis Darstellung von abonnierbaren Varianten Produkten (Variablen Preisübersicht wird weiterhin & Varianten Preis wird im Default Theme Styling angezeigt)
Elementor-Pro
- “Everywhere”
Elementor
- “Also Everywhere”
Dynamic-Visibility
- Fast die selben Implikationen wie PI->Elementor, da global zum manuellen und zeitgesteuerten Anzeigen von Content genutzt wird – ein würdiger Ersatz wäre, Cache Lifetime unabhängig, die Sichtbarkeit von Content Blöcken steuern zu können
Clickable-Column
- Ebenfalls die gleichen Implikationen wie PI->Elementor – ersetzbar durch die Möglichkeit, überall wo innerhalb von Blöcken ein BG Bild oder Farbe hinterlegt werden kann, ebenfalls einen umschließenden a-tag mit link & link-infos zu pflegen (Wichtig: auf die Mobil Variation achten -> Mobil-spezifische Implikationen werden noch erstellt)
Woo-New
Removed since v1.0.0-alpha.1
- Redash Report: “Onlineshop B2C - eCommerce: Wiederbesteller” (Customer Report Bestand VS Neu)
WP-Crontrol
- kann für Production problemlos entfernt werden da keine aktuell genutzten Funktionen hat
- für Test Instanzen könnten wir jedoch zu unserem Query Monitor (vom selbem Entwickler) noch WP Crontrol beibehalten
Mail-SMTP
Removed since v1.0.0-alpha.1
- kann durch folgendes low impact plugin, oder manuelle SMTP Konfiguration in wp-config.php und functions.php, oder mit service provider ersetzt werden:
wp-config.php
// SMTP email settings
define( 'SMTP_USERNAME', 'example@gmail.com' );
define( 'SMTP_PASSWORD', '1234567' );
define( 'SMTP_SERVER', 'smtp.gmail.com' );
define( 'SMTP_FROM', 'example@example.com' );
define( 'SMTP_NAME', 'webtechstreet' );
define( 'SMTP_PORT', '587' );
define( 'SMTP_SECURE', 'tls' );
define( 'SMTP_AUTH', true );
define( 'SMTP_DEBUG', 0 );
functions.php
`add_action( 'phpmailer_init', 'my_phpmailer_smtp' ); function my_phpmailer_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_SERVER;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USERNAME;
$phpmailer->Password = SMTP_PASSWORD;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}
Sequential-Order-Numbers
- Es gibt eigentlich keinen Grund, warum unsere Bestellnummer 100% sequenziell sein müssen
- Die einzige Vorgabe war, dass sie immer UNIQUE sein sollen
- Und da wir keine anderen Funktionen des Plugins wirklich nutzen, habe ich im folgenden eine simple Funktion erstellt, die größer ist als unser aktueller Nummernkreis und sowohl eine pragmatische Erkenntlichkeit mit UNIQUEness kombiniert: Der neue Nummerkreis Synax hierbei wäre YYMMPOSTID (Beispiel: aktuelle Nummer -> “2402048871” selbe Bestellung mit neuem Nummernkreis -> 2403109368)
/**
* Add custom date prefix logic to default order numbers – syntax: YYMM + order_id
*/
add_filter( 'woocommerce_order_number', 'lli_mod_woocommerce_order_number' );
function lli_mod_woocommerce_order_number( $order_id ) {
// Retrieves the order via id
$order = wc_get_order( $order_id );
// Retrieve the order year
$order_mod_01 = $order->get_date_created()->format('y');
// Retrieve the order month
$order_mod_02 = $order->get_date_created()->format('m');
// Combines order year, month & id
$new_mod_order_id = $order_mod_01 . $order_mod_02 . $order_id;
return $new_mod_order_id;
}
Advanced-Custom-Fields
- Beste Low-Impact Alternativ-Lösung wäre METABOX
- Migration zu METABOX via ACF Migration Tool (Free)
- Folgende Funktionen von ACF müssten ggf. durch METABOX Extensions zusätzlich ersetzt werden:
- MB Custom Post Type
- sollten wir Rank Math behalten, wäre auch diese Ext. super MB Rank Math bzw alle weiteren lassen sich easy entweder free hier oder über premium über den shop erwerben
Variations-Radio-Buttons
- Wird zur Darstellung der Produkt Varianten als Button anstelle Dropdown genutzt
- Aktuelles Plugin können wir beibehalten, da alternative Lösungen nicht viel minimalistischer sind
Safe-SVG
- Entfernt js code von .svg ‘s um XSS Schwachstellen zu vermeiden und optimiert sie durch via Node.js tool (SVGO](https://github.com/svg/svgo)
- Da wir fast alle SVGs in house erstellen, könnten wir hier das Plugin ausrangieren, indem wir einfach alle SVGs erst durch das besagte Tool manuell jagen und im Anschluss direkt ins HTML einbetten
=> Decision: Remove as soon as we remove elementor or as soon as there are no SVGs within elementor blocks
Manage-Notification-Emails
- Regelt, welche Emails und Benachrichtigungen verschickt werden
- An sich recht low impact, lässt sich aber noch reduzieren, indem wir den aktuellen Stand als Status Quo setzen in form von den betreffenden hooks manuell setzen (hier sind fast alle aufgelistet)
=> Decision: Create a PR that replaces this plugin with hooks
Complianz-GDPR
- MU Funktion / Plugin (bzw. Alternative)
- GDPR Compliant Cookie & Privacy Management Plugin
- Bereits eines der performance optimiertesten Cookie Plugins (minimal schneller scheint Borlabs Cookies zu sein)
=> Decision: Keep for now, in the long term replace with custom build JS solution using a JS library similar to https://github.com/dobarkod/cookie-banner (as soon as we have mostly control over our entire frontend JS)
Jet-Engine
Removed since v1.0.0-alpha.1 & replaced functionality with existing Advanced-Custom-Fields
- Genutzt für custom post & custom taxonomy types zB aktuell FAQs
- Würde sich ebenfalls mit Lösung/Alternative beschrieben in oberem Kommentar austauschen lassen
=> Decision: Replace with corresponding post type configuration that already exists within the config/ folder in our application
Jet-Menu
- Für Shop Menu mit Elementor Kompatibilität
- Custom Lösung im static header
Jet-Tricks
Removed since v1.0.0-alpha.1
- Genutzt für collapsible bzw. inline hidden Text in Elementor (aktionsbedingt, jedoch nicht mehr aktuell genutzt)
- Weitere Funktionen beinhalten Responsive Hotspot für Bilder mit interaktiven Elementen (nicht genutzt)
=> Decision: Create a PR to remove this plugin. Do it soon as there is no negative impact and a low risk.
Login-as-User
Removed [ Version Unknown ]
- kann für Production problemlos entfernt werden da keine notwendigen Funktionen betrifft
- für Test Instanzen könnten wir jedoch zu unserem Query Monitor (vom selbem Entwickler) noch User Switching als Alternative nutzen, um mit Demo Nutzern unterschiedlicher Zugriffs/Rechte-Level bestimmte Fehler besser Deuggen zu können
SEO-by-Rank-Math-Pro
- (nothing to see here yet)
SEO-by-Rank-Math
- (nothing to see here yet)
Loco-Translate
- (nothing to see here yet)
Imagify
- (nothing to see here yet)
TS-Easy-Integration
- (nothing to see here yet)
Simple-Local-Avatar
- (nothing to see here yet)
SVG-Support
- Genutzt in Kombination mit Safe-SVG
- Plugin ersetzt SVG Bild Dateien gegen code im front end und macht es so möglich, SVGs per CSS zu stylen ohne via HTML manuell einzubetten (wird jedoch ebenfalls redundant durch genannte Lösung in Safe-SVG Implikationen)
Shopwarden
- (nothing to see here yet)
Doofinder
- (nothing to see here yet)
Klaviyo
- (nothing to see here yet)
CTX Feed Pro
- (nothing to see here yet)
Free-Gifts
Currently being removed probably for v1.3.7
- (nothing to see here yet)
Jet-Product-Gallery
- (nothing to see here yet)
TS-Review-Importer
- (nothing to see here yet)
WaWi-Importer
- (nothing to see here yet)
Single-Variations
- (nothing to see here yet)
Yith-Gift-Cards-Premium
Currently being removed probably for v1.3.7
- (nothing to see here yet)