Dashboard
| ID | Type | Status | Created | Output |
|---|
Sites
Posts & SEO Meta
| ID | Title | Status | Actions |
|---|
Rich Snippets
Select a schema type to get started
SEO Audit
Image Alt Text
| ID | Filename | Alt Text | Action |
|---|
Redirects
| From | To | Code |
|---|
WP-CLI
Task Log
| ID | Site | Type | Status | Created | Output |
|---|
Knowledge Base
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
- Add a site — Go to Sites, click Add Site, choose your CMS type (WordPress / Joomla / TYPO3), and enter your URL and credentials.
- Test the connection — Click Test Connection to verify the API is reachable.
- Start optimizing — Navigate through Posts & Meta, SEO Audit, Rich Snippets, or the WP-CLI console.
Supported CMS Platforms
| CMS | Connection | Features |
|---|---|---|
| WordPress | REST API / SSH / Local | Full: meta, audit, schema, WP-CLI, plugins, redirects, images |
| Joomla | Web Services API | Articles, categories, modules, meta editing |
| TYPO3 | REST API | Pages, content elements, news records |
Method 1: WP REST API (Recommended)
Uses WordPress Application Passwords (available since WP 5.6).
- Log in to your WordPress admin panel.
- Go to Users → Profile.
- Scroll down to Application Passwords.
- Enter a name (e.g. "NextSEO") and click Add New Application Password.
- Copy the generated password (spaces are fine).
- In NextSEO, click Add Site, select WP REST API, and enter your WP username + the application password.
Method 2: SSH + WP-CLI
For advanced users with server access. Requires SSH key authentication and WP-CLI installed on the server.
- Select SSH as the connection method.
- Enter the SSH host, port, username, and the path to the SSH key inside the container (
/root/.ssh/id_rsa). - Specify the WordPress installation path on the remote server.
~/.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 Title | 50–60 characters |
| Meta Description | 140–160 characters |
Generate JSON-LD structured data for Google Rich Results. 12 supported schema types:
How to Use
- Select a schema type from the left panel.
- Fill in the form fields.
- Optionally select a site and post ID to inject the schema directly into WordPress.
- Click Generate Schema — copy the JSON-LD or use the auto-inject feature.
The SEO Audit provides a comprehensive analysis of your content across 8 scoring categories.
Audit Categories
| Meta | SEO title, meta description, focus keyword presence |
| Content | Word count, readability (Flesch score), sentence structure |
| Keyword | Keyword in title, H1, URL, description, body + density |
| Headings | H1/H2 presence, heading hierarchy |
| Links | Internal and external link profile |
| Images | Alt text audit for all post images |
| Schema | JSON-LD and microdata detection |
| Technical | Title/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
| 301 | Permanent redirect — transfers SEO value to the new URL. |
| 302 | Temporary redirect — does not transfer SEO value. |
| 410 | Gone — tells search engines the page has been permanently removed. |
Run WP-CLI commands directly against your connected site (SSH connections only).
Common Commands
core version | Show WordPress version |
plugin list | List all plugins with status |
plugin update --all | Update all plugins |
cache flush | Clear object cache |
rewrite flush | Regenerate permalink structure |
option get siteurl | Show the site URL setting |
user list | List all WordPress users |
transient delete --all | Clear all transients |
db check | Check database tables |
NextSEO supports three user roles for access control:
| Role | Permissions |
|---|---|
| Admin | Full access: manage users, all sites, all tools, change settings |
| Editor | Run SEO tools, manage assigned sites, WP-CLI, install plugins |
| Viewer | Read-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
- Log in to your WordPress admin as an Administrator.
- Go to Users → Profile (or edit the desired user).
- Scroll to the Application Passwords section.
- Enter a name: NextSEO.
- Click Add New Application Password.
- 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:
| CMS | Connection Type | Requirements |
|---|---|---|
| WordPress | WP REST API / SSH / Local | WP 5.6+, Application Password or SSH key |
| Joomla | Web Services API | Joomla 4+, API Token from System → Global Configuration → API |
| TYPO3 | REST API | TYPO3 v11+, API credentials from backend user |
Adding a Non-WordPress Site
- Go to Sites and click Add Site.
- Select the CMS type from the dropdown.
- Enter the base URL and API credentials for that platform.
- Click Test Connection to verify.
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_data post metact_builder_shortcodes post metaSEO 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_titlewarning). - 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.
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
.htaccessrules blockingwp-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.
Analytics & Crawl Data
Rybbit – Web Analytics
Top Pages
| Value | Sessions | Pageviews |
|---|
Top Referrers
| Value | Sessions |
|---|
Countries
| Value | Sessions |
|---|
Browsers
| Value | Sessions |
|---|
Devices
| Value | Sessions |
|---|
Seonaut – Crawl Audit
Open in SeonautIssues
| Severity | Error Type | Count |
|---|
Page Reports
| URL | Status | Title | Description | Words | Depth | NI | NF |
|---|
Users
| ID | Username | Role | Active | Actions |
|---|