msos/docs/preferred-sources.md

2.1 KiB
Raw Permalink 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 DISABLEDaddPill() 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 34 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().