Recent Tasks
IDTypeStatusCreatedOutput
IDTitleStatusActions
Schema Type

Select a schema type to get started

IDFilenameAlt TextAction
FromToCode
Terminal
IDSiteTypeStatusCreatedOutput

Welcome to NextSEO

NextSEO is a multi-CMS SEO automation platform. Connect WordPress, Joomla, or TYPO3 sites and manage SEO metadata, plugins, schema markup, redirects, analytics, and more from one dashboard.

Quick Start
  1. Add a site — Go to Sites, click Add Site, choose your CMS type (WordPress / Joomla / TYPO3), and enter your URL and credentials.
  2. Test the connection — Click Test Connection to verify the API is reachable.
  3. Start optimizing — Navigate through Posts & Meta, SEO Audit, Rich Snippets, or the WP-CLI console.
Supported CMS Platforms
CMSConnectionFeatures
WordPressREST API / SSH / LocalFull: meta, audit, schema, WP-CLI, plugins, redirects, images
JoomlaWeb Services APIArticles, categories, modules, meta editing
TYPO3REST APIPages, content elements, news records

Method 1: WP REST API (Recommended)

Uses WordPress Application Passwords (available since WP 5.6).

  1. Log in to your WordPress admin panel.
  2. Go to Users → Profile.
  3. Scroll down to Application Passwords.
  4. Enter a name (e.g. "NextSEO") and click Add New Application Password.
  5. Copy the generated password (spaces are fine).
  6. In NextSEO, click Add Site, select WP REST API, and enter your WP username + the application password.
Application Passwords require HTTPS on your WordPress site.
Method 2: SSH + WP-CLI

For advanced users with server access. Requires SSH key authentication and WP-CLI installed on the server.

  1. Select SSH as the connection method.
  2. Enter the SSH host, port, username, and the path to the SSH key inside the container (/root/.ssh/id_rsa).
  3. Specify the WordPress installation path on the remote server.
SSH keys must be mounted into the container via the ~/.ssh:/root/.ssh:ro volume.

The Posts & Meta page lets you view and edit SEO metadata for every post, page, or product on your WordPress site.

Supported Plugins
  • Yoast SEO — Title, meta description, focus keyword, canonical URL, noindex
  • RankMath — Title, description, focus keyword, canonical URL, schema type
Open Graph & Twitter Cards

Set OG and Twitter Card tags (title, description, image) per post for optimal social media sharing.

Character Guidelines
SEO Title50–60 characters
Meta Description140–160 characters

Generate JSON-LD structured data for Google Rich Results. 12 supported schema types:

Article Blog posts, news
Product E-commerce items
FAQ Question/Answer pairs
HowTo Step-by-step guides
LocalBusiness Physical businesses
Event Events with dates
Recipe Cooking recipes
WebSite Site-level markup
Organization Company info
Person Author / profile
Review Ratings & reviews
Breadcrumb Navigation trail
How to Use
  1. Select a schema type from the left panel.
  2. Fill in the form fields.
  3. Optionally select a site and post ID to inject the schema directly into WordPress.
  4. Click Generate Schema — copy the JSON-LD or use the auto-inject feature.
Test your schema at Google Rich Results Test.

The SEO Audit provides a comprehensive analysis of your content across 8 scoring categories.

Audit Categories
MetaSEO title, meta description, focus keyword presence
ContentWord count, readability (Flesch score), sentence structure
KeywordKeyword in title, H1, URL, description, body + density
HeadingsH1/H2 presence, heading hierarchy
LinksInternal and external link profile
ImagesAlt text audit for all post images
SchemaJSON-LD and microdata detection
TechnicalTitle/description length, canonical URL, indexing directives
Page Builder Detection

The audit automatically detects which page builder each post uses and provides builder-specific recommendations:

  • Elementor — Warns about hidden titles (missing H1), missing schema
  • Oxygen Builder — Extracts content from shortcodes, warns about empty REST content
  • Gutenberg — Detected via block markers in content
  • Classic Editor — Default fallback
Limit Options

Choose 10, 25, 50, 100, or All posts. "All" fetches every post using automatic pagination (no 100-item cap).

Quick Check vs. Full Audit
  • Quick Check — Scans for missing SEO title and description only (fast).
  • Run Audit — Full 8-category analysis with per-post scores and recommendations.

Find images in your media library that are missing alt text and fix them in bulk.

Why Alt Text Matters
  • SEO — Google uses alt text to understand image content for image search.
  • Accessibility — Screen readers read alt text to visually impaired users.
  • Fallback — Alt text displays when an image fails to load.
Best Practices
  • Be descriptive and specific ("red Nike running shoe" not "shoe")
  • Keep it under 125 characters
  • Include keywords naturally
  • Skip decorative images (use empty alt="")

Manage URL redirects on your WordPress site.

Redirect Types
301Permanent redirect — transfers SEO value to the new URL.
302Temporary redirect — does not transfer SEO value.
410Gone — tells search engines the page has been permanently removed.
Always use 301 for permanent URL changes to preserve your search rankings.

Run WP-CLI commands directly against your connected site (SSH connections only).

Common Commands
core versionShow WordPress version
plugin listList all plugins with status
plugin update --allUpdate all plugins
cache flushClear object cache
rewrite flushRegenerate permalink structure
option get siteurlShow the site URL setting
user listList all WordPress users
transient delete --allClear all transients
db checkCheck database tables
Be careful with destructive commands. All commands are logged in the Task Log.

