Forums Feature Requests Thread

[Enhancement] Cross-cutting infra: Custom CMS/legal pages cannot set their own SEO meta (title, description, OG image, noindex)

Patrick Bass · Jun 6 · 15 · 0
[Normal Priority] [Feature Enhancement] [Under Consideration]
🚀 OP Jun 6, 2026 8:05pm

Area: Cross-cutting infra (audit p14) · Surface: PageController render calls + legal/db-page.php + seo-head.php · Dimension: improve-existing · Severity: minor

For a public-facing community, the About page and any custom landing page are prime SEO real estate. Competitors that let owners build pages also let them set the page's meta description, social-share (OG) image, and indexability — Circle, Mighty, and Discourse all expose per-page SEO. Mobieus already has the rendering plumbing (seo-head.php reads $pageDescription/$jsonLd/$noIndex) but the page editors expose none of it and store none of it, so every CMS/legal page inherits the theme-level default OG card and a generic description. A tenant cannot make their About page share nicely on social or rank for their niche.

Evidence

seo-head.php supports per-page meta (seo-head.php:51 `$ogDesc = $pageDescription ...`, :26 `$noIndex`, :28 `$jsonLd`) but the page controllers never pass them. PageController.php:84-89 renderLegalPage passes only breadcrumbs/pageTitle/bodyHtml/updatedAt — no pageDescription, no ogImage, no robots. about() (PageController.php:27-35) hard-codes pageDescription to a generic string and ignores any per-page value. The legal_pages/site_pages tables (both migrations) have no meta_description/og_image/robots columns.

Suggested fix. Add meta_description, og_image, and robots columns to site_pages/legal_pages, add the fields to the editors, and pass them through in PageController so seo-head.php emits per-page meta and social cards.

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

Log in or register to reply to this thread.