Rebar -- Site Health Reports

  • thumbnail.png
  • screenshot-1-settings.png

Three new Site Health reports for Concrete CMS 9.2+: broken links (internal and external), thin/duplicate/orphaned content, and outdated packages -- all inside your existing Site Health dashboard.

Rebar adds three new report types to Concrete CMS's own, built-in Site Health dashboard (/dashboard/reports/health) -- it doesn't build a separate screen you have to learn. Run any of Rebar's reports the same way you already run "Page Cache Settings" or "Find Custom JavaScript": from the dashboard's own "New Report" page, with the same results list, findings table, letter/percentage grade, CSV export, and history Concrete already gives every report.

Broken Link Checker

Scans every block of content site-wide for internal links and flags any that no longer resolve to a real, active page -- the single most common source of a broken link is a page that got moved, unpublished, or deleted after the link was written, and nobody notices until a visitor hits a 404. External link checking is available too (opt-in, since it makes real outbound requests): every distinct external URL found across the whole site is checked once per run, not once per page it appears on, and capped at a configurable maximum so a big site doesn't turn every report run into a long-running crawl.

Content Quality

Four checks in one report: images missing meaningful alt text (HTML <img> tags and core Image blocks; decorative alt="" on HTML images is correctly left alone); pages with unusually little text content (block + text/textarea attributes), flagged as a nudge rather than an error; pages that share duplicate content; and pages that are hidden from site navigation with no other page linking to them.

Security & Maintenance

Flags insecure mixed content -- any hardcoded http:// resource (image, script, iframe, stylesheet, anything) on an otherwise-https page, the same condition that trips a real browser's mixed-content warning, regardless of whose domain the resource is on. Also surfaces installed packages with an update available and whether the Concrete core version itself is behind, both read from Concrete's own existing, already-cached update information rather than a new check of its own.

One settings screen, four groups

A single settings page (/dashboard/rebar/settings) covers every report: scan limits that apply everywhere, external-link checking on/off and its timeout/cap, the thin-content word threshold and duplicate-content opt-out, and the mixed-content and update-check opt-outs. No per-report configuration to hunt down separately.