Skip to main content
Integrations let you connect SnowSEO to the external tools your team already uses — so you can publish content, track performance, and monitor search visibility without switching between platforms.
All integrations are configured per brand. If you manage multiple websites, connect each brand to its own set of tools independently.

Accessing the Integrations Page

To manage your integrations, open the user menu at the bottom-left of the dashboard and select Integrations from the dropdown. Accessing the Integrations page from the dashboard user menu — the Integrations option is highlighted in the dropdown This opens the Integrations drawer with tabs organized by function: CMS & Publishing, Analytics & Performance, SEO & AI Tools, Social Media, API, and MCP. Each integration uses an accordion pattern — click the row to expand it and see connection details.

Recommendations: What to Connect First

Not all integrations are equally important. Here’s the priority order:
PriorityIntegrationWhy
1stGoogle Search ConsoleWithout it, SnowSEO cannot show your real search traffic, keyword positions, or click-through rates. This is the foundation of almost every dashboard.
2ndYour CMS (WordPress, Ghost, etc.)Unlocks Publish and Schedule buttons in the Article Editor so you can push content live without copy-pasting.
3rdGoogle AnalyticsEnables Content ROI and Website Traffic metrics on published articles.
4thBing Webmaster ToolsCaptures the ~6–10% of search traffic that comes from Bing, especially if your audience skews enterprise or older demographics.
5thPostHogIf you run a SaaS product, this connects product analytics with your SEO performance data.

The CMS & Publishing tab lists content management platforms you can connect for direct article publishing. Once linked, you can push SEO-optimized articles from SnowSEO straight to your live website.CMS and Publishing tab showing WordPress, Ghost CMS, Webflow, and Shopify integrations with Connect buttons
Connecting a CMS unlocks the Publish Now and Schedule buttons inside the Article Editor. Without it, you can still write and optimize content — but you’ll need to manually copy the output to your website.

WordPress

Connect your WordPress site to create and publish posts directly from SnowSEO. Supports both WordPress.com and self-hosted WordPress.org installations.SnowSEO offers three connection methods — choose based on your hosting setup:
Best for: WordPress.com sites and self-hosted sites where the WordPress REST API is accessible.This is the simplest method — no manual credential management required.OAuth connection flow showing WordPress authorization window
1

Click Connect + on the WordPress row

In SnowSEO, find WordPress in the CMS & Publishing tab and click Connect +. The panel expands with three tab options.
2

Select the OAuth tab

It’s selected by default. You’ll see a single field: Site URL.
3

Enter your WordPress Site URL

Type the main domain of your WordPress site (e.g., wordpress-blog.com). Do not include /wp-login, /wp-admin, or https:// — those are added automatically.
4

Click Connect

Click + Connect. A secure WordPress authorization window opens where you sign in to your WordPress admin and grant SnowSEO permission. Once authorized, the status changes to Connected.
OAuth is the fastest method. Try it first — if your WordPress site blocks the REST API (common with certain hosting providers or security plugins), fall back to the Password or Plugin method.
Once connected, the WordPress accordion shows:
  • Site Title — Your WordPress site name
  • Site URL — The connected domain
  • Connection Method — Tag showing OAuth, App Password, or Plugin
  • Disconnect button (red) — removes the integration
You can only have one active CMS integration per brand. If you connect WordPress, then try to connect Ghost, the previous connection gets replaced. Disconnect first if you want to switch platforms cleanly.

Ghost CMS

Professional publishing platform. Connect your Ghost publication to manage and schedule content directly from SnowSEO.Ghost CMS connection flow showing Admin API key setup
1

Click Connect + on the Ghost CMS row

In SnowSEO, find Ghost CMS and click Connect +.
2

Enter your Ghost Site URL

