Riksdagsmonitor Intelligence Platform โ€” API Documentation - v1.0.30
    Preparing search index...
    • Apply the canonical Riksdagsmonitor brand-suffix rule to a <title> string.

      The brand suffix โ€” Riksdagsmonitor (18 chars) is appended only when all three conditions hold:

      1. The title does not already contain "Riksdagsmonitor" (case-insensitive) โ€” avoids the literal โ€ฆ โ€” Riksdagsmonitor โ€” Riksdagsmonitor double-brand bug.
      2. The title does not end with the ellipsis character โ€ฆ โ€” buildSeoTitle() only emits a trailing โ€ฆ when it already truncated at the per-language SERP hardMax. Appending the brand to a truncated title would re-overshoot the budget and ship <title> like "Sweden Passes AI Facial Recognition Law as Riksdag Advances Fiveโ€ฆ โ€” Riksdagsmonitor" (84 chars, > Google's 70-char EN cap). Pre-2026-05-24 audit Test Article Headers run #26364730339 reported 145/202 EN titles overshooting because of this regression.
      3. title.length + BRAND_TITLE_SUFFIX.length โ‰ค titleWindowForLanguage(lang).hardMax โ€” the suffix fits inside the per-language Google SERP budget defined in serp-budgets.ts.

      When any condition fails the original title is returned unchanged โ€” the SERP signal of the story text always outranks the brand suffix (the brand is also surfaced through og:site_name, the canonical URL, and the JSON-LD publisher node, so dropping the suffix never costs brand SEO).

      The lang parameter defaults to 'en' for backwards compatibility with the small number of internal callers that don't yet thread a locale through; all production article-render call sites pass the article's actual language.

      Exported so that article-head-metadata.ts (which must report the exact branded title that renderChromeHead emits) can reuse the same rule without duplicating it.

      Parameters

      Returns string