msos/docs/preferred-sources.md

35 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 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. Verify the deeplink now returns MSOS (no longer "No results").
## Related (also shipped 2026-08-30)
- 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()`.