Type the full URL of your Ghost site (e.g., https://blog.example.com). Include https:// and do not add a trailing slash.
3

Create an Admin API Key in Ghost

In your Ghost admin:
  1. Go to Settings → Integrations
  2. Click Add custom integration and name it “SnowSEO”
  3. Ghost generates a long Admin API Key — copy it immediately
4

Paste the key and connect

Back in SnowSEO, paste the key into the Admin API Key field. Click + Connect. The status changes to Connected once verified.
The Ghost Admin API Key is the only credential you need. It includes both a key ID and a secret in a single string — SnowSEO handles everything else. If you ever regenerate the key in Ghost, you’ll need to reconnect SnowSEO with the new key.

Webflow

Connect Webflow to manage CMS items on your published sites.Webflow connection flow showing Site ID and API token setup
1

Click Connect + on the Webflow row

In SnowSEO, find Webflow and click Connect +.
2

Get your Webflow Site ID

In your Webflow dashboard:
  1. Open the site you want to connect
  2. Go to Site settings → General
  3. Find your Site ID (a string like 1234567890abcdef) Leave this tab open — you’ll need it after creating the token.
3

Create an API Token in Webflow

Still in Webflow:
  1. Go to Account → Integrations → API access
  2. Click Generate API token
  3. Give it a name (e.g., “SnowSEO”)
  4. Enable CMS Read & Write access — required for publishing
  5. Copy the token immediately — Webflow only shows it once
4

Enter the Site ID and paste the token

Back in SnowSEO:
  1. Paste the Site ID into the first field
  2. Paste the API Token into the second field
  3. Click + Connect
Once connected, you’ll see two dropdowns:
  • Webflow Site — Select which site to publish to
  • CMS Collection — Select which collection (blog, articles, etc.)
The API Token is shown only once by Webflow. If you lose it, you must generate a new one in Webflow and reconnect. Keep it in a password manager until the SnowSEO connection is verified.
After connecting, make sure you’ve selected the correct CMS Collection in the expanded panel. SnowSEO will only publish to the collection you select. If you don’t see any collections, make sure your site has at least one CMS collection defined in Webflow.

Framer

Connect Framer to publish content via SnowSEO’s Framer plugin using a secure API key.
1

Click Connect + on the Framer row

In SnowSEO, find Framer and click Connect +.
2

Generate your API Key

Click Generate API Key. SnowSEO creates a unique key for your project.
3

Copy the API Key

A green success banner appears with the key. Click Copy — you need this to configure the Framer plugin.
4

Configure the Framer plugin

Open your Framer project, navigate to the SnowSEO plugin settings, and paste the API key where requested.
5

Wait for activation

Back in SnowSEO, the status shows Pending with an amber badge. Once the Framer plugin validates the key, it changes to Connected.
The API key is shown once after generation. Copy it immediately. If you lose it before connecting, click Revoke Key in the SnowSEO panel and generate a new one.

Webhook

Receive real-time CMS publish payloads at your own endpoint. Unlike other CMS integrations, Webhook allows multiple connections — you can set up separate webhooks for different services (e.g., a Next.js blog, a custom headless CMS, and a Zapier automation).
See a working Next.js example on GitHub.
1

Click Connect on the Webhook row

The panel expands. If you have no webhooks yet, an empty form appears automatically.
2

Enter an Integration Name

A descriptive name so your team can identify this connection (e.g., Next.js Blog, Zapier Automation). Must be 2–30 characters.
3

Add your Webhook Endpoint URL

The destination URL where SnowSEO sends events (e.g., https://your-site.com/api/webhook). Must be HTTPS and publicly reachable. In development mode, http:// URLs are also accepted.
4

Set an Access Token

A secret token you choose. SnowSEO sends this in the Authorization header as Bearer <your-token>. Your endpoint should verify this token before processing payloads.
5

Click + Connect

SnowSEO sends a validation ping to your endpoint. If your endpoint returns a 2xx status, the webhook is saved and connected. You can add more webhooks by clicking Add New Webhook.
6

Test by publishing an article

Publish any article from the dashboard. Your endpoint should receive a POST request with the article.published or article.drafted event payload.
Managing Webhooks:
  • Each webhook shows a row with its name, endpoint URL, and an active/inactive toggle
  • Click the pencil icon to edit name, URL, or secret — SnowSEO re-validates by sending a webhook.connected ping after any credential change
  • Click the trash icon to delete the webhook — SnowSEO sends a webhook.disconnected event to your endpoint before removal
  • Use Disable All to turn off all webhooks at once
  • The overall integration shows as “Connected” when at least one webhook is active
Webhook Payload Structure:When SnowSEO publishes an article, your endpoint receives a POST request with the following JSON body:
{
  "event": "article.published",
  "timestamp": "2026-05-13T10:30:00.000Z",
  "article": {
    "slug": "my-article-slug",
    "title": "My Article Title",
    "markdown": "Full markdown content without the featured image...",
    "html": "<p>Converted HTML content...</p>",
    "status": "publish",
    "featuredImage": {
      "url": "https://example.com/image.jpg",
      "caption": "Image caption or null"
    },
    "metaData": {
      "metaTitle": "SEO Meta Title",
      "metaDescription": "SEO meta description...",
      "ogTitle": "Open Graph Title",
      "ogDescription": "Open Graph Description",
      "canonicalUrl": "https://example.com/my-article-slug",
      "twitterTitle": "Twitter Card Title",
      "twitterDescription": "Twitter Card Description"
    }
  }
}
Event Types:
  • article.published — Sent when an article is published
  • article.drafted — Sent when an article is saved as draft
  • article.unpublished — Sent when an article is unpublished or removed
  • webhook.connected — One-time validation ping sent after connecting or updating credentials
  • webhook.disconnected — Sent to your endpoint before the webhook is removed
Response (optional):Your endpoint can optionally return JSON with cmsArticleId and/or cmsUrl to store CMS metadata back to SnowSEO:
{
  "cmsArticleId": "your-internal-article-id",
  "cmsUrl": "https://your-site.com/articles/my-article-slug"
}
Always validate the Authorization Bearer token in your webhook handler. Log failed requests for easier debugging. The access token is encrypted at rest but sent in plaintext with each request.

Shopify

Coming soon. Publish SEO-optimized articles to your Shopify store blog. The integration fields are already built — connect your shop domain and Admin API access token once released.

Frequently Asked Questions

Start with Google Search Console — it unlocks the majority of SnowSEO’s value by providing real search data. Next, connect your CMS (WordPress, Ghost, Webflow, or Framer) so you can publish directly. Finally, add Google Analytics for comprehensive traffic and ROI reporting.
No — each brand can have only one active CMS integration at a time. If you need to switch (e.g., migrating from WordPress to Webflow), disconnect the current integration first, then connect the new one. Webhooks are an exception — you can have multiple webhook endpoints active simultaneously.
Historical data already imported into SnowSEO (rankings, traffic history, published articles) is retained. However, SnowSEO will stop pulling new data from the disconnected service until you reconnect. If you reconnect later, data sync resumes — you don’t lose the time in between, but there will be a gap in your historical timeline.
First, check the data sync delay:
  • Google Search Console: Data is updated daily (Google’s limitation). Allow up to 48 hours.
  • Google Analytics: Can take 24–48 hours for initial data to populate.
  • PostHog/Bing: Usually available within minutes.
If it’s been longer than expected:
  1. Click Reconnect from the expanded integration panel — this re-authenticates the connection
  2. Verify the correct property/site is selected in the dropdown
  3. Check that your account still has the required permissions in the external platform
  4. If using GSC, ensure your property is verified in Google Search Console
If none of these work, disconnect and reconnect the integration.
Yes. SnowSEO uses OAuth 2.0 for all major integrations (Google Search Console, Google Analytics, Bing Webmaster Tools, WordPress). Your passwords are never stored — only secure, revocable access tokens are used.For integrations that require API keys or application passwords (PostHog, Ghost, Webflow, WordPress Plugin/Password methods), these are encrypted at rest and sent only when communicating with the respective service. You can revoke access at any time from either SnowSEO or the third-party platform.
Yes, but each connection replaces the previous one. If you originally connected via OAuth and want to switch to the Plugin method, disconnect first, then reconnect using the new method. Wordpress.com sites must use OAuth — the Password and Plugin methods only work with self-hosted WordPress.org installations.
This is a common issue. The Plugin connection method is designed for exactly this scenario. It bypasses most firewall and security plugin restrictions by using a dedicated WordPress plugin that communicates with SnowSEO’s servers directly. If the Plugin method also fails, check that your WordPress server can make outbound HTTPS requests — Cloudflare’s WAF rules sometimes block outbound connections to unknown IPs; adding SnowSEO’s API to your allowlist usually resolves this.
Expand the Google Search Console integration row. There’s a Search Console Property dropdown that lists all properties your connected Google account has access to. Select a different property from the dropdown — SnowSEO will automatically start fetching data from the new property. No need to disconnect and reconnect.
Click Reconnect in the expanded integration panel. This re-authenticates with Google and issues a fresh token. OAuth tokens typically expire after a few hours, but SnowSEO handles automatic refresh behind the scenes — you should only need to manually reconnect if the refresh fails (e.g., if you changed your Google password or revoked SnowSEO’s access).
Double-check your four fields:
  1. Host URL — Make sure it points to your actual PostHog instance (e.g., https://us.i.posthog.com not https://app.posthog.com)
  2. Project API Key (phc_) — This is found in Project Settings, not User Settings
  3. Personal API Key (phx_) — This is found in User Settings → User API Keys
  4. Project ID — This is the numeric ID visible in the URL or Project Settings
The most common mistake is mixing up the two keys or using the wrong Host URL for cloud vs. self-hosted instances.
Yes — use the Webhook integration. Set up an endpoint on your site that receives SnowSEO’s publish payloads (title, content, metadata, etc.), then write your own logic to handle the data. This works with any stack: Next.js, Nuxt, Gatsby, custom PHP, or anything else that can accept HTTPS POST requests.
SnowSEO requests read-only access to your Search Console account. This means:
  • Can read: Impressions, clicks, CTR, keyword positions, indexing status, sitemaps
  • Cannot modify: Settings, users, properties, sitemaps, or any other data
The same applies to Google Analytics — read-only access to GA4 property data only.
API keys are available on the Scale plan and require an owner or admin role in at least one team within the organization. If you’re on a lower plan or have a member role, the tab will show a “Scale Plan Required” message. Upgrade your plan or ask your organization owner to generate a key for you.Each key is scoped to a specific brand — if you need access to multiple brands, generate a separate key for each one.