> For the complete documentation index, see [llms.txt](https://docs.sageseo.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sageseo.ai/getting-started/integrations.md).

# Search Integrations

Sage's value compounds with each external system it can read from + write to. The three most important integrations to set up: **Google Search Console**, **Google Analytics**, and **WordPress**. Each one unlocks a specific capability — and the more you connect, the more of the content lifecycle Sage can automate end-to-end.

{% hint style="info" %}
**Key Takeaways**

* GSC is non-negotiable — Sage needs it to suggest topics, monitor indexing, and inform the AI Writer
* WordPress connection is required for direct publishing — without it, articles must be exported manually
* Google Analytics adds on-site behavior data (engagement, conversions) on top of GSC's search visibility
* CRM and social integrations are on the roadmap — they'll close the loop from content → search → conversion
* All integrations use industry-standard OAuth — your passwords never touch Sage's servers
  {% endhint %}

## The integration stack

```mermaid
flowchart LR
  A[Google Search Console] -->|Search visibility +<br/>keyword rankings| Z[Sage]
  B[Google Analytics] -->|On-site engagement +<br/>conversion data| Z
  C[WordPress] -->|Where Sage publishes articles<br/>+ category list| Z
  D[CRM systems] -.coming soon.-> Z
  Z --> E[Topic suggestions<br/>grounded in real data]
  Z --> F[Articles published<br/>without manual upload]
  Z --> G[Indexing tracked<br/>automatically per URL]
  Z --> H[Performance attributed<br/>to specific articles]
  classDef src fill:#F0F6FF,stroke:#0052CC,color:#091E42
  classDef sage fill:#EAE6FF,stroke:#6554C0,color:#091E42
  classDef value fill:#E3FCEF,stroke:#006644,color:#091E42
  class A,B,C src
  class D src
  class Z sage
  class E,F,G,H value
```

## Google Search Console (GSC)

**Required** — without GSC, Sage can't do its core job.

### What GSC unlocks

* **Live keyword rankings** for the AI Suggestions Engine — Sage knows which queries the site is almost ranking for (positions 5–20) and suggests articles to push them onto page one
* **Per-URL indexing status** for the Google Index dashboard — Sage tracks which articles got indexed and which are stuck
* **Impression + click data** for the Performance Dashboard + SEO Analytics
* **Automatic URL submission** — every Sage-published article goes to Google for fresh crawl

### How to connect

1. Go to **Domains Overview** in Sage
2. Click **Add Project** (or **Connect GSC** on an existing domain)
3. Sage opens the Google OAuth flow
4. Choose the Google account that owns the GSC property
5. Approve the requested permissions (read-only access to GSC data + write access to submit URLs)
6. Sage pulls 30 days of historical data within \~30 seconds

{% hint style="warning" %}
**The domain must already exist in GSC.** Sage doesn't add domains to GSC for you — that's GSC's separate verification step. If a client's site isn't in their GSC yet, that's prerequisite step zero.
{% endhint %}

### What Sage does + doesn't access

| What Sage reads                                                         | What Sage writes                      | What Sage NEVER does                     |
| ----------------------------------------------------------------------- | ------------------------------------- | ---------------------------------------- |
| Search performance data (queries, pages, clicks, impressions, position) | Submit URLs for re-indexing           | Modify your GSC settings                 |
| URL inspection verdicts                                                 | Run URL inspection checks (read-only) | Delete or change existing data           |
| Sitemap URL list                                                        | —                                     | Access GSC properties you didn't connect |

All access is read-only except the indexing submissions (which are pure additive — Sage can only *request* indexing, never remove or modify anything).

## Google Analytics

**Optional but recommended** — adds the layer of "what happens after someone clicks."

### What GA unlocks

* **On-site engagement** — bounce rate, session duration, pages per session per article
* **Conversion attribution** — which articles drive form submissions, email signups, demo requests
* **AI referral traffic** — clicks from ChatGPT, Perplexity, Google AI Overviews (a growing channel)
* **Cross-channel context** — see how organic traffic compares to paid, social, direct

### How to connect

1. Go to a domain's settings page
2. Click **Connect Google Analytics**
3. Choose the GA4 property associated with the same domain
4. Approve Sage's read access
5. Sage pulls historical data based on your retention window

{% hint style="info" %}
**Sage uses GA4, not Universal Analytics.** UA was sunset by Google in July 2023. If your client is still using UA, the integration won't work — they need to migrate to GA4 first.
{% endhint %}

### What GA adds to Sage

* The Performance Dashboard adds engagement metrics next to ranking metrics
* The AI Suggestions Engine factors in which existing content actually engages users vs which just ranks
* The Google Index dashboard adds context: "this URL is indexed AND driving engaged sessions"

## WordPress

**Required for direct publishing** — without it, Sage generates articles but you have to copy-paste them into WP manually.

### What WP integration unlocks

* **Direct publish** — finished articles push to the client's site with one click (or zero, in autopilot mode)
* **Auto-pick categories** — Sage picks the best-matching non-Uncategorized category from the WP site
* **Featured image upload** — generated images attach to the WP post properly
* **Bidirectional URL tracking** — Sage knows which URL each Sage article published to, for indexing + analytics attribution

### How to connect

Modern WordPress (5.6+, December 2020 onward) uses **Application Passwords** — a native feature. Setup:

1. Go to **Settings → WordPress** in Sage
2. Click **Connect WordPress** on the domain
3. Sage redirects to the WP site's authorization screen
4. Approve "Sage" as an authorized application
5. WP generates a unique App Password and sends it back to Sage
6. Connection live — articles can now publish directly

```mermaid
sequenceDiagram
    participant You
    participant Sage
    participant WP as Client's WordPress
    You->>Sage: Click Connect WordPress
    Sage->>WP: Redirect to wp-admin authorize-application URL
    WP->>You: "Approve Sage to access this site?"
    You->>WP: Click Approve
    WP->>Sage: Return with generated App Password
    Sage->>Sage: Store credentials securely (encrypted)
    Note over Sage,WP: Connection live — auto-publishing now works
```

See [Publishing Articles to WordPress](/getting-started/publishing.md) for the full publish flow.

### What Sage does + doesn't access

| What Sage reads                           | What Sage writes                     | What Sage NEVER does           |
| ----------------------------------------- | ------------------------------------ | ------------------------------ |
| Existing post list (to detect duplicates) | New posts (publish articles)         | Modify your WP themes          |
| Category list (for auto-pick)             | Update existing Sage-published posts | Install plugins on your behalf |
| Media library (to upload featured images) | Upload featured image media          | Access other users' content    |

App Passwords are revocable from your WP profile — if you ever want to disconnect, you can do it from WP itself without needing Sage's involvement.

## Coming soon

### CRM systems

The roadmap closes the loop from search → site visit → conversion → revenue. Planned integrations:

* **HubSpot** — track which articles drive contacts and deals
* **Salesforce** — attribute pipeline value to content
* **Pipedrive / Close** — same idea, smaller-business CRMs

These will let Sage answer the question agencies care most about: **"which articles actually made money?"**

### Twitter / social

Auto-sharing of newly-published articles to a connected Twitter/X account, with AI-generated tweet copy. Useful for agencies running social-first amplification.

## When to set up each integration

```mermaid
flowchart LR
  A[New Sage account] --> B[Connect GSC immediately]
  B --> C[Add first domain]
  C --> D[Connect WordPress for that domain]
  D --> E[Get first article published]
  E --> F[After 1-2 weeks, connect GA]
  F --> G[Track which articles actually engage users]
  G --> H[Later: connect CRM when available]
  classDef phase fill:#F0F6FF,stroke:#0052CC,color:#091E42
  class A,B,C,D,E,F,G,H phase
```

GSC first, WP second, GA third, others later. The first two are the difference between "Sage works for you" and "Sage doesn't work." The others compound the value over time.

## Frequently asked questions

### Are my Google credentials safe?

Sage uses OAuth — your password never reaches Sage's servers. Google issues us a short-lived access token that we can use to query GSC/GA on your behalf. You can revoke that access anytime from your Google account security page.

### What if my GSC token expires?

Sage automatically refreshes the token using Google's refresh-token mechanism. You'll only see a "Disconnected" status if the refresh itself fails (rare — usually means you revoked the connection or changed your Google password). One click reconnects.

### Does Sage support GA4 or Universal Analytics?

GA4 only. Universal Analytics was sunset by Google in July 2023 and is no longer queryable.

### What if my client doesn't have GSC set up?

That's prerequisite step 0 — they need to verify their domain in GSC before Sage can do anything. It's a 5-minute task (verify via DNS or HTML tag). Sage's docs include a quick walkthrough for clients who haven't done this.

### Can I connect multiple Google accounts?

Each domain in Sage connects to one Google account (the one that owns its GSC/GA). You can have different domains connected to different accounts — useful if you manage clients who use different Google Workspaces.

### What happens if I disconnect WordPress?

The connection drops, articles stop publishing automatically, and you'll need to reconnect to resume. Already-published articles stay published — Sage doesn't unpublish anything. Sage's record of which articles published to which URLs is preserved.

## Related

* [Domains Overview](/getting-started/domains.md) — where domains (and their GSC connections) are managed
* [Publishing Articles to WordPress](/getting-started/publishing.md) — full WP publish flow once connected
* [Google Index Status](/getting-started/google-index.md) — uses the GSC connection to track indexing
* [SEO Analytics](/getting-started/seo-analytics.md) — visualization of the GSC data Sage pulls
