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.
What the web app connection adds
Section titled “What the web app connection adds”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.
How the connection works
Section titled “How the connection works”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:
- Sets
connection_verifiedtoyes - Records the
connected_attimestamp - Returns site information (plugin version, output mode, detected SEO plugins, sitemap status)
The dashboard status strip then shows “Connected” instead of “Waiting”.
Step 1: Get your site key
Section titled “Step 1: Get your site key”Your site key is a 40-character string generated during plugin activation. Find it in two places:
From the dashboard
Section titled “From the dashboard”- Go to SEOvault AI in the WordPress admin sidebar.
- Scroll to the Site Key section.
- The key is displayed masked. Click Show full key to reveal it.
- Click Copy to copy it to your clipboard.
From General Settings
Section titled “From General Settings”- Go to SEOvault AI > General > Connection.
- The site key is displayed in the connection section.
- Copy it for use in the web app.
From the onboarding wizard
Section titled “From the onboarding wizard”If you are still in the onboarding wizard, step 6 (Connect) displays your site key with a copy button.
Step 2: Add your site in the web app
Section titled “Step 2: Add your site in the web app”- Log in to the SEOvault AI web app at app.seovaultai.com.
- Go to the site management or dashboard section.
- Click Add new site or Connect a WordPress site.
- Enter your site URL (e.g.,
https://yoursite.com). - Paste the site key you copied from the plugin.
- 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.
Step 3: Verify the connection
Section titled “Step 3: Verify the connection”After adding the site in the web app, verify the connection from the WordPress admin:
- Go to SEOvault AI (the dashboard).
- Check the Connection status in the status strip at the top.
- It should show a green dot and “Connected”.
- 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.
Connection from the onboarding wizard
Section titled “Connection from the onboarding wizard”If you are completing the onboarding wizard for the first time, step 6 (Connect) provides a direct link:
- The wizard displays your site key and a Connect now button.
- Click Connect now to open the web app in a new tab.
- Follow the web app’s site connection flow.
- 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 already have the connector plugin
Section titled “If you already have the connector plugin”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
REST API endpoints
Section titled “REST API endpoints”The plugin registers the following REST API endpoints under seovaultai/v1:
GET /verify– verify site key and establish connectionGET /posts– list posts with SEO dataPOST /posts– create a postGET /posts/{id}– get a single postPOST /posts/{id}– update a postPOST /posts/{id}/restore-revision– restore a revisionGET /pages– list pagesGET /pages/{id}– get a single pagePOST /pages/{id}– update a pageGET /categories– list categoriesGET /media– list media itemsPOST /media/upload– upload mediaGET /seo/capabilities– get SEO feature statusPOST /posts/{id}/inject-image-alt– inject image ALT attributesPOST /posts/{id}/inject-aeo– inject AEO snippetGET /internal-links/manifest– get internal linking manifestPOST /internal-links/sync– sync internal linksGET /ai-visibility/status– get AI visibility statusGET /llms/status– get llms.txt statusGET /llms/preview– preview llms.txt contentPOST /llms/publish– publish llms.txtGET /robots/status– get robots.txt statusGET /robots/preview– preview robots.txtPOST /robots/apply– apply robots.txt changesPOST /robots/restore– restore robots.txtGET /schema/status– get schema statusGET /schema/preview– preview schema outputPOST /schema/inject– inject schema into a postGET /crawler-logs/status– get crawler logs statusPOST /crawler-logs/enable– enable crawler loggingPOST /crawler-logs/disable– disable crawler loggingGET /crawler-logs– list crawler logsGET /seo/import/summary– get migration import summaryPOST /seo/import– run migration importGET /indexnow/setup– get IndexNow setupGET /indexnow/status– get IndexNow statusPOST /indexnow/submit– submit URLs to IndexNowGET /sitemap-proxy– proxy sitemap requests
All write endpoints require site key authentication. Read endpoints like /verify also require authentication.
Troubleshooting
Section titled “Troubleshooting”Connection stays “Waiting”
Section titled “Connection stays “Waiting””If the connection does not verify:
- Check the site key – make sure you copied the exact key from the plugin. Extra spaces or truncated characters cause failures.
- Check the REST API – visit
yoursite.com/wp-json/seovaultai/v1/verifyin your browser. You should see a JSON response (not a 404 or error page). - Check for security plugins – security plugins (Wordfence, iThemes Security, etc.) may block REST API requests. Add an allowlist rule for the
seovaultai/v1namespace. - Check CORS – if the web app is making cross-origin requests, ensure your server allows requests from
app.seovaultai.com. - Check SSL – the web app requires HTTPS. Make sure your site has a valid SSL certificate.
REST API returns 404
Section titled “REST API returns 404”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
Connection drops after working
Section titled “Connection drops after working”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
Rate limiting
Section titled “Rate limiting”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.
Disconnect from the web app
Section titled “Disconnect from the web app”To disconnect:
- Go to SEOvault AI > General > Connection.
- Click Disconnect or clear the connection status.
- The plugin sets
connection_verifiedtonoand clears theconnected_attimestamp. - 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.