NextSEO supports three user roles for access control:

RolePermissions
AdminFull access: manage users, all sites, all tools, change settings
EditorRun SEO tools, manage assigned sites, WP-CLI, install plugins
ViewerRead-only access to reports, audits, and task logs
Site Access Control

Admins can restrict which sites a user can access via the Allowed Site IDs field. Leave empty to grant access to all sites.

What Are Application Passwords?

Application Passwords are a WordPress feature (since 5.6) that lets external apps authenticate via the REST API without using your main login password.

How to Generate
  1. Log in to your WordPress admin as an Administrator.
  2. Go to Users → Profile (or edit the desired user).
  3. Scroll to the Application Passwords section.
  4. Enter a name: NextSEO.
  5. Click Add New Application Password.
  6. Copy the 24-character password (with spaces). It will only be shown once!
Requirements
  • WordPress 5.6 or later
  • HTTPS must be enabled (Application Passwords are blocked on plain HTTP)
  • The WP user must have Administrator role for full API access
Security Notes
  • Application passwords are separate from your login — revoking one doesn't affect your real password.
  • You can create multiple application passwords and revoke them individually.
  • NextSEO stores the password encrypted in the database.

NextSEO supports three CMS platforms. Each uses a different connection type:

CMSConnection TypeRequirements
WordPressWP REST API / SSH / LocalWP 5.6+, Application Password or SSH key
JoomlaWeb Services APIJoomla 4+, API Token from System → Global Configuration → API
TYPO3REST APITYPO3 v11+, API credentials from backend user
Adding a Non-WordPress Site
  1. Go to Sites and click Add Site.
  2. Select the CMS type from the dropdown.
  3. Enter the base URL and API credentials for that platform.
  4. Click Test Connection to verify.
WordPress sites support the full feature set. Joomla and TYPO3 support meta reading, audits, and schema injection.

NextSEO integrates with two external tools to provide crawl data and visitor analytics.

Seonaut (Crawl Data)
  • Seonaut crawls your sites and detects broken links, duplicate titles, missing headers, and more.
  • NextSEO connects to Seonaut's MySQL/MariaDB database to pull crawl reports.
  • Configure in Settings → Seonaut: enter the DB host, port, user, password, and database name.
  • Sites are auto-matched by domain — your NextSEO sites are linked to Seonaut projects automatically.
Rybbit (Visitor Analytics)
  • Rybbit is a privacy-friendly web analytics tool.
  • NextSEO queries the Rybbit HTTP API for page views, sessions, bounce rate, and top pages.
  • Configure in Settings → Rybbit: enter the base URL (e.g. http://rybbit-backend:3001).
Analytics & Crawl Panel

The Integrations page shows a unified view of crawl issues and analytics side by side, with diagnostics to verify connectivity.

NextSEO automatically detects which page builder was used to create each post during SEO audits.

Supported Builders
Elementor Detected via _elementor_data post meta
Oxygen Detected via ct_builder_shortcodes post meta
Gutenberg Detected via block markers in post content
Classic No builder markers found — classic editor
SEO Implications
  • Elementor hidden titles — Elementor can hide H1 headings visually while keeping them in the DOM. The audit flags posts where the title may be hidden via CSS (elementor_hidden_title warning).
  • Oxygen shortcode content — Oxygen stores content as shortcodes. NextSEO extracts the text content from these shortcodes for accurate word-count and heading analysis.

Builder info appears as colored badges in the audit results table and as a breakdown chart in Quick Stats.

NextSEO can automatically detect Seonaut and Rybbit services running on the same Docker network.

How It Works
  • On first startup (when no integration config exists), the container probes common Docker container names and ports.
  • For Seonaut, it checks both the HTTP interface and the MySQL database, testing common credentials.
  • For Rybbit, it probes known HTTP API endpoints.
  • Discovered services are saved to the configuration automatically.
Manual Scan

You can also trigger a scan manually from Settings by clicking the Auto-Detect Services button. This will probe the network and fill in any empty configuration fields with discovered values.

Auto-discovery never overwrites values you have already entered. It only fills empty fields.

Connection Failed / Timeout
  • Make sure the site URL is correct and reachable from the server (not just your browser).
  • Verify the WordPress REST API is not disabled by a security plugin.
  • Check that https://yoursite.com/wp-json/ is accessible.
401 Unauthorized
  • Check your WP username and application password.
  • Regenerate the application password in WordPress.
  • Ensure the user has Administrator role.
403 Forbidden
  • Your hosting provider or a security plugin may be blocking REST API requests.
  • Check for .htaccess rules blocking wp-json.
  • Disable plugins like Wordfence or iThemes temporarily to test.
Plugins Not Showing
  • The WP REST plugins endpoint requires Administrator role. Check your WP user's role.

Rybbit – Web Analytics

0 Live Visitors
Top Pages
ValueSessionsPageviews
Top Referrers
ValueSessions
Countries
ValueSessions
Browsers
ValueSessions
Devices
ValueSessions
No Rybbit site matched.

Seonaut – Crawl Audit

Open in Seonaut

Issues
SeverityError TypeCount
Page Reports
URLStatusTitleDescriptionWordsDepthNINF
No Seonaut data found for this site.
IDUsernameEmailRoleActiveActions
Seonaut Configuration
Rybbit Configuration
Test Results
Connection Diagnostics