Files
msos/docs/preferred-sources.md
T
popovskikandClaude Opus 4.8 6323d55718 fix(csp): allow Cloudflare Web Analytics in Content-Security-Policy
The enforced CSP blocked the Cloudflare beacon, so Web Analytics wasn't
collecting anything on the live site. Add https://static.cloudflareinsights.com
to script-src (loads beacon.min.js) and https://cloudflareinsights.com to
connect-src (RUM data POST). Also documented that re-enabling the Preferred
Sources pill will need https://news.google.com in the CSP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-30 15:40:34 +02:00

2.1 KiB
Raw Blame History

Google Preferred Sources — status & future to-do

What it is: Google's "Preferred Sources" lets readers mark MSOS as a favourite so we surface more in Top Stories / Discover / News / AI surfaces. Implemented in preferred-source.js (loaded site-wide via tools/seo_inject.py GA_LINES).

Current state (set 2026-08-30)

  • ✅ Footer link ("Add us on Google") is LIVE on every page — a subtle text link in .legal-links, using the domain deeplink https://www.google.com/preferences/source?q=msosorg.com.
  • ⏸️ Hub pill button is DISABLED — addPill() is commented out in preferred-source.js (init() only calls addFooterLink()).

Why the pill is disabled

msosorg.com is not yet a Google "Top Stories" source, so the tool returns "No results" and the button dead-ends. Eligibility requirement (confirmed via Google Search Central): the site must already appear in Top Stories for readers to add it as a preferred source.

▶️ FUTURE TO-DO — re-enable the pill once eligible

  1. Check eligibility: search 3–4 of our news topics on Google; if msosorg.com appears in a Top Stories box, we're eligible.
  2. To get there: publish timely, original news regularly; keep pages indexed; add/maintain the publication in Google Publisher Center (publishercenter.google.com).
  3. Re-enable: in preferred-source.js, restore addPill(); in init() (uncomment it). Pill renders on homepage / News hub / Blog hub, under the H1.
  4. CSP: the pill loads Google's SwG library from https://news.google.com. Add it to script-src (and connect-src) in the .htaccess Content-Security-Policy, or publisher.js will be blocked (same class of issue that blocked the Cloudflare beacon until static.cloudflareinsights.com was allowlisted).
  5. Verify the deeplink now returns MSOS (no longer "No results").
  • Cookie banner: benefit-led copy + analytics-only consent (consent.js).
  • Cloudflare Web Analytics (cookieless, counts everyone) via seo_inject.py.
  • Events structured data: endDate/performer/offers in event_schema().