Reduce CTA density across agency pages
This commit is contained in:
@@ -3729,6 +3729,71 @@ def _footer_stream_data(
|
||||
return footer, [block("text", cfg["mini"])]
|
||||
|
||||
|
||||
INLINE_LINK_TEXT = {
|
||||
"process": {
|
||||
"nl": "Bekijk hoe dit werkt",
|
||||
"en": "See how this works",
|
||||
"de": "So läuft der Ablauf",
|
||||
"fr": "Voir comment cela fonctionne",
|
||||
"es": "Vea cómo funciona",
|
||||
"it": "Veda come funziona",
|
||||
"pt": "Veja como funciona",
|
||||
"ru": "Посмотреть, как это работает",
|
||||
},
|
||||
"services": {
|
||||
"nl": "Bekijk onze diensten",
|
||||
"en": "View our services",
|
||||
"de": "Unsere Leistungen ansehen",
|
||||
"fr": "Voir nos services",
|
||||
"es": "Ver nuestros servicios",
|
||||
"it": "Vedere i nostri servizi",
|
||||
"pt": "Ver os nossos serviços",
|
||||
"ru": "Посмотреть услуги",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
CHOOSE_CARD_TITLES = {
|
||||
"nl": ["Goede match", "Wat dit praktisch betekent", "Eerst de werkwijze zien"],
|
||||
"en": ["Good fit", "What this means in practice", "See the process first"],
|
||||
"de": ["Gute Wahl", "Was das praktisch bedeutet", "Erst den Ablauf sehen"],
|
||||
"fr": ["Bon choix", "Ce que cela signifie concrètement", "Voir d'abord la méthode"],
|
||||
"es": ["Buena opción", "Qué significa en la práctica", "Ver primero el proceso"],
|
||||
"it": ["Scelta adatta", "Cosa significa in pratica", "Vedere prima il metodo"],
|
||||
"pt": ["Boa escolha", "O que isto significa na prática", "Ver primeiro o método"],
|
||||
"ru": ["Подходит вам", "Что это означает на практике", "Сначала посмотреть процесс"],
|
||||
}
|
||||
|
||||
|
||||
def _inline_link_text(locale: str, key: str) -> str:
|
||||
return INLINE_LINK_TEXT[key][locale]
|
||||
|
||||
|
||||
def _choose_cards(locale: str, items: list[str], process_url: str) -> list[dict[str, Any]]:
|
||||
titles = CHOOSE_CARD_TITLES[locale]
|
||||
cards: list[dict[str, Any]] = []
|
||||
for index, body in enumerate(items):
|
||||
description = body
|
||||
if index == len(items) - 1:
|
||||
description = (
|
||||
f'{body} <a href="{process_url}">{_inline_link_text(locale, "process")}</a>.'
|
||||
)
|
||||
cards.append(
|
||||
item(
|
||||
{
|
||||
"icon": "arrow-right-circle",
|
||||
"icon_image": None,
|
||||
"title": titles[min(index, len(titles) - 1)],
|
||||
"description": description,
|
||||
"link_text": "",
|
||||
"link_url": "",
|
||||
"highlight": "none",
|
||||
}
|
||||
)
|
||||
)
|
||||
return cards
|
||||
|
||||
|
||||
def _home_body(
|
||||
locale: str, urls: dict[str, str], page_title_map: dict[str, dict[str, str]]
|
||||
) -> list[dict[str, Any]]:
|
||||
@@ -3747,8 +3812,8 @@ def _home_body(
|
||||
"sub_headline": cfg["sub"],
|
||||
"primary_cta_text": cta["primary"],
|
||||
"primary_cta_url": urls["contact"],
|
||||
"secondary_cta_text": cta["secondary"],
|
||||
"secondary_cta_url": urls["services"],
|
||||
"secondary_cta_text": "",
|
||||
"secondary_cta_url": "",
|
||||
"hero_image": 1,
|
||||
"video_url": "",
|
||||
"stats": [
|
||||
@@ -3773,7 +3838,7 @@ def _home_body(
|
||||
"icon_image": None,
|
||||
"title": title,
|
||||
"description": desc,
|
||||
"link_text": link_text or cta["secondary"],
|
||||
"link_text": link_text or _inline_link_text(locale, "process"),
|
||||
"link_url": urls[link_key],
|
||||
"highlight": highlight,
|
||||
}
|
||||
@@ -3785,43 +3850,6 @@ def _home_body(
|
||||
"columns": "2",
|
||||
},
|
||||
),
|
||||
block(
|
||||
"saas_pricing",
|
||||
{
|
||||
"layout_width": "container",
|
||||
"background_style": "light",
|
||||
"layout": "cards",
|
||||
"section_title": cfg["pricing_title"],
|
||||
"section_subtitle": cfg["pricing_sub"],
|
||||
"show_annual_toggle": False,
|
||||
"annual_discount_text": "",
|
||||
"tiers": [
|
||||
item(
|
||||
{
|
||||
"name": page_title_map[key][locale],
|
||||
"description": desc,
|
||||
"price_monthly": None,
|
||||
"price_annual": None,
|
||||
"price_suffix": "",
|
||||
"custom_price_text": "Op offertebasis"
|
||||
if locale == "nl"
|
||||
else "Custom quote",
|
||||
"features": [
|
||||
item({"text": text, "included": True, "tooltip": ""})
|
||||
for text in features
|
||||
],
|
||||
"cta_text": cta["primary"],
|
||||
"cta_url": urls["contact"],
|
||||
"cta_style": "primary" if featured else "secondary",
|
||||
"is_featured": featured,
|
||||
"featured_label": label,
|
||||
}
|
||||
)
|
||||
for key, (desc, features, featured, label) in cfg["tiers"].items()
|
||||
],
|
||||
"footer_text": cfg["pricing_footer"],
|
||||
},
|
||||
),
|
||||
block(
|
||||
"saas_testimonials",
|
||||
{
|
||||
@@ -3860,9 +3888,9 @@ def _home_body(
|
||||
item({"question": question, "answer": answer, "category": category})
|
||||
for question, answer, category in cfg["faqs"]
|
||||
],
|
||||
"show_contact_cta": "card",
|
||||
"contact_cta_text": cta["primary"],
|
||||
"contact_cta_url": urls["contact"],
|
||||
"show_contact_cta": "simple",
|
||||
"contact_cta_text": cta["secondary"],
|
||||
"contact_cta_url": urls["services"],
|
||||
},
|
||||
),
|
||||
block(
|
||||
@@ -3875,8 +3903,8 @@ def _home_body(
|
||||
"subheadline": cfg["cta_sub"],
|
||||
"primary_cta_text": cta["primary"],
|
||||
"primary_cta_url": urls["contact"],
|
||||
"secondary_cta_text": cta["secondary"],
|
||||
"secondary_cta_url": urls["services"],
|
||||
"secondary_cta_text": "",
|
||||
"secondary_cta_url": "",
|
||||
"background_image": 1,
|
||||
"side_image": 1,
|
||||
"show_no_credit_card": "with-icon",
|
||||
@@ -3923,8 +3951,8 @@ def _standard_body(
|
||||
"sub_headline": cfg["sub"],
|
||||
"primary_cta_text": cta["primary"],
|
||||
"primary_cta_url": urls["contact"],
|
||||
"secondary_cta_text": cta["secondary"],
|
||||
"secondary_cta_url": urls["services"],
|
||||
"secondary_cta_text": "",
|
||||
"secondary_cta_url": "",
|
||||
"hero_image": 1 if page_key != "process" else 24,
|
||||
"video_url": "",
|
||||
"stats": [],
|
||||
@@ -3946,12 +3974,8 @@ def _standard_body(
|
||||
"icon_image": None,
|
||||
"title": title,
|
||||
"description": desc,
|
||||
"link_text": cta["primary"]
|
||||
if page_key in {"contact", "about"}
|
||||
else cta["secondary"],
|
||||
"link_url": urls["contact"]
|
||||
if page_key in {"contact", "about"}
|
||||
else urls["services"],
|
||||
"link_text": _inline_link_text(locale, "process"),
|
||||
"link_url": urls["process"],
|
||||
"highlight": "none",
|
||||
}
|
||||
)
|
||||
@@ -4038,9 +4062,9 @@ def _standard_body(
|
||||
item({"question": q, "answer": a, "category": c})
|
||||
for q, a, c in common["faq_items"]
|
||||
],
|
||||
"show_contact_cta": "card",
|
||||
"contact_cta_text": cta["primary"],
|
||||
"contact_cta_url": urls["contact"],
|
||||
"show_contact_cta": "none",
|
||||
"contact_cta_text": "",
|
||||
"contact_cta_url": "",
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -4055,8 +4079,8 @@ def _standard_body(
|
||||
"subheadline": common["cta_sub"],
|
||||
"primary_cta_text": cta["primary"],
|
||||
"primary_cta_url": urls["contact"],
|
||||
"secondary_cta_text": cta["secondary"],
|
||||
"secondary_cta_url": urls["services"],
|
||||
"secondary_cta_text": "",
|
||||
"secondary_cta_url": "",
|
||||
"background_image": 1,
|
||||
"side_image": 1,
|
||||
"show_no_credit_card": "with-icon",
|
||||
@@ -4098,8 +4122,8 @@ def _service_body(locale: str, kind: str, urls: dict[str, str]) -> list[dict[str
|
||||
"sub_headline": f"<p>{cfg['audience']}</p>",
|
||||
"primary_cta_text": cta["primary"],
|
||||
"primary_cta_url": urls["contact"],
|
||||
"secondary_cta_text": cta["secondary"],
|
||||
"secondary_cta_url": urls["services"],
|
||||
"secondary_cta_text": "",
|
||||
"secondary_cta_url": "",
|
||||
"hero_image": 23,
|
||||
"video_url": "",
|
||||
"stats": [
|
||||
@@ -4161,8 +4185,8 @@ def _service_body(locale: str, kind: str, urls: dict[str, str]) -> list[dict[str
|
||||
"icon_image": None,
|
||||
"title": title,
|
||||
"description": desc,
|
||||
"link_text": cta["secondary"],
|
||||
"link_url": urls["services"],
|
||||
"link_text": _inline_link_text(locale, "process"),
|
||||
"link_url": urls["process"],
|
||||
"highlight": "none",
|
||||
}
|
||||
)
|
||||
@@ -4186,8 +4210,8 @@ def _service_body(locale: str, kind: str, urls: dict[str, str]) -> list[dict[str
|
||||
"icon_image": None,
|
||||
"title": title,
|
||||
"description": desc,
|
||||
"link_text": cta["primary"],
|
||||
"link_url": urls["contact"],
|
||||
"link_text": "",
|
||||
"link_url": "",
|
||||
"highlight": "none",
|
||||
}
|
||||
)
|
||||
@@ -4197,53 +4221,15 @@ def _service_body(locale: str, kind: str, urls: dict[str, str]) -> list[dict[str
|
||||
},
|
||||
),
|
||||
block(
|
||||
"saas_demo_request",
|
||||
"saas_features",
|
||||
{
|
||||
"layout_width": "container",
|
||||
"background_style": "light",
|
||||
"layout": "split",
|
||||
"layout": "grid",
|
||||
"section_title": common["section_choose"],
|
||||
"section_subtitle": common["section_choose_sub"],
|
||||
"form_fields": [
|
||||
item(
|
||||
{
|
||||
"field_type": "text",
|
||||
"label": common["name_label"],
|
||||
"placeholder": common["name_placeholder"],
|
||||
"required": True,
|
||||
}
|
||||
),
|
||||
item(
|
||||
{
|
||||
"field_type": "email",
|
||||
"label": common["email_label"],
|
||||
"placeholder": common["email_placeholder"],
|
||||
"required": True,
|
||||
}
|
||||
),
|
||||
item(
|
||||
{
|
||||
"field_type": "company",
|
||||
"label": common["company_label"],
|
||||
"placeholder": common["company_placeholder"],
|
||||
"required": True,
|
||||
}
|
||||
),
|
||||
item(
|
||||
{
|
||||
"field_type": "message",
|
||||
"label": common["message_label"],
|
||||
"placeholder": common["message_placeholder"],
|
||||
"required": False,
|
||||
}
|
||||
),
|
||||
],
|
||||
"submit_button_text": cta["primary"],
|
||||
"form_action_url": urls["contact"],
|
||||
"benefits_title": common["choose_title"],
|
||||
"benefits": [item(text) for text in cfg["choose"]],
|
||||
"side_image": 23,
|
||||
"privacy_text": common["privacy"],
|
||||
"features": _choose_cards(locale, cfg["choose"], urls["process"]),
|
||||
"columns": "3",
|
||||
},
|
||||
),
|
||||
block(
|
||||
@@ -4256,8 +4242,8 @@ def _service_body(locale: str, kind: str, urls: dict[str, str]) -> list[dict[str
|
||||
"subheadline": common["cta_sub"],
|
||||
"primary_cta_text": cta["primary"],
|
||||
"primary_cta_url": urls["contact"],
|
||||
"secondary_cta_text": cta["secondary"],
|
||||
"secondary_cta_url": urls["services"],
|
||||
"secondary_cta_text": "",
|
||||
"secondary_cta_url": "",
|
||||
"background_image": 1,
|
||||
"side_image": 1,
|
||||
"show_no_credit_card": "with-icon",
|
||||
|
||||
Reference in New Issue
Block a user