Technisches Konzept für das Frontend-Team: Drei Optionen, fertiger Code, Copy & Paste.
Die ROI-Kalkulatoren sind als eigenständige HTML-Dateien gebaut (Vanilla HTML/CSS/JS, keine externen Abhängigkeiten). Für die Einbindung in die Link11 WordPress-Webseite gibt es drei Ansätze.
Warum: Schnellste Umsetzung, kein Risiko für Konflikte mit WordPress-Theme/Plugins, unabhängig deploybar.
z.B. roi.link11.com oder weiter auf roi.lynk.run
<iframe
src="https://roi.link11.com/concept1.html?product=ddos&lang=de"
width="100%"
height="800"
frameborder="0"
style="border: none; border-radius: 16px;
max-width: 720px; margin: 0 auto; display: block;"
loading="lazy"
title="Link11 DDoS ROI Calculator"
></iframe>
Im Kalkulator (am Ende des <script>-Tags) einfügen:
// PostMessage für dynamische iframe-Höhe
function postHeight() {
const h = document.body.scrollHeight;
window.parent.postMessage({ type: 'roi-calc-height', height: h }, '*');
}
window.addEventListener('load', postHeight);
new ResizeObserver(postHeight).observe(document.body);
In WordPress (Custom HTML Block oder Theme-Footer):
window.addEventListener('message', function(e) {
if (e.data && e.data.type === 'roi-calc-height') {
document.querySelectorAll('iframe[src*="roi.link11.com"]')
.forEach(function(f) {
f.style.height = (e.data.height + 20) + 'px';
});
}
});
?product=cdn&lang=enloading="lazy" verhindert Ladezeit-Impact?lang=de vs ?lang=en)In functions.php oder als Mini-Plugin einfügen:
function link11_roi_calculator_shortcode($atts) {
$atts = shortcode_atts(array(
'concept' => '1',
'product' => 'ddos',
'lang' => 'de',
'height' => '800',
), $atts);
$base_url = 'https://roi.link11.com/';
$file = 'concept' . intval($atts['concept']) . '.html';
$params = http_build_query(array(
'product' => sanitize_text_field($atts['product']),
'lang' => sanitize_text_field($atts['lang']),
));
return sprintf(
'<iframe src="%s%s?%s" width="100%%" height="%d"
frameborder="0"
style="border:none;border-radius:16px;
max-width:720px;margin:0 auto;display:block;"
loading="lazy"
title="Link11 ROI Calculator"></iframe>',
esc_url($base_url),
esc_attr($file),
esc_attr($params),
intval($atts['height'])
);
}
add_shortcode('link11_roi', 'link11_roi_calculator_shortcode');
Nutzung im WordPress-Editor:
[link11_roi concept="1" product="ddos" lang="de"]
[link11_roi concept="2" lang="en"]
[link11_roi concept="3" product="cdn" lang="de" height="900"]
Wann: Wenn das Content-Team eine visuellere Einbettung wünscht (Gutenberg Block mit Dropdown für Produkt-Auswahl).
register_block_type()Wann: Falls absolute Theme-Integration gewünscht (gleiche Fonts, gleiche Farben, nahtloses Scrolling).
Aufwand: ~1–2 Tage. Theme-Abhängigkeit beachten: Änderungen am WP-Theme können Kalkulator brechen. Caching-Risiko: WP-Caching-Plugins könnten JavaScript beeinflussen.
| Kriterium | A: iframe | B: Custom Block | C: Nativ |
|---|---|---|---|
| Umsetzungszeit | 30 min | 2–4 Std | 1–2 Tage |
| Risiko | Sehr niedrig | Niedrig | Mittel |
| Unabhängigkeit | Voll unabhängig | iframe intern | Theme-abhängig |
| Styling-Kontrolle | Eigenes Design | Eigenes Design | Volles WP-Theme |
| Caching-Sicher | Ja | Ja | Nein (beachten) |
| Content-Team | Shortcode/HTML | Gutenberg Block | Template-Datei |
| Mehrsprachig | ?lang=en/de | Block-Setting | PHP-basiert |
Empfehlung: Option A mit Shortcode. Schnell, sicher, wartbar — das Content-Team kann Kalkulatoren eigenständig auf jeder Seite einbinden.
roi.lynk.run nutzen)functions.php oder als Plugin einfügen[link11_roi concept="1" product="ddos"]