Skip to content

Connect the Plugin to the SEOvault AI Web App

The SEOvault AI WordPress plugin works on its own. Connecting it to the SEOvault AI web app is optional and adds AI-powered content tools, bulk management, and multi-site control. The connection uses the WordPress REST API with site key authentication – no separate connector plugin needed.

This guide covers how to connect, verify the connection, and troubleshoot issues.

When connected, the web app can:

  • Browse and edit posts across one or more WordPress sites from a single dashboard
  • Generate AI-powered content (Basic Writer, Ultra Writer)
  • Run bulk title and description updates
  • Inject schema, internal links, and AEO snippets via the REST API
  • Manage llms.txt and robots.txt remotely
  • View advanced analytics and SEO reports
  • Sync internal linking manifests across sites

The plugin remains fully functional without the connection. All on-site SEO features (meta tags, schema, sitemaps, 404 monitoring, redirects) work regardless of connection status.

The connection uses the WordPress REST API:

  • API namespace: seovaultai/v1
  • Authentication: site key sent as a request header or parameter
  • Verification endpoint: GET /wp-json/seovaultai/v1/verify
  • CORS: the plugin registers an origin allowlist for cross-origin requests from the web app

When the web app calls the verify endpoint with a valid site key, the plugin:

  1. Sets connection_verified to yes
  2. Records the connected_at timestamp
  3. Returns site information (plugin version, output mode, detected SEO plugins, sitemap status)

The dashboard status strip then shows “Connected” instead of “Waiting”.

Your site key is a 40-character string generated during plugin activation. Find it in two places:

  1. Go to SEOvault AI in the WordPress admin sidebar.
  2. Scroll to the Site Key section.
  3. The key is displayed masked. Click Show full key to reveal it.
  4. Click Copy to copy it to your clipboard.
  1. Go to SEOvault AI > General > Connection.
  2. The site key is displayed in the connection section.
  3. Copy it for use in the web app.

If you are still in the onboarding wizard, step 6 (Connect) displays your site key with a copy button.

  1. Log in to the SEOvault AI web app at app.seovaultai.com.
  2. Go to the site management or dashboard section.
  3. Click Add new site or Connect a WordPress site.
  4. Enter your site URL (e.g., https://yoursite.com).
  5. Paste the site key you copied from the plugin.
  6. Click Connect or Verify.

The web app sends a request to your site’s REST API at /wp-json/seovaultai/v1/verify. If the site key matches, the connection is established.

After adding the site in the web app, verify the connection from the WordPress admin:

  1. Go to SEOvault AI (the dashboard).
  2. Check the Connection status in the status strip at the top.
  3. It should show a green dot and “Connected”.
  4. Alternatively, go to General Settings > Connection to see the full connection status, including the timestamp of when the connection was verified.

If the status still shows “Waiting”, see the troubleshooting section below.

If you are completing the onboarding wizard for the first time, step 6 (Connect) provides a direct link:

  1. The wizard displays your site key and a Connect now button.
  2. Click Connect now to open the web app in a new tab.
  3. Follow the web app’s site connection flow.
  4. Return to the wizard and click Next to proceed to the finish step.

You can also skip this step by clicking I’ll connect later. The plugin works without the connection.

If you previously used the separate SEOvault AI connector plugin (the lightweight one from WordPress.org):

  • The full SEO plugin preserves your existing site key during activation
  • Your connection status is also preserved
  • You can deactivate the connector plugin – the full SEO plugin’s built-in REST API handles everything
  • The web app connection continues working without re-configuration

The plugin registers the following REST API endpoints under seovaultai/v1:

  • GET /verify – verify site key and establish connection
  • GET /posts – list posts with SEO data
  • POST /posts – create a post
  • GET /posts/{id} – get a single post
  • POST /posts/{id} – update a post
  • POST /posts/{id}/restore-revision – restore a revision
  • GET /pages – list pages
  • GET /pages/{id} – get a single page
  • POST /pages/{id} – update a page
  • GET /categories – list categories
  • GET /media – list media items
  • POST /media/upload – upload media
  • GET /seo/capabilities – get SEO feature status
  • POST /posts/{id}/inject-image-alt – inject image ALT attributes
  • POST /posts/{id}/inject-aeo – inject AEO snippet
  • GET /internal-links/manifest – get internal linking manifest
  • POST /internal-links/sync – sync internal links
  • GET /ai-visibility/status – get AI visibility status
  • GET /llms/status – get llms.txt status
  • GET /llms/preview – preview llms.txt content
  • POST /llms/publish – publish llms.txt
  • GET /robots/status – get robots.txt status
  • GET /robots/preview – preview robots.txt
  • POST /robots/apply – apply robots.txt changes
  • POST /robots/restore – restore robots.txt
  • GET /schema/status – get schema status
  • GET /schema/preview – preview schema output
  • POST /schema/inject – inject schema into a post
  • GET /crawler-logs/status – get crawler logs status
  • POST /crawler-logs/enable – enable crawler logging
  • POST /crawler-logs/disable – disable crawler logging
  • GET /crawler-logs – list crawler logs
  • GET /seo/import/summary – get migration import summary
  • POST /seo/import – run migration import
  • GET /indexnow/setup – get IndexNow setup
  • GET /indexnow/status – get IndexNow status
  • POST /indexnow/submit – submit URLs to IndexNow
  • GET /sitemap-proxy – proxy sitemap requests

All write endpoints require site key authentication. Read endpoints like /verify also require authentication.

If the connection does not verify:

  1. Check the site key – make sure you copied the exact key from the plugin. Extra spaces or truncated characters cause failures.
  2. Check the REST API – visit yoursite.com/wp-json/seovaultai/v1/verify in your browser. You should see a JSON response (not a 404 or error page).
  3. Check for security plugins – security plugins (Wordfence, iThemes Security, etc.) may block REST API requests. Add an allowlist rule for the seovaultai/v1 namespace.
  4. Check CORS – if the web app is making cross-origin requests, ensure your server allows requests from app.seovaultai.com.
  5. Check SSL – the web app requires HTTPS. Make sure your site has a valid SSL certificate.

If the verify endpoint returns 404:

  • Go to Settings > Permalinks and click Save Changes to flush rewrite rules
  • Confirm the plugin is activated – the REST routes are registered on rest_api_init
  • Check that no other plugin is overriding or blocking REST API initialization

If the connection was previously verified but now shows “Waiting”:

  • The site key may have been regenerated (see Site Key Security)
  • A plugin update may have reset connection options – re-enter the site key in the web app
  • Check the audit log at General Settings > Security for recent API activity

The plugin includes built-in rate limiting for API requests. If the web app makes too many requests in a short period, it may receive 429 Too Many Requests responses. The rate limiter resets automatically after the cooldown period. You can adjust rate limit settings at General Settings > Security.

To disconnect:

  1. Go to SEOvault AI > General > Connection.
  2. Click Disconnect or clear the connection status.
  3. The plugin sets connection_verified to no and clears the connected_at timestamp.
  4. The dashboard status strip shows “Waiting” again.

The site key is not changed when disconnecting. You can reconnect at any time by re-entering the same site key in the web app.