40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
# 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").
|
||
|
||
## 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()`.
|