# SEOVault AI
URL: https://seovaultai.com
## About SEO Vault AI
URL: https://seovaultai.com/about
Learn what SEO Vault AI is, who it is for, and how it helps WordPress publishers create better content with less friction.
About
# About SEO Vault AI
SEO Vault AI is a professional SEO workspace built for people who publish serious content on WordPress.
We created it because modern SEO work has become too fragmented. Writers, editors, bloggers, affiliate site owners, and SEO teams often need one tool for keyword research, another for content writing, another for internal links, another for technical checks, another for readability, another for AI rewriting, and another for publishing support.
That workflow is slow.
SEO Vault AI brings the most important parts of the content publishing process into one focused workspace: writing, SEO checks, AI-assisted content creation, internal linking, link checking, article improvement, table creation, and WordPress publishing support.
Our goal is simple: help you create clearer, stronger, more useful content faster.
## Why SEO Vault AI Exists
Search is changing.
A few years ago, SEO was mostly about keywords, backlinks, titles, and basic on-page optimization. Those things still matter, but they are no longer enough on their own.
Today, content also needs to be:
* Easy for readers to understand
* Structured well enough for search engines
* Clear enough for AI answer engines
* Trustworthy enough to show real experience
* Detailed enough to satisfy search intent
* Fast enough to produce without wasting hours on repetitive work
This is where SEO Vault AI fits.
We do not believe writers should spend their time manually checking the same SEO details again and again. We also do not believe AI should blindly replace human judgment.
Instead, SEO Vault AI is designed to support the writer.
It helps with the repetitive parts, the structural checks, the improvement ideas, and the publishing workflow, while leaving the final editorial decision to the person creating the content.
## What SEO Vault AI Helps You Do
SEO Vault AI includes a collection of tools designed around the real content workflow.
### Write Better Articles
The AI writing tools help you create drafts, expand sections, rewrite weak parts, improve clarity, and generate content ideas.
The goal is not to produce generic AI text. The goal is to help you move faster while still shaping the article into something useful, readable, and aligned with your site.
### Improve SEO Before Publishing
The SEO checklist panel scans your draft and highlights important publishing signals, including:
* Focus keyword usage
* SEO title and meta description readiness
* Direct answer structure
* TL;DR quality
* Internal links
* Readability
* Content depth
* E-E-A-T and trust signals
* AI-era writing patterns
* Tables, lists, and scannable formatting
This helps you catch missing elements before the article goes live.
### Build More Useful Content
SEO Vault AI encourages content that is not only optimized, but actually helpful.
That means better structure, clearer answers, stronger examples, more useful summaries, and stronger trust signals.
Good SEO should not make content worse. If optimization makes the article robotic, bloated, or misleading, it is bad optimization.
### Work Faster With WordPress
SEO Vault AI is built with WordPress publishers in mind.
Instead of forcing you to jump between disconnected tools, it helps you manage writing, optimization, and publishing support from a single workspace.
For teams and solo site owners, this can remove a lot of repetitive manual work.
## Our Approach to AI
We use AI where it makes sense.
AI is useful for drafting, rewriting, ideation, summarization, content expansion, and analysis. But not every feature should rely on AI.
Some checks are better handled with fast, deterministic logic. For example, you do not need a large AI model to check whether an article has internal links, a TL;DR section, image alt text, a title, or a readable structure.
That is why SEO Vault AI combines AI-powered features with fast local checks.
This keeps the workflow practical:
* AI when creativity or analysis is needed
* Fast logic when the answer should be immediate
* Human judgment for the final decision
We think this is the right balance.
## Built for the New Search Environment
SEO is no longer only about ranking in traditional search results.
Content also needs to be prepared for answer engines, AI summaries, and search experiences that extract direct answers from pages.
That is why SEO Vault AI pays attention to AEO and GEO-style signals, such as:
* Clear answers near the beginning of the article
* Well-structured sections
* Concise summaries
* Tables and lists
* Evidence-backed claims
* Quotable takeaways
* Trust and expertise signals
These elements help both people and machines understand the content more easily.
## Who SEO Vault AI Is For
SEO Vault AI is built for:
* Bloggers
* Affiliate marketers
* Niche site owners
* SEO professionals
* Content agencies
* WordPress publishers
* Solo founders
* Editors
* AI-assisted writers
* Teams managing many articles
If you publish content regularly and want a faster way to write, improve, check, and prepare articles, SEO Vault AI is built for that workflow.
## What We Believe
We believe SEO tools should be useful, not bloated.
We believe AI should support writers, not replace editorial judgment.
We believe content should be optimized for search engines, but written for real people.
We believe fast feedback is better than slow reports when you are actively editing.
We believe trust, clarity, and usefulness are becoming more important, not less.
And we believe that most content teams do not need more complexity. They need a cleaner workflow.
## Our Mission
Our mission is to help publishers create better SEO content with less friction.
SEO Vault AI is built to reduce repetitive work, improve article quality, support smarter publishing decisions, and help writers adapt to the changing search landscape.
We are building a workspace where content creation, optimization, and publishing support work together.
Not another disconnected SEO tool.
A practical cockpit for modern content publishing.
## Start Using SEO Vault AI
SEO Vault AI helps you write, optimize, and prepare better content for WordPress and modern search.
If you want a faster way to move from draft to publish-ready article, SEO Vault AI gives you the tools to do it in one focused workspace.
---
## SEOVault AI
URL: https://seovaultai.com/billing
Back
Checkout
# SEOVault AI
Choose your plan
Starter $19/mo For solo site owners 200 credits / month Select Popular Pro $49/mo Best for active publishing teams 600 credits / month Select Advanced $99/mo For agencies and multi-site workflows 1,500 credits / month Select
---
## How to Add a CTA Box in WordPress Without a Plugin
URL: https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin
Learn how to add a stylish CTA box in WordPress without installing another plugin. Use simple HTML/CSS or SEO Vault Rich Blocks to create lightweight call-to-action boxes for posts.
# How to Add a CTA Box in WordPress Without a Plugin
Published on June 4, 2026 · Tags: wordpress, seo, cta, rich-blocks, seovault-ai
A **CTA box** is a styled content block that encourages readers to take a specific action. CTA stands for **call to action**, and in [WordPress](https://wordpress.org) posts, these boxes are commonly used to promote a newsletter, recommend an affiliate product, link to a free download, send readers to a product page, or guide them toward a related article.
You have probably seen CTA boxes inside blog posts before. They usually include a short heading, a brief message, and a button. For example, a blogger might add a box that says, Want the full checklist? followed by a button that links to a downloadable PDF.
CTA boxes can be useful because they visually separate an important recommendation from the rest of the article. Instead of hiding a link in a normal paragraph, a CTA box makes the next step easier to notice.
However, many WordPress users install a full CTA plugin, block plugin, or page builder add-on just to create one simple callout box. In many cases, that is more than you need.
This guide shows you how to add a CTA box in WordPress without installing another plugin. You will learn the manual HTML and CSS method, what a good CTA box should include, and an easier workflow using [SEO Vault](https://seovaultai.com) Rich Blocks.
## Why Avoid Another WordPress Plugin for Simple CTA Boxes?
WordPress plugins are useful, but not every small design element needs its own plugin.
If you only want to add a simple CTA box inside a post, installing a separate plugin may create more complexity than value. A CTA box is usually just a styled container with text and a button. For many **bloggers**, **affiliate marketers**, **SaaS writers**, and **content creators**, this can be handled with **lightweight** HTML and CSS or a reusable external tool.
Here are a few reasons to avoid adding another plugin for simple CTA boxes.
### 1\. Too Many Plugins Can Make WordPress Harder to Manage
Every plugin adds another item to update, configure, test, and troubleshoot. Even if a plugin is well-built, it still becomes part of your WordPress stack.
If you already use SEO plugins, caching plugins, affiliate link tools, analytics scripts, and email marketing integrations, adding another plugin just for a CTA box may be unnecessary.
A simple CTA block should not require a complicated plugin setup.
### 2\. Plugins Can Add Extra CSS and JavaScript
Some CTA or block plugins load additional stylesheets, scripts, icon libraries, animations, or editor controls. This may be fine for large design systems, but it can be excessive if you only need one clean callout box.
For simple blog CTAs, a **lightweight** HTML and CSS approach is often enough.
### 3\. Plugin Conflicts Can Happen
WordPress sites often combine themes, page builders, block plugins, caching tools, and optimization plugins. The more moving parts you add, the more likely you are to run into styling issues, editor conflicts, or layout inconsistencies.
A simple CTA box that uses clean markup is easier to control.
### 4\. You May Not Need a Full Block Library
Many WordPress block plugins include dozens of extra blocks: tabs, accordions, sliders, testimonials, pricing tables, countdowns, popups, and more.
Those can be useful, but if your only goal is to add a nice-looking CTA box, a full block library may be overkill.
### 5\. Simple CTAs Should Be Portable
When your CTA box is built with plain HTML and CSS, it is easier to reuse, edit, move, or remove later. You are not locked into a plugin’s shortcode, custom block format, or proprietary markup.
This matters if you ever change themes, migrate content, or simplify your WordPress setup.
## What a Good CTA Box Should Include
A CTA box does not need to be complicated. In fact, simpler is usually better.
A good CTA box should include a clear purpose, concise copy, and one obvious next step.
### 1\. A Clear Heading
The **heading** should tell readers why the box matters. It should be specific enough to catch attention without feeling pushy.
Examples:
* Want the Free SEO Checklist?
* Recommended Tool for Keyword Research
* Start Building Better WordPress Content
* Read This Next
The heading should quickly answer: Why should I pay attention to this?
### 2\. A Short Message
The **message** should explain the value of clicking. Keep it brief. One or two sentences is usually enough.
For example: Download the free checklist to optimize your next blog post before publishing.
The message should support the CTA, not replace the article.
### 3\. One Main Button
A CTA box works best when it has one primary action. Too many buttons can make the reader hesitate.
Examples:
* Download the Checklist
* Read the Guide
* View the Product
* Join the Newsletter
* Try SEO Vault
Use action-oriented **button text**. Avoid vague labels like Click Here when possible.
### 4\. A Relevant URL
The **button** should point to a page that matches the promise of the CTA box. If the box says Download the checklist, the button should lead to the download, signup form, or landing page.
Avoid using CTA boxes as decoration. They should guide readers to a logical next step.
### 5\. Clean Visual Styling
A CTA box should stand out, but it should not overpower the article. Good styling usually includes:
* A soft background color
* Enough padding
* A readable border or shadow
* Clear button contrast
* **Mobile-friendly** spacing
* **Consistent** typography
The goal is to guide the reader, not distract them.
## Manual HTML and CSS Method
The simplest way to add a CTA box in WordPress without a plugin is to use a **Custom HTML block** and a small CSS snippet.
This method gives you full control. It is **lightweight**, **portable**, and does not require installing anything new.
### Step 1: Add a Custom HTML Block in WordPress
Open your WordPress post in the block editor.
Click the plus icon, search for Custom HTML, and add the block where you want the CTA box to appear.
Then paste this HTML:
```
Want the Free SEO Checklist? Use this checklist before publishing your next blog post to make sure your title, headings, links, and meta description are optimized.
Download the Checklist
```
Replace the heading, message, button text, and URL with your own content.
### Step 2: Add CSS to Your Site
Now you need to style the CTA box.
In WordPress, go to Appearance → Customize → Additional CSS.
Then paste this CSS:
```
.sv-cta-box { background: #f5f8ff; border: 1px solid #dbe6ff; border-radius: 14px; padding: 24px; margin: 32px 0;}
.sv-cta-box h3 { margin-top: 0; margin-bottom: 10px; font-size: 1.35rem; line-height: 1.3;}
.sv-cta-box p { margin: 0 0 18px; line-height: 1.6;}
.sv-cta-button { display: inline-block; background: #2563eb; color: #ffffff; padding: 12px 18px; border-radius: 8px; text-decoration: none; font-weight: 600;}
.sv-cta-button:hover { background: #1d4ed8; color: #ffffff;}
```
Publish or update your post, then preview it on desktop and **mobile**.
### Step 3: Customize the CTA Box
You can adjust the colors, spacing, border radius, and button style to match your brand.
For example, for a softer affiliate recommendation box, you might use:
```
.sv-cta-box { background: #fff8ed; border: 1px solid #f3d7aa;}
```
For a minimal SaaS-style CTA, you might use:
```
.sv-cta-box { background: #ffffff; border: 1px solid #e5e7eb; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);}
```
### Pros of the Manual Method
The manual method is **lightweight**, flexible, and does not require another WordPress plugin. It is a good option if you are comfortable copying HTML and CSS.
### Cons of the Manual Method
The downside is that you need to manually edit the code each time. If you want to quickly create different CTA styles, preview them, or inject them into multiple articles, the process can become repetitive.
If you prefer a visual approach, you can use the [free CTA Generator](https://seovaultai.com/tools/cta-generator/) to build a CTA box with presets, live preview, and copy-paste HTML — no account required.
## Easier Method Using SEO Vault Rich Blocks
[SEO Vault](https://seovaultai.com) is a web app and browser extension built for WordPress content creators. Its **Rich Blocks** feature helps you create styled content blocks that can be added inside articles without relying on another WordPress plugin for every small design element.
With the CTA Box option — or the standalone [CTA Generator](https://seovaultai.com/tools/cta-generator/) — you can create a polished call to action box by filling in simple fields:
* **Heading**
* **Message**
* **Button text**
* **Button URL**
* Color preset
* Style preset
* Preview
* Inject into article
This is especially useful if you write blog posts regularly and want a faster way to add **consistent** CTA boxes across your content.
Instead of writing HTML and CSS from scratch each time, [SEO Vault](https://seovaultai.com) lets you generate a clean CTA block through a guided workflow.
The goal is not to make every article full of promotional boxes. CTA boxes work best when they are used clearly and sparingly. But when you do need one, it helps to have a simple, repeatable system.
## Step-by-Step Tutorial: Add a CTA Box With SEO Vault Rich Blocks
Here is how the workflow works.
### 1\. Open SEO Vault
Start by opening [SEO Vault](https://seovaultai.com). You can use the web app or the browser extension, depending on your content workflow.
This is useful if you are already drafting, editing, or optimizing WordPress content and want to add a styled CTA without switching between multiple plugins.
### 2\. Go to Rich Blocks
Inside [SEO Vault](https://seovaultai.com), go to the **Rich Blocks** area.
**Rich Blocks** are designed to help you create reusable styled elements for your articles. A CTA box is one of the most practical rich blocks because it gives readers a clear next step inside the content.
### 3\. Choose CTA Box
Select the CTA Box option.
This opens the CTA builder where you can define the content and design of your box.
### 4\. Fill Heading, Message, and Button URL
Add your CTA content.
For example:
* **Heading**: Want to optimize your next blog post faster?
* **Message**: Use [SEO Vault](https://seovaultai.com) to create cleaner article structures, rich blocks, and reusable content elements for WordPress.
* **Button text**: Try SEO Vault
* **Button URL**: Your signup or product URL
Keep the message focused. A CTA box should not feel like a second introduction. It should quickly explain the benefit and give the reader one clear action.
### 5\. Pick Style and Color
Choose a style and color preset.
For example, you may want:
* A soft blue CTA for a SaaS product
* A warm yellow box for an affiliate recommendation
* A clean gray box for a related article
* A bold style for a free download
Style presets help keep your CTA boxes **consistent** across posts. This is helpful for brand recognition and readability.
### 6\. Preview
Preview the CTA box before adding it to your article.
This step matters because CTA boxes can look different depending on the amount of text, button length, and style. Previewing helps you catch problems before placing the block inside your post.
Check that:
* The heading is not too long
* The message is readable
* The button text fits naturally
* The CTA does not look too aggressive
* The box works visually with the article
### 7\. Inject Into Article
Once the CTA box looks good, inject it into your article.
Place it where it makes sense contextually. Good CTA placement depends on the article, but common locations include:
* After the introduction, if the offer is highly relevant
* After a section that explains the problem
* Before a comparison table
* Near the end of a tutorial
* Before the conclusion
* After mentioning a related resource
Avoid placing CTA boxes randomly. The best CTA is connected to what the reader is already thinking about.
## CTA Box Copy Examples
Here are practical examples you can adapt for different types of WordPress content.
### Newsletter Signup CTA Box
* **Heading**: Get Weekly WordPress Growth Tips
* **Message**: Join the newsletter for practical tips on SEO, content structure, affiliate articles, and WordPress publishing workflows.
* **Button text**: Join the Newsletter
* **URL**: Link to your signup form or newsletter landing page
This type of CTA works well in educational blog posts, tutorials, and strategy articles.
### Affiliate Product CTA Box
* **Heading**: Recommended Tool for Faster Keyword Research
* **Message**: If you are building affiliate content, this tool can help you find keyword opportunities and compare search intent before writing.
* **Button text**: View the Tool
* **URL**: Your affiliate link or review page
For affiliate CTAs, be transparent. If the link is an affiliate link, include a proper disclosure according to your site’s policy and applicable rules.
### Free Download CTA Box
* **Heading**: Download the Free Blog Post Checklist
* **Message**: Use this checklist before you publish to review your title, headings, internal links, CTA placement, and meta description.
* **Button text**: Get the Checklist
* **URL**: Link to your download page or opt-in form
Free downloads often work best when they directly match the article topic.
### Product Page CTA Box
* **Heading**: Build Better WordPress Content With SEO Vault
* **Message**: Create reusable rich blocks, structure your articles faster, and add clean CTA boxes without installing another WordPress plugin.
* **Button text**: Try SEO Vault
* **URL**: Your [SEO Vault](https://seovaultai.com) product page
This works well near the middle or end of articles where the reader already understands the problem.
### Related Article CTA Box
* **Heading**: Want to Improve Your Blog Post Structure?
* **Message**: Read the full guide to learn how to organize headings, sections, examples, and internal links before publishing.
* **Button text**: Read the Guide
* **URL**: Link to your related article
Related article CTAs are a good alternative when you do not want to push a product or signup.
## Best Practices for CTA Boxes
CTA boxes can help guide readers when they are used clearly and sparingly. The key is to make the next step **relevant** to the content.
### Keep One CTA Per Box
Do not ask readers to join your newsletter, buy a product, download a template, and read another article in the same box.
One CTA box should have one main job.
### Match the CTA to the Article
A CTA should feel like a natural continuation of the article.
For example, in a post about writing product reviews, an affiliate disclosure checklist or review template makes sense. In a post about WordPress speed, a CTA for a design bundle may feel unrelated.
**Relevance** matters more than visual style.
### Use Specific Button Text
Avoid generic text like:
* Click here
* Submit
* Learn more
Better button text includes:
* Download the Checklist
* Read the Full Guide
* View the Product
* Try [SEO Vault](https://seovaultai.com)
* Get the Free Template
Specific button text sets expectations.
### Do Not Overuse CTA Boxes
Too many CTA boxes can make a post feel cluttered or overly promotional.
For most blog posts, one or two well-placed CTA boxes are enough. Long guides may support more, but each one should have a clear purpose.
### Make the CTA Mobile-Friendly
Many readers will see your CTA box on a phone. Make sure the text is readable, the button is easy to tap, and the box has enough spacing.
A good CTA box should look clean on both desktop and **mobile**.
### Keep the Design Consistent
Use a small set of repeatable styles. For example:
* Blue for product CTAs
* Green for downloads
* Yellow for affiliate recommendations
* Gray for related articles
**Consistency** makes your site feel more polished.
## Common Mistakes to Avoid
Even a simple CTA box can become ineffective if it is poorly written or placed.
### Mistake 1: Making the CTA Too Aggressive
A CTA box should guide the reader, not pressure them.
Avoid overly intense copy such as: Buy now before it is too late!
For most blog content, a helpful and specific CTA feels more trustworthy.
### Mistake 2: Using Too Much Text
A CTA box is not the place for a long sales pitch.
If the box has multiple paragraphs, several links, and a long button label, readers may ignore it. Keep it short.
### Mistake 3: Placing It Too Early
If you place a product CTA before the reader understands the problem, it may feel premature.
In many cases, it is better to explain the issue first, then add the CTA after a relevant section.
### Mistake 4: Using Weak Button Copy
Click Here does not tell the reader what they will get.
Use button text that describes the action or outcome.
### Mistake 5: Adding CTAs That Do Not Match Search Intent
If someone visits your post for a beginner tutorial, a hard sales CTA may not be the right fit immediately.
Match the CTA to the reader’s stage. Informational posts may work better with free downloads, related articles, or soft product CTAs.
### Mistake 6: Installing a Plugin for Every Small Design Need
Plugins can be valuable, but using a new plugin for every small design element can make your WordPress setup harder to manage.
For simple CTA boxes, **lightweight** alternatives are often enough.
## Try SEO Vault for Simple WordPress CTA Boxes
If you only need a clean CTA box, you do not always need another WordPress plugin.
You can use the manual HTML and CSS method if you are comfortable editing code. Or you can use the [free CTA Generator](https://seovaultai.com/tools/cta-generator/) to build and preview a CTA box visually, then copy the clean HTML into any WordPress post.
If you want an integrated workflow inside your editor, [SEO Vault](https://seovaultai.com) Rich Blocks gives you a simple way to create styled CTA boxes with a heading, message, button, URL, style presets, color options, preview, and article injection.
It is designed for WordPress bloggers, affiliate marketers, SaaS writers, and content creators who want useful content blocks without adding unnecessary plugin weight to their site.
Use CTA boxes sparingly, keep them **relevant**, and make the next step clear.
## FAQ
### What is a CTA box in WordPress?
A CTA box is a styled content block inside a WordPress post or page that encourages readers to take a specific action. It usually includes a heading, short message, and button.
Common CTA box actions include joining a newsletter, downloading a free resource, viewing an affiliate product, visiting a product page, or reading a related article.
### Can I add a CTA box in WordPress without a plugin?
Yes. You can add a CTA box without a plugin by using a Custom HTML block and adding CSS through your theme customizer or site editor.
This is often enough for simple CTA boxes.
### Do CTA boxes improve conversions?
CTA boxes can help guide readers toward a relevant next step, but they do not automatically improve **conversions**. Their effectiveness depends on the offer, copy, placement, design, audience, and search intent.
Use them clearly and sparingly.
### Where should I place a CTA box in a blog post?
Good CTA box placements include after the introduction, after a problem-solving section, before a comparison table, near the end of a tutorial, or before the conclusion.
The best placement depends on where the CTA feels most **relevant** to the reader.
### How many CTA boxes should I use in one article?
For most blog posts, one or two CTA boxes are enough. Longer guides may include more, but each CTA should have a clear purpose.
Too many CTA boxes can make an article feel cluttered or promotional.
---
## How to Add FAQ Schema to WordPress Posts Without a Plugin
URL: https://seovaultai.com/blog/add-faq-schema-wordpress-without-plugin
Learn how to add FAQ sections and FAQPage schema to WordPress posts without installing another plugin. Use manual JSON-LD or SEO Vault's FAQ Schema Block.
# How to Add FAQ Schema to WordPress Posts Without a Plugin
Published on June 4, 2026 · Tags: wordpress, seo, faq, schema, seovault-ai
**FAQ sections** are useful in [WordPress](https://wordpress.org) posts because they answer common reader questions in a clear, structured format. Instead of forcing visitors to search through an entire article, a FAQ section gives them quick answers near the end of the page or close to a relevant topic.
For **bloggers**, **affiliate marketers**, **SaaS writers**, **niche site owners**, and WordPress content creators, FAQs can improve the usefulness of an article. They can clarify pricing questions, explain setup steps, handle objections, summarize product details, or answer search-intent questions that did not fit naturally in the main body of the post.
**FAQ schema** is related, but slightly different.
A visible FAQ section is for human readers. **FAQ schema** is **structured data** added to the page code to help **search engines** understand that the page includes a list of questions and answers. The most common format is **FAQPage** **JSON-LD**, a structured data script that labels each question and answer in a machine-readable way.
However, **FAQ schema** should be handled carefully. It does not guarantee **rich results**, higher rankings, or special search display. **Search engines** decide whether to use **structured data**, and eligibility rules can change over time. The safest approach is to use **FAQ schema** only when it accurately represents visible FAQ content on the page.
This guide explains how to add **FAQ schema** to WordPress posts without installing a dedicated FAQ or schema plugin. You will learn what **FAQ schema** is, when it is useful, how to add it manually with **JSON-LD**, and how [SEO Vault’s](https://seovaultai.com) FAQ Schema Block can make the process easier.
## What FAQ Schema Is
**FAQ schema** is **structured data** that identifies a page as containing frequently asked questions and answers.
The schema type is usually called **FAQPage**. It comes from [Schema.org](https://schema.org) vocabulary and is commonly implemented using **JSON-LD**. **JSON-LD** stands for JavaScript Object Notation for Linked Data. In practical terms, it is a script block that sits in your page code and describes the FAQ content in a structured format.
A basic FAQ schema setup includes:
* The page type: **FAQPage**
* One or more **questions**
* One accepted answer for each **question**
For example, if your visible FAQ section includes this question:
**Can I add FAQ schema to WordPress without a plugin?**
The JSON-LD version would describe that same question and its answer in structured data.
This helps **search engines** understand the relationship between the question and answer. It does not replace the visible content. It simply provides a structured version of content that should already exist on the page.
**FAQ schema** is not the same as a regular FAQ design block. You can have a visible FAQ section without schema. You can also technically add schema without a styled FAQ section, but that is not recommended. The **structured data** should match what readers can actually see on the page.
## When FAQ Schema Is Useful
**FAQ schema** can be useful when your WordPress post includes a genuine FAQ section that answers common questions related to the page topic.
It is especially relevant for:
* How-to articles
* Product reviews
* SaaS comparison pages
* Affiliate buying guides
* WordPress tutorials
* Service pages
* Documentation-style posts
* Troubleshooting guides
* Pricing or feature explanation pages
For example, a blog post about how to choose email marketing software might include FAQs such as:
* What is the best email marketing tool for beginners?
* Do I need automation features?
* How much should email marketing software cost?
* Can I switch providers later?
Those are natural reader questions. Adding them to a FAQ section improves the article’s usefulness. Adding **FAQPage** schema can help **search engines** interpret that question-and-answer structure more clearly.
However, **FAQ schema** should not be added just because it sounds like an SEO trick. It is best used when FAQs genuinely help the reader.
## Important Caution: Schema Should Match Visible Content
This is the most important rule.
Your **FAQ schema** should match the FAQ content visible on the page.
If your **JSON-LD** includes five questions, those same five questions and answers should also appear in the article where readers can see them. Do not hide unrelated questions in schema. Do not mark up content that is not present. Do not add keyword-stuffed questions just for search engines.
A good rule is simple:
If a reader cannot see the FAQ on the page, do not include it in the **FAQ schema**.
The visible FAQ and the **JSON-LD** should stay aligned. If you edit a question in the article, update the schema. If you remove an answer from the page, remove it from the schema too.
This matters because **structured data** is supposed to describe the page accurately. Misleading or mismatched schema can create quality problems and may prevent your **structured data** from being trusted or used.
For WordPress users, this is also a workflow issue. If you manually add **FAQ schema** in one place and visible FAQs in another, it is easy for them to get out of sync. That is one reason a guided FAQ block workflow can be useful.
## Why Avoid Another Plugin If You Only Need Simple FAQs
WordPress plugins are useful, and many schema plugins are excellent. If you need advanced schema types, automated sitewide markup, WooCommerce integration, review schema, local business schema, or complex **structured data** management, a plugin may be the right choice.
But if you only need a simple FAQ section with optional **FAQPage** **JSON-LD** inside a few posts, installing another dedicated plugin may be unnecessary.
Here are a few reasons to consider a lighter approach.
### Fewer Plugins to Maintain
Every plugin adds another item to update, test, and monitor. Even good plugins can create maintenance overhead.
If your only goal is to add a few FAQ questions and answers to a post, a full FAQ plugin may be more than you need.
### Less Plugin Dependency
Some plugins store content in shortcodes, custom blocks, or plugin-specific formats. If you later deactivate the plugin, your FAQ layout may break or leave behind shortcode text.
A simple HTML and **JSON-LD** approach can be more portable.
### More Control Over Output
When you add the FAQ section manually, you can control the visible content, styling, and schema. This is useful if you want a clean layout that matches your site design.
### Avoid Feature Overload
Many FAQ or schema plugins include more features than a content creator needs: multiple schema types, global rules, conditions, imports, styling panels, analytics, and integrations.
Those features can be useful for larger sites, but they may be excessive for a simple FAQ block.
### A Cleaner Writing Workflow
For many bloggers and review writers, the ideal workflow is simple:
Write the questions. Write the answers. Choose the display style. Decide whether to include schema. Preview the block. Insert it into the article.
That is the kind of workflow [SEO Vault’s](https://seovaultai.com) FAQ Schema Block is designed to support.
## Manual JSON-LD Method
You can add **FAQ schema** to WordPress manually by creating a visible FAQ section and adding a **JSON-LD** script that matches it.
This method does not require a dedicated FAQ plugin, but it does require careful editing.
### Step 1: Add a Visible FAQ Section
First, add the FAQ content that readers will see.
In the WordPress editor, you can add it as normal headings and paragraphs, or you can use a Custom HTML block.
Example visible FAQ section:
```
Frequently Asked Questions
Can I add FAQ schema to WordPress without a plugin? Yes. You can add a visible FAQ section to your post and include matching FAQPage JSON-LD structured data manually.
Does FAQ schema guarantee rich results? No. FAQ schema can make content eligible for certain search features, but search engines decide whether to show rich results.
Should FAQ schema match the visible content? Yes. The questions and answers in your structured data should match the FAQ content that readers can see on the page.
```
You can style this FAQ section with CSS if you want it to look more polished.
Example CSS:
```
.sv-faq-section { margin: 36px 0; padding: 24px; border: 1px solid #e5e7eb; border-radius: 16px; background: #ffffff;}
.sv-faq-section h2 { margin-top: 0; margin-bottom: 18px;}
.sv-faq-item { padding: 16px 0; border-top: 1px solid #e5e7eb;}
.sv-faq-item:first-of-type { border-top: 0;}
.sv-faq-item h3 { margin: 0 0 8px; font-size: 1.1rem;}
.sv-faq-item p { margin: 0; line-height: 1.6;}
```
### Step 2: Create Matching FAQPage JSON-LD
Next, create the **JSON-LD** schema that matches the visible FAQ section.
```
```
This script tells **search engines** that the page includes a **FAQPage** with three questions and accepted answers.
The important point is that the question and answer text in the **JSON-LD** mirrors the visible FAQ section. It does not need to include every word of the surrounding article, but it should accurately represent the visible FAQ content.
### Step 3: Add the Script to WordPress
There are several ways to add **JSON-LD** to WordPress:
* Paste it into a Custom HTML block
* Add it through your theme’s code area
* Add it through your existing SEO plugin if it supports custom schema
* Add it through a header/footer script area
* Add it through a custom field or template, depending on your setup
Some WordPress setups may strip script tags from post content, especially for users without the right permissions or on sites with stricter security settings. If WordPress removes your tag, the schema will not be added to the page.
If that happens, you may need to add the **JSON-LD** through your SEO plugin, theme settings, a trusted code snippet system, or another safe method supported by your site.
### Step 4: Test the Structured Data
After publishing or previewing the page, test the **structured data**.
You can use a structured data testing tool or rich result testing tool to check whether the **JSON-LD** is valid and whether there are errors.
Testing does not guarantee that **search engines** will show a rich result. It only helps confirm that the markup can be read and that the format is valid.
If you want a faster way to generate the schema and matching HTML visually, you can use the [free FAQ Schema Generator](https://seovaultai.com/tools/faq-schema-generator/) to build your FAQ block with live preview, presets, and copy-paste output — no account required.
## Easier Method Using SEO Vault FAQ Schema Block
The manual method works, but it has a few drawbacks.
You need to write the visible FAQ section, create matching **JSON-LD**, avoid formatting mistakes, make sure the schema stays aligned with the visible content, and test the output.
For one post, that may be manageable. For many posts, it can become repetitive.
[SEO Vault’s](https://seovaultai.com) FAQ Schema Block — and the standalone [FAQ Schema Generator](https://seovaultai.com/tools/faq-schema-generator/) — are designed to make this workflow easier for WordPress content creators.
The FAQ Schema Block lets you:
* Manually enter FAQ questions and answers
* Choose a **static** FAQ display or native **accordion** display
* Style the FAQ section
* Optionally include **FAQPage** **JSON-LD**
* Preview the block before insertion
* Inject it into WordPress-style content
It is useful when you want a repeatable FAQ workflow without adding another WordPress plugin for simple sections.
## Step-by-Step Tutorial: Add FAQ Schema With SEO Vault
Here is how the workflow works inside SEO Vault’s FAQ Schema Block.
### 1\. Add FAQ Questions and Answers
Start by entering the questions and answers you want to include in the FAQ section.
Choose questions that are genuinely useful for the article.
Good FAQ questions often come from:
* Search intent
* Customer objections
* Product limitations
* Setup steps
* Pricing concerns
* Comparison points
* Beginner confusion
* Related article topics For example, in a post about adding FAQ schema to WordPress, useful questions might include:
* Can I add FAQ schema without a plugin?
* Does FAQ schema guarantee rich results?
* Should the schema match the visible FAQ?
* What happens if WordPress removes script tags? Keep the answers concise, but helpful. A FAQ answer should usually be one short paragraph. If the answer needs more detail, summarize it in the FAQ and explain it fully in the main article.
### 2\. Choose Static or Accordion Display
Next, choose how the FAQ should appear inside the article.
A **static** FAQ display shows all questions and answers openly on the page. This is simple, accessible, and easy for readers to scan.
An **accordion** display lets readers click or tap each question to reveal the answer. This can keep long FAQ sections more compact, especially on mobile.
Both formats can work. Choose based on the article layout.
Use a **static** FAQ when:
* You only have a few questions
* The answers are short
* You want everything visible immediately
* You prefer a simple editorial layout Use an **accordion** FAQ when:
* You have many questions
* The article is already long
* You want to reduce visual clutter
* You want a more interactive section If you use an **accordion**, make sure the content is still accessible and usable for readers.
### 3\. Enable or Disable FAQPage JSON-LD
SEO Vault’s FAQ Schema Block allows you to optionally include FAQPage JSON-LD schema.
Enable **FAQPage** **JSON-LD** when:
* The FAQ content is visible on the page
* The questions and answers are specific to the article
* You want to provide structured data for the FAQ section
* You are comfortable using FAQPage markup appropriately Disable **FAQPage** **JSON-LD** when:
* The FAQ is purely decorative
* The content is not suitable for FAQPage schema
* The questions are not visible to readers
* Your existing SEO plugin already generates FAQ schema
* You want to avoid duplicate schema output This option matters because not every FAQ section needs schema. Sometimes a visible FAQ is enough.
Also, avoid adding duplicate FAQ schema from multiple sources. If your SEO plugin or theme already adds **FAQPage** **JSON-LD**, do not generate a second conflicting version.
### 4\. Pick Style
Choose a style for the FAQ section.
A good FAQ design should be **readable**, clean, and **consistent** with the rest of your article.
Style options may include:
* Minimal editorial layout
* Boxed FAQ section
* Soft background color
* Border style
* Accordion style
* Compact layout
* Branded color preset The style should support **readability**. Avoid overly bright colors, tiny text, or designs that make the FAQ look like an ad.
### 5\. Preview
Preview the FAQ block before adding it to your article.
Check:
* Are the questions clear?
* Are the answers concise?
* Does the style match the page?
* Does the accordion display work as expected?
* Is the section readable on mobile?
* Is FAQPage JSON-LD enabled only when appropriate?
* Does the visible FAQ match the schema output? Previewing helps catch problems before publishing.
### 6\. Inject Into Article
Once the FAQ section looks correct, inject it into your WordPress-style content.
Common FAQ placements include:
* Near the end of the article
* After a tutorial section
* After a product review verdict
* Below a pricing explanation
* Before the conclusion
* After a comparison table
* Near a related CTA For most blog posts, the FAQ section works best near the end. That allows the main article to answer the topic first, while the FAQ handles related questions and quick clarifications.
## Example FAQ Section and JSON-LD Explanation
Here is an example FAQ section for a WordPress tutorial.
### Visible FAQ Section Example
**Frequently Asked Questions**
**Can I add FAQ schema to WordPress without a plugin?**
Yes. You can add a visible FAQ section inside your post and include matching FAQPage JSON-LD manually, as long as your WordPress setup allows the code.
**Does FAQ schema guarantee rich results?**
No. FAQ schema does not guarantee rich results, rankings, or special search display. Search engines decide whether to use structured data, and display rules can change.
**Should my FAQ schema match the visible FAQ content?**
Yes. The questions and answers in your FAQPage JSON-LD should match the FAQ content that readers can see on the page.
**What if WordPress removes my JSON-LD script?**
Some WordPress setups may strip script tags from post content. If that happens, you may need to add schema through your SEO plugin, theme, or another safe code insertion method.
### Example JSON-LD Explanation
The matching **JSON-LD** would identify the page as a **FAQPage**. Each question would be added as a Question item, and each answer would be placed inside an acceptedAnswer object.
A simplified structure looks like this:
```
```
In a real FAQ section, you would include all relevant questions and answers in the mainEntity array.
The key is **accuracy**. The **JSON-LD** should describe the visible FAQ, not add hidden or unrelated content.
## Best Practices for Adding FAQ Schema to WordPress
**FAQ sections** and **FAQ schema** are most useful when they serve the reader first.
Follow these best practices.
### Use Real Reader Questions
Do not invent questions just to add keywords.
Use questions that readers genuinely have. You can find these from search queries, customer support questions, sales objections, product documentation, comments, competitor content gaps, or your own article outline.
A useful FAQ section should feel like a natural extension of the page.
### Keep Answers Clear and Concise
FAQ answers should be direct.
If a question needs a detailed answer, give a short version in the FAQ and link or refer to the relevant section of the article.
Avoid turning each FAQ answer into a mini blog post.
### Match Schema to Visible Content
This is the core rule.
The **structured data** should reflect what readers can see. Keep the visible FAQ and **JSON-LD** synchronized.
### Avoid Duplicate FAQ Schema
Do not add **FAQPage** schema from multiple tools at the same time.
For example, if your SEO plugin already generates FAQ schema for a block, avoid adding another version manually or through another generator.
Duplicate or conflicting schema can make your **structured data** messy.
### Use FAQ Schema Only Where It Fits
Not every post needs **FAQPage** schema.
Use it when the page includes a real FAQ section. Do not force it onto thin content, unrelated pages, or posts where the questions do not add value.
### Test Before Publishing
Always test the page after adding schema.
Validation helps catch missing commas, invalid JSON, incorrect nesting, or formatting issues.
### Remember That Rich Results Are Not Guaranteed
**Structured data** can help **search engines** understand your content, but it does not force them to show rich results.
Google and other **search engines** decide when and whether to display enhanced results. Eligibility and display behavior can also change over time.
### Keep the FAQ Updated
If your article changes, review the FAQ section.
This is especially important for posts about tools, pricing, plugins, software features, legal topics, or platform rules. Outdated FAQ answers can reduce trust.
## Common Mistakes
Here are common mistakes to avoid when adding FAQ schema to WordPress posts.
### Mistake 1: Adding Schema Without Visible FAQs
Do not add **FAQPage** **JSON-LD** for questions that are not visible on the page.
The schema should describe the content readers can actually see.
### Mistake 2: Expecting Guaranteed Rich Results
**FAQ schema** does not guarantee **rich results** or rankings.
It can provide **structured data**, but **search engines** decide whether to use it.
### Mistake 3: Keyword Stuffing Questions
FAQ questions should sound natural.
Avoid questions like: best WordPress FAQ schema plugin no plugin free tutorial?
Write for humans first.
### Mistake 4: Using FAQ Schema on the Wrong Content Type
**FAQPage** schema is for pages that contain a list of questions and answers.
If the page is a forum thread or a page where users submit multiple answers to one question, a different schema type may be more appropriate.
### Mistake 5: Forgetting to Escape Special Characters
When writing **JSON-LD** manually, quotation marks and special characters can break the script if they are not handled properly.
For example, if your answer contains quotation marks, make sure the JSON remains valid.
### Mistake 6: Creating Duplicate Schema
If your SEO plugin, theme, and manual block all output FAQ schema, you may end up with duplicate **structured data**.
Use one clean source for **FAQPage** markup.
### Mistake 7: Letting Schema Get Out of Sync
If you update the visible FAQ but forget to update the **JSON-LD**, the page can become inconsistent.
This is one of the main reasons a guided tool can be helpful.
### Mistake 8: Ignoring WordPress Script Restrictions
Some WordPress setups strip script tags from post content. If your **JSON-LD** disappears after saving or publishing, check your permissions and site configuration.
You may need to add the schema through your SEO plugin, theme, or another approved method.
## Try SEO Vault for FAQ Schema Blocks
If you only need a simple FAQ section with optional **FAQPage** **JSON-LD**, you may not need to install another WordPress plugin.
The manual method works if you are comfortable writing HTML and **JSON-LD**. But it can be repetitive and easy to break, especially when you are creating FAQ sections across many posts.
Alternatively, you can use the [free FAQ Schema Generator](https://seovaultai.com/tools/faq-schema-generator/) to build and preview your FAQ schema and visual HTML visually, then copy the clean output into any WordPress post.
If you want an integrated workflow inside your editor, [SEO Vault’s](https://seovaultai.com) FAQ Schema Block gives WordPress content creators a more guided workflow. You can enter questions and answers, choose a static or accordion display, style the FAQ section, optionally include **FAQPage** **JSON-LD**, preview the block, and inject it into your article.
It is designed for creators who want cleaner FAQ sections and **structured content** without adding unnecessary plugin weight for simple use cases.
Use it carefully, keep the FAQ visible, avoid overclaiming search benefits, and focus on making the article more helpful for readers.
## FAQ
### What is FAQ schema in WordPress?
**FAQ schema** is **structured data** that identifies a page as containing frequently asked questions and answers. In WordPress, it is usually added as **FAQPage** **JSON-LD** inside the page code.
### Can I add FAQ schema to WordPress without a plugin?
Yes. You can manually add a visible FAQ section and matching **FAQPage** **JSON-LD** to a WordPress post. However, some WordPress setups may strip script tags, so you may need to add the **JSON-LD** through your SEO plugin, theme, or another approved code insertion method.
### Does FAQ schema guarantee rich results?
No. **FAQ schema** does not guarantee **rich results**, rankings, or special search display. **Search engines** decide whether to show rich results, and eligibility rules can change.
### Should FAQ schema match the visible content?
Yes. The questions and answers in your **FAQPage** **JSON-LD** should match the FAQ content that readers can see on the page.
### Where should I put FAQs in a blog post?
FAQs usually work well near the end of a blog post, after the main content has answered the topic. They can also be placed after a tutorial, product review, pricing section, or comparison table when they support the reader’s next question.
### Is an accordion FAQ okay for schema?
An **accordion** FAQ can be used when the questions and answers are available to users on the page. Make sure the content is accessible and that the schema matches the FAQ content.
### What is JSON-LD?
**JSON-LD** is a **structured data** format used to describe page content in a machine-readable way. For FAQ schema, **JSON-LD** is commonly used to define the **FAQPage**, questions, and accepted answers.
### Why did WordPress remove my FAQ schema script?
Some WordPress configurations strip tags from post content for security reasons or user permission reasons. If that happens, add the schema through a trusted SEO plugin, theme option, code snippet area, or another safe method supported by your site.
### Do I need a dedicated FAQ plugin?
Not always. If you only need a simple FAQ section with optional **FAQPage** schema, manual HTML/**JSON-LD** or [SEO Vault’s](https://seovaultai.com) FAQ Schema Block may be enough. A dedicated plugin may be useful if you need advanced schema management or sitewide automation.
### Can SEO Vault create FAQ schema blocks?
Yes. [SEO Vault](https://seovaultai.com) includes a Rich Blocks FAQ Schema Block that lets you enter questions and answers, choose a display style, optionally include **JSON-LD**, preview the block, and inject it into WordPress-style content.
---
## How to Add Pros and Cons Boxes in WordPress Without a Plugin
URL: https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin
Learn how to add professional pros and cons boxes in WordPress without installing another plugin. Use manual HTML/CSS or SEO Vault Rich Blocks for cleaner review content.
# How to Add Pros and Cons Boxes in WordPress Without a Plugin
Published on June 4, 2026 · Tags: wordpress, seo, review, rich-blocks, seovault-ai
**Pros and cons boxes** are one of the most useful elements in **review content**. Whether you are writing a SaaS review, affiliate product comparison, WordPress plugin review, or niche site buying guide, readers often want a quick summary before they make a decision.
A well-designed pros and cons box helps readers understand the strengths and weaknesses of a product at a glance. Instead of forcing them to scan the entire article, you can summarize the key points in a structured, **readable** format.
This matters especially for **affiliate bloggers**, **review site owners**, **SaaS reviewers**, **WordPress plugin reviewers**, and **niche publishers**. **Review content** is often long, detailed, and comparison-heavy. A clear pros and cons section makes the article easier to navigate and helps readers evaluate whether the product is right for them.
However, many [WordPress](https://wordpress.org) users install a dedicated pros and cons plugin just to create this type of box. In many cases, that may be unnecessary. If you only need a simple review box with two columns, a few bullet points, and a verdict, you can often create it with lightweight **HTML** and **CSS** or use a workflow like [SEO Vault](https://seovaultai.com) Rich Blocks.
This guide shows you how to add pros and cons boxes in WordPress without installing another plugin. You will learn why people use plugins, when a plugin may be overkill, what a good pros and cons box should include, and how to create one manually or with [SEO Vault](https://seovaultai.com).
## Why Pros and Cons Boxes Matter in Review Content
Review articles are different from standard informational blog posts.
In a tutorial, readers usually want to learn how to do something. In a review, they want help making a decision. They may be asking questions like:
* Is this product worth it?
* What are the main drawbacks?
* Who is this best for?
* Are there better alternatives?
* What should I know before buying?
A pros and cons box answers many of these questions quickly.
It does not replace the full review, but it gives readers a structured summary. This improves **readability**, content organization, and decision-making for readers. It can also make your review feel more **balanced** because you are showing both positive and negative points instead of only listing benefits.
For affiliate and review content, that **balance** is important. Readers are more likely to trust a review that clearly explains limitations, trade-offs, and ideal use cases.
A pros and cons box is especially useful in:
* Product reviews
* SaaS reviews
* WordPress plugin reviews
* Affiliate buying guides
* Comparison articles
* Best tools list posts
* Niche product roundups
* Alternative pages
* Case-study style reviews
When used well, pros and cons boxes make your content easier to scan and more helpful for readers.
## Why WordPress Users Install Pros and Cons Plugins
Many WordPress users install pros and cons plugins because they want an easier way to add professional-looking review elements without touching code.
This is understandable. Plugins can offer convenience, especially if they include prebuilt layouts, icons, review schema, rating systems, shortcodes, reusable blocks, or Gutenberg integration.
Here are the most common reasons users install pros and cons plugins.
### They Want a Better Review Layout
Plain bullet lists can look basic. A plugin can make pros and cons sections look more polished with columns, icons, background colors, borders, and headings.
For review content, presentation matters. A clean layout makes the article feel more professional.
### They Do Not Want to Write HTML or CSS
Many bloggers and affiliate site owners are comfortable writing content but not editing code. A plugin gives them a visual or form-based way to create review boxes.
Instead of writing markup, they can fill in fields and insert a block.
### They Want Reusable Blocks
If you publish many reviews, you probably do not want to redesign a pros and cons box every time. Plugins can make it easy to reuse the same layout across multiple posts.
Reusable formatting is especially useful for review sites with **consistent** templates.
### They Want Icons and Styling Options
Pros and cons boxes often use checkmarks, crosses, colored headers, or two-column layouts. Plugins usually include these visual elements by default.
This saves time compared with manually styling each box.
### They Want Review-Specific Features
Some plugins go beyond basic pros and cons boxes. They may include star ratings, comparison tables, product boxes, affiliate buttons, or schema settings.
For larger review sites, those features can be valuable.
But not every site needs that level of functionality.
## Why a Plugin May Be Unnecessary for Simple Review Boxes
A dedicated plugin can be useful, but it is not always required.
If your goal is simply to add a clean pros and cons box inside a WordPress article, a full plugin may be more than you need. A basic pros and cons box is usually just structured **HTML** with **CSS** styling.
That means you can create one manually, save the pattern, and reuse it in future posts. Or you can use a tool like [SEO Vault](https://seovaultai.com) to generate the block and inject it into WordPress-style content without adding another plugin to your WordPress install.
Here is why skipping a plugin can make sense for simple review boxes.
### Fewer Plugins Means Less Site Management
Every plugin adds another component to maintain. You need to update it, check compatibility, monitor conflicts, and make sure it continues to work with your theme and WordPress version.
If the plugin only exists to create a small review box, it may not justify the extra maintenance.
### Some Plugins Add More Than You Need
Many review and block plugins include extra scripts, styles, widgets, templates, and settings. That can be useful for complex sites, but unnecessary for a simple pros and cons section.
If you only need two lists and a verdict, a **lightweight** solution may be better.
### You Keep More Control Over Your Markup
Manual **HTML** and **CSS** give you control over how the box is built. You are not locked into a plugin’s shortcode, custom block format, or styling system.
This can be helpful if you ever change themes, redesign your site, or migrate content.
### Simple Boxes Are Easy to Reuse
Once you have a clean pros and cons layout, you can reuse it across reviews. You can keep the same structure and only change the bullet points and verdict.
This creates **consistency** without needing a plugin dependency.
### You Can Still Create Professional-Looking Sections
Avoiding a plugin does not mean your review boxes need to look plain. With a small amount of **CSS**, you can create a polished, **mobile-friendly** pros and cons box that works well inside WordPress posts.
## What a Good Pros and Cons Box Should Include
A good pros and cons box should be clear, **balanced**, and easy to scan. It should help readers understand the main trade-offs quickly.
Here are the key elements to include.
### Clear Pros and Cons Headings
The **headings** should be obvious. Use simple labels like:
* Pros
* Cons
* What We Like
* What Could Be Better
* Advantages
* Limitations
For most review content, Pros and Cons are the clearest options.
### Specific Bullet Points
Avoid vague bullets such as:
* Good features
* Nice design
* Some problems
Instead, write **specific** points that help the reader make a decision.
Better examples:
* Fast setup for non-technical WordPress users
* Includes reusable templates for review posts
* Limited customization on the lower plan
* No built-in keyword tracking
**Specific** bullets are more useful and more trustworthy.
### Balanced Evaluation
A pros and cons box should not feel like an advertisement. Even if you like the product, include real limitations.
**Balanced** reviews are more helpful for readers because every product has trade-offs.
### A Short Verdict
A **verdict** helps readers interpret the list.
For example:
Best for affiliate bloggers who want a simple review workflow, but not ideal for teams that need advanced reporting.
The **verdict** should summarize who the product is best for and where it may fall short.
### Clean Visual Layout
The box should be easy to read on desktop and **mobile**.
A good layout usually includes:
* Two clear sections
* Sufficient spacing
* Readable bullet points
* A visible verdict area
* Consistent colors
* Mobile-friendly stacking
Do not make the design too busy. The purpose is clarity.
### Optional Rating or Recommendation
Some review sites include a star rating, score, or recommendation label. This can be useful, but it is not required.
If you include a rating, make sure it matches the full review and is not misleading.
## Manual HTML and CSS Method
The manual method is a good option if you want to add a pros and cons box in WordPress without installing another plugin.
You can do this with a Custom HTML block and a small **CSS** snippet.
### Step 1: Add a Custom HTML Block
In the WordPress block editor, open the post where you want to add the pros and cons box.
Click the plus icon, search for Custom HTML, and add the block where the pros and cons section should appear.
Then paste this HTML:
```
Pros Easy setup for beginners Clean interface for creating review content Useful templates for repeat publishing workflows Cons Advanced customization may require manual editing Not ideal for users who need complex review schema Best suited for content-focused workflows Verdict: A practical option for bloggers who want a simple, repeatable way to structure review content without adding more plugin weight.
```
Replace the bullet points and verdict with your own content.
### Step 2: Add the CSS
Now add the styling.
In WordPress, go to Appearance -> Customize -> Additional CSS.
Then paste this **CSS**:
```
.sv-pros-cons-box { border: 1px solid #e5e7eb; border-radius: 16px; padding: 24px; margin: 32px 0; background: #ffffff; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);}
.sv-pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.sv-pros,.sv-cons { border-radius: 12px; padding: 18px;}
.sv-pros { background: #f0fdf4; border: 1px solid #bbf7d0;}
.sv-cons { background: #fff7ed; border: 1px solid #fed7aa;}
.sv-pros h3,.sv-cons h3 { margin-top: 0; margin-bottom: 12px; font-size: 1.2rem;}
.sv-pros ul,.sv-cons ul { margin: 0; padding-left: 20px;}
.sv-pros li,.sv-cons li { margin-bottom: 8px; line-height: 1.55;}
.sv-verdict { margin-top: 20px; padding: 16px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; line-height: 1.6;}
@media (max-width: 700px) { .sv-pros-cons-grid { grid-template-columns: 1fr; }}
```
This creates a responsive two-column pros and cons box that stacks on smaller screens.
### Step 3: Preview the Box
Preview the post before publishing.
Check that:
* The columns look balanced
* The bullet points are not too long
* The verdict is readable
* The box works on mobile
* The colors match your site style
* The section does not interrupt the article flow
### Step 4: Reuse the Structure
Once the box looks good, you can reuse the same **HTML** structure in future reviews.
Save it in your content template, notes app, reusable block, or writing workflow. Then update the bullets and verdict for each product.
If you want a faster visual approach, you can use the [free Pros and Cons Generator](https://seovaultai.com/tools/pros-cons-generator/) to build a pros and cons box with presets, live preview, and copy-paste HTML — no account required.
## Easier Method Using SEO Vault
[SEO Vault](https://seovaultai.com) is a web app and browser extension built for WordPress content creators. Its **Rich Blocks** feature helps users create styled content blocks for articles, including a Pros and Cons Box generator.
SEO Vault’s **Pros and Cons Box** — and the standalone [Pros and Cons Generator](https://seovaultai.com/tools/pros-cons-generator/) — are designed to streamline the pros and cons creation process.
Instead of installing another WordPress plugin just to add a simple review box, you can use [SEO Vault](https://seovaultai.com) to create the block externally and inject it into WordPress-style content.
The Pros and Cons Box generator lets you enter:
* Pros
* Cons
* Verdict text
* Style presets
* Color presets
* Layout options
* Preview settings
* Inject workflow
This is useful for **affiliate bloggers**, **SaaS reviewers**, **niche site owners**, and **WordPress plugin reviewers** who publish structured review content regularly.
The goal is not to replace every advanced review plugin. If your site needs complex review schema, product feeds, dynamic comparison tables, or advanced rating logic, a dedicated plugin may still make sense.
But if you simply want professional pros and cons sections inside articles, [SEO Vault](https://seovaultai.com) gives you a lighter workflow.
## Step-by-Step Tutorial: Add a Pros and Cons Box With SEO Vault
Here is how to create a pros and cons box using [SEO Vault](https://seovaultai.com) Rich Blocks.
### 1\. Open Rich Blocks
Open [SEO Vault](https://seovaultai.com) and go to the Rich Blocks section.
**Rich Blocks** are designed to help you create reusable article elements such as CTA boxes, content highlights, and review-style blocks.
For review writers, this is useful because you can keep your content formatting **consistent** across multiple posts.
### 2\. Choose Pros and Cons Box
Select the Pros and Cons Box generator.
This opens the builder where you can add the positive points, negative points, verdict, and layout options.
### 3\. Add Pros
Enter the main benefits of the product, tool, service, or plugin you are reviewing.
Keep each pro short and **specific**.
For example:
* Fast onboarding for beginners
* Clean dashboard for managing projects
* Useful templates for repeat workflows
* Integrates well with WordPress content processes
Avoid generic points like good tool or nice features. Readers need concrete reasons.
### 4\. Add Cons
Next, add the main drawbacks or limitations.
For example:
* Limited reporting on the entry-level plan
* Not ideal for large enterprise teams
* Some advanced features require setup time
* Fewer design options than a full page builder
Do not skip this step. A review with no cons can feel biased or incomplete.
### 5\. Add Verdict
Add a short **verdict** that summarizes your recommendation.
A good **verdict** usually explains who the product is best for.
For example:
Best for solo bloggers and small review sites that want a faster way to structure content, but less suitable for teams that need advanced reporting and approval workflows.
The **verdict** should connect the pros and cons to a practical recommendation.
### 6\. Choose Style and Layout
Choose a style preset, color preset, and layout option.
For example, you might use:
* Two-column layout for desktop reviews
* Stacked layout for shorter content
* Green/red color cues for pros and cons
* Neutral colors for a more editorial style
* Compact layout for product roundups
Choose a layout that fits the article type. A full review may need a larger box, while a roundup may need a compact version.
### 7\. Preview and Inject
Preview the pros and cons box before adding it to your article.
Check the spacing, **readability**, mobile behavior, and overall design. Make sure the verdict is not too long and the bullet points are easy to scan.
When the block looks right, inject it into your WordPress-style content.
Place it where it helps the reader most. Common placements include:
* Near the top after the product summary
* After the first hands-on impressions section
* Before the final verdict
* Inside each product section of a roundup
* After a pricing section
* Before an affiliate CTA button
The placement should feel natural. A pros and cons box works best when it summarizes information the reader has already started to evaluate.
## Example Pros and Cons Boxes
Below are three examples you can adapt for your own review content.
### Example 1: SaaS Review Pros and Cons Box
Product type: Content optimization SaaS
Pros:
* Simple onboarding for new users
* Helpful content briefs for blog planning
* Clean dashboard for tracking writing tasks
* Good fit for solo bloggers and small teams
* Saves time on repeat content workflows
Cons:
* Advanced reporting may be limited on lower plans
* Some users may still prefer dedicated keyword tools
* Not ideal for teams that need complex permissions
* Requires a consistent publishing process to get full value
**Verdict**: This SaaS tool is best for bloggers, niche site owners, and small content teams that want a more organized way to plan and optimize articles. It may not be the best fit for large teams that need enterprise-level reporting or workflow controls.
### Example 2: WordPress Plugin Review Pros and Cons Box
Product type: WordPress table plugin
Pros:
* Makes comparison tables easier to build
* Works inside the WordPress editor
* Useful for affiliate product roundups
* Includes styling options for non-technical users
* Can improve the structure of review posts
Cons:
* Adds another plugin to maintain
* Some table styles may need manual adjustment
* Advanced features may be locked behind a paid plan
* Could be unnecessary for very simple tables
**Verdict**: This plugin is a good option for review sites that publish comparison-heavy content. However, if you only need basic tables occasionally, a manual block or lightweight alternative may be enough.
### Example 3: Affiliate Product Review Pros and Cons Box
Product type: Home office chair
Pros:
* Comfortable for long work sessions
* Adjustable height and armrests
* Good value compared with premium alternatives
* Easy to assemble
* Neutral design fits most home offices
Cons:
* Lumbar support may not be enough for every user
* Limited color options
* Seat cushion may feel firm at first
* Not ideal for very tall users
**Verdict**: This chair is a strong choice for remote workers who want an affordable, adjustable office chair. It is best for everyday home office use, but users who need advanced ergonomic support may want to compare higher-end options.
## Best Practices for Pros and Cons Boxes
A pros and cons box should make your review clearer, not just more visually appealing.
Here are best practices to follow.
### Use the Box to Summarize Real Evaluation
Do not treat the box as decoration. The pros and cons should reflect your actual review.
If you mention a major drawback in the article, include it in the cons section. If a benefit is central to your recommendation, include it in the pros section.
### Keep Bullet Points Short
Pros and cons boxes are meant to be scanned.
Try to keep each bullet point to one line when possible. If a point needs a full explanation, summarize it in the box and explain it in more detail elsewhere in the review.
### Be Specific
**Specific** points are more helpful than broad claims.
Instead of:
Good features
Write:
Includes reusable templates for product comparison sections
Instead of:
Too expensive
Write:
Higher-tier plan may be costly for small niche sites
**Specific** language builds trust and helps readers understand trade-offs.
### Include Meaningful Cons
A weak cons section can make the review feel biased.
Avoid fake drawbacks like:
* Too many great features
* Hard to find anything wrong
* Not free forever
Readers know every product has limitations. Mention real trade-offs.
### Match the Box to Search Intent
Think about why the reader landed on your page.
If they searched for best WordPress review plugin, they likely want a practical comparison. If they searched for a specific product review, they may want a direct recommendation.
Your pros and cons box should answer the reader’s decision-making questions.
### Add the Box Near a Decision Point
Pros and cons boxes work best when the reader is ready to evaluate.
Good placements include after the product overview, after pricing, after feature analysis, or before the final verdict.
Avoid placing the box before the reader has enough context to understand it.
### Use Consistent Formatting Across Reviews
If you run a review site, **consistency** matters.
Using the same pros and cons format across articles makes your site easier to navigate. Repeatable structure also helps your writing process because you are not rebuilding the layout every time.
### Keep It Mobile-Friendly
Many affiliate and review readers browse on mobile.
Make sure the box stacks cleanly, uses readable text, and does not rely on tiny columns. A two-column desktop layout should become a single-column layout on smaller screens.
## Mistakes to Avoid
Pros and cons boxes are simple, but there are several common mistakes that can reduce their usefulness.
### Mistake 1: Listing Only Pros
A review with five pros and no meaningful cons can look promotional. Even if you recommend the product, include limitations.
**Balanced** reviews are more useful for readers.
### Mistake 2: Using Generic Points
Generic bullets do not help readers decide.
Avoid points like:
* Great product
* Good price
* Nice design
* Some issues
Use **specific**, practical details instead.
### Mistake 3: Making the Verdict Too Long
The **verdict** should be a short summary, not another full review section.
Aim for one or two sentences. Explain who the product is best for and mention the main limitation if needed.
### Mistake 4: Overloading the Box
A pros and cons box should not include every detail from the article.
If each side has ten or more bullets, the section may become hard to scan. Select the most important points.
### Mistake 5: Using Misleading Color Cues
Green and red can be helpful, but do not rely only on color. Make sure headings, labels, and text clearly identify each section.
This improves **accessibility** and **readability**.
### Mistake 6: Assuming Pros and Cons Boxes Improve Rankings
Pros and cons boxes can improve **readability**, structure, and decision-making for readers. They can make review content easier to scan and more useful.
However, you should not assume that adding a pros and cons box will automatically improve rankings. Search performance depends on many factors, including content quality, search intent match, topical authority, internal links, page experience, backlinks, and competition.
Use pros and cons boxes because they make the content better for readers.
### Mistake 7: Installing a Plugin for One Small Element
If you only need a basic pros and cons layout, installing a full review plugin may be unnecessary.
Before adding another plugin, ask whether the same result can be achieved with clean **HTML** and **CSS** or an external workflow like [SEO Vault](https://seovaultai.com) Rich Blocks.
## Try SEO Vault for Pros and Cons Boxes
If you publish review content regularly, pros and cons boxes can make your articles easier to read and more useful for decision-making.
But you do not always need another WordPress plugin to create them.
The manual **HTML** and **CSS** method works well if you are comfortable editing code and want a lightweight solution. Alternatively, you can use the [free Pros and Cons Generator](https://seovaultai.com/tools/pros-cons-generator/) to build and preview a pros and cons box visually with presets, then copy the clean HTML into any WordPress post.
But if you want a faster, repeatable workflow integrated into your editor, [SEO Vault](https://seovaultai.com) Rich Blocks lets you generate professional pros and cons boxes with pros, cons, verdict text, style presets, color presets, layout options, preview, and inject functionality.
It is designed for WordPress content creators who want cleaner review sections without adding unnecessary plugin weight to their sites.
Use the box to summarize real evaluation, keep the copy **specific**, and place it where readers are ready to compare the product’s strengths and weaknesses.
## FAQ
### What is a pros and cons box in WordPress?
A pros and cons box is a structured content section that lists the main advantages and disadvantages of a product, service, plugin, or tool. It is commonly used in reviews, affiliate articles, comparison posts, and buying guides.
### Can I add a pros and cons box in WordPress without a plugin?
Yes. You can add a pros and cons box without a plugin by using a Custom HTML block and **CSS**. This gives you a lightweight, reusable layout for review content.
You can also use [SEO Vault](https://seovaultai.com) Rich Blocks to generate a styled pros and cons box and inject it into WordPress-style content.
### Do pros and cons boxes help SEO?
Pros and cons boxes can improve **readability**, structure, and user experience in review content. They make it easier for readers to scan key decision points.
However, you should not assume that they automatically improve rankings. SEO depends on content quality, search intent, authority, internal linking, page experience, and competition.
### Where should I place a pros and cons box in a review article?
Good placements include near the top after the product summary, after a features section, after pricing, before the final verdict, or inside each product section of a roundup.
The best placement is where the reader is ready to compare strengths and weaknesses.
### How many pros and cons should I include?
For most reviews, three to six pros and three to six cons is enough. The goal is to summarize the most important points, not list every detail.
Longer lists can become harder to scan.
### Should I include a verdict in a pros and cons box?
Yes, a short verdict is helpful. It explains what the pros and cons mean and who the product is best for.
A good verdict is usually one or two sentences.
### Can I use pros and cons boxes for affiliate reviews?
Yes. Pros and cons boxes are useful for affiliate reviews because they help readers compare benefits and drawbacks quickly.
Make sure your points are honest, **specific**, and **balanced**. Also include affiliate disclosures where appropriate.
### Do I need a review plugin for pros and cons boxes?
Not always. A review plugin may be useful if you need advanced features such as ratings, schema, comparison tables, dynamic product data, or review management.
For simple pros and cons sections, manual **HTML** and **CSS** or [SEO Vault](https://seovaultai.com) Rich Blocks may be enough.
### What should a good pros and cons box include?
A good pros and cons box should include clear headings, **specific** bullet points, **balanced** evaluation, **readable** formatting, and a short verdict.
It should help readers make a better decision.
### Can SEO Vault create pros and cons boxes?
Yes. [SEO Vault](https://seovaultai.com) includes a Rich Blocks feature with a Pros and Cons Box generator. It lets you add pros, cons, verdict text, style presets, color presets, layout options, preview the block, and inject it into WordPress-style content.
This gives review writers a faster way to create professional pros and cons sections without installing another WordPress plugin for simple boxes.
---
## How to Add a Table of Contents to WordPress Without a Plugin
URL: https://seovaultai.com/blog/add-table-of-contents-wordpress-without-plugin
Learn how to add a clean, fast-loading table of contents to WordPress posts without a plugin. Use manual anchors or SEO Vault Rich Blocks to build jump links.
# How to Add a Table of Contents to WordPress Without a Plugin
Published on June 5, 2026
If you regularly publish **long-form articles**, comprehensive guides, or deep-dive tutorials on [WordPress](https://wordpress.org), you already know that keeping a reader’s attention is a major challenge. When a visitor lands on a 2,500-word post, a massive wall of text can feel overwhelming. Without a clear roadmap, they are highly likely to hit the back button.
This is exactly where a **Table of Contents (TOC)** becomes an essential asset for your content workflow.
By adding a structured directory to the top of your long-form WordPress posts, you instantly give readers a clear bird’s-eye view of your topic and allow them to jump directly to the specific information they need.
However, the standard advice for adding a TOC usually begins and ends with: _“Install a plugin.”_ While dedicated table of contents plugins are popular, they add yet another layer of database load, potential plugin conflicts, and extra code to your site.
The good news is that you don’t need a plugin to create a beautifully styled, functional directory. In this guide, we will break down why a table of contents matters, look at how to build one completely by hand, and explore an easier, lightweight workflow using a structured block generator to keep your site lean and fast.
## What a Table of Contents Does
At its core, a table of contents is an organized list of hyperlinked [**jump-links**](https://marcom.wwu.edu/how-create-anchor-jump-link) (also known as **anchor links**) positioned near the beginning of a post. Each item in the list corresponds directly to an internal heading—typically an **H2**, **H3**, or **H4**—further down the page.
When a reader clicks a link within the table of contents, their **web browser** smoothly scrolls down the page, instantly positioning the relevant section right in front of them. It acts identically to the traditional index or contents page of a physical textbook, adapted for the digital browsing experience.
## Benefits for Readers and Content Structure
While adding a table of contents does not act as a direct search engine ranking factor, its indirect benefits for your readers and your overall **content quality** are substantial.
### 1\. Radically Improved Navigation and Readability
Not every visitor wants to read your entire article from introduction to conclusion. A **mobile** user looking for a quick, specific answer can scan your table of contents, tap a link, and get their solution in seconds. This friction-free user experience keeps visitors satisfied, which can improve your site’s overall **engagement metrics**.
### 2\. Logical Content Architecture
Building a table of contents forces you, the creator, to think carefully about how your article is structured. It acts as a final **editorial check**. If your generated table looks messy, repetitive, or poorly ordered, it is a clear visual sign that your article’s structural outline needs adjustment before you hit publish.
### 3\. Helping Search Engines Understand Context
**Search engine crawlers** rely heavily on headings to parse the **contextual hierarchy** of a web page. By organizing your headings into a unified block at the top of your document, you present search engine bots with a clean, **programmatic summary** of your entire topic layout, making it easier for them to index your content accurately.
## Why Many Users Install TOC Plugins
Because creating an **internal linking** map across a long article can feel tedious, the default reaction for most WordPress bloggers is to install a dedicated automated plugin.
These plugins work by running a background script every time a post loads. The script dynamically scans your text for header elements (``, ``, ``, etc.), automatically creates an **HTML anchor** ID for each one, builds a list block, and injects it right before your first heading.
For a busy writer, this automated “set it and forget it” setup feels incredibly convenient. You write your post normally, and the plugin builds the box on the front end without any extra steps on your part.
## When a Plugin is Complete Overkill
Despite the convenience, relying on a dedicated plugin to handle a basic list of **internal links** is often complete overkill for a standard blog or niche site.
* **The Server Overhead:** Automated plugins do not just run once when you click save. Many of them process your post’s text _dynamically on the server side_ every single time a visitor loads a page. On high-traffic sites or long articles, this continuous text parsing wastes valuable server resources.
* **The Frontend Asset Tax:** To make the table of contents look pretty, expand/collapse smoothly, or use specific toggle icons, these plugins frequently inject extra JavaScript files and CSS stylesheets into your site’s header. This adds unnecessary HTTP requests that can slow down your mobile load times and hurt your **Core Web Vitals**.
* **Lack of Control:** Automated plugins follow rigid global rules. If you want to subtly shorten a long heading inside the index box so it fits cleanly on a mobile screen without changing the actual text of the H2 heading itself, global plugins rarely give you that level of **granular customization**.
## Method 1: The Manual Anchor Link Method (No Tools Required)
If you only publish a few long-form articles a month and don’t want to use any third-party tools, you can build a table of contents completely by hand using the native WordPress Block Editor (**Gutenberg**).
This process requires two primary phases: creating the **anchor targets** on your headings, and building the list of links.
### Phase 1: Assign HTML Anchors to Your Headings
First, you need to give each of your headings a unique digital “name” so your **browser** knows exactly where to scroll.
1. Open your post editor and click directly on the **H2 or H3 heading** you want to link to.
2. In the right-hand settings sidebar, scroll down to the **Advanced** section and expand it.
3. Locate the field labeled **HTML Anchor**.
4. Type a unique, simple hyphenated name for that section (e.g., benefits-for-readers). Do not use spaces, capital letters, or special characters.
Repeat this exact process for every single heading you want to include in your index block.
### Phase 2: Create the Link Directory
Now that your headings have destination tags, you need to build the actual menu at the top of your post.
1. Scroll to the section of your article where you want the table to live.
2. Insert a standard **List Block** or **Paragraph Block**.
3. Type out the titles of your headings as list items.
4. Highlight the text for your first item and click the **Link icon** (or press Ctrl+K / Cmd+K).
5. In the **URL** search field, type a pound sign (#) followed immediately by the exact HTML anchor name you created in Phase 1 (e.g., #benefits-for-readers).
> **Important Note:** The # symbol is critical. It tells the **web browser** that the destination link lives on the exact same page, rather than on an external website.
While this manual process works perfectly and adds absolute zero bloat to your site, it becomes incredibly time-consuming and prone to typos if you write long articles with dozens of subheadings.
## Method 2: The Easier Workflow with SEO Vault Rich Blocks
If you want the performance benefits of clean, **manual HTML** code but hate the tedious, click-heavy workflow of configuring dozens of individual anchor links, a unified **block generator** is the ultimate middle ground.
Inside [SEO Vault](https://seovaultai.com), we built a feature specifically to solve this workflow bottleneck: the **Table of Contents Rich Block**.
Instead of sitting in your WordPress database as a heavy site-wide plugin that runs script loops on your server, [SEO Vault](https://seovaultai.com) operates as a streamlined **web app** and **browser extension** workspace. It automatically reads your document’s outline, generates clean, responsive **HTML jump-links** instantly, and injects them straight into your WordPress block editor as native elements.
You get the layout speed of an automated plugin with the absolute zero-bloat performance of **hand-coded HTML**.
## Step-by-Step Tutorial: Injecting a Lean TOC with SEO Vault
Here is exactly how to build and style a clean table of contents using the [SEO Vault](https://seovaultai.com) extension panel inside your WordPress dashboard.
### Step 1: Add H2/H3 Headings to Your Article
Write and structure your article as you normally would. Ensure your headings follow a logical **hierarchy**—use H2 blocks for your primary conceptual chapters and H3 blocks for minor sub-points nested within those chapters.
### Step 2: Open SEO Vault Rich Blocks
With your article draft open in WordPress, launch your [SEO Vault](https://seovaultai.com) companion browser extension side panel and select the **Rich Blocks** feature library.
### Step 3: Choose Table of Contents
Click on the **Table of Contents** module from the available content element selection.
### Step 4: Select Heading Levels
Choose which **heading levels** you want to pull into your index menu. In most standard scenarios, selecting **H2 and H3 levels** is the ideal choice to keep the layout clean and scannable.
### Step 5: Pick Your Visual Style
Customize the look of your directory card to match your site’s design. You can select:
* A clean minimalist layout or a boxed container card.
* Ordered bullet numbering, Roman numerals, or a clean unnumbered look.
* Custom background accent shading and border thickness options.
### Step 6: Review the Preview Layout
Look over the interactive live **preview** inside the extension panel. Here, you can click on individual items to edit or shorten their display titles if they look too wordy, without changing the actual large text headers inside your article body.
### Step 7: Inject the Block
Once the block looks exactly how you want it, place your editing cursor at your desired location within the WordPress post editor and click **Inject** inside the extension panel.
The extension instantly generates the required **semantic HTML** layout code along with the corresponding background anchor points, dropping it directly into your post as native, **instant-loading** text.
## Best Practices for Table of Contents Placement
Where you choose to position your directory card plays a significant role in how effectively readers interact with your content.
* **The “Above the Fold” Sweet Spot:** The most effective location to place your table of contents is immediately after your article’s introductory hook, right before your very first H2 subheading.
* **Why Not the Absolute Top?** Placing a massive table of contents at the absolute top of a page—above your introductory sentences—can push your actual content down too far on **mobile** screens. Give readers a few brief paragraphs of engaging context first to prove they are in the right place, then present the directory roadmap.
## Common Mistakes to Avoid with Content Directories
To make sure your content remains user-friendly and visually balanced, keep an eye out for these frequent formatting pitfalls:
### 1\. Including Too Many Deep Heading Levels
Avoid pulling H4, H5, or H6 headings into your table of contents unless you are publishing a highly technical, multi-chapter academic whitepaper. Including too many sub-levels creates a massive, multi-indented block of text that looks cluttered and confusing, defeating the core purpose of a quick navigation aid.
### 2\. Using Weak, Non-Descriptive Heading Text
A line in your contents directory that simply reads _“Section 1”_ or _“More Information”_ gives no practical context to the reader or a search engine. Ensure your headers contain clear, **descriptive** nouns and relevant **semantic keywords** that clearly outline the specific value of that section.
### 3\. Creating Broken Anchor Links
If you build your table of contents manually and later decide to edit a heading’s advanced settings or tweak its hyphenated anchor phrase, your existing menu link will instantly break. If a user clicks it, nothing will happen. Always test your **jump-links** in a quick browser preview window before scheduling your post to launch.
### 4\. Over-Styling the Container Box
Your table of contents should match your site’s existing layout seamlessly. Avoid using loud background gradients, multiple conflicting link accent colors, or thick, heavy borders that distract from your content text. A simple, clean outline or a subtle background shadow is more than enough to mark the section clearly.
## Keep Your WordPress Site Lean
A functional table of contents makes long articles infinitely easier to read, navigate, and structure. But you don’t need to slow down your server or accumulate plugin bloat just to add a clean list of **jump-links** to your text.
If you want to save time and keep your formatting workflow organized without installing heavy site-wide plugins, explore the layout options inside [SEO Vault](https://seovaultai.com). Our web app and extension workspace give you the power to design, preview, and instantly drop perfectly structured **Table of Contents Rich Blocks** straight into your articles—maintaining a clean dashboard and lightning-fast page loading speeds.
## Frequently Asked Questions (FAQ)
### Do manual jump-links break if I update my WordPress theme?
No. Because manual anchor links and [SEO Vault](https://seovaultai.com) Rich Blocks are built using completely standard, native **HTML tags** (href=“#your-anchor”), they do not rely on your active **theme** settings or design files. Your internal link directory will continue to function perfectly even if you completely redesign or migrate your website in the future.
### Can a table of contents help my search results look better?
Yes. When you provide clear, structured anchor points within an article, search engines like Google can detect those jump-links and sometimes display them as **mini clickable shortcuts** directly inside your **search result** listings. This allows users to click through straight to a specific subsection from the main search page.
### Should I add a table of contents block to short blog posts?
If an article is under 800 words and features fewer than three **subheadings**, a table of contents is generally unnecessary. In short pieces, a directory card simply adds visual clutter without providing any real navigational benefit to the reader. Use them primarily for **long-form**, comprehensive content assets.
---
## Automatic Internal Linking for WordPress: Safe Autolinks Without Spam
URL: https://seovaultai.com/blog/automatic-internal-linking-for-wordpress
Learn how to use automatic internal linking in WordPress safely with preview, selection, limits, skip rules, and undo instead of blind sitewide link spam.
# Automatic Internal Linking for WordPress: Safe Autolinks Without Spam
Published on May 25, 2026 · Tags: wordpress, seo, internal-linking, autolinking
## TL;DR
**Automatic internal linking** is a [WordPress](https://wordpress.org) SEO workflow that finds matching **anchor phrases** across your existing posts and pages, then helps you apply selected links to a chosen **target page**.
It is useful when you already know what page you want to promote and what phrase should link to it.
For example:
You publish a new guide called **WordPress SEO audit checklist**.
Then you scan your existing posts for exact mentions of **“WordPress SEO audit checklist”** or **“WordPress SEO audit”**. You **preview** the opportunities, **select** the ones that make sense, and apply them.
That is the safe version.
The dangerous version is letting a plugin blindly add links everywhere just because words match. That creates messy content, repeated anchors, irrelevant links, and a bad reading experience.
Good autolinking should always include **preview**, **selection**, **limits**, **skip rules**, and **undo**.
## What Is Automatic Internal Linking?
**Automatic internal linking** is the process of scanning your WordPress content for specific **anchor phrases** and applying **internal links** to a chosen **target page** at scale.
That definition is important.
**Automatic internal linking** should not mean:
“Let the tool decide every link on my site.”
It should mean:
“I know this target page deserves more internal links. Find safe places where this exact phrase already appears, show them to me, and let me apply the good ones.”
That difference is everything.
One workflow is **controlled**.
The other is chaos with a settings page.
And WordPress users have already seen too many plugins that promise “SEO automation” but quietly make content worse.
## The Real Pain: Internal Linking Gets Impossible at Scale
**Manual internal linking** is excellent when you are writing or editing one article.
You highlight a phrase. You review suggestions. You insert the best link.
But what happens when you publish a new important page and need to link to it from old content?
That is where the pain starts.
You might have 80 posts.
Or 300.
Or 2,000.
Some mention the exact topic. Some mention related phrases. Some are already linking to another page. Some are outdated. Some should not be touched. Some are perfect opportunities, but you will never find them manually.
So you do what most WordPress site owners do.
You postpone it.
You tell yourself you will “go back and add links later.”
Later never comes.
The new page sits there with two internal links. Maybe one from the homepage. Maybe one from a related article if you remembered.
It is not enough.
The page may be useful. It may be well written. It may even be your best article. But inside your **site structure**, it is almost invisible.
**Automatic internal linking** exists to solve that specific problem.
Not to replace **editorial judgment**.
To find **link opportunities** at a scale a human will not realistically check one by one.
## Why WordPress Users Struggle With Internal Links
WordPress makes publishing easy.
It does not make **site architecture** easy.
After a few months of publishing, you end up with a messy **content library**:
Old tutorials.
New reviews.
Category pages.
Service pages.
Product pages.
Comparison posts.
Posts written by different authors.
Posts with changed slugs.
Posts that still rank.
Posts that should rank but do not.
Posts that link to outdated pages.
Posts that never link anywhere useful.
The real issue is not laziness. It is visibility.
Most WordPress users do not know where the **internal linking opportunities** are. They know they should add links, but they do not know which old posts contain the right phrase.
Searching manually is slow.
Using Google **site:** queries is incomplete.
Exporting posts is ugly.
Opening every article is stupid unless you have nothing better to do.
**Automatic internal linking** should remove that wasted work.
## The Safe Autolinking Workflow
A good automatic internal linking workflow should be boring.
Boring is good.
Boring means **predictable**.
Here is the safe version:
1. Choose the target post or page.
2. Enter the **anchor phrase**.
3. Set simple rules.
4. **Preview** matching opportunities.
5. Review the results.
6. **Select** what should be linked.
7. Apply the links.
8. Track the job.
9. **Undo** if something went wrong.
That is the workflow WordPress users actually need.
Notice what is missing.
No magical AI guessing 500 links.
No secret algorithm rewriting your site.
No automatic injection without review.
No “trust us bro” button.
Autolinking should help you move faster, not surrender control.
## Step 1: Choose the Target Page
Every automatic internal linking job should start with a target.
The target is the page you want other posts to link to.
It might be:
* a new cornerstone guide,
* a product review,
* a service page,
* a comparison article,
* a category guide,
* a tutorial,
* a glossary page,
* a high-converting landing page.
This matters because internal linking should have direction.
You are not adding links randomly. You are strengthening a specific page inside your site.
For example, suppose you publish:
**How to Do a WordPress SEO Audit**
That page is your target.
Now the question is:
Where on your existing site do you already mention “WordPress SEO audit”?
Those mentions are potential link opportunities.
## Step 2: Enter the Anchor Phrase
The **anchor phrase** is the text you want to find in your existing content.
This is where many autolinking tools become dangerous.
They try to be too clever. They match too broadly. They link partial phrases. They treat vaguely related words as good enough.
That can create strange links.
A safe autolinking workflow should start with exact or very controlled phrase matching.
If you enter:
**WordPress SEO audit**
The tool should look for that phrase, not randomly link every sentence containing “SEO” or “WordPress.”
Exact phrase matching is less flashy, but it is safer.
It gives you **predictable** results.
And **predictability** matters when a tool is going to edit published content.
## Step 3: Set Rules Before You Apply Anything
Autolinking without rules is a bad idea.
The most useful rules are simple:
### Only link once per post
If the same phrase appears five times in one article, you probably do not want five identical links.
One internal link from that source post is usually enough.
Repeated links look clumsy, especially when they use the same anchor.
### Skip posts that already link to the target
If a post already links to the target page, adding another link may be unnecessary.
There are exceptions, but as a default rule, skipping already-linked posts keeps your site cleaner.
### Only link to published targets
You do not want internal links pointing to drafts, private pages, or unfinished content.
That sounds obvious. It still needs to be enforced.
### Limit how many links are added in one run
A limit protects you from doing too much at once.
If you preview 300 opportunities, that does not mean you should apply 300 links today.
A smaller batch is easier to review and easier to trust.
### Filter by category or date when needed
Sometimes you only want links from a specific content group.
For example, an affiliate site might want links from informational posts, not from review pages. A news-heavy site might only want recent posts. A local business might want links from pages in a specific service category.
Rules turn autolinking from a blunt tool into a **controlled workflow**.
## Step 4: Preview the Opportunities
**Preview** is non-negotiable.
If an autolinking tool does not show you what it is about to change, do not use it.
That is not a small concern. That is the entire difference between useful automation and **reckless automation**.
A preview should show:
* the source post,
* the matched phrase,
* the sentence or surrounding text,
* whether the match is eligible,
* why a result was skipped,
* whether the post already links to the target,
* how many links will be applied.
This gives the user a chance to catch bad matches.
Because exact phrase matching is safer, but not perfect.
The same phrase can appear in a context where a link would be awkward.
For example:
“Do not start a WordPress SEO audit until you fix your hosting issues.”
This might be a good link.
But:
“We stopped offering WordPress SEO audit services in 2021.”
Maybe not.
The words match. The intent does not.
Preview protects **quality**.
## Step 5: Select Only the Links That Make Sense
This is where good autolinking becomes semi-automatic, not blind.
The tool finds opportunities. You choose what gets applied.
That is the right balance.
You save time because the system does the scanning.
You keep **quality** because a human still reviews the matches.
This is especially important for sites that care about **trust**: finance, health, legal, SaaS, B2B, local services, and serious affiliate content.
Bad internal links can make a site look careless.
A reader may not know the phrase [“internal linking strategy,”](https://www.towson.edu/web-guidelines-resources/content-standards-best-practices/seo-guide.html) but they can feel when links are forced.
They click less.
They trust less.
They leave faster.
That is why selection matters.
## Step 6: Apply the Links as a Background Job
Once you select the opportunities, the system can apply them in the background.
This is where automation is genuinely useful.
You should not have to open 40 WordPress posts manually, find each phrase, insert each link, save each post, and hope nothing breaks.
That is a miserable workflow.
A good autolinking system can update the selected posts for you.
But it should still behave carefully:
* fetch the latest version of the post,
* confirm the phrase still exists,
* confirm the post is still eligible,
* avoid linking inside existing links,
* avoid headings and code blocks,
* insert only the selected link,
* track success, skipped items, and failures.
This matters because content can change between preview and apply.
Maybe another editor updated the article.
Maybe the phrase was removed.
Maybe the post already received the link.
A safe apply process checks again before editing.
## Step 7: Track Results and Keep Undo Available
Autolinking touches published content.
So the tool needs **accountability**.
After a job runs, you should be able to see:
* how many links were submitted,
* how many were applied,
* how many were skipped,
* how many failed,
* which posts were changed,
* whether the job can be undone.
**Undo** is not a luxury.
It is a **trust** feature.
Even careful workflows can produce a result you dislike. Maybe the phrase was technically correct but editorially awkward. Maybe the client changed their mind. Maybe you selected too many.
If a tool edits live WordPress content, it should give you a path back.
## When Automatic Internal Linking Is Actually Useful
Autolinking is useful when the pattern is clear.
Here are good use cases.
### You published a new cornerstone guide
You just created a major page about **technical SEO for WordPress**.
Your older posts mention that phrase in many places.
Autolinking helps you find those mentions and point them to the new guide.
### You have a new money page
Maybe you launched a service page or affiliate review.
You do not want to spam every article with commercial links, but you do want relevant posts to point to it naturally.
Preview lets you choose only the articles where the link belongs.
### You are cleaning up orphan pages
Some pages have few or no internal links.
If you know the right anchor phrase, autolinking can help find source posts that should connect to them.
### You are updating a content cluster
Suppose you have a cluster around “WordPress speed optimization.”
A new article is now the best hub. You can scan existing posts for that phrase and link them to the hub.
### You manage a large WordPress site
For sites with hundreds of posts, manual linking alone becomes unrealistic.
Autolinking helps you maintain structure without spending days in the editor.
## When You Should Not Use Autolinking
Autolinking is powerful, but it is not always the right tool.
### Do not use it when the phrase is too broad
If your anchor phrase is “SEO,” “marketing,” “WordPress,” or “content,” you will get too many weak matches.
Broad anchors create messy links.
Use specific phrases.
Bad:
**SEO**
Better:
**WordPress SEO audit**
Better still:
**technical SEO checklist for WordPress**
### Do not use it when the target is not strong
Do not build lots of internal links to a weak page.
Fix the target first.
If the page is thin, outdated, poorly formatted, or not useful, internal links will not save it.
They may send more users to a bad experience.
### Do not use it when context matters too much
Some phrases have different meanings in different posts.
If the phrase is ambiguous, manual review becomes more important. Use preview carefully or choose a more specific anchor.
### Do not use it as a replacement for content strategy
Autolinking is not a strategy.
It is a tool.
If your site has no **topical structure**, no good target pages, and no clear content plan, automatic links will not magically fix it.
It may simply connect weak pages to other weak pages.
That is busywork.
## Autolinking vs Manual Internal Linking
**Manual internal linking** and autolinking solve different problems.
**Manual internal linking** is best while writing or editing one article. You highlight text, review suggestions, and insert the best link in context.
**Automatic internal linking** is best after you know the target page and anchor phrase, and you want to find matching opportunities across many existing posts.
Use manual linking when the question is:
“Which page should this phrase link to?”
Use automatic linking when the question is:
“Where does this phrase already appear across my site?”
That distinction keeps your workflow clean.
A strong internal linking strategy uses both.
Manual linking builds quality inside individual articles. Autolinking scales obvious opportunities across the site.
## Why Autolinking Matters When Your Site Has No Traffic
If your site has no traffic, autolinking might sound like a small detail.
It is not the whole solution, but it matters.
A new site usually has three problems:
1. not enough content,
2. not enough authority,
3. not enough structure.
Most people focus only on the first one.
They keep publishing.
That can help, but only if the site becomes easier to understand over time.
If every new post sits alone, you are building a pile. Not a site.
**Automatic internal linking** helps turn a pile into a structure.
When you publish a new important guide, you can quickly connect older relevant posts to it. When you update a hub page, you can point existing mentions toward the improved version. When a page has no internal links, you can search for natural opportunities to support it.
This will not create traffic tomorrow morning.
No honest person should promise that.
But it gives search engines and readers clearer paths through your content.
And when you are early, you need every structural advantage you can get.
## How Autolinking Helps Readers
Autolinking is usually discussed as an SEO feature.
That is incomplete.
The real goal is **reader movement**.
A visitor reads one article. They reach a concept they want to understand better. The internal link gives them the next step.
That is good **UX**.
For example:
They are reading about blog content planning.
They see a link to your guide on **topic clusters**.
They click.
Now they understand how to organize posts around a central hub.
That is useful.
The link did not interrupt them. It helped them continue.
**Automatic internal linking** helps because it finds places where those useful paths already exist but were never connected.
## How Autolinking Helps Search Engines and AI Systems
**Search engines** use internal links to discover pages and understand importance.
**AI answer engines** also benefit from clear content relationships. They need to interpret what your site covers, which pages explain core concepts, and how topics connect.
A page that receives relevant internal links from related articles sends a clearer signal than a page sitting alone.
Autolinking can help build those relationships faster.
But again, **quality** matters.
AI systems and search engines are not impressed by a messy wall of repeated anchors.
A clean link from a relevant sentence is better than ten forced links from irrelevant paragraphs.
## The Best Anchor Phrases for Autolinking
The best phrases are specific enough to avoid junk results but common enough to appear across your content.
Good anchor phrases often include:
* a topic plus platform: **WordPress SEO audit**
* a problem plus outcome: **fix broken internal links**
* a process: **content pruning**
* a framework: **topic cluster strategy**
* a product/category phrase: **SEO content brief**
* a tutorial phrase: **optimize WordPress images**
* a comparison phrase: **best SEO plugin for WordPress**
Weak anchor phrases include:
* **SEO**
* **marketing**
* **website**
* **plugin**
* **strategy**
* **content**
* **click here**
* **learn more**
Those are too broad.
They may technically match many pages, but they rarely create precise links.
Specific anchors produce cleaner previews and better links.
## A Practical Example
Imagine you run a WordPress site about SEO.
You publish a new page:
**Internal Linking Strategy for WordPress**
You want older posts to point to it.
You enter the anchor phrase:
**internal linking strategy**
The autolinking tool scans your published posts and pages.
It finds 43 mentions.
Then rules apply.
Some are skipped because the source post already links to the target.
Some are skipped because they are not published.
Some are skipped because the phrase appears multiple times in the same post, and only one link per post is allowed.
Now maybe 18 eligible opportunities remain.
You review the sentences.
You deselect three because the context is weak.
You apply 15.
The job runs.
Fifteen older posts now point to the new guide, using a phrase that already existed naturally in the content.
That is a good use of autolinking.
No spam. No guessing. No hours of manual editing.
## A Bad Example
Now imagine you choose the anchor phrase:
**SEO**
The tool finds 1,400 matches.
You apply 500 links to one SEO service page.
That is stupid.
Not aggressive.
Not “growth hacking.”
Stupid.
The links are too broad, too repetitive, and likely useless for readers. You have made the content worse.
Autolinking is only as smart as the rules and choices behind it.
If you feed it a lazy phrase, it will produce lazy links.
## What Makes Autolinking Safe?
Safe autolinking has five qualities.
### It is target-first
You choose the page that should receive links.
### It is phrase-controlled
You decide the anchor phrase.
### It has preview
You see what will happen before it happens.
### It has limits
You avoid adding too many links in one run.
### It has undo
You can reverse changes when needed.
Without those five things, autolinking becomes risky.
## What Makes Autolinking Dangerous?
Dangerous autolinking usually has the opposite qualities.
It chooses links without enough context.
It links broad keywords.
It inserts links without preview.
It edits too many posts at once.
It links inside awkward sentences.
It creates repeated anchors.
It links to pages that are not ready.
It gives no easy undo.
That kind of automation can make a site look cheap.
And once readers lose trust, internal links stop helping. They become clutter.
## Autolinking for Affiliate Sites
**Affiliate sites** can benefit from autolinking, but they need **restraint**.
The temptation is obvious: link every related phrase to a money page.
Do not do that.
A better approach is to use autolinking to connect informational posts to genuinely relevant reviews, comparisons, and buying guides.
For example:
An article about “how to choose running shoes for flat feet” might naturally link to a comparison of the best running shoes for flat feet.
That is helpful.
But linking every mention of “shoes” to a product roundup is not helpful. It is spammy.
Affiliate sites survive on trust. Autolinking should support trust, not squeeze it.
## Autolinking for SaaS Blogs
**SaaS blogs** often have many educational posts and a few key product pages.
Autolinking can help connect educational content to relevant features and use cases.
For example:
A blog post about “content optimization workflow” could link to a product page about content briefs.
A post about “SEO reporting” could link to a feature page about rank tracking or analytics.
But SaaS teams should avoid turning every educational article into a sales tunnel.
The link has to fit the reader’s moment.
Sometimes the best internal link is not the product page. Sometimes it is another guide that builds trust first.
## Autolinking for Agencies
**Agencies** managing multiple WordPress sites often need repeatable systems.
Autolinking can help after publishing important pages for clients.
For example:
A local roofing client adds a new service page for “roof leak repair.”
The agency can scan existing blog posts and service pages for exact mentions of that phrase, review the matches, and apply relevant links.
This is much faster than manually opening every page.
But agencies should document rules. Broad anchors and careless bulk linking can harm client content quality.
## Autolinking for Large Content Sites
**Large content sites** have the biggest internal linking problem.
At 1,000+ posts, nobody remembers everything.
Automatic linking becomes less of a luxury and more of a maintenance tool.
Use it for:
* linking new hubs,
* supporting important evergreen pages,
* finding exact-match opportunities,
* reducing orphan content,
* updating old clusters,
* improving navigation depth.
Still, large sites should be careful with volume. Apply in batches. Review skipped/failed items. Keep logs. Undo when needed.
Scale does not remove the need for judgment.
It increases the need for **safeguards**.
## The Role of AI Rewrite Assistance
Sometimes an exact phrase appears in a sentence, but the sentence is awkward.
Sometimes a candidate is blocked by a rule, but it could still become useful with a small rewrite.
That is where **AI rewrite assistance** can help.
But it should be treated as an assistant, not a hidden editor.
A safe rewrite workflow should show the rewritten sentence before it is used. The anchor phrase should be clear. The user should decide whether the rewrite improves the content.
AI should not quietly rewrite published posts just to make room for links.
That is a bad idea.
Rewriting content changes meaning. It deserves review.
## How Often Should You Run Autolinking?
You do not need to run autolinking every day unless you operate a large publishing machine.
For most WordPress sites, good moments are:
* after publishing a major guide,
* after creating a new service page,
* after updating a cornerstone page,
* after a content audit,
* once per month for **content maintenance**,
* when fixing orphan pages,
* when building or refreshing a topic cluster.
Autolinking works best as part of a workflow, not as a nervous habit.
Do not run it because a dashboard makes you feel guilty.
Run it when you know what page needs support and why.
## A Simple Autolinking Checklist
Before running an autolink job, ask:
Is the target page worth sending traffic to?
Is the anchor phrase specific?
Would a reader understand the link before clicking?
Are already-linked posts being skipped?
Is there a one-link-per-post rule?
Is the run limited to a reasonable number?
Can I preview the matches?
Can I undo the job?
If the answer is no to several of these, stop.
Fix the setup first.
## The Best Autolinking Strategy for New WordPress Sites
For a new site, do not start with huge automation.
Start with structure.
Create strong pages first:
* beginner guides,
* comparison posts,
* tutorials,
* service pages,
* product pages,
* glossary or definition pages,
* topic hubs.
Then use manual internal linking while writing new content.
After that, use autolinking when a page clearly deserves more links and the anchor phrase is obvious.
This order matters.
If you automate before you have good targets, you will only scale weak decisions.
Build something worth linking to first.
Then use autolinking to support it.
## Final Thoughts
**Automatic internal linking** is useful when it is **controlled**.
It helps WordPress users solve a real problem: finding and applying relevant internal links across many existing posts without spending hours in the editor.
But it is not magic.
It does not replace content quality.
It does not replace editorial judgment.
It does not fix a weak target page.
It simply makes a repetitive task faster and safer when the user already knows the target and anchor phrase.
The best version of autolinking is not “click once and let the plugin do everything.”
The best version is:
Choose the target.
Choose the phrase.
Preview the matches.
Select the good ones.
Apply safely.
Undo if needed.
That is how you scale internal links without making your WordPress site feel spammy.
Used with manual internal linking, it gives you both quality and speed: manual links while writing, automatic links when the pattern is clear.
That combination is how a growing WordPress site starts becoming a **connected content system** instead of a pile of isolated posts.
## FAQ
### What is automatic internal linking in WordPress?
**Automatic internal linking** is a workflow that scans WordPress posts and pages for a chosen anchor phrase, previews matching opportunities, and applies selected internal links to a target page.
### Is automatic internal linking safe?
It can be safe if it includes preview, selection, limits, skip rules, and undo. It is risky if it blindly inserts links without review.
### What is the difference between manual internal linking and automatic internal linking?
**Manual internal linking** is best while writing or editing one article. **Automatic internal linking** is best when you already know the target page and anchor phrase and want to find matching opportunities across many existing posts.
### Should automatic internal linking use exact-match anchor phrases?
Exact-match phrases are usually safer because they make the scan predictable. Broad or fuzzy matching can create irrelevant links if it is not carefully reviewed.
### Can automatic internal linking hurt SEO?
Yes, if used badly. Too many links, irrelevant links, repeated anchors, and links to weak pages can hurt user experience and make the site look spammy.
### How many links should I apply in one autolinking run?
There is no universal number. Start with a small, reviewable batch. Quality matters more than volume.
### Should I autolink broad keywords like “SEO” or “WordPress”?
Usually no. Broad keywords create noisy matches. Use specific phrases like “WordPress SEO audit” or “technical SEO checklist.”
### Does autolinking replace manual internal linking?
No. Autolinking complements manual linking. Manual linking is better for context-sensitive editorial decisions. Autolinking is better for scaling clear, exact-match opportunities.
### Should I preview autolinks before applying them?
Yes. Preview is essential. Never let a tool edit many published posts without showing you what it plans to change.
### Is undo important for autolinking?
Yes. If a tool edits live WordPress content, undo is important. It gives you a safety net if the result is not what you expected.
### Can autolinking help orphan pages?
Yes, if the orphan page has clear related anchor phrases across existing content. Autolinking can help find source posts that should link to that page.
### When should I use autolinking?
Use autolinking after publishing a major guide, creating a new money page, updating a content hub, fixing orphan content, or refreshing a topic cluster.
---
## How to Bring Zombie Articles Back to Life With One Click
URL: https://seovaultai.com/blog/bring-zombie-articles-back-to-life
Old blog posts can quietly drain your SEO performance. Learn what zombie articles are, why they hurt your site, and how SEOvault AI's Rewrite Existing Article feature helps refresh stale content with a smarter audit-first workflow.
# How to Bring Zombie Articles Back to Life With One Click
Published on June 8, 2026 · Tags: seo, wordpress, content-refresh, seovault-ai, zombie content
Most websites do not fail because they publish too little.
They fail because too much of what they already published is dead.
Common examples include:
* **Old tutorials**
* **Thin affiliate posts**
* **Reviews with outdated product details**
* **“Best tools” articles from three years ago**
* **WordPress guides written before the interface changed**
* **Comparison posts that no longer match what people see in Google**
These pages sit in the archive, indexed but ignored. They may not bring traffic. They may not earn clicks. They may not help readers. Still, they remain on the site, giving the owner a false sense of content depth.
That is what many SEOs call **zombie content** _(aka Thin Content, Low-Value Content, or Decayed Content.)_
A zombie article is not always a bad article. In many cases, it was useful once. It ranked once. It helped readers once. Then the search intent changed, competitors improved, facts became stale, screenshots aged, products changed, and Google slowly stopped trusting the page as much as it used to.
The result is painful because it is quiet.
No alarm goes off. No plugin shows a red warning. The article simply stops working.
And the scale of the problem is much bigger than most site owners think.
Ahrefs analyzed billions of pages and found that **96.55% of web pages get no organic traffic from Google**. That does not mean every one of those pages is a zombie article, but it shows how much published content produces little or no search value. [Ahrefs](https://ahrefs.com/blog/search-traffic-study/?utm_source=chatgpt.com)
For WordPress publishers, affiliate site owners, bloggers, and niche site builders, this creates a serious question:
Should you keep writing new posts, or should you repair the posts that already exist?
The answer is usually both.
But if your site has dozens or hundreds of stale articles, refreshing existing content may be one of the highest-leverage things you can do.
## The hidden cost of zombie articles
Zombie articles are expensive because they look free.
You already paid for the content. You already spent the time. The post is already published. So it feels harmless to leave it there.
But old, weak content can cost you in several ways:
* It wastes the authority the page may have built over time. An older article may already have backlinks, internal links, comments, impressions, or historical ranking signals. If the content is outdated, that existing value is not being used well.
* It creates a poor reader experience. Someone lands on an old article, sees outdated advice, notices broken screenshots, reads thin explanations, and leaves. That person may not come back.
* It weakens your editorial focus. A site with 300 posts may look strong from the outside, but if 220 of those posts are thin, outdated, duplicated, or misaligned with search intent, the site is not as healthy as the post count suggests.
* It can make content management harder. The more stale content you have, the harder it becomes to know what deserves internal links, what should be updated, what should be merged, and what should be removed.
Google’s own crawl budget guidance says most small or moderately sized sites do not need to obsess over crawl budget. But it also makes clear that very large or frequently changing sites should avoid wasting crawling resources on duplicate or low-value URLs. [Google for Developers](https://developers.google.com/crawling/docs/crawl-budget?utm_source=chatgpt.com)
In plain terms: zombie content may not destroy a small website overnight, but it absolutely creates noise.
And SEO already has enough noise.
## Why content dies
Content usually dies for one of four reasons:
* **Intent drift**. The article still targets the same keyword, but searchers now want something different. A post that used to rank with a simple definition may now need examples, templates, tools, pricing, screenshots, or a step-by-step process.
* **Coverage gap**. Competitors have expanded their articles. Your old post has 900 words and three headings. The current top results have better structure, stronger examples, FAQs, comparison tables, pros and cons, and fresher data.
* **Freshness decay**. Dates, tools, product names, plugin interfaces, screenshots, statistics, and recommendations become old. Even evergreen content needs maintenance.
* **Utility gap**. The article explains the topic, but it does not help the reader do anything. Today’s best-performing content often needs to be more practical: checklists, decision frameworks, examples, tables, templates, and clear next steps.
This is why simply “rewriting” an article is not enough.
Changing sentences does not fix search intent. Rephrasing paragraphs does not add missing sections. Making the intro sound nicer does not repair outdated advice.
A serious content refresh needs diagnosis before writing.
## The smart way to revive an old article
A useful content refresh should answer these questions before generating a new draft:
* What is the article currently about?
* What was it originally trying to rank for?
* What does the search result now expect?
* Which sections should be protected because they are still useful?
* Which parts are outdated, thin, or misaligned?
* Should the article receive a light update, a medium rewrite, or a full rebuild?
* What new sections would make the article more useful?
That is where SEOvault AI’s [**Rewrite Existing Article**](https://app.seovaultai.com/) feature becomes interesting.
This is not designed as a basic paraphrasing tool. Based on the feature audit, the rewrite workflow is built around a much more strategic process.
The user can provide either:
* A published article URL
* Pasted article content
From there, SEOvault AI does not force the user to start with a blank document or manually rebuild the article section by section. The feature is designed to ingest the existing article, audit it, compare it against search expectations, protect important elements, create a rewrite plan, and then generate the refreshed version.
That matters because most site owners do not struggle with writing alone.
They struggle with knowing **what to change**.
## Why “one-click rewrite” should not mean blind rewriting
There is a dangerous version of article rewriting.
You paste an old post into a tool. It changes the words. You publish it again. Nothing meaningful improves.
That kind of rewrite may make the article look new, but it does not make it more useful.
SEOvault AI’s Rewrite Existing Article preset is designed differently. The backend uses an adaptive rewrite flow. Instead of treating every article the same, it evaluates the article through several layers, including intent mismatch, coverage gap, freshness gap, and utility gap.
That means a lightly outdated article should not receive the same treatment as a completely dead post.
A practical difference between **SEOvault AI rewrite** and **basic article rewriters**:
Dimension
SEOvault AI Rewrite Existing Article
Basic article rewriters
Starting point
Begins with the **existing article** and audits what is already there
Often starts with the text you paste in and focuses on rewriting it as-is
Workflow
**Audit-first**, then protect useful sections, then build a rewrite plan
Usually a **paste-and-rewrite** flow with little or no diagnosis
Search intent
Checks the page against **SERP expectations** and content gaps
Usually does not compare the post against the current search landscape
Protected value
Preserves strong explanations, tables, angles, and brand-specific sections
May rewrite over useful parts and flatten the article
Output strategy
Designed to make the page more useful, current, and structurally stronger
Designed mainly to make the text sound different or cleaner
Best fit
Zombie articles, stale tutorials, old reviews, and posts with ranking history
Quick text refreshing when content quality is already decent
The table is the core distinction: **SEOvault AI rewrites an article strategically**, while basic article rewriters usually just transform the wording.
For example:
* A decent article from last year may only need updated examples, a stronger FAQ, clearer formatting, and a few missing sections.
* A five-year-old guide with outdated screenshots and weak search intent alignment may need a heavier rewrite.
* A thin affiliate article with poor structure may need a complete rebuild around usefulness, comparisons, decision support, and current reader expectations.
This is exactly how zombie content should be handled.
Not every old article deserves the same medicine.
## What SEOvault AI does behind the scenes
The Rewrite Existing Article preset in SEOvault AI follows a structured content revival workflow.
First, it accepts the existing article. The user can enter a URL, paste the article manually or uses the existing article already open in the editor. This is important because some users may want to refresh published WordPress posts, while others may be working from drafts, exported content, or copied article text.
Then the system audits the article. It looks at the existing content instead of blindly replacing it.
Then it checks the article against SERP expectations. This is critical because the problem is rarely just “old wording.” The real problem is often that the article no longer matches what Google and users expect from the topic.
Then it identifies protected elements. A good rewrite should not destroy what is already working. If the article has a strong explanation, useful angle, original point, good table, or important brand-specific section, those elements should be preserved or improved rather than removed.
Then it creates a rewrite plan. This is the step many tools skip. A plan gives structure to the refresh before the draft is generated.
Finally, it generates a refreshed article using that plan.
The workflow is closer to an editorial assistant than a spinner.
And that distinction matters.
## Why old posts are often better opportunities than new posts
Writing new articles feels productive. It is clean. It is exciting. There is no messy old draft to repair.
But old posts often have advantages that new posts do not.
They may already be indexed.
They may already have impressions in Google Search Console.
They may already have backlinks.
They may already have internal links.
They may already be trusted by some readers.
They may already sit close to page one or page two.
That makes them strong candidates for improvement.
HubSpot has written extensively about historical optimization, which means updating old blog content so it becomes fresh, accurate, and capable of generating more traffic and conversions. In one earlier HubSpot case study, optimized old posts saw an average **106% increase in monthly organic search views**, and monthly leads from those optimized posts nearly tripled. [Medium](https://medium.com/%40HubSpot/how-we-tripled-our-leads-using-this-rarely-discussed-blogging-tactic-4eb78ba938e4?utm_source=chatgpt.com)
That does not mean every refreshed post will double in traffic. SEO never works that cleanly.
But it does show the business logic.
A neglected article with some history can be easier to revive than a brand-new article can be to rank.
## Which articles should you refresh first?
Not every zombie article deserves saving.
Some should be updated. Some should be merged. Some should be redirected. Some should be deleted.
The best refresh candidates usually have at least one of these signals:
* They used to get traffic but declined.
* They get impressions but low clicks.
* They rank between positions 8 and 30.
* They have backlinks but outdated content.
* They target a topic that still matters to your site.
* They answer a question your audience still asks.
* They are attached to affiliate revenue, email signups, product education, or buyer intent.
Bad candidates are different:
* A post about an irrelevant old promotion may not need a rewrite.
* A thin announcement from six years ago may not need saving.
* A duplicate article targeting the same keyword as a better post may need merging, not rewriting.
This is why a rewrite tool should not only generate text. It should help the user think like an editor.
SEOvault AI’s rewrite flow is strongest when used on articles that still have strategic value but need a serious refresh.
## The missing piece in many rewrite tools: target direction
There is one important point from the audit.
SEOvault AI’s Rewrite Existing Article feature does not require a focus keyword. That is a good UX decision for users who simply want to revive an existing article without thinking about keyword research.
But there is also a future opportunity here.
Sometimes a user does not only want to refresh an article. They want to reposition it.
For example:
* An old article titled “Best WordPress Table Plugins” may need to become “How to Add Tables in WordPress Without a Plugin.”
* An old article about “AI writing tools” may need to become more specific, such as “AI writing tools for WordPress affiliate content.”
* An old tutorial may need to shift from beginner intent to buyer intent.
In those cases, users may benefit from an optional field like:
“New target keyword”
“New search intent”
“Refresh direction”
“Rewrite goal”
That would make the feature even stronger because it would support both types of content refresh:
* Refresh this article for the same topic.
* Refresh this article for a better topic angle.
Still, even without that control, the current workflow is much more useful than a basic rewrite button.
## How this helps WordPress publishers specifically
WordPress sites are especially vulnerable to zombie content.
A typical WordPress creator may publish for years. [**Product reviews**](https://seovaultai.com/blog/how-to-create-product-review-boxes-in-wordpress-without-a-plugin/), **tutorials**, **plugin comparisons**, **affiliate roundups**, **informational posts**, and **how-to guides** pile up quickly.
The problem is that WordPress content ages fast:
* Plugins change.
* Screenshots become outdated.
* Pricing changes.
* Shortcodes stop working.
* Gutenberg behavior changes.
* Schema advice changes.
* Affiliate programs change.
* Search results become more competitive.
A post that looked complete in 2021 can feel thin in 2026.
For a solo publisher, manually refreshing every old article is exhausting. You need to open the post, read it, compare the SERP, identify gaps, outline improvements, rewrite sections, add FAQs, improve formatting, and prepare the final version for WordPress.
That is hours of work per post.
SEOvault AI’s Rewrite Existing Article feature compresses that workflow into a guided process. The goal is not to remove the human editor. The goal is to remove the blank-page pain and the audit burden.
You still decide what deserves publishing.
But you do not have to start from zero.
## A better workflow for reviving zombie articles
Here is a practical workflow for using SEOvault AI on old content:
1. Start with [Google Search Console](https://search.google.com/search-console). Find pages that have impressions but weak clicks, or pages that lost traffic over the last 3 to 12 months.
2. Pick one article that still matters to your site.
3. Paste the URL or article content into SEOvault AI’s **Rewrite Existing Article** feature or open it by clicking on its title in the left pane.
4. Let the system audit the article and prepare a rewrite plan.
5. Review the plan carefully. Look for missing sections, outdated claims, weak examples, and places where the article should become more useful.
6. Generate the refreshed draft.
7. Edit it like a publisher, not like a passenger. Add your own examples, screenshots, product notes, affiliate disclosures, internal links, and brand voice.
8. Republish the updated article.
9. Track the result over the next few weeks.
This turns content maintenance into a repeatable system.
And that is the key.
A one-time refresh is helpful.
A repeatable refresh workflow can change the economics of a content site.
## The real goal: fewer dead posts, more useful pages
Zombie articles are not just an SEO problem. They are a trust problem.
Every weak article tells the reader something about your site.
Every outdated screenshot says the page is not maintained.
Every old recommendation makes the reader question the rest of your advice.
Every thin post wastes a chance to build authority.
The solution is not to publish endlessly. The solution is to maintain what deserves to live.
That means your content library should become more intentional over time.
Keep the pages that help.
Improve the pages with potential.
Merge the pages that overlap.
Remove the pages that no longer serve a purpose.
SEOvault AI’s Rewrite Existing Article feature is built for the “improve” part of that system.
It gives WordPress creators a faster way to take an aging article, understand what is wrong with it, plan the update, and produce a stronger version.
Not a lazy rewrite.
Not a synonym swap.
Not a content spinner.
A structured revival workflow.
## Bring your old articles back before writing 50 new ones
If your site has been online for more than a year, there is a good chance you already have content worth saving.
Some of your old posts may be sitting just outside meaningful rankings.
Some may have useful backlinks but weak information.
Some may still target good topics but fail to match today’s search intent.
Some may only need better structure, fresher examples, stronger FAQs, and clearer formatting.
Those articles are not dead forever.
They are waiting for maintenance.
SEOvault AI’s **Rewrite Existing Article** feature helps you find the path from stale article to useful asset again. Paste the article, review the plan, generate the refresh, and bring the page back into your content strategy.
Before you write another post from scratch, check your archive.
Your next traffic win may already be published.
## FAQ
### What is a zombie article?
A zombie article is an old post that is still live on your site but no longer brings meaningful traffic, clicks, or reader value. It may be outdated, too thin, misaligned with search intent, or simply not competitive anymore.
### Should I rewrite every old article on my site?
No. Focus first on articles that still have strategic value, such as pages with impressions, backlinks, buyer intent, or historical rankings. Some posts are better to merge, redirect, or remove.
### How does SEOvault AI help with rewriting old content?
SEOvault AI’s **Rewrite Existing Article** feature is built to audit the existing page, identify what should be protected, compare the content against SERP expectations, and generate a structured rewrite plan before drafting.
### Is a rewrite the same as a refresh?
Not always. A refresh may only need small updates like new examples, better formatting, or updated facts. A rewrite is usually stronger and may involve reorganizing the article, replacing weak sections, and improving the overall angle.
### What kind of articles are best to revive?
The best candidates are posts that used to perform, still match an important topic, or have backlinks and impressions worth preserving. These are often tutorials, reviews, comparison posts, and affiliate articles that have gone stale over time.
---
## How to Add Code Blocks With Copy Button Style in WordPress
URL: https://seovaultai.com/blog/how-to-add-code-blocks-with-copy-button-style-in-wordpress
Learn how to add clean, styled code blocks in WordPress with language labels, themes, line numbers, wrapping options, and copy button styling without relying on JavaScript by default.
# How to Add Code Blocks With Copy Button Style in WordPress
Published on June 6, 2026 · Tags: wordpress, code-blocks, tutorials, content-blocks, seovault-ai
**Code snippets** are a core part of [WordPress](https://wordpress.org) tutorials, developer blogs, plugin documentation, theme customization guides, SEO tutorials, and technical how-to articles.
If you write posts that include **HTML**, **CSS**, **JavaScript**, **PHP**, `.htaccess`, `robots.txt`, shortcodes, command-line examples, or configuration snippets, the way your code appears matters.
A plain paragraph of code is hard to read. A default WordPress code block can work for simple examples, but it often lacks the polish readers expect from modern technical content. Good code blocks should be easy to scan, visually separate from the rest of the article, clearly labeled, and simple to copy.
That is why many technical publishers want code blocks with a **copy button** style.
However, there is an important technical distinction: a visual copy label or copy-style button can be created with **HTML** and **CSS** alone, but a truly functional copy button that copies code to the clipboard requires **JavaScript** or browser-side scripting. If a tool claims to provide a working copy button without any JavaScript at all, that claim deserves scrutiny.
[SEOvault AI](https://seovaultai.com)’s planned Code Block Rich Block is designed around this practical reality. It can help WordPress content creators create styled, readable code blocks with language labels, themes, font presets, density options, line numbers, wrapping, headers, and visual copy label/button styles. By default, the injected WordPress output should not rely on JavaScript. That means the v1 copy label may be visual-only unless the WordPress site already has compatible JavaScript, a theme script, or a plugin that enables functional copying.
This guide explains how styled code blocks work in WordPress, why the default formatting may not be enough, how copy button styling should be handled honestly, and how [SEOvault AI](https://seovaultai.com) can simplify the workflow for technical publishers.
## Why Default WordPress Code Formatting May Not Be Enough
WordPress includes basic options for displaying code. Depending on your editor setup, you may use the Code block, Preformatted block, Custom HTML block, or a **syntax highlighting plugin**.
For very short snippets, the default Code block may be enough. For example, if you only need to show a single CSS declaration or a small HTML element, a simple block can work.
But technical content often needs more.
Default code formatting may fall short when you need:
* **A visible language label**
* **Better spacing and typography**
* **Line numbers**
* **Wrapping control**
* **A header area**
* **A consistent design across posts**
* **A visual copy button or copy label**
* **Dark or light code themes**
* **Mobile-friendly layout**
* **Cleaner formatting for long snippets**
For tutorial writers, poor code formatting can create real **usability** problems. Readers may copy incomplete snippets, miss important indentation, struggle to identify the language, or confuse code with normal article text.
This matters especially for WordPress content because many tutorials target users who are not full-time developers. A beginner following a guide to edit `functions.php`, add CSS, update `.htaccess`, or modify `robots.txt` needs code presentation to be clear and careful.
Bad formatting can also make your content look less **professional**. A tutorial with **polished** code blocks feels more **trustworthy** than one with inconsistent snippets pasted in different styles throughout the article.
## What a Good Code Block Should Include
A good code block is not just a gray box with monospace text. It should support **readability**, accuracy, and **usability**.
Here are the most useful elements.
### Language Label
A **language label** tells readers what type of code they are viewing.
Examples:
* **HTML**
* **CSS**
* **JavaScript**
* **PHP**
* **robots.txt**
* **.htaccess**
* **JSON**
* **Bash**
This is especially helpful when a tutorial includes multiple languages in one article. For example, a WordPress tutorial may include PHP for `functions.php`, CSS for styling, and JavaScript for front-end behavior.
### Clear Header
A **header** can contain the language label, snippet title, file name, or visual copy label.
Examples:
* `functions.php`
* `style.css`
* `robots.txt`
* `Example HTML`
* `Copy code`
A header helps separate the code from surrounding explanatory text.
### Readable Font
Code should use a [monospace font](https://www.typewolf.com/top-10-monospaced-fonts) that is easy to read. The font should not be too small, cramped, or decorative.
A good code font improves legibility for symbols such as curly braces, semicolons, colons, quotes, backticks, slashes, and parentheses. These characters matter in code. A single missing quote or bracket can break a snippet.
### Theme
Many publishers prefer dark code blocks because they visually separate snippets from the article. Others prefer light themes because they blend better with editorial content.
The best option depends on your site design. The important thing is **consistency**.
### Density
**Density** controls spacing and padding.
A compact block may work for short snippets. A more spacious block may be better for beginner tutorials or long examples.
### Line Numbers
**Line numbers** can be useful when you explain code step by step.
For example:
> On line 4, change the URL to your own domain.
However, line numbers are not always necessary. They can make copying more complicated if implemented poorly. If line numbers are included, they should not become part of the copied code unless that is intentional.
### Wrapping
Long code lines can overflow on mobile devices. **Wrapping** can prevent horizontal scrolling, but it can also make code harder to understand when line breaks matter.
A good code block should let you choose whether to wrap long lines or preserve horizontal scrolling.
### Copy Label or Copy Button Style
A copy label or copy-style button helps readers identify the code as something they may want to copy.
But the implementation must be **honest**. A visual “Copy” label does not automatically copy anything. Functional clipboard behavior requires JavaScript or a compatible site script.
## Important Note About Copy Buttons
Before adding copy buttons to WordPress code blocks, it is important to understand what is technically possible.
### True Copy Buttons Require JavaScript
A real copy button needs to interact with the browser clipboard. In modern browsers, that typically means using the **Clipboard API** through JavaScript.
HTML and CSS alone can create the appearance of a button, but they cannot copy text to the clipboard by themselves.
That means a fully functional “Copy” button normally requires one of the following:
* A WordPress plugin that adds copy-to-clipboard functionality
* A theme script
* Custom JavaScript added by the site owner
* A block system that enqueues front-end JavaScript
* A compatible script already present on the website
### A Visual Copy Label Can Be Styled Without JavaScript
You can create a visual label that looks like a copy button using HTML and CSS.
For example, the header of a code block may show:
* `HTML`
* `Copy`
* `Copy code`
* `Select and copy`
* `Snippet`
This can improve the interface even if it does not provide functional clipboard behavior.
The label sets reader expectations visually, but it should not **mislead** users. If the label is not functional, it should either be styled as a label rather than an active button, or the site should add compatible JavaScript to make it work.
### Functional Copy May Require a Plugin or Theme Script
If you want the copy button to actually copy the code, your WordPress site needs **front-end behavior**.
That may come from:
* A syntax highlighting plugin
* A custom code snippet
* Your theme
* A dedicated clipboard script
* A future advanced version of a rich block system
[SEOvault AI](https://seovaultai.com)’s v1 injected output does not rely on JavaScript by default. Therefore, its copy label/button style may be visual-only unless your WordPress site has compatible JavaScript available.
This is not a weakness. It is a **transparent** implementation choice. Many site owners prefer clean HTML/CSS output because it is **lightweight**, **portable**, and less likely to conflict with WordPress themes or plugins.
## Manual HTML/CSS Method
You can create styled code blocks manually with HTML and CSS.
A simple structure might look like this:
```
<div class="example">Hello WordPress</div>
```
Then you could style it with CSS:
```
.tutorial-code-block { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; margin: 24px 0;}
.tutorial-code-header { display: flex; justify-content: space-between; padding: 10px 14px; font-family: monospace; font-size: 13px;}
.tutorial-code-block pre { margin: 0; padding: 16px; overflow-x: auto;}
.copy-label { font-size: 12px;}
```
This method gives you strong control and does not require a plugin. It also works well if you are comfortable writing HTML and CSS.
However, it has drawbacks:
* It takes time to build each block.
* It can be tedious across many articles.
* Styling may become inconsistent.
* Escaping HTML code manually can be annoying.
* It may be difficult for non-technical writers.
* Functional copy still requires JavaScript.
* Long snippets may need extra formatting care.
Manual code blocks are practical for developers, but they are not always efficient for content teams, affiliate tutorial writers, or SEO writers producing a lot of technical posts.
## Easier Method Using SEOvault AI Code Block
[SEOvault AI](https://seovaultai.com)’s planned Code Block Rich Block is designed to make styled code blocks easier to create without forcing users to install a dedicated code formatting plugin.
Instead of manually writing HTML and CSS each time, users can paste code into [SEOvault AI](https://seovaultai.com) and configure the output visually.
The Code Block Rich Block can support fields and options such as:
* Code input
* Language label
* Theme
* Font preset
* Density
* Line numbers
* Wrapping
* Header
* Visual copy label/button style
The generated WordPress output can then be injected into the post.
This is useful for:
* WordPress tutorial writers
* Plugin documentation creators
* Theme customization bloggers
* Technical SEO writers
* Affiliate reviewers explaining software setup
* Developers publishing code snippets
* SaaS tutorial creators
The key benefit is **workflow speed**. You can create polished code blocks without repeatedly formatting every snippet by hand.
Just as important, [SEOvault AI](https://seovaultai.com) can keep the implementation **transparent**. In v1, a copy label may be visual-only unless the WordPress site has compatible JavaScript. This avoids falsely promising clipboard behavior when the output is intentionally HTML/CSS-first.
## Step-by-Step Tutorial: Add a Code Block With SEOvault AI
### 1\. Open Code Block
Open [SEOvault AI](https://seovaultai.com) and go to the Rich Blocks section.
Choose **Code Block** from the available block options.
This opens the Code Block builder where you can configure the snippet.
### 2\. Paste Code
Paste your code into the code input area.
This could be HTML, CSS, JavaScript, PHP, `robots.txt`, `.htaccess`, JSON, shortcode examples, or command-line snippets.
Before continuing, check that your code is complete. Make sure no opening or closing tags are missing.
### 3\. Choose Language
Select the **language label** that should appear on the code block.
Examples:
* HTML
* CSS
* JavaScript
* PHP
* robots.txt
* .htaccess
The label helps readers understand the snippet before they copy or use it.
If the snippet is a configuration file, use the file type as the label. For example, use `.htaccess` instead of “Apache” if that is clearer for your audience.
### 4\. Pick Theme
Choose a visual **theme**.
A dark theme may work well for developer-focused sites. A light theme may be better for editorial sites or beginner-friendly blogs.
Do not choose a theme only because it looks stylish. Prioritize **contrast**, **readability**, and consistency with your site design.
### 5\. Toggle Line Numbers and Wrapping
Decide whether the snippet needs **line numbers**.
Use line numbers when you refer to specific lines in your explanation. Turn them off for short snippets where they add clutter.
Then choose whether long lines should **wrap**.
Wrapping can improve mobile readability, but horizontal scrolling may better preserve formatting for commands, URLs, or long configuration lines.
### 6\. Preview and Inject
Preview the code block before inserting it into WordPress.
Check:
* **Is the language label correct?**
* **Is the code readable?**
* **Is the spacing comfortable?**
* **Does the snippet fit on mobile?**
* **Are line numbers useful or distracting?**
* **Does the copy label look like a label or an actual button?**
* **If the copy control is functional, does the site have compatible JavaScript?**
Once the block looks right, inject it into the WordPress post.
After inserting, preview the post on the front end. Themes can change spacing, font rendering, and layout behavior.
## Example Code Snippets
Below are example snippets that a WordPress tutorial might include inside styled code blocks.
### HTML Example
```
Tip: Always back up your WordPress site before editing theme files.
```
This type of snippet is useful for tutorial writers explaining custom content boxes, callouts, or reusable HTML patterns.
### CSS Example
```
.notice-box { padding: 16px; border-radius: 8px; border: 1px solid #d9e2ec; background: #f8fafc; margin: 24px 0;}
.notice-box strong { display: block; margin-bottom: 6px;}
```
CSS snippets benefit from clean **indentation** and readable **spacing**. Line wrapping should be handled carefully so property names and values remain easy to scan.
### JavaScript Example
```
document.querySelectorAll('[data-copy-target]').forEach((button) => { button.addEventListener('click', async () => { const target = document.querySelector(button.dataset.copyTarget); await navigator.clipboard.writeText(target.innerText); button.innerText = 'Copied'; });});
```
This example shows the type of JavaScript that may be needed for functional copy behavior. Without JavaScript, a copy button can be visual, but it cannot actually copy the snippet to the clipboard.
### PHP Example
```
function seo_vault_custom_excerpt_length($length) { return 24;}
add_filter('excerpt_length', 'seo_vault_custom_excerpt_length');
```
PHP snippets are common in WordPress tutorials. Always remind readers to use a **child theme**, custom plugin, or safe snippet manager when editing PHP on a live site.
### robots.txt Example
```
User-agent: *Disallow: /wp-admin/Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml
```
For `robots.txt`, clarity is critical. A small mistake can affect how search engines crawl a site.
### .htaccess Example
```
# Redirect HTTP to HTTPSRewriteEngine OnRewriteCond %{HTTPS} !=onRewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```
`.htaccess` snippets should be presented carefully because incorrect rules can break access to a WordPress site. Encourage users to **back up** the file before editing.
## Best Practices for WordPress Code Blocks
### Use the Correct Language Label
Do not label every snippet as “code.” Use the actual language or file type whenever possible.
This helps readers understand where the snippet belongs.
### Keep Snippets Focused
Avoid dumping huge files into an article unless necessary.
Shorter, focused snippets are easier to understand and safer for readers to apply.
### Explain Where the Code Goes
A code block is not enough by itself. Tell readers where to place the snippet.
Examples:
* Add this to your child theme’s `style.css` file.
* Place this in a custom plugin, not directly in the parent theme.
* Add this rule to the top of your `.htaccess` file.
* Paste this into your `robots.txt` file.
### Be Careful With PHP Instructions
PHP errors can break a WordPress site.
When sharing PHP snippets, encourage safer practices such as using a child theme, **staging site**, custom plugin, or snippet manager.
### Preserve Formatting
**Indentation**, **spacing**, and line breaks can matter.
Make sure the injected code block preserves the original formatting.
### Avoid Misleading Copy Buttons
If the copy label is visual-only, do not present it as a working copy button.
Use language such as:
* Copy
* Copy code
* Select and copy
But make sure the visual design does not **mislead** readers into thinking the button is functional when no JavaScript exists.
### Test on Mobile
Many readers follow tutorials from a phone or tablet while working on a desktop.
Make sure code blocks remain readable on small screens.
### Use Disclosures When Needed
If the tutorial includes affiliate links to plugins, themes, hosting providers, or SaaS tools, include a clear disclosure near the relevant links.
## Common Mistakes
### Claiming Copy Works Without JavaScript
A real **copy-to-clipboard** button requires JavaScript or a compatible front-end script. Do not claim a button works if it is only a visual label.
### Using Low Contrast Themes
A beautiful code theme is useless if readers cannot read it.
Choose **accessible contrast** over decoration.
### Making Code Blocks Too Narrow
Narrow code blocks can cause excessive wrapping and make snippets harder to understand.
### Forgetting to Escape HTML
If you place raw HTML inside a WordPress editor incorrectly, it may render as HTML instead of displaying as code.
Use proper code formatting so readers see the snippet itself.
### Mixing Too Many Styles
If every code block uses a different theme, density, or header style, the article may feel inconsistent.
Choose a system and reuse it.
### Omitting Context
Never drop a code snippet into an article without explaining what it does, where it goes, and what the reader should expect.
### Sharing Risky Snippets Without Warnings
Snippets that modify `.htaccess`, PHP, redirects, indexing, or security behavior should include careful **context** and **backup** advice.
## Try SEOvault AI Code Block
If you publish WordPress tutorials, developer guides, plugin reviews, or technical SEO articles, styled code blocks can make your content more readable and more professional.
[SEOvault AI](https://seovaultai.com)’s Code Block Rich Block is designed to help you create polished code sections without installing another small formatting plugin.
You can paste your snippet, choose a language label, pick a theme, adjust density, toggle line numbers or wrapping, add a header, and apply a visual copy label style before injecting the block into WordPress.
For v1, the output can stay **lightweight** and avoid JavaScript by default. If your site has compatible JavaScript, a copy control may be made functional. Otherwise, the copy label should be treated as a visual UI element.
That balance keeps the workflow practical, **transparent**, and suitable for content creators who want better code presentation without unnecessary plugin overhead.
## FAQ
### Can I add code blocks in WordPress without a plugin?
Yes. You can use the default WordPress Code block, Preformatted block, Custom HTML block, reusable patterns, or manually styled HTML/CSS. [SEOvault AI](https://seovaultai.com) can provide another workflow by generating styled code block output that you inject into WordPress.
### Can I create a copy button without JavaScript?
You can create a visual copy label or button style with HTML and CSS, but a true copy-to-clipboard button requires JavaScript or a compatible front-end script.
### Does SEOvault AI’s Code Block copy button work automatically?
In v1, [SEOvault AI](https://seovaultai.com)’s injected copy label may be visual-only unless the WordPress site has compatible JavaScript, a theme script, or a plugin that enables functional copying. This keeps the default output lightweight and avoids relying on JavaScript by default.
### Should I use line numbers in code blocks?
Use line numbers when you refer to specific lines in your explanation. For short snippets, line numbers may be unnecessary and can add visual clutter.
### Should long code lines wrap?
It depends on the snippet. Wrapping improves mobile readability, but horizontal scrolling can better preserve formatting for URLs, commands, and configuration files.
### What languages should WordPress tutorial writers label?
Common labels include HTML, CSS, JavaScript, PHP, JSON, Bash, shortcode, `robots.txt`, `.htaccess`, and file names such as `functions.php` or `style.css`.
### Are styled code blocks good for SEO?
Styled code blocks can improve **readability**, content structure, and user experience. However, they do not guarantee higher rankings by themselves. Treat them as a usability and presentation improvement, not a ranking shortcut.
### Should I include JavaScript snippets for copy buttons in every tutorial?
Not necessarily. If the article is about creating functional copy buttons, JavaScript may be necessary. If the goal is simply to show code clearly, a visual copy label and clean formatting may be enough.
### Is a code block plugin better than SEOvault AI?
A dedicated plugin may be better if you need automatic syntax highlighting, front-end copy functionality, or advanced code management across many posts. [SEOvault AI](https://seovaultai.com) is a better fit when you want lightweight, styled code block output as part of a broader content workflow.
## Final Thoughts
Code blocks are more than decorative formatting. For technical WordPress content, they affect **readability**, accuracy, **trust**, and user experience.
A good code block should clearly show the language, preserve formatting, provide readable spacing, support mobile viewing, and avoid misleading copy controls.
If you only need basic formatting, WordPress’s default blocks may be enough. If you need advanced syntax highlighting and functional clipboard behavior, a dedicated plugin or theme script may be useful. But if you want a practical middle ground, [SEOvault AI](https://seovaultai.com)’s Code Block Rich Block can help you create polished, consistent code blocks without adding another small plugin to your WordPress setup.
The key is to stay **transparent**: visual copy labels can be created without JavaScript, but true copy buttons require JavaScript. Once that distinction is clear, you can build better code presentation for readers while keeping your WordPress workflow clean and efficient.
---
## How to Create Product Review Boxes in WordPress Without a Plugin
URL: https://seovaultai.com/blog/how-to-create-product-review-boxes-in-wordpress-without-a-plugin
Learn how to create professional product review boxes in WordPress without installing a review plugin. Compare manual methods and discover an easier workflow with SEO Vault Product Review Summary Boxes.
# How to Create Product Review Boxes in WordPress Without a Plugin
Published on June 6, 2026 · Tags: wordpress, product-reviews, affiliate-marketing, content-blocks, seovault-ai
**Product reviews** are one of the most effective content formats for **affiliate marketers**, **SaaS reviewers**, [WordPress bloggers](https://wordpress.org), and **niche website owners**.
Whether you’re reviewing a **software platform**, [WordPress plugin](https://wordpress.org/plugins), **online course**, **web hosting company**, or **physical product**, readers often want the same thing before they scroll through thousands of words:
**A quick summary of your recommendation.**
That’s why product review boxes have become common in modern review content.
A **review summary box** gives readers an immediate overview of the product, including the **rating**, **verdict**, key strengths, pricing information, and who the product is best suited for. Instead of forcing visitors to search through the entire article, the most important information appears in a clear, visual format.
Many [WordPress](https://wordpress.org) users install dedicated **review plugins** to create these boxes. However, not every site needs another plugin just to display review summaries.
In this guide, you’ll learn why review boxes are useful, when **review plugins** make sense, when they don’t, how to build review boxes manually, and how [SEO Vault’s](https://seovaultai.com) **Product Review Summary Box** can simplify the process.
## Why Review Boxes Are Useful
Review articles often contain a lot of information:
* Product features
* Pricing details
* Pros and cons
* Comparisons
* Screenshots
* User experience
* Alternatives
While detailed content is valuable, many visitors want a quick answer before committing to a full read.
A well-designed review box helps by providing:
### Faster Information Access
Readers can immediately understand:
* What the product is
* Whether you recommend it
* Who it is best for
* The overall rating
* The primary benefit
This improves usability without replacing the full review.
### Better Content Structure
Large review articles can feel overwhelming.
A review summary box acts as a content anchor near the beginning of the article and helps visitors understand what they’ll learn.
### More Consistent Reviews
If every review on your site uses a similar format, readers know where to find important information.
**Consistency** makes your content feel more professional.
### Better User Experience
Good review boxes improve **readability** and scanning.
Visitors who are evaluating multiple products often appreciate having key information condensed into a single section.
### Stronger Calls to Action
Review boxes naturally provide a place for **action buttons** such as:
* Visit Website
* Start Free Trial
* Check Pricing
* Learn More
These buttons can be added in a way that feels helpful rather than intrusive.
## Why WordPress Users Install Review Box Plugins
Search for **review plugins** and you’ll find dozens of options.
Many website owners install them because they offer:
* Review templates
* Ratings
* Pros and cons sections
* Product details
* CTA buttons
* Design customization
* [Schema](https://schema.org) generation
* Review management
For large review websites with extensive requirements, dedicated **review plugins** can be useful.
Some publishers also prefer centralized management for **review content**.
**Review plugins** can help automate repetitive tasks and create standardized layouts across hundreds of articles.
However, plugins are not always necessary.
## When a Dedicated Review Plugin Is Unnecessary
Many affiliate marketers only need a professional-looking review summary box.
They don’t necessarily need:
* Complex review databases
* Sitewide rating systems
* Extensive review management dashboards
* Additional plugin settings
* Plugin maintenance overhead
In these situations, installing another plugin may add complexity without providing significant value.
Common examples include:
### Small Affiliate Sites
A **niche site** publishing a few reviews per month may only need reusable review boxes inside posts.
### SaaS Review Blogs
Many **SaaS reviews** follow a simple structure:
* Product name
* Rating
* Verdict
* Best for
* Pricing
* CTA
A **lightweight review box** often covers everything required.
### WordPress Plugin Review Sites
**Plugin reviewers** frequently compare plugins and recommend solutions.
A compact **review summary** near the top of the article may be sufficient.
### Existing SEO Vault Users
If you’re already using [SEO Vault](https://seovaultai.com) for content creation and optimization, creating review boxes through **Rich Blocks** can simplify your workflow without adding another plugin to your WordPress installation.
## What a Good Review Summary Box Should Include
A **review box** should be informative without becoming cluttered.
The goal is to help readers make a **quicker evaluation**.
The best review summary boxes usually include:
### Product Name
The reviewed product should be immediately identifiable.
### Rating
A simple rating helps summarize your overall evaluation.
Examples:
* 8.5/10
* 4.5/5
* Excellent
* Recommended
The specific format matters less than **consistency**.
### Short Verdict
A concise **verdict**.
For example:
> Excellent SEO tool for affiliate marketers who want content optimization and workflow automation.
### Best For
Readers often ask:
“Is this product for someone like me?”
The **best-for** section answers that question quickly.
### Price Information
Simple **pricing details** can help readers assess affordability.
Examples:
* Starts at $29/month
* Free plan available
* One-time payment
### Key Benefit
Every product should have a primary **selling point**.
Examples:
* Best keyword clustering workflow
* Fastest image optimization
* Simplified affiliate content creation
### Mini Pros and Cons
Short **pros and cons** improve balance and **credibility**.
### CTA Button
Readers should have a clear **next step**.
Examples:
* Visit Website
* Start Free Trial
* View Pricing
### Optional Affiliate Disclosure
If your **CTA** includes affiliate links, consider including a short **affiliate disclosure** near the review box. See [FTC disclosure guidelines](https://ftc.gov/business-guidance/advertising-and-marketing/clarifying-businesses-decisions-disclosures) for requirements.
## Manual HTML/CSS Method
One way to create review boxes is **manually**.
You can build a custom **HTML block** in WordPress and style it using **CSS**.
A basic review box might contain:
* Product title
* Rating
* Verdict
* Product details
* Pros and cons
* CTA button
**Advantages:**
* Full design control
* No plugin required
* Highly customizable
**Disadvantages:**
* Time-consuming
* Repetitive
* Requires HTML/CSS knowledge
* Harder to maintain
* Less efficient for large content libraries
If you only create one or two review posts, manual implementation may be acceptable.
For ongoing review publishing, it often becomes tedious.
If you want a faster visual approach, you can use the [free Product Review Box Generator](https://seovaultai.com/tools/product-review-box/) to build a review box with presets, live preview, and copy-paste HTML — no account required.
## Easier Method Using SEO Vault
SEO Vault’s **Product Review Summary Box** under **Rich Blocks** — and the standalone [Product Review Box Generator](https://seovaultai.com/tools/product-review-box/) — are designed to streamline the review box creation process.
Instead of manually designing review boxes every time, users can generate structured **review summaries** using predefined fields.
The goal is not to automate opinions or create misleading **ratings**.
The goal is to make review presentation faster, cleaner, and more **consistent**.
A **Product Review Summary Box** can include:
* Product name
* Rating
* Verdict
* Best for
* Price
* Key benefit
* Details
* Mini pros
* Mini cons
* CTA button
* Optional affiliate disclosure
This allows content creators to focus on writing the review rather than repeatedly building **layouts**.
## How to Create a Review Box Using SEO Vault
### Step 1: Open Product Review Summary Box
Open [SEO Vault](https://seovaultai.com) and navigate to **Rich Blocks**.
Select **Product Review Summary Box**.
This launches the review box builder.
### Step 2: Add Product Name
Enter the name of the product being reviewed.
Examples:
* [**SEO Vault**](https://seovaultai.com)
* [Rank Math](https://rankmath.com)
* [Ahrefs](https://ahrefs.com)
* [Elementor](https://elementor.com)
* [ConvertKit](https://convertkit.com)
The product name serves as the primary heading of the **review summary**.
### Step 3: Add Verdict
Write a short **verdict**.
Keep it **concise** and practical.
Examples:
* Excellent all-in-one SEO workflow tool.
* Great choice for WordPress beginners.
* Powerful solution for content teams.
Readers should understand your conclusion immediately.
### Step 4: Add Rating
Enter your **rating**.
Examples:
* 9.2/10
* 4.7/5
* Highly Recommended
The exact scoring methodology is less important than **consistency** across reviews.
### Step 5: Add Best For, Price, and Key Benefit
These fields provide quick context.
Examples:
**Best For:** Affiliate marketers and content publishers
**Price:** Starts at $19/month
**Key Benefit:** Accelerates WordPress content workflows
This section often delivers the highest value to **scanning readers**.
### Step 6: Add CTA Button
Choose the **CTA** text and destination URL.
Examples:
* Visit Website
* Start Free Trial
* View Pricing
* Learn More
Keep **CTA** wording clear and relevant.
### Step 7: Add Optional Disclosure
If your review includes affiliate links, you may wish to include a **disclosure**.
Example:
> This review may contain affiliate links. We may earn a commission if you purchase through our links at no additional cost to you.
Adjust wording according to your program requirements and applicable regulations.
### Step 8: Preview and Inject
Preview the review box.
Check:
* **Mobile appearance**
* Typography
* **CTA visibility**
* Spacing
* Overall **readability**
Once satisfied, inject the review box into your WordPress content.
## Example Review Box Copy
### SaaS Tool Review
**Product:** SEO Vault
**Rating:** 9.4/10
**Verdict:** Excellent productivity and SEO workflow platform for WordPress content creators.
**Best For:** Affiliate marketers and bloggers
**Price:** Freemium
**Key Benefit:** Streamlines content creation and optimization tasks.
**Pros:**
* Time-saving workflows
* WordPress-focused features
* Rich content blocks
**Cons:**
* Some advanced features may require higher plans
**CTA:** Start Free
### WordPress Plugin Review
**Product:** Rank Math
**Rating:** 9.1/10
**Verdict:** Powerful SEO plugin suitable for most WordPress websites.
**Best For:** Site owners wanting advanced SEO controls.
**Price:** Free with premium upgrades.
**Key Benefit:** Comprehensive SEO functionality in one plugin.
### Affiliate Product Review
**Product:** Premium Web Hosting Service
**Rating:** 8.8/10
**Verdict:** Reliable hosting solution with strong performance and support.
**Best For:** Growing websites and affiliate blogs.
**Price:** Starts at $12/month.
**Key Benefit:** Fast loading times and dependable uptime.
## Best Practices
### Keep Ratings Consistent
Use a standardized scoring approach across all reviews.
### Prioritize Reader Value
The review box should **summarize**—not replace—the review.
### Include Balanced Information
Avoid making every product look perfect.
**Pros and cons** improve **credibility**.
### Make CTAs Relevant
Use action text that matches user intent.
### Keep Mobile Users in Mind
Review boxes should remain easy to read on **smaller screens**.
### Update Reviews Periodically
Products change.
Review summaries should be updated when major product updates occur.
### Consider Schema as an Advanced Enhancement
Some publishers may later explore [Product](https://schema.org/Product) or [Review schema](https://schema.org/Review) implementations.
However, review boxes themselves can provide value even without **structured data**.
Focus first on **user experience** and clear presentation.
## Common Mistakes
### Making Review Boxes Too Large
A review box should **summarize** information, not duplicate the entire review.
### Overusing Design Elements
Too many colors, icons, badges, and buttons can become **distracting**.
### Inflating Ratings
Readers quickly notice unrealistic **scoring systems**.
Maintain **consistency** and **credibility**.
### Ignoring Mobile Layout
A review box that looks great on desktop but breaks on **mobile** creates a poor experience.
### Writing Generic Verdicts
A **verdict** should provide a meaningful takeaway.
Avoid vague statements like:
> Great product.
Instead explain why.
### Forgetting Disclosures
If affiliate links are present, make sure appropriate **disclosures** are included.
## Try SEO Vault for Faster Review Boxes
Creating professional review boxes does not necessarily require another WordPress plugin.
[SEO Vault’s](https://seovaultai.com) **Product Review Summary Box** is designed to help content creators generate clean, reusable **review summaries** directly from the **Rich Blocks** workflow.
Alternatively, you can use the [free Product Review Box Generator](https://seovaultai.com/tools/product-review-box/) to build and preview a review box visually with presets, then copy the clean HTML into any WordPress post.
Instead of manually building layouts for every review, you can create structured review boxes with **ratings**, **verdicts**, product details, **pros and cons**, **CTA buttons**, and optional disclosures in just a few steps.
For **affiliate marketers**, **SaaS reviewers**, **plugin reviewers**, and **niche site owners**, this can simplify the content production process while keeping review pages polished and **consistent**.
## FAQ
### Do I need a review plugin to create review boxes in WordPress?
No. You can create review boxes manually using HTML and CSS, use reusable blocks, or generate them through tools such as SEO Vault.
### Are review boxes good for SEO?
Review boxes can improve content organization and **user experience**. While better usability may indirectly support engagement, review boxes alone do not guarantee higher rankings.
### Should every review include a rating?
Not necessarily. However, **ratings** provide a quick summary that many readers find useful.
### What should I include in a review summary box?
At minimum:
* Product name
* **Verdict**
* **Rating**
* Best for
* **CTA button**
Additional details like pricing, benefits, and pros/cons can provide more context.
### Where should I place a review box?
Most publishers place review boxes near the top of the review article, after the introduction and before detailed analysis.
### Should I include affiliate disclosures inside the review box?
That depends on your content and affiliate program requirements. Many publishers include a short disclosure near the review summary or **CTA** area.
### Can SEO Vault create different review box styles?
Yes. The **Product Review Summary Box** is intended to support multiple styling options so users can create review summaries that match their site design.
## Final Thoughts
Product review boxes help readers evaluate products more quickly and improve the overall structure of review content.
While dedicated review plugins can be useful for some websites, many publishers only need a clean, reusable review summary section.
Whether you build review boxes manually or use [SEO Vault’s](https://seovaultai.com) Product Review Summary Box, focus on clarity, balance, consistency, and helping readers make informed decisions.
The best review boxes don’t try to sell aggressively—they help readers understand the product and decide whether it’s right for them.
---
## How to Make WordPress Articles Look Professional Without Page Builders
URL: https://seovaultai.com/blog/how-to-make-wordpress-articles-look-professional-without-page-builders
Learn how to make WordPress blog posts look more professional without Elementor, Divi, or heavy page builders by using structured content blocks, better visual hierarchy, and SEOvault AI Rich Blocks.
# How to Make WordPress Articles Look Professional Without Page Builders
Published on June 6, 2026 · Tags: wordpress, design, content-blocks, seo, seovault-ai
Many [WordPress](https://wordpress.org) articles start with good information but still look unfinished.
The writing may be helpful. The keyword research may be solid. The topic may have strong search intent. But when the post is published, it looks like a long wall of text with a few headings, some basic images, and maybe a plain table.
That is a problem.
Modern readers scan before they commit. **Affiliate** visitors compare options quickly. **SEO** traffic often lands in the middle of a page, looking for a specific answer. If your article feels flat, cluttered, or hard to navigate, readers may leave even if the content itself is useful.
This is one reason many WordPress users reach for **page builders** such as [Elementor](https://elementor.com), [Divi](https://www.elegantthemes.com/gallery/divi/), or similar visual design tools. **Page builders** are powerful. They are useful for landing pages, sales pages, homepages, service pages, and complex layouts that need full visual control.
But for normal blog posts, tutorials, affiliate reviews, and niche site articles, a full page builder can be overkill.
Most articles do not need a complex drag-and-drop layout. They need better **content presentation**: cleaner tables, useful callout boxes, review summaries, pros and cons sections, **FAQs**, disclosures, code blocks, and clear **calls to action**.
That is exactly the gap [SEOvault AI](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/)’s Rich Blocks feature is designed to fill.
Instead of installing a heavy page builder or stacking multiple small formatting plugins, **SEOvault AI** helps WordPress content creators add polished content sections directly into articles. The goal is simple: make posts look more **professional** while keeping the writing workflow **lightweight**.
## Why Page Builders Are Not Always Necessary for Blog Posts
**Page builders** are not bad tools. In many situations, they are the right choice.
If you are building a custom landing page, a pricing page, a homepage, a webinar registration page, or a visually complex sales page, a page builder can be extremely useful. It gives you **layout control**, **responsive design** options, templates, animations, columns, sections, and advanced styling features.
The issue is not that **page builders** are poor tools. The issue is that many WordPress blog posts do not need that level of complexity.
A standard **SEO** article usually needs:
* A strong introduction
* Clear headings
* Scannable sections
* Helpful visuals
* Comparison tables
* **Call-to-action** sections
* FAQs
* Summary boxes
* **Trust signals**
* Good **internal linking**
* Readable formatting
You can improve all of these without rebuilding the article inside a page builder.
For bloggers, **affiliate marketers**, **SEO writers**, and niche site owners, this matters because heavy workflows can slow down publishing. If every article requires custom page design, content production becomes harder to scale.
There are also maintenance considerations. **Page builders** may add extra markup, rely on plugin-specific layouts, require ongoing updates, and create dependency on a design system outside the native WordPress editor. That may be acceptable for important pages, but unnecessary for every informational article.
For article-level design, the better approach is often **modular enhancement**.
Instead of designing the entire page from scratch, you add the right **content blocks** in the right places.
That might mean:
* A **table of contents** after the intro
* A **CTA box** after an educational section
* A comparison table in the middle
* A **pros and cons box** before the verdict
* A product review summary near the top
* An **FAQ section** near the end
* A **disclosure box** before affiliate links
* An **info box** for warnings or notes
This gives the article **structure**, **rhythm**, and **visual hierarchy** without turning the post into a full page-building project.
## What Makes an Article Look Professional
A **professional**\-looking article is not just “prettier.” It is easier to read, easier to scan, and easier to trust.
Good article design supports the content. It does not distract from it.
The most important elements are **structure**, **spacing**, **hierarchy**, **consistency**, and purposeful emphasis.
### Clear Visual Hierarchy
**Visual hierarchy** tells the reader what matters first.
A strong article makes it obvious where the main sections begin, what information is important, and which elements require attention.
This comes from:
* **Strong H2 and H3 headings**
* **Short paragraphs**
* **Consistent spacing**
* **Bold text used sparingly**
* **Tables for comparison**
* **Boxes for important notes**
* **Buttons for clear actions**
* **Summary sections for quick decisions**
Without hierarchy, even good content feels difficult to process.
### Scannable Layout
Most readers do not read every word from top to bottom. They **scan** first.
They look for:
* The answer to their question
* Key recommendations
* Pricing
* Pros and cons
* Steps
* Warnings
* Final verdicts
* FAQs
**Professional** article formatting helps readers find those elements quickly.
### Consistent Design Patterns
**Consistency** makes articles feel intentional.
If one **CTA box** is blue, another is green, another has a thick border, and another uses a completely different style, the article starts to feel messy.
The same applies to **tables**, **pros and cons boxes**, **review boxes**, **note boxes**, and **FAQ sections**.
**Professional** content uses repeatable patterns.
### Purposeful Content Blocks
A **content block** should solve a specific problem.
A table helps compare details.
A CTA box guides action.
A note box highlights an important warning.
A review box summarizes a recommendation.
An FAQ section answers common follow-up questions.
A disclosure box makes affiliate relationships clear.
When blocks are used intentionally, they improve the article. When they are added randomly, they create **clutter**.
### Good Spacing and Readability
**Professional** posts are comfortable to read.
They avoid giant walls of text. They use enough **white space** between sections. They do not cram too much information into one area.
This is especially important on **mobile**, where long paragraphs and dense tables can become difficult to read.
## Content Blocks That Improve Article Design
The easiest way to make WordPress articles look more professional is to add useful content blocks.
These blocks do not replace the article. They organize and highlight important parts of it.
**SEOvault AI**’s Rich Blocks feature is built around this idea. It helps users add polished sections to posts without relying on heavy page builders or many small plugins.
Below are the most useful block types for article-level design.
### [Table of Contents](https://seovaultai.com/blog/add-table-of-contents-wordpress-without-plugin/)
A **table of contents** helps readers understand the **structure** of the article and jump to the section they need.
This is especially useful for:
* Long tutorials
* Buying guides
* Software reviews
* Comparison articles
* SEO guides
* Step-by-step posts
* Pillar content
A TOC near the top of the article can make long content feel more approachable.
For **SEO**\-focused content, a TOC can also improve user experience by making the page easier to navigate. It does not guarantee rankings, but it supports clarity and **engagement**.
### [CTA Boxes](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/)
A **CTA box** is a styled section that encourages the reader to take action.
Examples:
* Try a tool
* Download a checklist
* View pricing
* Read a related guide
* Join an email list
* Start a free trial
* Compare products
**CTA boxes** are especially useful because they separate promotional or **conversion**\-focused content from the main educational text.
Instead of inserting random links in the middle of paragraphs, a **CTA box** gives the action its own space.
The key is **restraint**. A few well-placed **CTAs** are better than constant interruptions.
### Tables
**Tables** make information easier to compare.
They are useful for:
* Pricing comparisons
* Feature breakdowns
* Product comparisons
* Plugin comparisons
* Pros and cons summaries
* Specifications
* Plans and tiers
* Checklist-style information
Plain WordPress tables can look basic. A **polished** table with good spacing, readable headers, and mobile-aware formatting can instantly improve the perceived quality of an article.
**SEOvault AI**’s Pretty Tables Rich Block is designed for this use case: turning raw line tables into cleaner, more professional-looking tables.
### [FAQ Sections](https://seovaultai.com/blog/add-faq-schema-wordpress-without-plugin/)
**FAQ sections** help answer common objections and follow-up questions near the end of an article.
They are useful for:
* Clarifying confusing points
* Supporting long-tail queries
* Reducing reader hesitation
* Summarizing important details
* Improving topical completeness
For many WordPress articles, a strong **FAQ section** can make the post feel more complete.
**SEOvault AI**’s FAQ Schema Block can help users create FAQ sections and optionally include **FAQPage** [JSON-LD](https://schema.org/FAQPage) when appropriate. The important rule is that any schema should match visible content on the page. Do not add hidden questions only for SEO purposes.
### [Pros and Cons Boxes](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/)
**Pros and cons boxes** are valuable in product reviews, comparison posts, **affiliate** articles, and decision-focused content.
They help readers quickly understand tradeoffs.
A good **pros and cons box** is balanced. It should not make every product look perfect. Including real limitations improves **credibility**.
Examples of where to use them:
* Product reviews
* SaaS reviews
* WordPress plugin reviews
* Hosting comparisons
* Tool roundups
* Buyer guides
### Product Review Summary Boxes
A **product review summary box** gives readers a quick overview of a product.
It can include:
* Product name
* Rating
* Short verdict
* Best for
* Price
* Key benefit
* Mini pros and cons
* CTA button
* Optional disclosure
This is useful for affiliate marketers, SaaS reviewers, and niche site owners who write review content.
A **polished** review box can make a review article feel more structured and professional without requiring a full review plugin.
### Notes and Callouts
**Info boxes**, **note boxes**, **warning boxes**, and **tip boxes** help highlight important information.
Examples:
* “Important: Back up your site before editing PHP.”
* “Tip: Use a child theme for custom CSS.”
* “Note: Pricing may change.”
* “Warning: This setting can affect indexing.”
These small blocks improve **readability** because they separate important context from the main paragraph flow.
They are especially useful in technical tutorials and WordPress guides.
### Affiliate Disclosure Boxes
**Affiliate disclosure boxes** help make monetized content more transparent.
If your article contains affiliate links, sponsored placements, or commercial relationships, readers should be able to understand that clearly.
A disclosure box near the beginning of the post or before the first affiliate section can make the relationship visible without distracting from the article.
This is not legal advice, and disclosure requirements vary by jurisdiction, platform, and affiliate program. But from a content design perspective, **disclosure boxes** help build **trust** and make monetization more transparent.
### Code Blocks
Technical articles often include code snippets.
A **professional** code block should preserve formatting, show a clear language label, and be easy to read.
Useful options include:
* Language label
* Header
* Line numbers
* Wrapping control
* Theme
* Font preset
* Visual copy label
A true functional copy button requires JavaScript or compatible site scripting. However, a visual copy label or copy-style header can be created without JavaScript.
**SEOvault AI**’s Code Block Rich Block is useful for tutorial writers, developers, plugin reviewers, and technical SEO writers who publish snippets regularly.
### Comparison Verdict Boxes
A **comparison verdict box** helps summarize a decision.
For example:
* “Best overall: Tool A”
* “Best for beginners: Tool B”
* “Best budget option: Tool C”
* “Best for agencies: Tool D”
This is useful for affiliate comparisons, SaaS roundups, and buying guides.
A **verdict box** helps readers who are scanning the article and want the conclusion quickly.
## How to Create These Blocks With SEOvault AI
**SEOvault AI**’s Rich Blocks feature is designed to make article enhancements faster and more consistent.
Instead of installing a separate plugin for every content element, **SEOvault AI** gives users a workflow for creating polished article blocks that can be injected into WordPress content.
The Rich Blocks library includes:
* Pretty Tables
* CTA Box
* Pros & Cons Box
* FAQ Schema Block
* Table of Contents
* Affiliate Disclosure Box
* Code Block
* Product Review Summary Box
* Info / Note Box
* Comparison Verdict Box
The **workflow** is simple.
First, choose the block type that fits the article section. For example, use a Pretty Table for a comparison, a CTA Box for a conversion point, or an Info Box for a warning.
Second, fill in the relevant fields. Each block has a purpose, so the inputs should match the content type. A review summary box needs a product name, rating, verdict, and CTA. A disclosure box needs wording and placement. A code block needs code, language, theme, and formatting options.
Third, preview the result. This is where you check readability, spacing, tone, and whether the block feels appropriate for the article.
Fourth, inject the block into WordPress.
This approach gives **bloggers** and SEO writers a practical middle ground. They do not need to design entire pages from scratch, and they do not need to install multiple small plugins for every visual element.
It also supports consistency. If your tables, CTAs, note boxes, and review boxes follow the same design language, your articles begin to feel like part of a **professional** publishing system.
## Practical Before and After Examples
Sometimes the difference between a plain article and a professional article is not dramatic design. It is the thoughtful placement of a few useful blocks.
### Example 1: Affiliate Product Review
### Before
The article includes a long introduction, several paragraphs about product features, a few affiliate links, and a final recommendation at the bottom.
The problem: readers have to work too hard to understand the verdict.
### After
Add a Product Review Summary Box after the introduction.
Include:
* Product name
* Rating
* Short verdict
* Best for
* Price
* Key benefit
* CTA button
* Optional affiliate disclosure
Then add a Pros & Cons Box before the final verdict.
Result: readers can quickly understand the recommendation while still having access to the full review.
### Example 2: WordPress Tutorial
### Before
The article explains how to edit a WordPress file, but the instructions are mixed into paragraphs. Code snippets are plain, and warnings are easy to miss.
The problem: the article feels risky and hard to follow.
### After
Add:
* Table of Contents near the top
* Info / Note Box before risky steps
* Code Block for snippets
* CTA Box linking to a safer related guide
* FAQ section at the end
Result: the tutorial feels more organized, safer, and easier to follow.
### Example 3: SaaS Comparison Article
### Before
The article compares three tools using long paragraphs. The recommendation is buried near the conclusion.
The problem: readers cannot easily compare options.
### After
Add:
* Pretty Table for feature comparison
* Comparison Verdict Box after the table
* Pros & Cons Boxes for each tool
* CTA boxes for the strongest recommendations
* FAQ section addressing pricing, use cases, and alternatives
Result: the article becomes easier to scan and more useful for decision-making.
### Example 4: Informational SEO Article
### Before
The post is accurate but visually plain. It has headings and paragraphs, but no visual breaks.
The problem: the article feels generic.
### After
Add:
* TOC after the intro
* Info boxes for key definitions
* Pretty Table for examples
* CTA box linking to a related tool or guide
* FAQ section at the end
Result: the same article feels more polished without changing the core content.
## Best Practices for Visual Hierarchy
**Good visual hierarchy** helps readers move through an article without confusion.
### Start With Structure, Not Decoration
Before adding boxes, make sure the article itself is well organized.
Use clear H2s and H3s. Keep paragraphs short. Put sections in a logical order.
**Blocks** should enhance **structure**, not compensate for weak structure.
### Use One Primary CTA Goal
Each article should usually have one main **conversion** goal.
For example:
* Try SEOvault AI
* Read a related guide
* Join a newsletter
* Compare products
* Visit an affiliate partner
If you add too many different CTAs, the article becomes unfocused.
### Match Block Type to Reader Intent
Use blocks where they help.
A product review needs a **review summary**.
A tutorial needs **code blocks** and **note boxes**.
A comparison article needs **tables** and **verdict boxes**.
An **affiliate** article needs **disclosures**.
A long guide needs a **table of contents**.
Do not add every block type to every article.
### Keep Design Consistent
Choose a limited set of styles and reuse them.
For example:
* One style for notes
* One style for CTAs
* One style for tables
* One style for review summaries
* One style for disclosures
**Consistency** makes the article feel designed rather than assembled.
### Preserve White Space
Do not stack boxes too tightly.
If every section has a colored box, no section feels important. White space gives the reader room to process information.
### Use Headings Inside Blocks Carefully
Blocks can include headings, but they should not compete with the article’s main headings.
For example, a CTA box heading should be short and direct. A review box heading should identify the product. A note box heading should clarify the message.
### Design for Mobile First
A professional desktop layout can fail on mobile if tables overflow, buttons become too wide, or boxes feel cramped.
Always preview article blocks on mobile.
## Common Mistakes
### Adding Too Many Boxes
**Content blocks** are useful, but overuse makes an article feel busy.
If every few paragraphs include a table, CTA, note, verdict, or box, readers may feel interrupted.
Use blocks where they improve comprehension or action.
### Using Inconsistent Colors
Random colors make articles look **unprofessional**.
Create a simple visual system. For example:
* Neutral for information
* Soft highlight for tips
* Clear accent for CTAs
* Subtle border for disclosures
* Distinct style for warnings
You do not need many colors. You need consistent use.
### Writing Weak Headings
Design cannot fix **unclear headings**.
Headings should tell readers what the section is about. Avoid vague headings like:
* “More Information”
* “Things to Know”
* “Details”
* “Final Notes”
Use specific headings instead:
* “When a Review Plugin Is Worth Installing”
* “Best Settings for Long Code Snippets”
* “Why Affiliate Disclosures Should Be Visible”
### Overusing CTAs
Too many CTAs can make an article feel pushy.
Place CTAs where they match reader intent. A CTA after a helpful explanation often feels natural. A CTA after every section usually feels aggressive.
### Installing Too Many Plugins
Many WordPress users solve every formatting problem by installing another plugin.
One plugin for tables.
Another for CTAs.
Another for FAQs.
Another for pros and cons.
Another for code blocks.
Another for review boxes.
This can create a fragmented workflow and increase maintenance overhead.
A **Rich Blocks** system like **SEOvault AI** can reduce the need for multiple small content plugins by giving writers a unified way to create article enhancements.
### Ignoring the Content Itself
A **professional** layout cannot save weak content.
Blocks improve presentation, but the article still needs useful research, accurate explanations, clear writing, and a strong understanding of search intent.
### Making Everything Look Like an Ad
Not every box should be promotional.
Some blocks should help readers, clarify information, or improve trust. If every styled section pushes a product, readers may lose confidence.
## Soft CTA: Try SEOvault AI Rich Blocks
If you want WordPress articles to look more **professional** without building every post in Elementor, Divi, or another page builder, SEOvault AI Rich Blocks can help.
Rich Blocks are designed for article-level enhancements: tables, CTAs, pros and cons, FAQs, disclosures, review summaries, code blocks, notes, and comparison verdicts.
Instead of installing many small plugins or manually styling every section, you can create polished blocks in a consistent workflow and inject them into your WordPress content.
This is especially useful for:
* WordPress bloggers
* Affiliate marketers
* SEO writers
* Niche site owners
* SaaS reviewers
* Plugin and theme tutorial creators
* Technical content publishers
**Page builders** still have their place. For complex landing pages and custom layouts, they can be excellent. But for normal article improvements, SEOvault AI gives you a lighter, more focused option.
## FAQ
### Do I need a page builder to make WordPress articles look professional?
No. Page builders are useful for landing pages and complex designs, but most blog posts can be improved with better headings, spacing, tables, callout boxes, FAQs, review summaries, and CTAs.
### Are page builders bad for WordPress blogs?
Not necessarily. Page builders can be very useful. The question is whether they are necessary for every article. For many blog posts, a lightweight block-based workflow is enough.
### What is the easiest way to improve a plain WordPress post?
Start with visual hierarchy. Improve headings, shorten paragraphs, add a table of contents, use tables for comparisons, add note boxes for important information, and place CTAs strategically.
### What types of content blocks make articles look better?
Useful blocks include table of contents, CTA boxes, Pretty Tables, FAQ sections, pros and cons boxes, product review summaries, note boxes, disclosure boxes, code blocks, and comparison verdict boxes.
### Can content blocks help SEO?
**Content blocks** can improve **readability**, structure, and user experience. They may help readers find information more easily, but they do not guarantee higher rankings. SEO still depends on content quality, search intent, technical health, authority, and competition.
### Should every article include a CTA box?
No. Use CTA boxes where they match the reader’s intent. A helpful article may include one or two CTAs, but too many can feel aggressive.
### How many styled boxes should I use in one article?
There is no fixed number. A short article may need one or two. A long guide may use several. The rule is simple: every block should have a clear purpose.
### Can SEOvault AI replace a page builder?
SEOvault AI is not meant to replace page builders for complex landing pages or full-page design. It is better understood as a lightweight way to add polished content sections to normal WordPress articles.
### Can I use SEOvault AI Rich Blocks for affiliate articles?
Yes. Rich Blocks are especially useful for affiliate content because they can support review summaries, pros and cons boxes, comparison tables, CTA boxes, disclosure boxes, and verdict sections.
### Do Rich Blocks require many WordPress plugins?
The goal of SEOvault AI Rich Blocks is to reduce reliance on multiple small formatting plugins by giving content creators a unified workflow for article-level blocks.
## Final Thoughts
**Professional** WordPress articles do not always require a page builder.
For most blog posts, affiliate reviews, tutorials, and niche site articles, the biggest improvement comes from better structure and smarter content blocks.
A **table of contents** improves navigation.
A **CTA box** clarifies the next step.
A **table** makes comparisons easier.
A **review box** summarizes the verdict.
A **note box** highlights important context.
A **disclosure box** builds **transparency**.
A **code block** improves technical **readability**.
An **FAQ section** answers final objections.
Used well, these blocks make an article feel polished, helpful, and easier to navigate.
**Page builders** remain valuable for complex pages. But when your goal is to make normal WordPress articles look more professional, a focused **Rich Blocks** workflow is often the cleaner, faster, and more practical choice.
---
## Blog
URL: https://seovaultai.com/blog
First-party blog posts published inside the same Starlight content experience as the docs.
# Blog
Aug 13, 2026
## [SEOvault AI vs Rank Math vs Yoast vs SureRank: The Honest WordPress SEO Comparison](/blog/seovaultai-vs-rank-math-vs-yoast-vs-surerank/)
An evidence-based comparison of SEOvault AI, Rank Math, Yoast, and SureRank across WordPress SEO features, schema, AI visibility, and site workflows.
Aug 5, 2026
## [SEOvault AI Merchant Mapping and Feed Reconciliation for WooCommerce](/blog/seovault-ai-merchant-mapping-feed-reconciliation/)
Use SEOvault AI Pro to map WooCommerce data into product schema and compare external product feeds against WooCommerce and structured data.
Aug 5, 2026
## [SEOvault AI Multi-location management](/blog/seovault-ai-multi-location-management/)
Explore 26 Local SEO Pro features for managing location data, schema, maps, reviews, offers, and WordPress workflows.
Aug 5, 2026
## [SEOvault AI News SEO: News sitemaps, NewsArticle schema, and editorial controls](/blog/seovault-ai-news-seo/)
Learn how SEOvault AI Pro News SEO handles Google News sitemaps, NewsArticle schema, per-post editorial fields, multilingual news sites, and IndexNow notifications.
Aug 5, 2026
## [SEOvault AI Video SEO: Video detection, VideoObject schema, and video sitemaps](/blog/seovault-ai-video-seo/)
See how SEOvault AI Pro Video SEO handles provider detection, async metadata, VideoObject schema, video sitemaps, bulk indexing, and video metadata controls.
Jun 8, 2026
## [How to Bring Zombie Articles Back to Life With One Click](/blog/bring-zombie-articles-back-to-life/)
Old blog posts can quietly drain your SEO performance. Learn what zombie articles are, why they hurt your site, and how SEOvault AI's Rewrite Existing Article feature helps refresh stale content with a smarter audit-first workflow.
Jun 6, 2026
## [How to Add Code Blocks With Copy Button Style in WordPress](/blog/how-to-add-code-blocks-with-copy-button-style-in-wordpress/)
Learn how to add clean, styled code blocks in WordPress with language labels, themes, line numbers, wrapping options, and copy button styling without relying on JavaScript by default.
Jun 6, 2026
## [How to Create Product Review Boxes in WordPress Without a Plugin](/blog/how-to-create-product-review-boxes-in-wordpress-without-a-plugin/)
Learn how to create professional product review boxes in WordPress without installing a review plugin. Compare manual methods and discover an easier workflow with SEO Vault Product Review Summary Boxes.
Jun 6, 2026
## [How to Make WordPress Articles Look Professional Without Page Builders](/blog/how-to-make-wordpress-articles-look-professional-without-page-builders/)
Learn how to make WordPress blog posts look more professional without Elementor, Divi, or heavy page builders by using structured content blocks, better visual hierarchy, and SEOvault AI Rich Blocks.
Jun 6, 2026
## [WordPress Plugin Bloat: How to Replace Small Content Plugins](/blog/wordpress-plugin-bloat-how-to-replace-small-content-plugins/)
Learn what WordPress \[\*\*plugin bloat\*\*\](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) means, why small \*\*content plugins\*\* add up, which plugins to keep, and how SEOvault AI \[\*\*Rich Blocks\*\*\](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) can replace some single-purpose \*\*formatting plugins\*\*.
Jun 5, 2026
## [How to Add a Table of Contents to WordPress Without a Plugin](/blog/add-table-of-contents-wordpress-without-plugin/)
Learn how to add a clean, fast-loading table of contents to WordPress posts without a plugin. Use manual anchors or SEO Vault Rich Blocks to build jump links.
Jun 4, 2026
## [How to Add a CTA Box in WordPress Without a Plugin](/blog/add-cta-box-wordpress-without-plugin/)
Learn how to add a stylish CTA box in WordPress without installing another plugin. Use simple HTML/CSS or SEO Vault Rich Blocks to create lightweight call-to-action boxes for posts.
Jun 4, 2026
## [How to Add FAQ Schema to WordPress Posts Without a Plugin](/blog/add-faq-schema-wordpress-without-plugin/)
Learn how to add FAQ sections and FAQPage schema to WordPress posts without installing another plugin. Use manual JSON-LD or SEO Vault's FAQ Schema Block.
Jun 4, 2026
## [How to Add Pros and Cons Boxes in WordPress Without a Plugin](/blog/add-pros-cons-box-wordpress-without-plugin/)
Learn how to add professional pros and cons boxes in WordPress without installing another plugin. Use manual HTML/CSS or SEO Vault Rich Blocks for cleaner review content.
Jun 4, 2026
## [10 Best WordPress Plugin Alternatives for SEO Content Blocks](/blog/wordpress-plugin-alternatives-seo-content-blocks/)
Tired of installing dozens of minor plugins for tables, CTAs, FAQs, and pros and cons boxes? Learn how to streamline your WordPress site with lightweight SEO content block alternatives.
May 26, 2026
## [The Real-Time SEO Checklist Inside SEOvault AI: How We Help You Publish Better Content Faster](/blog/real-time-seo-checklist/)
Learn how SEOvault AI's real-time SEO Checklist helps writers improve \*\*clarity\*\*, \*\*structure\*\*, \*\*trust\*\*, readability, and answer readiness while drafting.
May 25, 2026
## [Automatic Internal Linking for WordPress: Safe Autolinks Without Spam](/blog/automatic-internal-linking-for-wordpress/)
Learn how to use automatic internal linking in WordPress safely with preview, selection, limits, skip rules, and undo instead of blind sitewide link spam.
May 25, 2026
## [Manual Internal Linking for WordPress: Build Better Links While You Write](/blog/manual-internal-linking-for-wordpress/)
Learn how manual internal linking helps WordPress writers suggest the right pages, choose natural anchor text, and build connected content without interrupting the draft.
May 25, 2026
## [SEOvault AI vs Surfer SEO](/blog/seovault-ai-vs-surfer-seo/)
Compare SEOvault AI and Surfer SEO for WordPress-first publishing, rewriting, internal linking, and multi-site workflows.
May 25, 2026
## [The Big Lie in "GEO Optimization": No Plugin Can Guarantee Rankings, AI Citations, or "Getting Picked by Google"](/blog/the-big-lie-in-geo-optimization/)
A skeptical look at GEO hype, AI citations, and why real AI search visibility still depends on the same fundamentals as SEO.
May 25, 2026
## [WordPress Site is Extremely Slow: My Complete Experiment and Troubleshooting Guide](/blog/wordpress-site-is-extremely-slow/)
Learn why WordPress sites get painfully slow, what actually helps, and the exact \*\*performance\*\* fixes that made a dramatic difference in real testing.
---
## Manual Internal Linking for WordPress: Build Better Links While You Write
URL: https://seovaultai.com/blog/manual-internal-linking-for-wordpress
Learn how manual internal linking helps WordPress writers suggest the right pages, choose natural anchor text, and build connected content without interrupting the draft.
# Manual Internal Linking for WordPress: Build Better Links While You Write
Published on May 25, 2026 · Tags: wordpress, seo, internal-linking, editorial-workflow
## TL;DR
**Manual internal linking** is the process of adding links from one page or post on your WordPress site to another relevant page or post, while keeping full control over the anchor text and destination.
For [**WordPress**](https://wordpress.org) users, the hard part is not understanding that **internal links** are useful. The hard part is remembering what you already published, finding the right post, choosing natural anchor text, and adding the link without interrupting your writing flow.
A good **manual internal linking** workflow gives you suggestions while you write. You highlight text, review relevant page suggestions, and insert the link only when it makes sense. No blind automation. No random links. No “SEO tool says add 23 links” nonsense.
This is especially useful for bloggers, affiliate site owners, content teams, niche site builders, and businesses with growing WordPress libraries.
## What Is Manual Internal Linking?
**Manual internal linking** is a controlled **WordPress SEO** workflow where you choose a phrase inside your content, review **relevant** internal page suggestions, and insert the best link yourself.
That definition matters.
Because many WordPress users hear “internal linking” and immediately think of two bad experiences:
One: opening 14 browser tabs, searching their own site, copying URLs, and losing half an hour.
Two: letting a plugin automatically inject links everywhere until the article starts looking like a spammy Wikipedia page written by a robot with no taste.
Manual **internal linking** sits in the middle. It gives you help, but not chaos. It gives you suggestions, but not forced decisions. It keeps the writer in charge.
And that is the point.
**Internal links** are not just **SEO** objects. They are reading paths. They tell a visitor, “You are here now, but this next page will help you go deeper.”
When done well, they make a site feel connected. When done badly, they make a page feel desperate.
## The Real Problem: WordPress Sites Become Hard to Remember
When your site has ten posts, internal linking is easy.
You know every article. You remember the URLs. You know which post should point to which service page, review, guide, category article, or money page.
Then the site grows.
Twenty posts.
Fifty.
Two hundred.
Some articles were published two years ago. Some were updated last month. Some are good, but buried. Some rank on page two of Google and need a few more internal links. Some are conversion pages that deserve more attention, but you forget to link to them because you are busy writing the next post.
That is where **manual internal linking** becomes painful.
Not because the task is complicated. It is not.
The pain is **memory**.
You are trying to write a useful article, but suddenly you need to become your own site search engine.
You ask yourself:
“Did we already write something about this?”
“What was that post called?”
“Should I link to the beginner guide, the comparison article, or the product page?”
“Is this anchor text too exact-match?”
“Have I already linked to this page three times?”
“Will this help the reader, or am I just doing SEO theater?”
This is where many WordPress users give up. They publish the article with no internal links, or they add one obvious link and move on.
That is a lost opportunity.
## Why Internal Links Still Matter
**Internal links** help in three practical ways.
First, they help readers.
A visitor lands on your article because they have a question. If your article answers the first question and points them toward the next useful answer, they stay longer. They understand more. They trust the site more.
Second, they help **search engines** understand relationships.
A page with no **internal links** pointing to it is like a room with no door. It may exist, but it is harder to discover, harder to prioritize, and harder to understand in context.
Third, **internal links** help you distribute **attention** across your site.
Not every post earns **backlinks**. Not every page gets direct traffic. Internal links are how you move visitors and authority toward the pages that matter.
But here is the catch: **internal linking** only works well when the links are **relevant**.
A random internal link is just noise.
A forced keyword anchor is ugly.
A link added only because an SEO checklist demanded it is usually obvious.
Readers can feel it.
## The WordPress Writer’s Internal Linking Problem
Most WordPress users do internal linking in one of three bad ways.
### 1\. They search their own site manually
They open WordPress admin. They search posts. They search Google with **`site:example.com keyword`**. They click around. They copy links. They return to the editor.
By then, the writing **rhythm** is gone.
This method works, but it is slow. And slow workflows get skipped.
### 2\. They rely on memory
This is faster, but worse.
You remember the big posts. You forget the useful older ones. You keep linking to the same few pages again and again.
That creates an uneven **site structure**. Some articles become overlinked, while others become invisible.
### 3\. They use full automation too early
Automation has its place. It is useful when you already know exactly what you want to link, at scale.
But if you are still writing or editing a specific article, full **automation** can be too blunt. It may add links where they technically match but do not feel natural. It may choose anchor placements that make sense to a machine but feel awkward to a reader.
**Manual linking** is better when quality matters more than speed.
And when you are building early traffic, quality matters more than speed.
## A Better Workflow: Highlight, Review, Insert
A good **manual internal linking** tool should not ask you to leave the editor.
The workflow should feel simple:
You write your article.
You notice a phrase that deserves a link.
You highlight it.
You see **relevant** internal page suggestions.
You choose the best destination.
You insert the link.
Done.
No hunting through old posts. No copy-paste mess. No guessing.
This is the kind of **workflow** that respects how writers actually work. You stay inside the draft. You stay inside the sentence. You make the decision at the moment the context is clearest.
That matters because **internal links** are contextual. The best link is not always the page with the closest keyword match. It is the page that helps the reader take the next step.
For example, suppose you are writing a WordPress article about “how to improve blog structure.”
You highlight the phrase **content hubs**.
A useful internal linking assistant might suggest:
* your beginner guide to content hubs,
* your article about pillar pages,
* your case study about organizing a niche site,
* your service page for SEO content strategy.
The tool can suggest. But you decide.
Maybe the beginner guide is best. Maybe the service page is too aggressive. Maybe the case study is perfect because the sentence is about examples.
That judgment is human. It should stay human.
## Why Highlight-Based Linking Feels More Natural
**Highlight-based linking** has one major advantage: the **anchor text** comes from the draft itself.
You are not forcing a **keyword** into the article after the fact. You are not bending the sentence around an SEO phrase. You are selecting language that already belongs.
That usually creates better links.
A **natural** internal link might look like this:
“Before building a large content calendar, make sure your site has a clear **topic cluster structure**.”
If “topic cluster structure” already appears naturally in the paragraph, linking it feels clean. The reader understands what they will get if they click.
A **forced** version would be:
“Before building a large content calendar, make sure your site has a clear topic cluster structure. Read our topic cluster structure guide here.”
That second version is not terrible, but it is clumsy. It feels added. It interrupts the page.
**Manual highlight-based linking** avoids that problem.
You choose a phrase that already earns the link.
## This Is Not Just an SEO Feature. It Is an Editing Feature.
**Internal linking** is often treated as an **SEO** chore.
That is the wrong mindset.
Good **internal linking** is part of editing.
When you edit an article, you ask:
“Is this clear?”
“Does the reader need more background?”
“Is there a better next step?”
“Have we already explained this somewhere else?”
“Should this section point to a deeper guide?”
Those are **editorial** questions, not just SEO questions.
A **manual internal linking** workflow helps answer them while the article is still alive. While you are still shaping it. Before it becomes another published post that nobody has time to revisit.
This is especially useful for WordPress sites where content is created quickly: affiliate blogs, SaaS blogs, local business sites, agencies, and niche publishers.
The more content you publish, the more important this becomes.
## The Pain Point Nobody Talks About: Old Content Gets Forgotten
Most **WordPress** sites do not fail because the owner never publishes.
Many fail because the **content library** becomes disconnected.
You publish a good article in January.
Then another in March.
Then a product comparison in June.
Then a tutorial in September.
Each article may be useful on its own, but they do not support each other. Visitors read one page and leave. Google sees isolated URLs instead of a strong topical structure.
**Manual internal linking** helps you reconnect the library.
When you are writing a new article, you can surface older relevant content. That gives old posts new life.
And this is important: old **content** often has value that new content does not.
It may already be indexed.
It may already have impressions.
It may already have **backlinks**.
It may already be close to ranking.
A few strong **internal links** from newer posts can help bring it back into circulation.
Without a suggestion workflow, you probably forget it exists.
## Manual Linking vs Automatic Linking
**Manual linking** and **automatic linking** are not enemies.
They solve different problems.
**Manual linking** is best when you are writing or editing one specific page and want high-quality, context-aware links.
[**Automatic linking**](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/) is best when you already know the target page and anchor phrase, and you want to find matching opportunities across many posts.
For example:
Manual linking is useful when you are editing a new blog post and want to link the phrase “WordPress SEO audit” to the most helpful existing guide.
Automatic linking is useful when you have a new cornerstone page about “WordPress SEO audit” and want to find exact mentions of that phrase across your published posts.
One is careful and **editorial**.
The other is **scalable** and **operational**.
A healthy **WordPress** internal linking **strategy** uses both. Start with manual links where quality matters most. Use automation when the pattern is clear and the risk is low.
## What a Good Manual Internal Linking Feature Should Do
A useful **manual linking** workflow should not overwhelm the writer.
It should do a few things well.
It should understand the current **site**. It should know which posts and pages exist, and it should make them searchable from the writing interface.
It should react to **selected text**. If you highlight “affiliate disclosure,” it should look for **relevant** internal pages related to that phrase, not ask you to start from zero.
It should show **suggestions** in a place where you can compare them. The right pane is useful because it keeps the draft visible while letting you inspect possible destinations.
It should let you insert the link quickly. Copying a URL is fine, but direct insertion is better.
It should let you ignore bad **suggestions**. Not every suggestion deserves a link. A good tool accepts that.
It should support **manual search** too. Sometimes you know what you want, and you just need to find the page fast.
Most importantly, it should not pretend to know better than the editor.
Suggestions should assist. They should not hijack the article.
## A Simple Example
Imagine you are writing a post called:
**How to Choose the Best WordPress SEO Plugin for a Small Business Website**
In one paragraph, you write:
“Before comparing plugin features, you should understand how technical SEO affects **crawlability**.”
You highlight **technical SEO**.
A **manual internal linking** assistant shows a few possible pages:
* Technical SEO checklist for WordPress
* How **crawl** errors hurt small business websites
* WordPress sitemap optimization guide
* SEO audit guide for beginners
Now you make the editorial choice.
If the reader is a beginner, the SEO audit guide might be too broad. The sitemap article may be too narrow. The **technical SEO** checklist is probably the best fit.
You insert the link.
The sentence stays clean. The reader gets a useful next step. Your older **technical SEO** article receives a relevant internal link.
That is the whole point.
No drama. No over-optimization. Just a better path through your site.
## Common Mistakes Manual Internal Linking Helps Avoid
### Linking only to money pages
Every site owner wants to push visitors toward pages that convert. That is normal.
But if every internal link points to a product page, service page, or affiliate review, the site starts to feel thin.
Readers need supporting content too. Definitions. Tutorials. Comparisons. Examples. Mistake lists. Checklists.
Manual suggestions can remind you that helpful pages exist beyond the obvious conversion pages.
### Using the same anchor text every time
**Exact-match anchors** are not automatically bad. But repeating the same anchor everywhere looks unnatural.
**Manual linking** encourages more varied anchors because you are choosing phrases from the actual article.
One post might link with “**technical SEO** checklist.”
Another might link with “fix **crawl** issues.”
Another might link with “WordPress site audit.”
That variety is healthier and more readable.
### Linking from irrelevant sections
A link should belong to the sentence around it.
If the paragraph is about pricing, do not suddenly link to a technical guide unless the connection is clear.
**Manual linking** keeps you close to **context**. You see the sentence. You choose the link. You avoid nonsense.
### Forgetting orphaned or underused content
Some posts sit alone for months.
Manual suggestions and search make it easier to rediscover them when the topic comes up again.
### Adding too many links
More internal links do not always mean better SEO.
A page with too many links can feel noisy. The reader stops trusting the recommendations.
Manual linking makes restraint easier. You choose the moments that actually help.
## Who Benefits Most from Manual Internal Linking?
### Bloggers
Bloggers often write across related topics. A manual linking workflow helps connect posts naturally without interrupting the writing process.
### Affiliate site owners
**Affiliate sites** depend on guiding readers from informational content to comparison and review pages. Manual links help make that path feel useful instead of pushy.
### SaaS teams
**SaaS blogs** usually have product pages, feature pages, help docs, use-case articles, and educational content. Manual linking helps connect educational posts to relevant product context without turning every article into a sales pitch.
### Agencies
**Agencies** managing multiple **WordPress** sites need consistency. Manual internal linking gives writers and editors a repeatable workflow.
### Content teams
The bigger the **team**, the harder it is for each writer to remember the entire content library. Suggestions reduce dependency on one person’s memory.
## Why This Matters More When You Have No Traffic Yet
When a site has no **traffic**, people usually think the answer is “publish more.”
Sometimes that is true.
But publishing more disconnected content can make the problem worse.
You end up with a pile of posts, not a system.
Early-stage sites need **structure**. They need every good article to support another good article. They need clear paths from beginner topics to deeper resources, from informational posts to commercial pages, from broad guides to specific tutorials.
**Internal linking** is one of the cheapest ways to build that structure.
You do not need a huge ad budget.
You do not need **backlinks** before you can improve your own **site architecture**.
You do not need to rewrite every post.
You need to make each article part of something bigger.
**Manual linking** is useful here because it builds quality from the start. Every time you publish, you connect the new page to the existing library. Over time, the site becomes easier to **crawl**, easier to **navigate**, and easier to understand.
That does not magically create traffic overnight. Anyone saying that is selling fantasy.
But it gives your content a better chance.
And when you are starting from zero, small **structural** advantages matter.
## Manual Internal Linking and AI Search
**Search** is changing.
People now discover information through traditional search results, AI overviews, chat-based answers, and recommendation systems. That does not make internal links **irrelevant**. It makes clear **site structure** more important.
**AI systems** and **search engines** both need to understand relationships.
What is this page about?
What other pages support it?
Which page is the beginner explanation?
Which page is the deeper guide?
Which page is the product or solution?
Internal links help answer those questions.
For AI answer engines, clear internal links can also help expose your site’s topic coverage. If your pages are isolated, your expertise looks fragmented. If your pages support one another, your site sends a stronger signal that it covers a subject in depth.
That is why manual internal linking is not just an old SEO habit. It is part of making your content easier to interpret, cite, and **navigate**.
## A Practical Manual Internal Linking Process for WordPress
Here is a simple process that works.
### Step 1: Write first, link second
Do not interrupt every sentence to find links.
Write the article. Get the structure right. Then link during editing.
### Step 2: Highlight phrases that deserve depth
Look for phrases where the reader might need more information.
Good candidates include:
* definitions,
* methods,
* tools,
* comparisons,
* common problems,
* related tutorials,
* product or service concepts.
### Step 3: Review suggestions
Do not choose the first suggestion automatically.
Ask: “Would this help the reader right now?”
That question is better than “Can I place a link here?”
### Step 4: Use natural anchor text
The best anchor text usually already exists in the sentence.
Avoid **ugly anchors** like “click here” or “read more” unless the context is extremely clear.
### Step 5: Avoid linking every possible phrase
**Internal links** are recommendations. Treat them like recommendations.
Too many recommendations become noise.
### Step 6: Revisit older articles
When you publish a new important page, go back to older related posts and add manual links where they naturally fit.
This is where automatic linking can also help, especially when you already know the target page and exact anchor phrase.
## What Manual Internal Linking Should Feel Like
It should feel quiet.
That may sound strange, but it is important.
A good **internal linking** workflow should not dominate the writing process. It should sit beside the editor and help when needed.
The writer highlights a phrase.
The tool suggests possible destinations.
The writer chooses.
The link is inserted.
Back to writing.
That is the ideal experience.
Not dashboards. Not spreadsheets. Not endless reports. Not a giant score yelling that your post has “only 7 internal links.”
Just useful suggestions at the moment you need them.
## Manual Linking Is About Control
**Automation** is attractive because it promises speed.
But speed without judgment can damage content.
**Manual internal linking** keeps control where it belongs: with the person responsible for the article.
You decide whether the link belongs.
You decide whether the anchor text is natural.
You decide whether the destination helps.
You decide when enough is enough.
That control is valuable, especially for WordPress users who care about long-term **content quality**.
Because internal links are not decorations. They shape how readers experience your site.
## Final Thoughts
**Manual internal linking** is one of those **SEO** tasks that sounds small until you actually do it.
Then you realize the real issue is not adding the link. The real issue is finding the right link without losing your writing flow.
For [**WordPress**](https://wordpress.org) users, a **highlight-based internal linking** workflow solves that pain directly. It helps you discover relevant posts and pages while editing, choose better destinations, and build a more connected site over time.
It does not replace strategy.
It does not remove the need for judgment.
It simply removes the annoying part: digging through your own site every time you want to add a useful link.
And that is enough to make internal linking something you actually do, not something you keep postponing.
In the next related article, we will look at [automatic internal linking](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/): when it helps, when it becomes risky, and how to use it without turning your WordPress site into a mess of forced links.
## FAQ
### What is manual internal linking in WordPress?
**Manual internal linking** is the process of choosing text inside a WordPress post and linking it to another relevant post or page on the same website. The writer or editor controls the anchor text, destination, and placement.
### Why is manual internal linking important?
**Manual internal linking** helps **readers** find related content, helps search engines understand your site structure, and helps important pages receive more internal attention. It is especially useful for growing WordPress sites with many posts.
### Is manual internal linking better than automatic internal linking?
Neither is always better. **Manual internal linking** is better for careful editorial decisions while writing or editing. **Automatic internal linking** is better when you already know the target page and anchor phrase and want to apply links across many posts.
### How many internal links should a WordPress post have?
There is no perfect number. A post should have enough internal links to help the reader continue naturally. For some posts, three strong links are better than fifteen weak ones.
### Should I use exact-match anchor text for internal links?
**Exact-match anchor text** can be useful, but it should not be forced. **Natural anchor text** is usually better. If the phrase already fits the sentence, it is usually a good candidate.
### Can internal links improve SEO?
Yes, **internal links** can help **SEO** by improving **crawlability**, spreading **authority**, and clarifying relationships between pages. They are not a magic ranking trick, but they are a core part of good site structure.
### What is the biggest mistake with internal linking?
The biggest mistake is adding **links** only for **SEO** and ignoring the reader. If the link does not help the visitor understand or continue, it probably should not be there.
### Do small WordPress sites need internal linking?
Yes. Small sites benefit from internal linking because it creates structure early. It is easier to build good habits when the site has 20 posts than to repair a disconnected site with 500 posts later.
### Should I add internal links while writing or after finishing the draft?
Usually after finishing the draft. Write first, then edit and add links. This keeps the writing natural and makes it easier to choose links based on the full article context.
### Can manual internal linking help old blog posts?
Yes. **Manual internal linking** can bring older posts back into the site structure by linking to them from newer, relevant articles. This can help readers and search engines rediscover useful content.
---
## The Real-Time SEO Checklist Inside SEOvault AI: How We Help You Publish Better Content Faster
URL: https://seovaultai.com/blog/real-time-seo-checklist
Learn how SEOvault AI's real-time SEO Checklist helps writers improve **clarity**, **structure**, **trust**, readability, and answer readiness while drafting.
# The Real-Time SEO Checklist Inside SEOvault AI: How We Help You Publish Better Content Faster
Published on May 26, 2026 · Tags: seo, aeo, geo, content-workflow, seovault-ai
## Direct answer
[**SEOvault AI**](https://seovaultai.com)’s **SEO Checklist** is a real-time **content quality** panel inside app.seovaultai.com that scans your draft while you write. It checks whether your article is clear, structured, **answer-ready**, **trustworthy**, **readable**, internally connected, and prepared for both **traditional search engines** and **answer engines**.
It does not need to send every draft change to an **AI model**. That is intentional. The checklist is built to be **fast**, **lightweight**, and **predictable**, so you can fix obvious **SEO** and **AEO** issues immediately while saving heavier **AI workflows** for tasks where **generative AI** actually adds value: research, writing, rewriting, content expansion, and deep analysis.
## TL;DR
**SEOvault AI**’s **right-pane SEO Checklist** helps you catch the problems that usually slow down publishing: missing **focus keywords**, **weak introductions**, **thin structure**, **absent TL;DR** sections, **poor readability**, **weak E-E-A-T signals**, **missing metadata**, **low [internal-link](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/) support**, and **unclear answer formatting**.
Instead of waiting for a slow AI audit every time you edit a sentence, the checklist updates quickly from the article itself. You get practical signals as you write, then you can use **SEOvault AI**’s AI tools only when you need generation, deeper analysis, or strategic help.
## Why we built the SEO Checklist
Most writers do not need another dashboard that tells them “your content could be better” without explaining what to fix.
They need a **publishing cockpit**.
When you are writing a **blog post**, **affiliate article**, **product comparison**, tutorial, or **informational page**, you are constantly balancing several goals:
* You want the article to **rank in Google**.
* You want it to be useful enough for readers to stay.
* You want it to be structured clearly enough for AI **answer engines**.
* You want it to look **trustworthy**.
* You want it to be publishable without spending another hour on manual checks.
That is exactly why we built the SEO Checklist into the right pane of **SEOvault AI**.
It sits beside your editor and turns the draft into a live set of ****publishing signals****. You do not need to export the article, paste it into five tools, or wait for a **full AI report** just to know whether the post has a **clear answer block**, a TL;DR, internal links, **readable** sections, and **basic trust signals**.
## What the SEO Checklist checks
The checklist is organized around the way modern content is actually evaluated: not only by **old-school keyword placement**, but also by **clarity**, **structure**, **trust**, **answerability**, and usefulness.
### 1\. Focus keyword readiness
The checklist starts with the focus keyword because most on-page guidance depends on what the article is trying to rank for.
A focus keyword helps the panel evaluate whether the article introduces the topic early, uses the term in useful places, and keeps the TL;DR aligned with the search intent.
This does not mean [**keyword stuffing**](https://www.semrush.com/blog/keyword-stuffing/). In fact, **keyword stuffing** is a poor way to optimize content in 2026. The goal is **alignment**, not repetition.
### 2\. Metadata readiness
The checklist checks whether the draft has the essential SEO metadata prepared, including the **SEO title**, **SEO description**, and focus keyword.
This matters because many writers finish the article but forget the publishing layer. A strong article with a missing or weak meta title is still leaving **click-through** potential on the table.
**SEOvault AI** keeps that visible before you publish.
### 3\. GEO and AEO structure
Search is no longer only about **ten blue links**. Articles now need to be understandable by readers, search engines, and **answer engines**.
The checklist looks for signals that make a page easier to quote, summarize, and extract from, including:
* **Direct answer**: Helps the article answer the main query early.
* **Fact support**: Encourages stronger, more **evidence-backed writing**.
* **Scannable structure**: Helps readers and crawlers understand the article faster.
* **Tables** or **lists**: Makes information easier to compare and extract.
* **Quotable segments**: Helps important takeaways stand out.
This is where **SEOvault AI** is different from a purely **traditional SEO** plugin. We are not only asking, “Did you put the keyword in the right place?” We are also asking, “Can this content be understood, trusted, summarized, and used as an answer?”
### 4\. E-E-A-T and trust signals
Google has repeatedly pushed creators toward helpful, reliable, **people-first content**, and its guidance around E-E-A-T focuses on **experience**, **expertise**, **authoritativeness**, and **trust**. [Google for Developers](https://developers.google.com/search/docs/fundamentals/creating-helpful-content)
The checklist helps writers see whether the article has visible trust signals such as:
* **Author presence**
* **First-hand experience**
* **Credible supporting links**
* **Freshness signals**
* Useful images with **alt text**
* Clear evidence for important claims
The goal is not to **fake E-E-A-T**. That would be worse than doing nothing. The goal is to remind writers to add the **real trust signals** they often forget to show.
For example, if you tested a tool, say what you tested. If you compared products, explain the criteria. If you make a strong claim, support it. If the article was updated, make sure the update is visible.
### 5\. Advanced E-E-A-T scoring
The checklist also includes a deeper trust layer that breaks **credibility** into more useful sub-areas:
* Experience
* Expertise
* Authority
* Trust
Instead of showing only a vague “good” or “bad” score, the panel can surface strengths, issues, **quick wins**, and evidence-style signals. That makes the feedback more actionable.
A **generic **SEO score**** is not enough anymore. You need to know whether the article feels thin because it lacks examples, lacks author signals, lacks citations, lacks freshness, or lacks real-world detail.
Those are different problems. They need different fixes.
### 6\. TL;DR section quality
A TL;DR is not just a nice extra. For many articles, it is one of the fastest ways to help readers and **answer engines** understand the page.
**SEOvault AI** checks whether the article includes a **useful summary** near the beginning, whether it is **concise** enough to be helpful, and whether it reflects the focus topic.
A weak TL;DR is just decoration. A strong TL;DR gives readers the answer quickly and gives the rest of the article a **clear frame**.
### 7\. Global SEO standards
The checklist also covers classic SEO fundamentals:
* **Title quality**
* **Keyword placement**
* **Content depth**
* **Internal links**
* Readability
These are not glamorous, but they still matter.
The difference is that **SEOvault AI** keeps them inside the writing workflow. You do not need to finish the article, open a separate audit, and then come back to fix the basics. The panel is already there.
### 8\. Readability
**Readable content** performs better because people can actually use it.
The checklist includes a **readability signal** so you can quickly see whether the draft is getting **too dense**. This is especially useful for technical articles, affiliate reviews, and long guides where writers often drift into **long paragraphs** and **overloaded sentences**.
Readable does not mean childish. It means clear.
### 9\. AI-era writing signals
**SEOvault AI** also includes writing-pattern signals designed for the **AI-content era**.
This does **not** mean the checklist is sending your draft to a giant **AI detector** every time you type. That would be slow, expensive, and unreliable for this use case.
Instead, the panel looks at practical writing characteristics such as **sentence variety**, **vocabulary diversity**, **transition-word patterns**, and **passive voice**. These signals are not a final judgment on whether content is “human” or “AI.” They are writing-quality hints.
That distinction matters.
**AI detector**s are not magic. Treating them as definitive is not especially reliable. But checking whether your draft sounds repetitive, overly uniform, generic, or passive can still help you improve the article.
## Why the checklist is fast
The SEO Checklist is built around **fast local analysis**, not **constant AI calls**.
That decision is deliberate.
AI is powerful, but using AI for every small checklist item is wasteful. You do not need an LLM to know whether the article has a TL;DR, whether images have **alt text**, whether [internal links](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/) exist, whether the title is too short, or whether the draft has **readable** structure.
Those checks should be instant.
By keeping the checklist lightweight, **SEOvault AI** gives you:
* Fast checklist logic for **deterministic checks**.
* **Heavy AI audits** only when interpretation and strategy are needed.
* Quick updates while writing instead of constant waiting.
* **Lower friction**, lower cost, and **lower latency**.
* Predictable feedback during drafting.
This is why **SEOvault AI** separates the workflow.
The checklist handles **live publishing hygiene**. The AI tools handle generation, research, rewriting, and **deeper strategic work**.
That is the right division of labor.
## How SEOvault AI compares with other SEO tools
There are strong tools in this space. It would be inaccurate to suggest otherwise.
Yoast has long offered **real-time SEO** and **readability feedback** in WordPress, including checks for keyphrases, metadata, links, **alt text**, word count, paragraph length, **passive voice**, transition words, and Flesch reading ease. [Yoast](https://yoast.com/features/seo-analysis/) Rank Math also has a detailed post-test system grouped into Basic SEO, Additional SEO, Title Readability, and Content Readability. [Rank Math](https://rankmath.com/kb/score-100-in-tests/) Surfer’s Content Editor uses a real-time **Content Score** and markets **competitor-informed optimization** with **500+ ranking factors**. [surferseo.com](https://surferseo.com/content-editor/) Clearscope positions itself around **content optimization** and visibility across Google and AI search. [Clearscope](https://www.clearscope.io/)
Here is the practical difference:
* **Yoast SEO**: Strong WordPress SEO and readability checks. **SEOvault AI** adds a stronger AEO/GEO, TL;DR, trust, and AI-era writing workflow inside a **broader AI SEO workspace**.
* **Rank Math**: Detailed SEO tests and scoring. **SEOvault AI** focuses on fast **right-pane publishing guidance** plus AI-assisted writing tools.
* **Surfer SEO**: Competitor-informed content scoring. **SEOvault AI** is lighter during writing and keeps checklist feedback fast without needing every check to be AI or **SERP-heavy**.
* **Clearscope**: Content optimization and **AI-search visibility** positioning. **SEOvault AI** combines writing, checklist, link, table, and AI workflow tools in one app experience.
* **SEOvault AI**: Fast in-editor SEO, AEO, TL;DR, E-E-A-T, readability, and writing-signal checks built for writers who want practical publish-ready feedback without leaving the editor.
**SEOvault AI** is not trying to be a clone of any one of these tools. The checklist is designed for a specific workflow: write, check, improve, and publish faster.
## Why this matters for AEO
AEO, or **Answer Engine Optimization**, is about making your content easier to understand, summarize, and cite in **answer-style environments**.
That does not mean writing robotic content for machines. Actually, that approach is likely to produce worse content.
Good AEO starts with good human communication:
* Answer the query early.
* Use clear headings.
* Add summaries.
* Support claims.
* Show first-hand experience.
* Use tables where comparison helps.
* Make takeaways easy to quote.
* Avoid **vague filler**.
The **SEOvault AI** checklist pushes writers toward these habits while they are still drafting.
## The checklist does not replace judgment
No checklist can guarantee rankings. Anyone promising that is overstating what a checklist can do.
A checklist can tell you whether your article is missing obvious quality and structure signals. It cannot know your business strategy, your **topical authority**, your **backlink profile**, your **brand reputation**, or whether the article deserves to exist.
That is why **SEOvault AI** is built as an assistant, not an autopilot.
The checklist gives you fast signals. You still make the **editorial decision**.
## Who should use the SEO Checklist?
The SEO Checklist is useful for:
* Content writers who want to publish cleaner drafts
* SEO specialists who want faster **pre-publish QA**
* Affiliate site owners who need **repeatable article standards**
* Agencies managing many client posts
* Founders writing content without a full SEO team
* Editors who want a quick **quality-control layer**
* Teams using AI drafts that still need **human polish**
If you publish content regularly, the checklist saves time because it catches the same recurring issues before they become post-publication cleanup work.
## A simple publishing workflow
Here is the workflow we recommend inside **SEOvault AI**:
1. Enter the focus keyword.
2. Draft or import the article.
3. Check the right-pane **SEO score** and **category signals**.
4. Fix metadata, structure, TL;DR, internal links, and readability.
5. Review E-E-A-T **quick wins**.
6. Use AI tools only where needed: rewrite weak sections, generate summaries, expand **thin areas**, or improve clarity.
7. **Publish** when the article is useful, clear, and structurally ready.
This keeps the process fast without reducing content quality to a mechanical score.
## Final thought
The SEO Checklist exists because publishing good content should not require **twenty manual checks**, **three separate tools**, and a slow AI audit after every edit.
**SEOvault AI** gives you a **live quality layer** inside the writing workflow. It helps you see what is missing, fix it quickly, and publish with more confidence.
Not because a checklist magically ranks content.
Because better-structured, clearer, more **trustworthy** content has a better chance of satisfying both readers and **search systems**.
## FAQs
### What is the SEOvault AI SEO Checklist?
The **SEOvault AI** SEO Checklist is a **live right-pane panel** that scans your draft for SEO, AEO, readability, TL;DR, [internal linking](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/), metadata, E-E-A-T, and **writing-quality signals** while you work.
### Does the checklist use AI for every check?
No. The checklist is intentionally built around fast local checks for the signals that do not need **generative AI**. **SEOvault AI** uses AI where it adds more value, such as writing, rewriting, analysis, ideation, and content improvement.
### Why not use AI for the entire checklist?
Because that would be slower, more expensive, and less predictable. Many checklist items are deterministic. For example, checking whether a draft has internal links, images with **alt text**, a TL;DR, or metadata does not require an LLM.
### Is the SEO score a ranking guarantee?
No. No **SEO score** is a **ranking guarantee**. The score is a **publishing-readiness signal**. It helps you catch missing structure, clarity, trust, and optimization elements before publishing.
### What makes SEOvault AI different from Yoast or Rank Math?
Yoast and Rank Math are strong WordPress SEO tools. **SEOvault AI**’s checklist is built into a **broader AI SEO workspace** and puts more emphasis on AEO/GEO structure, TL;DR quality, advanced E-E-A-T signals, writing-pattern hints, and fast right-pane workflow.
### Does SEOvault AI help with AEO?
Yes. The checklist encourages **answer-friendly structure**, **early answers**, summaries, **scannable sections**, quotable segments, and **evidence-backed writing**. These are useful for both readers and answer-style search experiences.
### Does the checklist detect AI-written content?
It provides AI-era writing signals, but it should not be treated as a perfect **AI detector**. The useful purpose is quality control: spotting **repetitive**, **generic**, **overly uniform**, or passive writing patterns that may need editing.
### Can I use the checklist with AI-generated drafts?
Yes. That is one of the best uses. Generate or import a draft, then use the checklist to make it clearer, more **trustworthy**, more **readable**, and more publish-ready.
### Should I chase 100% on every article?
No. Chasing a **perfect score** can become **counterproductive** if it makes the article worse for readers. Use the checklist to catch meaningful issues, then apply **editorial judgment**.
### Where is the checklist in SEOvault AI?
Open your workspace at app.seovaultai.com and use the right-pane **SEO Helper panel** while editing your post.
---
## SEOvault AI Merchant Mapping and Feed Reconciliation for WooCommerce
URL: https://seovaultai.com/blog/seovault-ai-merchant-mapping-feed-reconciliation
Use SEOvault AI Pro to map WooCommerce data into product schema and compare external product feeds against WooCommerce and structured data.
# SEOvault AI Merchant Mapping and Feed Reconciliation for WooCommerce
Published on August 5, 2026 · Tags: wordpress, woocommerce, merchant-center, product-schema, seo-plugin, seovault-ai-pro
Product feeds fail for ordinary reasons: a brand is stored in a custom taxonomy, a GTIN lives in post meta, a variation uses a different identifier, or the price in the feed no longer matches the price in WooCommerce.
Those problems are easy to miss when product data, structured data, and the external feed are managed in separate places.
**SEOvault AI Pro Merchant Mapping and Feed Reconciliation brings those checks into the Commerce SEO area of WordPress.** Merchant Mapping connects your WooCommerce data sources to product schema fields. Feed Reconciliation compares an external XML, RSS, Atom, or CSV feed with WooCommerce and the generated product schema.

[See Merchant Mapping and Feed Reconciliation on the SEOvault AI Pro page](/seovault-ai-pro/#commerce-seo-features) or [compare the Pro license plans](/pricing/plugin-pro/).
## What the two features do
Merchant Mapping and Feed Reconciliation solve related but different problems.
### Merchant Mapping
Merchant Mapping answers this question:
> Where should product data come from when the schema needs brand, GTIN, MPN, condition, or another commercial field?
You create rules that map a WooCommerce taxonomy, product attribute, custom field, or fixed value into an allowed product schema field. The mapping is then applied to the product schema generated by the free SEOvault AI plugin.
### Feed Reconciliation
Feed Reconciliation answers a different question:
> Does the product feed that an external platform receives agree with WooCommerce and the product schema on the site?
You provide a feed URL, choose how products should be matched, and run a comparison. SEOvault AI stores the mismatches so you can review what differs and when the issue was found.
**This is not a direct Google Merchant Center account connection.** You provide a Google-compatible product feed URL, or a compatible CSV feed URL, and the plugin compares that feed against your WordPress data.
## Merchant Mapping: connect product data to schema fields
WooCommerce product data is often spread across several sources. A brand may be a taxonomy. A manufacturer part number may be stored in custom meta. A condition may come from an attribute. Merchant Mapping lets you define those relationships instead of forcing every product to use the same storage pattern.
### Supported mapping scopes
A mapping can apply at different levels:
* ✓ **Global**. Use a value or source across the product catalog.
* ✓ **Category**. Apply a rule to products in a category.
* ✓ **Product**. Target one product.
* ✓ **Variation**. Target a specific product variation.
More specific scopes take precedence over broader scopes. Variation rules can override product rules, product rules can override category rules, and category rules can override global rules.
### Supported schema target fields
Merchant Mapping supports these product schema targets:
* ✓ **Brand**
* ✓ **GTIN**
* ✓ **MPN**
* ✓ **SKU**
* ✓ **Item condition**
* ✓ **GTIN-8**
* ✓ **GTIN-12**
* ✓ **GTIN-13**
* ✓ **GTIN-14**
* ✓ **ISBN**
The mapping resolver writes the values into the product schema structure. Brand values are emitted as a Schema.org `Brand` object. GTIN values use the configured GTIN type when one is set, and item condition values can be normalized into Schema.org condition URLs such as `NewCondition`, `UsedCondition`, or `RefurbishedCondition`.
### Supported data sources
Each mapping can read from one of four sources:
* ✓ **Static value**. Use the same value for the matching scope.
* ✓ **Product meta**. Read a value from a WordPress custom field.
* ✓ **Product attribute**. Read a WooCommerce attribute from the product or variation.
* ✓ **Taxonomy**. Read the first matching term from a product taxonomy.
For variations, the resolver checks the variation first and can fall back to the parent product when the variation does not contain a value.
### Priority, language, and fallbacks
Large catalogs often need more than one rule for the same field. Merchant Mapping includes the controls needed to make those rules predictable:
* ✓ **Priority**. Assign an order to competing mappings.
* ✓ **Language targeting**. Limit a mapping to a language, or leave language empty to make it apply to all languages.
* ✓ **Fallback groups**. Arrange alternative sources so the first useful value wins.
* ✓ **Enabled state**. Turn an individual mapping on or off without deleting the rule.
The resolver sorts applicable rules by scope specificity, priority, and mapping ID. It ignores empty source values and continues through the available fallback chain.
## Preview and coverage tools
Merchant Mapping includes more than a form for creating rules. The Commerce SEO interface provides three useful views:
* ✓ **Mappings**. Review, create, edit, enable, disable, and delete mapping rules.
* ✓ **JSON-LD Preview**. Inspect how mapped values appear in a product’s structured data.
* ✓ **Coverage**. Scan published products for missing brand, GTIN, and item condition values after mapping resolution.
The coverage report gives you counts and sample product IDs for missing commercial fields, making it easier to identify where a mapping rule would have the most impact.
## Feed Reconciliation: compare three data sources
Feed Reconciliation compares three product views when the information is available:
1. **WooCommerce data**, including product identifiers, price, stock, and availability.
2. **SEOvault product schema**, including the values emitted on the page.
3. **The external product feed**, fetched from the feed URL you configure.
This three-way comparison helps distinguish a WooCommerce problem from a schema problem or a stale feed problem. For example, WooCommerce and the feed may agree while the page schema contains an older price. Or the schema and WooCommerce may agree while the external feed still contains an old identifier.
## Feed formats and matching options
You can configure a feed using:
* ✓ **Google XML, RSS, or Atom format**
* ✓ **CSV format**
Products can be matched by:
* ✓ **SKU**
* ✓ **GTIN**
* ✓ **Product ID**
When SKU matching is selected and a feed item has no SKU, the reconciliation engine can use MPN as a fallback key. Products and feed items that cannot be matched are reported instead of disappearing silently.
The feed parser extracts common commercial fields, including:
* Product ID
* SKU
* GTIN
* MPN
* Brand
* Title
* Price
* Currency
* Availability
* Shipping
* Return policy
## Mismatch types the system checks
Feed Reconciliation does not only compare prices. It records several classes of problems:
* ✓ **Missing in feed**. A WooCommerce product has no matching feed item.
* ✓ **Missing in WooCommerce**. A feed item has no matching WooCommerce product.
* ✓ **Missing schema**. The product does not expose the expected schema snapshot.
* ✓ **Price mismatch**. WooCommerce or schema price differs from the feed price.
* ✓ **Currency mismatch**. WooCommerce currency differs from the feed currency.
* ✓ **Availability mismatch**. Stock or schema availability differs from the feed.
* ✓ **GTIN mismatch**. The product, schema, and feed use different GTIN values.
* ✓ **MPN mismatch**. The manufacturer part number differs between sources.
* ✓ **Brand mismatch**. Brand data differs between WooCommerce, schema, and the feed.
* ✓ **Shipping information**. The feed provides shipping information that is not represented in WooCommerce or schema.
* ✓ **Return policy information**. The feed provides return policy information that is not represented in WooCommerce or schema.
Critical mismatches include price, availability, and commercial identifier conflicts. Informational rows, such as shipping or return policy data that has not been represented on the site, are still recorded for review.
## Run comparisons manually or on a schedule
Feed Reconciliation supports manual runs and scheduled comparisons. Available recurrence options are:
* Disabled
* Hourly
* Twice daily
* Daily
A run records the number of feed items, matched products, mismatches, and errors. History can be retained by run count and by number of days.
The schedule is disabled by default. That lets you begin with a manual comparison, review the result, and enable recurring checks only when the feed and matching strategy are ready.
## Alerts without admin-noise
The module adds critical unresolved mismatches to the SEOvault AI Action Center with a link to the mismatch view. It does not create a persistent WordPress admin notice for every problem.
Optional email alerts can also be enabled. When enabled, the module sends an email only when critical unresolved mismatches exist. Email can use a configured address or the site’s WordPress admin email.
This keeps the warning useful instead of turning every feed difference into a permanent notification.
## How Merchant Mapping and Feed Reconciliation work together
These features are most useful when used as a loop:
1. **Find the gap.** Use the coverage report or reconciliation results to identify missing or conflicting product data.
2. **Create the rule.** Map the correct taxonomy, meta field, attribute, or static value to the product schema field.
3. **Preview the result.** Inspect the product JSON-LD before relying on the new mapping across the catalog.
4. **Run reconciliation.** Compare the updated site schema and WooCommerce data against the external feed.
5. **Review remaining mismatches.** Resolve data that is genuinely different instead of blindly overwriting one system with another.
6. **Schedule checks.** Enable recurring comparisons when the feed is stable and the team is ready to act on the alerts.
The important distinction is that Merchant Mapping changes the site’s schema output. Feed Reconciliation observes and reports differences. It does not overwrite WooCommerce product data or directly push products into Google Merchant Center.
## WooCommerce and the free plugin foundation
Merchant Mapping and Feed Reconciliation require the free SEOvault AI plugin and WooCommerce product data. The free plugin supplies the product schema foundation. Pro adds the mapping rules, schema preview, coverage report, external feed fetching, reconciliation engine, mismatch history, and alerts.
## What this does not guarantee
Matching a feed to WooCommerce does not guarantee Merchant Center approval, product visibility, free listing eligibility, or rich results. External platforms apply their own policies, account requirements, product restrictions, and review systems.
The practical benefit is control and visibility:
* Product values have a defined source.
* Schema fields can be filled from the data you already maintain.
* Product and variation rules can be prioritized.
* External feed differences are visible instead of hidden.
* Critical mismatches can be reviewed before they become expensive surprises.
## See Commerce SEO in the product
The [Merchant Mapping and Feed Reconciliation section on the SEOvault AI Pro page](/seovault-ai-pro/#commerce-seo-features) shows the Commerce SEO interface and the module’s relationship to the other Pro features. The Pro page links back to this guide with the **Read the Commerce SEO guide** button.
If you manage a WooCommerce catalog with custom product fields, multiple brands, variations, external feeds, or frequent price and stock changes, [compare the SEOvault AI Pro plans](/pricing/plugin-pro/).
---
## SEOvault AI Multi-location management
URL: https://seovaultai.com/blog/seovault-ai-multi-location-management
Explore 26 Local SEO Pro features for managing location data, schema, maps, reviews, offers, and WordPress workflows.
# SEOvault AI Multi-location management
Published on August 5, 2026 · Tags: wordpress, local-seo, seo-plugin, seovault-ai-pro, multi-location
Managing one business location is straightforward. Managing ten, fifty, or several hundred is not.
Every location has its own address, hours, coordinates, business identifiers, images, services, and local search context. A small inconsistency can affect the page, the schema, the store locator, and the information search engines use to understand that location.
**SEOvault AI Pro extends the free SEOvault AI plugin with a dedicated Local SEO Pro module for this work.** It adds location-level data controls, schema enhancements, map and display tools, reviews and offers, import tools, and WordPress administration features.

## A complete multi-location toolkit
Local SEO Pro brings together **26 features** for location data, business schema, maps, reviews, offers, imports, and WordPress administration:
* **20 features are marked stable**
* **6 features are marked beta**
The module requires an active Pro entitlement, and some features have their own Local SEO Pro toggle. The checklist below shows what is available today.
[See the Local SEO Pro section on the SEOvault AI Pro page](/seovault-ai-pro/#local-seo-pro-features) to see the module in context, or [compare the Pro plans](/pricing/plugin-pro/).
## Schema and business identity
Location pages need more than a street address. They also need consistent identity signals and schema properties that describe the organization and each location.
* ✓ **Business Identifiers** _(stable)_. Add DUNS, LEI, NAICS, GLN, and ISO 6523 identifiers to a location’s business schema.
* ✓ **Image Fallback Chain** _(stable)_. Add a logo and define a fallback image for schema when a location does not have its own logo.
* ✓ **Social Profiles in Schema** _(stable)_. Connect saved Local SEO social and reference profiles to the location schema.
* ✓ **Parent Organization** _(stable)_. Connect individual locations to a parent organization with its name, URL, and logo.
* ✓ **Knowledge Graph Integration** _(stable)_. Add organization-level knowledge graph properties to the saved schema.
* ✓ **Schema Health Check** _(beta)_. Check a location’s saved schema for readiness and open Google’s Rich Results Test for further validation.
* ✓ **Additional Schema Fields** _(beta)_. Add more supported properties to each location’s schema as the available schema surface grows.
These features are useful when a business has a clear organization structure, multiple brands or divisions, or location pages that need consistent identity information without copying the same values manually.
## Location data and operating details
Location data changes. Opening hours change for holidays, a service area can cover a region without a storefront, and an international business may need different language and currency handling for each location.
* ✓ **Per-Location Timezone** _(stable)_. Use each location’s own timezone when calculating opening-hours status.
* ✓ **Address Format Templates** _(stable)_. Control how addresses are displayed and override the format for individual locations.
* ✓ **Currencies** _(stable)_. Choose from more than 100 ISO 4217 currencies for price and offer data, with an optional location-level override.
* ✓ **Holiday & Special Hours** _(stable)_. Override regular opening hours for holidays and other specific dates.
* ✓ **Service Area Business** _(stable)_. Describe a radius or named service region for businesses that serve customers without a traditional storefront.
* ✓ **Multilingual Locations** _(beta)_. Work with WPML and Polylang while preserving a stable identity for each location across languages.
This is the part of local SEO that often becomes a spreadsheet. Local SEO Pro moves those values into the location records and the schema that uses them.
## Maps, blocks, and customer-facing displays
The data also needs to appear in the places customers use. Local SEO Pro includes tools for placing location information in content, widgets, and store locator interfaces.
* ✓ **Local SEO Blocks** _(stable)_. Add six location-aware blocks to the WordPress block editor.
* ✓ **Open Now Indicator** _(stable)_. Show whether a location is open at the current time in your content.
* ✓ **Custom Map Markers per Category** _(stable)_. Use different store locator markers for different location categories.
* ✓ **Classic Widgets** _(stable)_. Place location widgets from the WordPress Widgets screen.
The Open Now indicator and the location-aware blocks are content tools, while the marker and widget features help adapt the presentation to the way a site is organized.
## Reviews and offers
Location pages often need more than contact information. They may also need a review workflow and a structured list of services or offers.
* ✓ **Reviews** _(beta)_. Collect, moderate, and display first-party reviews with schema safeguards.
* ✓ **Services & Offers** _(beta)_. Publish a visible list of services and offers for each location.
Both features are marked beta in the current registry. That does not make them imaginary or planned, but it is a signal to evaluate them in your own workflow before treating them as a finished replacement for a dedicated reviews or offers platform.
## WordPress administration and integrations
Multi-location SEO is also an administration problem. The module includes tools for moving data into the plugin, finding locations quickly, controlling access, and keeping existing content workflows usable.
* ✓ **Import from Other Plugins** _(beta)_. Migrate locations from supported local SEO plugins with preview, progress, and rollback.
* ✓ **Geo Sitemap & KML** _(stable)_. Publish a geo sitemap and KML file so search engines can discover location data.
* ✓ **Enhanced Location Search** _(stable)_. Search more location fields from the WordPress Locations admin list.
* ✓ **Bulk Actions & Admin Columns** _(stable)_. Add useful columns and bulk actions to the Locations admin list.
* ✓ **Yoast Shortcode Compatibility** _(stable)_. Accept documented Yoast local SEO shortcodes as aliases.
* ✓ **Custom Capabilities** _(stable)_. Control which WordPress roles can manage locations.
* ✓ **Admin Bar Quick Link** _(stable)_. Add a Local SEO shortcut to the WordPress admin bar.
The importer is particularly useful during a migration. It is designed to show progress and provide rollback rather than silently overwrite every location at once.
## Important product boundaries
Local SEO Pro does not include direct Google Business Profile synchronization. It manages the location data, schema, pages, maps, sitemaps, and WordPress workflows on your site. Google Business Profile remains a separate platform and workflow.
There is no fixed location count advertised for the module. The practical limit depends on your site, hosting resources, and the number of location records your WordPress installation can manage comfortably.
## Free SEOvault AI plugin and Pro work together
SEOvault AI Pro does not replace the free SEOvault AI plugin. It extends it.
The free plugin provides the location foundation, including the locations post type, LocalBusiness schema, store locator features, local shortcodes, opening hours, geo data, and the base KML/sitemap behavior. Pro adds the 26 Local SEO Pro features listed above and connects them to the existing location and schema system.
You can read the free plugin’s [Local SEO and LocalBusiness schema guide](/docs/local-seo-business-information-and-local-schema/) for the foundation. Then use the Pro module when you need more location-level controls and operational tools.
## Who needs Local SEO Pro?
Local SEO Pro is most useful when one or more of these situations apply:
* You manage several storefronts, offices, clinics, branches, or service areas.
* Opening hours and holiday schedules differ by location.
* You need location schema with organization identity, identifiers, images, social profiles, or service areas.
* You are migrating locations from another local SEO plugin.
* More than one WordPress role needs to manage location records.
* You want location data to appear in blocks, widgets, maps, schema, KML, and customer-facing displays without maintaining separate systems for each output.
If you only have one simple location and rarely change its information, the free plugin may cover the basics. Pro becomes more valuable as the number of locations, editors, languages, services, and operating rules increases.
## See the module on the product page
The [SEOvault AI Pro page](/seovault-ai-pro/#local-seo-pro-features) shows the Local SEO Pro module alongside its current interface and the other Pro modules. You can also [view the Single, Business, and Agency license options](/pricing/plugin-pro/).
The important distinction is simple: the free plugin provides the local SEO foundation, while Local SEO Pro adds the controls needed to manage a larger and more varied location portfolio inside WordPress.
---
## SEOvault AI News SEO: News sitemaps, NewsArticle schema, and editorial controls
URL: https://seovaultai.com/blog/seovault-ai-news-seo
Learn how SEOvault AI Pro News SEO handles Google News sitemaps, NewsArticle schema, per-post editorial fields, multilingual news sites, and IndexNow notifications.
# SEOvault AI News SEO: News sitemaps, NewsArticle schema, and editorial controls
Published on August 5, 2026 · Tags: wordpress, news-seo, google-news, schema, seo-plugin, seovault-ai-pro
Publishing news content at scale creates a different SEO problem from maintaining a normal blog.
A newsroom needs to control which post types enter its news sitemap, which terms are excluded, how each article is classified, and which details belong in the article’s structured data. It also needs a workflow that does not turn every post into a manual technical SEO task.
**SEOvault AI Pro News SEO brings those controls into WordPress.** It combines a Google News sitemap, NewsArticle schema, per-post editorial fields, multilingual filtering, optional IndexNow notifications, and migration tools for existing News SEO settings.

[See the News SEO module on the SEOvault AI Pro page](/seovault-ai-pro/#news-seo-features) or [compare the Pro license plans](/pricing/plugin-pro/).
## News SEO settings for the whole publication
Start with the rules that apply to the publication as a whole:
* ✓ **Publication name**. Set the name that appears in the News sitemap publication metadata.
* ✓ **Publication language**. Set a two- or three-letter language code, including supported codes such as `zh-cn` and `zh-tw`.
* ✓ **Included post types**. Choose which public post types can contribute to the News sitemap.
* ✓ **Excluded terms**. Exclude selected taxonomy terms from the News sitemap and NewsArticle output.
* ✓ **Default article subtype**. Choose the default NewsArticle type used when an individual post does not select another subtype.
* ✓ **Sitemap size control**. Configure the number of News entries per sitemap page, up to Google’s documented limit of 1,000 links.
* ✓ **Human-readable sitemap stylesheet**. Include an XSL stylesheet so the News sitemap can be inspected in a browser.
News SEO is disabled by default. Once the module is enabled, these settings and the individual News SEO feature toggles control how the workflow operates.
## A News sitemap built for active news content
The module publishes a dedicated News sitemap at:
```
/news-sitemap.xml
```
It also supports paginated sitemap files and language-specific routes when multilingual filtering is enabled.
The sitemap includes only eligible content. The eligibility rules account for:
* ✓ Published status
* ✓ Configured post types
* ✓ Password-protected content
* ✓ The Google News publication window
* ✓ Per-post exclusion settings
* ✓ Noindex state
* ✓ Excluded taxonomy terms
* ✓ Optional WPML or Polylang language conditions
News sitemap entries use a 48-hour publication window. The sitemap is also connected to the free SEOvault AI sitemap index, so the News sitemap can be discovered alongside the site’s other sitemap outputs.
When there are no eligible posts, the endpoint returns a valid empty sitemap rather than creating a broken or misleading result. That matters for publications whose news output is seasonal or temporarily quiet.
## NewsArticle schema that works with the free plugin’s graph
News SEO does not create a disconnected second article entity beside the free plugin’s schema. It transforms the existing Article or BlogPosting node into a NewsArticle type while preserving its identity and relationships.
That allows the news-specific schema to keep the article’s existing:
* Author
* Publisher
* Image
* Main entity of page
* Publication date
* Modified date
* Graph identity and relationships
The module can use the standard `NewsArticle` type or more specific Schema.org subtypes, including:
* ✓ `NewsArticle`
* ✓ `AnalysisNewsArticle`
* ✓ `AskPublicNewsArticle`
* ✓ `BackgroundNewsArticle`
* ✓ `OpinionNewsArticle`
* ✓ `ReportageNewsArticle`
* ✓ `ReviewNewsArticle`
If the free plugin does not provide an Article node for a particular situation, News SEO can build a NewsArticle fallback using the available post and publication data.
The enhanced schema can add:
* ✓ Dateline
* ✓ News keywords
* ✓ A news-specific image
* ✓ Copyright year
* ✓ Copyright holder
* ✓ The selected article subtype
The result is a connected article graph with news-specific information, rather than duplicate Article and NewsArticle entities competing with each other.
## Per-post editorial controls
News SEO adds a News SEO metabox to configured news post types. The block editor uses the React interface, while the classic editor receives the equivalent fields directly.
Editors can control each article with these fields:
* ✓ **Exclude from News output**. Remove a post from the News sitemap and NewsArticle schema.
* ✓ **Google News noindex behavior**. Excluded posts also receive `googlebot-news: noindex` on the frontend.
* ✓ **Stock tickers**. Add up to five exchange-prefixed tickers when a financial entity is a main subject of the article.
* ✓ **Article subtype**. Override the publication default for an individual article.
* ✓ **News keywords**. Add up to ten comma-separated news keywords.
* ✓ **Dateline**. Add the location or dateline associated with the article.
* ✓ **News image**. Choose an image specifically for the NewsArticle output.
These fields give editors control over the details that are different from ordinary post SEO. A report, an opinion piece, a review, and a breaking-news article do not always need the same subtype or editorial metadata.
## IndexNow notifications for eligible news posts
IndexNow can notify participating search engines when a new eligible news article is published.
The workflow is deferred rather than making an external request inside the publishing action:
1. A new article transitions to `publish`.
2. News SEO checks whether the article is eligible.
3. A background job is queued.
4. The IndexNow notification is sent by the worker.
5. The latest result is available for administration and diagnostics.
IndexNow is opt-in. The module creates and serves the verification key file required by the protocol and sends notifications to the official IndexNow endpoint only when the feature is enabled.
IndexNow can speed up notification of a changed URL. It does not guarantee crawling, indexing, Google News inclusion, or rankings.
## Multilingual News SEO
News publications often publish the same story in multiple languages. News SEO includes language-aware sitemap filtering for WPML and Polylang.
* ✓ Filter News sitemap entries by language.
* ✓ Generate language-specific News sitemap routes.
* ✓ Keep the shared eligibility rules while applying the active language condition.
* ✓ Use the publication language setting for the sitemap metadata.
When neither WPML nor Polylang is active, the multilingual filter remains inactive and the normal News sitemap behavior continues.
## Import settings from other News SEO plugins
Migrating a publication should not require rebuilding all of its News SEO settings manually. News SEO includes import endpoints for supported configurations from:
* ✓ Yoast News SEO
* ✓ Rank Math News SEO
The import workflow can bring across publication settings, included post types, excluded terms, and relevant per-post values such as the News exclusion state and stock tickers.
The goal is to preserve the publication’s existing News SEO decisions while moving the technical output into SEOvault AI Pro.
## Dashboard and Site Health visibility
News SEO also provides operational visibility after setup:
* ✓ A WordPress dashboard widget for current News SEO status.
* ✓ Recent news article information.
* ✓ The latest IndexNow result when IndexNow is enabled.
* ✓ A direct configuration link.
* ✓ Site Health diagnostics for News SEO configuration.
* ✓ A News sitemap accessibility check.
* ✓ An IndexNow key-file accessibility check.
This makes it easier to find configuration problems before they become invisible coverage issues in search tools.
## Feature toggles and defaults
The News SEO settings surface includes separate controls for the main feature areas:
* News sitemap
* News post metabox
* NewsArticle schema
* IndexNow ping
* News dashboard widget
* Multilingual News SEO
The sitemap, metabox, schema, dashboard widget, and multilingual features are enabled by default within the module configuration. **IndexNow is opt-in** and must be enabled deliberately.
The overall News SEO module itself is disabled until it is enabled from the Pro Modules dashboard. The free SEOvault AI plugin is also required because News SEO extends its article schema graph.
## What News SEO does not promise
News SEO improves the technical organization and discoverability of a publication’s content. It does not guarantee that Google News will accept, crawl, index, rank, or display a particular article.
Search engines still evaluate the publication, article quality, eligibility, policies, freshness, authority, and competition. The practical benefit is control over the technical layer that a newsroom can actually manage:
* Clear publication metadata
* A focused News sitemap
* Connected NewsArticle schema
* Per-article editorial signals
* Multilingual filtering
* Optional IndexNow notifications
* Diagnostics and migration tools
## Free plugin foundation and Pro extension
SEOvault AI Pro News SEO extends the free SEOvault AI plugin. The free plugin provides the base WordPress SEO and schema foundation. Pro adds the News SEO sitemap, NewsArticle transformation, news-specific editor controls, IndexNow workflow, and publication administration tools.
## See News SEO in the product
The [News SEO section on the SEOvault AI Pro page](/seovault-ai-pro/#news-seo-features) shows the module alongside its current settings screenshot. The Pro page links back to this guide with the **Read the News SEO guide** button.
If you are publishing news content on WordPress and need publication-level controls instead of a generic post SEO panel, [compare the SEOvault AI Pro plans](/pricing/plugin-pro/).
---
## SEOvault AI Video SEO: Video detection, VideoObject schema, and video sitemaps
URL: https://seovaultai.com/blog/seovault-ai-video-seo
See how SEOvault AI Pro Video SEO handles provider detection, async metadata, VideoObject schema, video sitemaps, bulk indexing, and video metadata controls.
# SEOvault AI Video SEO: Video detection, VideoObject schema, and video sitemaps
Published on August 5, 2026 · Tags: wordpress, video-seo, schema, seo-plugin, seovault-ai-pro
Video can be one of the strongest assets on a page, but search engines need more than a video player embedded in the content. They need enough information to understand the video, identify its thumbnail, connect it to the page, and decide whether it is eligible for video search features.
That becomes harder when a site uses several video providers, page builders, custom fields, lazy-loaded players, and hundreds of older posts.
**SEOvault AI Pro Video SEO is designed for that workflow.** It detects videos, fetches provider metadata asynchronously, lets you review and edit each video, adds VideoObject data to the SEOvault AI schema graph, and publishes a dedicated video sitemap.

[See the Video SEO module on the SEOvault AI Pro page](/seovault-ai-pro/#video-seo-features) or [compare the Pro license plans](/pricing/plugin-pro/).
## What Video SEO adds
SEOvault AI Pro brings detection, indexing, schema, sitemap, editor, synchronization, validation, and administration tools into one WordPress workflow.
**Video SEO is disabled by default.** Enable it from the Pro Modules dashboard before saving Video SEO settings, indexing posts, or running the bulk index. The module also depends on the free SEOvault AI plugin for its schema graph integration.
## Twelve provider handlers in the default registry
Video SEO covers more than one YouTube URL pattern. The default provider list contains twelve handlers, with specific providers recognized before generic self-hosted video URLs.
* ✓ **YouTube**. Detect YouTube video URLs and build the corresponding player and thumbnail information.
* ✓ **Vimeo**. Detect Vimeo videos and resolve their player information.
* ✓ **Dailymotion**. Detect Dailymotion video URLs.
* ✓ **Wistia**. Detect Wistia media and build Wistia player data.
* ✓ **Brightcove**. Detect Brightcove videos, including player URLs that contain account and video identifiers.
* ✓ **TED**. Detect TED talks and build the embed information.
* ✓ **VideoPress**. Detect WordPress.com VideoPress videos.
* ✓ **Facebook**. Detect supported Facebook video URLs.
* ✓ **HLS**. Detect HLS manifest URLs such as `.m3u8` streams.
* ✓ **DASH**. Detect MPEG-DASH manifest URLs such as `.mpd` streams.
* ✓ **Self-hosted video**. Detect direct video files and self-hosted media URLs.
* ✓ **Embedly fallback**. Use Embedly for providers that are not recognized by the dedicated handlers when an Embedly API key is available.
Provider-specific host allowlists keep metadata requests limited to recognized video sources rather than allowing unrestricted server-side URL fetching.
## Detection runs on content, custom fields, and older posts
Video SEO can scan the public post types you select in the settings. The module supports three ways to find videos:
* ✓ **Content scanning on save**. When a configured post is saved, the detector looks for supported video embeds and URLs.
* ✓ **Custom field scanning**. Add comma-separated post-meta keys such as `my_video_url` or `secondary_video` for video URLs stored outside the main post content.
* ✓ **Retroactive indexing**. Scan existing published posts after enabling the module instead of waiting for every post to be edited again.
* ✓ **Block editor detection**. The block parser inspects block content for video URLs.
* ✓ **Page-builder detection**. The module includes integrations for Elementor, Bricks, and Oxygen when those builders are active.
* ✓ **Content fingerprinting**. The indexer can avoid repeating the same detection work when the content has not changed, while the force re-index action can run detection again.
Detection is deliberately separated from metadata fetching. The fast scan finds candidate URLs first. Provider requests happen later through asynchronous actions, so saving a post does not need to wait for every remote provider response.
## A Video SEO metabox for each post
The module adds a Video SEO metabox to the configured post types in the WordPress editor. It uses a React interface and supports both the block editor and the classic editing workflow.
Inside the metabox, you can:
* ✓ Add a video by URL.
* ✓ Mark one video as the primary video.
* ✓ Exclude a video from schema and sitemap output.
* ✓ Re-sync provider metadata.
* ✓ Override the title and description.
* ✓ Set a custom thumbnail URL.
* ✓ Add custom tags.
* ✓ Set duration, priority, category, allowed regions, and content rating.
* ✓ Mark a video as requiring a subscription.
* ✓ Review the detected stream format.
* ✓ Set broadcast status and broadcast dates.
* ✓ Add a transcript or caption URL.
* ✓ Add chapters with start time, end time, and title.
* ✓ Validate whether the player URL and thumbnail URL are reachable.
This gives the editor control over the information that automated provider metadata cannot always provide. For example, a publisher may want a clearer editorial title, a custom thumbnail, or a transcript URL even when the embedded player itself has not supplied those values.
## VideoObject schema connected to the page graph
Video SEO injects `VideoObject` nodes into the free SEOvault AI plugin’s schema graph. It uses the same stored video rows that the sitemap reads, so the schema and sitemap do not depend on separate manually maintained data.
The schema builder can emit:
* ✓ `name`, `description`, `thumbnailUrl`, and `uploadDate`.
* ✓ `duration` in ISO 8601 format.
* ✓ `contentUrl` and `embedUrl` when the URLs are valid.
* ✓ Video width and height.
* ✓ Family-friendly status.
* ✓ View counts through `InteractionCounter` and `WatchAction`.
* ✓ Author name and author URL.
* ✓ Keywords from stored tags.
* ✓ Allowed regions.
* ✓ Content rating.
* ✓ Subscription requirements.
* ✓ A reference connecting the video to the page’s `WebPage` graph entity.
* ✓ Transcript and caption information when supplied.
* ✓ Chapter information when supplied.
The module requires the core fields needed to build a useful VideoObject. If the title, description, thumbnail, or upload date cannot be resolved, it does not emit an incomplete VideoObject entry. The description can fall back to the post excerpt, and the upload date can fall back to the post publication date.
## Choose how many videos a post emits
A post can contain more than one video. Video SEO provides two schema modes:
* **Primary video only**, which is the recommended default. Only the post’s primary eligible video is emitted in JSON-LD.
* **All eligible videos**, for posts where several videos are equally important.
Every emitted video still passes the same eligibility checks. Changing the mode does not bypass exclusion settings, missing data, post-type configuration, or other eligibility rules.
## A dedicated video sitemap
The module publishes a video sitemap at `/video-sitemap.xml` and supports paginated sitemap files as the number of eligible videos grows.
* ✓ Video sitemap index.
* ✓ Paginated video sitemap files.
* ✓ XSL stylesheet for a human-readable sitemap view.
* ✓ Video title, description, thumbnail, player, and content information for eligible entries.
* ✓ Per-video exclusion filtering.
* ✓ Priority and category filtering.
* ✓ WPML and Polylang-aware sitemap handling.
* ✓ Language-specific sitemap routes where multilingual plugins are active.
The sitemap is not a guarantee that every video will appear in video search. It gives search engines a structured way to discover eligible video information and gives the site a consistent output surface to inspect and validate.
## Bulk indexing and recurring synchronization
A new site may already contain hundreds of posts with embedded videos. Video SEO includes a retroactive index instead of requiring a manual edit of every post.
The bulk workflow provides:
* ✓ Bounded batches for large sites.
* ✓ Progress tracking through the existing batch infrastructure.
* ✓ Cursor-based continuation between batches.
* ✓ Cancellation and resume behavior.
* ✓ A force re-index option.
* ✓ Separate asynchronous metadata fetch actions after detection.
* ✓ A configurable provider metadata sync interval.
* ✓ Retry handling for provider requests.
The module also exposes WP-CLI commands for video indexing, synchronization, validation, and status checks. That gives developers and agencies a way to run or inspect the process without relying only on the WordPress admin interface.
## Thumbnails, feeds, and secondary search signals
Video SEO includes several outputs beyond the main JSON-LD graph and sitemap:
* ✓ Optional local thumbnail downloading.
* ✓ Media RSS video entries.
* ✓ Yandex video Open Graph tags.
* ✓ Video deep links that support timestamp-based seeking through `?t=` URLs.
* ✓ An admin sitemap preview.
* ✓ REST validation routes for checking player and thumbnail reachability.
* ✓ A WordPress dashboard widget with the current Video SEO state and recent video information.
These outputs serve different purposes. The schema describes the video to structured-data consumers. The sitemap improves discoverability. Media RSS supports feed consumers. The dashboard and validation tools help the site owner find incomplete or unreachable data before publishing.
## What Video SEO does not promise
Video SEO can prepare clearer technical signals, but it cannot guarantee a rich result, a video thumbnail, a top ranking, or inclusion in a particular search feature. Search engines still decide whether a page and video are eligible and how they should be displayed.
The honest promise is narrower and more useful:
* Detect supported video sources across a site.
* Store and enrich the metadata needed for structured output.
* Keep schema and sitemap data connected.
* Give editors control over primary, excluded, and custom video details.
* Provide bulk and scheduled workflows for sites with a large video library.
## Free plugin foundation and Pro extension
Video SEO requires the free SEOvault AI plugin because Pro adds its `VideoObject` nodes to the free plugin’s schema graph. Pro is an extension of the free plugin, not a replacement for it.
The free plugin provides the base WordPress SEO and schema foundation. Video SEO adds video-specific detection, metadata, schema, sitemap, and administration workflows on top of that foundation.
## See Video SEO in the product
The [Video SEO section on the SEOvault AI Pro page](/seovault-ai-pro/#video-seo-features) shows the module next to its current settings screenshot. The Pro page links back to this guide with the **Read the Video SEO guide** button.
If you need the module for a single site, compare the [Single plan](/pricing/plugin-pro/). If you manage multiple WordPress properties, compare the [Business and Agency plans](/pricing/plugin-pro/) for additional activations.
---
## SEOvault AI vs Surfer SEO
URL: https://seovaultai.com/blog/seovault-ai-vs-surfer-seo
Compare SEOvault AI and Surfer SEO for WordPress-first publishing, rewriting, internal linking, and multi-site workflows.
# SEOvault AI vs Surfer SEO
Published on May 25, 2026 · Tags: seo, wordpress, comparison
[SEOvault AI](https://seovaultai.com) and [Surfer SEO](https://surferseo.com) both aim to help publishers create and optimize content, but they are built around different workflows.
[Surfer SEO](https://surferseo.com) is primarily known as a **content optimization platform** centered around **SERP-driven guidance** and **editor-based optimization**.
SEOvault AI is built as a **WordPress publishing assistant** with two connected workflows:
* a **Chrome Extension** for fast in-editor work inside WordPress
* a **Web App** for centralized publishing, multi-site management, internal linking, and collaboration
The difference is not just feature count. The difference is where the workflow lives and what kind of publisher it is built for.
## The Core Difference
### Surfer SEO
Surfer SEO is centered around content optimization and content planning workflows.
It is a good fit for users who want a **dedicated optimization platform** focused on shaping content against search-driven benchmarks and editor guidance.
### SEOvault AI
SEOvault AI is centered around the ****WordPress publishing workflow****.
It is designed for users who want to:
* work directly inside WordPress
* **reduce plugin bloat**
* **speed up draft optimization**
* **rewrite existing articles**
* **build internal links** faster
* **manage multiple WordPress sites** from one workspace
* combine browser-level execution with a central **publishing dashboard**
## What SEOvault AI Is Built For
SEOvault AI is built for publishers who care about execution inside WordPress, not just content scoring.
That includes users who want:
* a side-panel workflow inside the WordPress editor
* direct draft analysis and injection
* AI writing and rewriting tools tied to publishing
* internal linking and [**autolinking**](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/) workflows
* rich blocks and pretty tables inside **content production**
* lightweight connection to WordPress through the **Web App**
* a stronger workflow for existing content refreshes
* multi-site and team-oriented publishing operations
This makes SEOvault AI especially relevant for:
* WordPress publishers
* niche site operators
* affiliate site owners
* agencies managing multiple WordPress sites
* editors and teams working inside a publishing pipeline
## What Surfer SEO Is Built For
Surfer SEO is generally associated with **content optimization workflows** where users want:
* **optimization-oriented content guidance**
* **editor-based improvement** workflows
* **search-focused content planning**
* structure and **topical optimization** support
* a dedicated SEO content platform separate from the native WordPress editing experience
For teams whose main goal is content optimization in a **dedicated environment**, that can be a strong fit.
## SEOvault AI Strengths
### WordPress-first workflow
SEOvault AI is built around WordPress publishing rather than treating WordPress as a secondary export destination.
### Chrome Extension workflow
The extension opens inside WordPress and supports **direct draft assistance** without forcing the whole workflow into another platform.
### Lower-friction publishing
SEOvault AI focuses on helping users move from draft to optimized post faster.
### Rewrite Existing Article workflow
Refreshing old content is a major part of the product, especially through **Ultra Writer** and **rewrite presets**.
### Internal linking and [autolinking](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/)
SEOvault AI includes stronger WordPress-oriented internal linking workflows than many content-writing tools.
### [Rich Blocks and Pretty Tables](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/)
**Structured content presentation** is part of the publishing workflow, not an external afterthought.
### [Multi-site management](https://seovaultai.com/docs/multi-site-management-guide/)
The **Web App** allows connected WordPress sites to be managed from one **central workspace**.
### [Team and workspace support](https://seovaultai.com/docs/team-workspace-guide/)
SEOvault AI supports a more **operational publishing workflow** through the **Web App**.
## Surfer SEO Strengths
Surfer SEO is generally chosen by users who value:
* a dedicated **content optimization platform**
* search-focused editor workflows
* optimization guidance as a central part of **content production**
* a workflow centered more directly around **optimization analysis** rather than **WordPress-native publishing** execution
This can make it attractive for teams whose process starts with **optimization tooling** first and publishing second.
## Workflow Philosophy
### SEOvault AI
The workflow is:
****write, optimize, link, structure, and publish** in a **WordPress-centered environment****
### Surfer SEO
The workflow is generally more:
****optimize content inside a dedicated SEO content platform**, then move it through the publishing process**
That difference matters.
For some teams, the main bottleneck is optimization guidance. For others, the main bottleneck is **publishing speed**, **workflow friction**, **old-content maintenance**, and **WordPress execution**.
SEOvault AI is built more for the second case.
## Extension vs Platform Approach
One of the biggest practical differences is that SEOvault AI includes a real ****browser extension workflow**** for WordPress users.
That means users can work:
* **directly in the editor**
* **directly in the browser**
* directly inside the **publishing environment**
This is a different experience from relying only on a standalone **content optimization platform**.
For WordPress-heavy users, this can **reduce friction** significantly.
## Existing Content Refreshes
SEOvault AI places strong emphasis on **improving old content**, not just **generating new content**.
This includes:
* Rewrite Existing Article presets
* **deep analysis workflows**
* TL;DR and FAQ support
* **linking improvements**
* **richer content formatting**
* support for reviving **underperforming posts**
This makes it especially useful for publishers with large **WordPress archives**.
## [Internal Linking](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/)
[**Internal linking**](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/) is one of the clearest areas where SEOvault AI is built for site operators, not only writers.
The **Web App** supports:
* internal link suggestions
* **site-aware linking** workflows
* [**autolinking**](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/)
* **AI-assisted sentence rewrite** support for matching **anchor opportunities**
That makes SEOvault AI especially relevant for users managing **content ecosystems**, not just individual articles.
## Multi-Site Publishing
SEOvault AI is designed to support **connected multi-site workflows** inside the **Web App**.
This is especially important for:
* agencies
* **portfolio publishers**
* **site groups**
* operators managing several **WordPress properties**
Users can switch between connected WordPress sites and keep the workflow inside one **publishing system**.
## Team Workflow
The **Web App** also includes **team workspace support**, which makes SEOvault AI more suitable for **collaborative publishing** operations.
This matters when the workflow involves:
* writers
* reviewers
* **agency operators**
* **publishing teams**
## When SEOvault AI Is the Better Fit
SEOvault AI is the stronger fit when the workflow depends on:
* **WordPress-first execution**
* **direct in-editor assistance**
* extension-based **publishing speed**
* **rewriting old articles**
* internal linking and [**autolinking**](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/)
* multi-site management
* **connected publishing operations**
* **content production** that stays close to WordPress
This is especially true for users who feel slowed down by **switching between too many tools**.
## When Surfer SEO May Be the Better Fit
Surfer SEO may be the better fit when the main priority is a **dedicated optimization platform** and the workflow is built around that model first.
That is often more attractive for teams who want **optimization tooling** as the center of the process rather than WordPress-centered publishing as the center of the process.
## Direct Positioning Summary
### Choose SEOvault AI if:
* WordPress is the center of your workflow
* you want extension speed and **Web App** depth
* you want to optimize and publish faster
* you manage existing content as much as new content
* internal linking matters to your strategy
* you operate one or more WordPress sites
* you want a publishing assistant, not just a **scoring platform**
### Choose Surfer SEO if:
* your workflow is centered on a **dedicated optimization platform**
* content optimization is the main layer you want to pay for
* WordPress-native execution is less important than platform-based optimization workflow
## Final Verdict
SEOvault AI and Surfer SEO are not trying to win in exactly the same way.
Surfer SEO is best understood as an **optimization-focused content platform**.
SEOvault AI is best understood as a ****WordPress publishing assistant**** built for **faster execution**, content refreshes, internal linking, and **multi-site workflow management**.
For publishers who live inside WordPress and want to **reduce friction** from **draft to publish**, SEOvault AI is the **more natural fit**.
---
## SEOvault AI vs Rank Math vs Yoast vs SureRank: The Honest WordPress SEO Comparison
URL: https://seovaultai.com/blog/seovaultai-vs-rank-math-vs-yoast-vs-surerank
An evidence-based comparison of SEOvault AI, Rank Math, Yoast, and SureRank across WordPress SEO features, schema, AI visibility, and site workflows.
# SEOvault AI vs Rank Math vs Yoast vs SureRank: The Honest WordPress SEO Comparison
Published on August 13, 2026 · Tags: wordpress, seo, comparison, rank-math, yoast, surerank, seovault-ai
> **Last updated:** 2026-09-07 **Audit status:** We have fully auditied SEOvault AI, Yoast, Rank Math, and SureRank.
## Why This Comparison Exists
If you’ve spent more than ten minutes looking for a WordPress SEO plugin, you already know the problem: every comparison article on the internet reads like it was written by the plugin’s own marketing team. Bullet lists of “features” that sound identical. Screenshots of green traffic lights. A score out of 100 that nobody can explain.
This isn’t that article.
We built SEOvault AI because we were tired of SEO plugins that either do too little (free versions that gate everything behind a paywall) or do too much (dashboards that look like airplane cockpits and slow your editor to a crawl). So yes, this is a comparison written by the team behind SEOvault AI. We have a bias, and we’re telling you that upfront.
But we also know that the only way a comparison like this is worth your time is if it’s **verifiable**. Every checkmark in the SEOvault column below comes from reading the actual plugin code, not from a feature page.
No guessing. No “we assume they have this.” Either the code does it, or it doesn’t.
* * *
**Important:** The SEOvault AI column reflects the **entire SEOvault ecosystem**: the free plugin, the Pro add-on, and the web app. All three have been audited (Free v1.1.1, Pro v1.0.0, Web App). Where a feature comes from a specific layer, the cell is annotated with `(Pro)` or `(Web App)`. Unannotated ✅ means it’s in the free plugin.
The Yoast column reflects the **entire Yoast ecosystem**: Yoast SEO Free (v28.0), Yoast SEO Premium, Yoast Local SEO (v15.8), Yoast News SEO (v13.3), and Yoast Video SEO. Where a feature comes from a specific add-on, the cell is annotated with `(Premium)`, `(Local)`, `(News)`, or `(Video)`. Unannotated ✅ means it’s in the free plugin.
The Rank Math column reflects the **entire Rank Math ecosystem**: Rank Math Free (v1.0.272) and Rank Math Pro (v3.0.114). Where a feature comes from Pro, the cell is annotated with `(Pro)`. Unannotated ✅ means it’s in the free plugin.
The SureRank column reflects the **entire SureRank ecosystem**: SureRank Free (v1.9.2) and SureRank Business (v1.4.1). Where a feature comes from Business/Pro, the cell is annotated with `(Pro)`. Unannotated ✅ means it’s in the free plugin.
* * *
## The Comparison
### 1\. Core Meta & On-Page SEO
These are the fundamentals: the things every SEO plugin should handle without question. If a plugin gets these wrong, nothing else matters.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
SEO title: automatic generation
✅
✅ (Free)
✅ (Free)
✅ (Free)
SEO title: manual override
✅
✅ (Free)
✅ (Free)
✅ (Free)
Meta description: automatic generation
✅
✅ (Free)
✅ (Free)
✅ (Free)
Meta description: manual override
✅
✅ (Free)
✅ (Free)
✅ (Free)
Auto mode (plugin auto-fills fields in editor, no user input needed)
✅
❌
❌
❌
Focus keyword: automatic detection
✅
❌
❌
❌
Focus keyword: manual entry
✅
✅ (Free)
✅ (Free)
✅ (Free)
Secondary keywords (auto-detected, up to 4)
✅
❌
❌
❌
Multiple focus keywords (N equal-weighted, per-keyword analysis)
❌ - by design\*
✅ (Free, up to 5)
✅ (Premium)
❌
Focus keyword synonyms
❌
❌
✅ (Premium)
❌
Content length / word count analysis
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
Canonical URL control
✅
✅ (Free)
✅ (Free)
✅ (Free)
Robots directives (noindex, nofollow, noarchive, etc.)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Replace variables / template variables
✅
✅ (Free)
✅ (Free)
✅ (Free)
Per-post and per-term meta controls
✅
✅ (Free)
✅ (Free)
✅ (Free)
Quick Edit support in post list
✅
✅ (Pro)
✅ (Free)
✅ (Free)
Output modes: Auto / Manual / Disabled
✅
❌
❌
❌
SERP preview (desktop & mobile)
✅
✅ (Free)
✅ (Free)
✅ (Free)
SEO score (traffic light system)
✅ (Web App)
✅ (Free)
✅ (Free)
✅ (Free)
Keyphrase in introduction check
❌
✅ (Free)
✅ (Free)
✅ (Free)
Keyphrase distribution analysis
❌
✅ (Free)
✅ (Free)
✅ (Free)
Keyphrase density analysis
✅ (Web App)
✅ (Free)
✅ (Free)
✅ (Free)
Slug keyword check
✅ (Web App)
✅ (Free)
✅ (Free)
✅ (Free)
Cornerstone content marking
❌
❌
✅ (Free)
❌
Primary category selection
❌
✅ (Pro)
✅ (Free)
❌
Inclusive language analysis
❌
❌
✅ (Free)
❌
Bulk title editor
✅ (Free)\*
✅ (Free)
✅ (Free)
✅ (Free)
Bulk description editor
✅ (Free)\*
✅ (Free)
✅ (Free)
✅ (Free)
AI title & meta description generation
✅ (Web App)
✅ (Free)
✅ (Premium)
✅ (Pro)
AI optimize (fix SEO assessments)
❌
❌
✅ (Premium)
✅ (Pro)
AI summarize
✅ (Web App)
❌
✅ (Premium)
❌
AI content planner (outline generator)
❌
❌
✅ (Free)
❌
Free AI sparks (limited free AI usage)
❌
❌
✅ (Free)
❌
Text formality analysis
❌
❌
✅ (Premium)
❌
Content AI (40+ AI tools)
❌
✅ (Free)
❌
❌
RankBot (AI chat assistant)
❌
✅ (Free)
❌
❌
AI bulk meta editing
❌
✅ (Free)
❌
✅ (Pro)
AI bulk image alt text generation
❌
✅ (Free)
❌
✅ (Pro)
AI custom prompts
❌
✅ (Free)
❌
❌
AI history tracking
❌
✅ (Free)
❌
❌
Content AI standalone page
❌
✅ (Free)
❌
❌
Content AI Command block (Gutenberg)
❌
✅ (Free)
❌
❌
Fix-it-for-me (AI automatic SEO issue resolution)
❌
❌
❌
✅ (Pro)
Extended meta templates (per-CPT, per-taxonomy, per-archive)
❌
❌
❌
✅ (Pro)
> **\* Why SEOvault shows ❌ - by design:** SEOvault AI uses **1 primary focus keyword + up to 4 auto-detected secondary keywords** - not N equal-weighted primaries. In **Auto (Autopilot) mode** - the default (`get_output_mode() => 'auto'`) - the plugin determines both automatically if you don’t touch anything. The focus keyword is persisted on `save_post` with hash-tracked regeneration, and `secondary_keywords` is capped at 4. Manual edits flip ownership to `user` and are preserved. Rank Math/Yoast’s “multiple focus keywords” runs the same checklist N times for N manual primaries (5 in Rank Math Free, Premium in Yoast) - useful for variants, but not a ranking signal. Google rewards one clear intent with supporting coverage, which is what secondary keywords provide.
> **\* Bulk editor:** SEOvault AI provides bulk title/description via the standard WordPress post list **Bulk Edit** - select posts → Bulk actions → Edit → SEO Title/Description; empty keeps `Auto` value, filled overrides to manual). Yoast’s `✅` in this table is its dedicated **Tools → Bulk editor** React page - hidden menu, per-row inline `Existing/New Title` with `Save/Save all`); SEOvault does not ship a dedicated page - by design, as `Auto` covers most bulk needs. No dedicated page build planned.
> **Why the output mode matters:** Most plugins give you “on” or “off.” SEOvault AI’s three-mode system (Auto, Manual, Disabled) means you can let the plugin handle titles automatically, manually override specific posts, or completely disable a feature category if you’re using another tool for it, without deactivating the whole plugin.
* * *
### 2\. Schema / Structured Data (JSON-LD)
Structured data is how you tell search engines and AI systems what your content actually _is_. This is where modern SEO plugins separate themselves from the old guard.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Article schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
WebPage / WebSite schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
BreadcrumbList schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
Organization schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
Person schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
Author schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
Main image schema
✅
✅ (Free)
✅ (Free)
❌
SearchAction schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
FAQ schema
✅
✅ (Free)
✅ (Free)
✅ (Pro)
HowTo schema
✅
✅ (Free)
✅ (Free)
✅ (Pro)
Recipe schema
✅
✅ (Free)
❌
✅ (Pro)
Event schema
✅
✅ (Free)
❌
✅ (Pro)
Product schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
Review schema
✅
❌
❌
❌
Course schema
✅
✅ (Free)
❌
✅ (Pro)
JobPosting schema
✅
✅ (Free)
❌
✅ (Pro)
SoftwareApplication schema
✅
✅ (Free)
❌
✅ (Pro)
Service schema
✅
✅ (Free)
❌
✅ (Pro)
Book schema
✅
✅ (Free)
❌
✅ (Pro)
Dataset schema
✅
✅ (Pro)
❌
✅ (Pro)
ClaimReview (Fact Check) schema
✅
✅ (Pro)
❌
✅ (Pro)
MusicGroup schema
✅
✅ (Free)
❌
❌
LocalBusiness schema
✅
✅ (Free)
✅ (Local)
✅ (Pro)
NewsArticle schema
✅ (Pro)
✅ (Pro)
✅ (News)
❌
NewsArticle subtypes (Analysis, Opinion, Reportage, etc.)
✅ (Pro)
❌
✅ (News)
❌
VideoObject schema
✅ (Pro)
✅ (Free)
✅ (Video)
✅ (Pro)
Custom JSON-LD editor
✅
✅ (Free)
✅ (Free)
✅ (Free)
Schema guided forms (no manual JSON needed)
✅
✅ (Free)
❌
✅ (Free)
Schema templates
✅
✅ (Pro)
❌
❌
Schema health / validation panel
✅
❌
❌
❌
Schema display conditions (per page, per type)
✅
✅ (Pro)
❌
❌
Schema blocks (FAQ, HowTo, Quick-Answer)
✅
✅ (Free)
✅ (Free)
❌
Third-party block conversion (FAQ/HowTo)
✅
✅ (Free)
❌
❌
Schema build caching
✅
❌
❌
❌
Foundational graph + extensible architecture
✅
✅ (Free)
✅ (Free)
✅ (Free)
Schema monitoring / validation / alerts
✅ (Pro)
❌
❌
❌
Schema snapshot comparison
✅ (Pro)
❌
❌
❌
Duplicate schema detection
✅ (Pro)
❌
❌
❌
Organization enhanced schema (VAT, DUNS, LEI, NAICS)
✅ (Free)
❌
✅ (Premium)
❌
Publishing principles / ethics / diversity schema
✅ (Free)
❌
✅ (Premium)
❌
Copyright info in Article schema
✅ (Pro)
✅ (Pro)
✅ (News)
❌
Schema API (developer hooks)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Visual schema builder (web app)
✅ (Web App)
❌
❌
❌
> Instead of a giant checkbox grid where you “enable all schema types” and hope they apply correctly, SEOvault AI uses a foundational graph (Organization, WebSite, BreadcrumbList, SearchAction) that’s always on, plus guided schema instances you add per content type. You fill out a form. You don’t write JSON. And the schema health panel tells you if something is missing or invalid before Google does.
* * *
### 3\. Social & Sharing Metadata
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Open Graph tags (og:title, og:description, og:image)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Twitter/X Card metadata
✅
✅ (Free)
✅ (Free)
✅ (Free)
Social image per post
✅
✅ (Free)
✅ (Free)
✅ (Free)
Default social image fallback
✅
✅ (Free)
✅ (Free)
✅ (Free)
oEmbed enhancements
✅
✅ (Free)
✅ (Free)
❌
Enhanced Slack sharing metadata
❌
✅ (Free)
✅ (Free)
❌
Social profiles (Facebook, Instagram, LinkedIn, etc.)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Social previews (Facebook & X)
❌
✅ (Free)
✅ (Premium)
✅ (Free)
Social appearance templates
❌
❌
✅ (Premium)
❌
Open Graph image generator
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Twitter image generator
❌
✅ (Free)
✅ (Free)
✅ (Pro)
OG video meta tags
✅ (Pro)
✅ (Free)
✅ (Video)
❌
Custom social thumbnail overlays (watermark/overlay)
❌
✅ (Pro)
❌
❌
* * *
### 4\. Sitemaps
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
XML sitemap generation
✅
✅ (Free)
✅ (Free)
✅ (Free)
WordPress core sitemap integration
✅
✅ (Free)
✅ (Free)
❌
Noindex-aware sitemap (excludes noindexed content)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap caching
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap images support
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap for custom post types
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap for taxonomies
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap for authors / users
✅
✅ (Free)
✅ (Free)
✅ (Pro)
Sitemap styling / stylesheet
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap REST endpoint
✅
✅ (Free)
✅ (Free)
✅ (Free)
Sitemap self-check (SEO Analyzer)
✅
❌
❌
❌
News sitemap (Google News 48-hour rule)
✅ (Pro)
✅ (Pro)
✅ (News)
✅ (Pro)
Video sitemap
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Geo / KML sitemap (Local SEO)
✅ (Pro)
✅ (Free)
✅ (Local)
❌
IndexNow integration
✅
✅ (Free)
✅ (Premium)
✅ (Pro)
Redirect-aware sitemap (removes redirected URLs)
❌
❌
✅ (Premium)
❌
* * *
### 5\. AI Visibility & Answer Engine Optimization
This is the category most legacy SEO plugins don’t fully address. It’s not just about Google anymore; it’s about ChatGPT, Gemini, Perplexity, Claude, AI Overviews, and the crawlers that feed them.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
llms.txt publishing
✅
✅ (Free)
✅ (Free)
❌
robots.txt policy controls (visual editor)
✅
✅ (Free)
✅ (Free)
✅ (Free)
AI crawler logging
✅
❌
❌
❌
Quick-Answer block (AEO / answer engine optimization)
✅
❌
❌
❌
FAQ block with schema (answer engine friendly)
✅
✅ (Free)
✅ (Free)
❌
HowTo block with schema
✅
✅ (Free)
✅ (Free)
❌
Structured data for AI parsing
✅
✅ (Free)
✅ (Free)
✅ (Free)
AI crawler rules in robots.txt
✅
✅ (Free)
✅ (Free)
✅ (Free)
AI crawler bot blocker (GPTBot, CCBot, Google-Extended)
❌
❌
✅ (Premium)
❌
AI readiness score (0-100)
✅ (Web App)
❌
❌
❌
Citation simulator (AI citation likelihood)
✅ (Web App)
❌
❌
❌
Crawl cleanup (searches, RSS, oembed)
❌
❌
✅ (Free)
✅ (Free)
LLMs.txt health check
✅ (Web App)
✅ (Free)
✅ (Free)
❌
LLMs.txt cron scheduler
❌
✅ (Free)
✅ (Free)
❌
> **llms.txt is not a gimmick.** It’s a emerging standard that tells AI crawlers what your site is about, what content matters, and how to understand it. Most SEO plugins don’t touch it. SEOvault AI publishes and manages it remotely when connected to the web app.
* * *
### 6\. Local SEO
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Business information management
✅
✅ (Free)
✅ (Local)
✅ (Free)
LocalBusiness schema generation
✅
✅ (Free)
✅ (Local)
✅ (Pro)
Multiple business types support
✅
✅ (Free)
✅ (Local)
✅ (Pro)
100+ Schema.org business types
✅
❌
✅ (Local)
❌
Opening hours management
✅
✅ (Free)
✅ (Local)
❌
Multiple time slots per day
✅
❌
✅ (Local)
❌
24/7 open toggle
✅
❌
✅ (Local)
❌
Geo coordinates / geo tags
✅
✅ (Free)
✅ (Local)
❌
Automatic geocoding (Google Maps API)
❌
❌
✅ (Local)
❌
Geo meta tags (geo.position, geo.placename)
✅
❌
✅ (Local)
❌
Location meta (per-post location)
✅
✅ (Free)
✅ (Local)
❌
Multiple locations (custom post type)
✅
✅ (Pro)
✅ (Local)
❌
Location categories / taxonomy
✅
✅ (Pro)
✅ (Local)
❌
Primary location selection
✅
❌
✅ (Local)
❌
KML sitemap
✅
✅ (Free)
✅ (Local)
❌
Store locator
✅
✅ (Pro)
✅ (Local)
❌
Store locator radius search
✅
✅ (Pro)
✅ (Local)
❌
Current location detection (geolocation)
✅
❌
✅ (Local)
❌
Map shortcode (Google Maps)
✅
✅ (Pro)
✅ (Local)
❌
Map widget
✅ (Pro)
❌
✅ (Local)
❌
Address renderer / shortcodes
✅
✅ (Pro)
✅ (Local)
❌
Address widget
✅ (Pro)
❌
✅ (Local)
❌
Opening hours widget
✅ (Pro)
❌
✅ (Local)
❌
Store locator widget
✅ (Pro)
❌
✅ (Local)
❌
Open/closed status widget
✅ (Pro)
❌
✅ (Local)
❌
Locations by category widget
✅ (Pro)
❌
✅ (Local)
❌
Local SEO Gutenberg blocks (address, map, hours, locator)
✅ (Pro)
✅ (Pro)
✅ (Local)
❌
Local SEO import/export
✅
❌
✅ (Local)
❌
Countries database
✅
❌
✅ (Local)
❌
Custom map markers
✅
❌
✅ (Local)
❌
Custom marker per category
✅ (Pro)
❌
✅ (Local)
❌
Marker clustering
✅
❌
✅ (Local)
❌
Business timezone per location
✅ (Pro)
❌
✅ (Local)
❌
VAT ID / Tax ID / CoC ID fields
✅ (VAT/Tax Free; CoC Pro)
❌
✅ (Local)
❌
Price range field
✅
✅ (Free)
✅ (Local)
❌
Area served field
✅ (Pro)
❌
✅ (Local)
❌
Branch organization schema
❌
❌
✅ (Local)
❌
Organization list schema (ItemList)
❌
❌
✅ (Local)
❌
Enhanced search (location data in WP search)
❌
❌
✅ (Local)
❌
Custom permalinks for locations
❌
❌
✅ (Local)
❌
Custom labels for location post type
❌
❌
✅ (Local)
❌
Location copy/duplicate
❌
❌
✅ (Local)
❌
REST API for locations
✅ (Pro)
❌
✅ (Local)
❌
Holiday / special hours
✅ (Pro)
✅ (Pro)
❌
❌
Service Area Business (GeoCircle radius)
✅ (Pro)
✅ (Pro)
❌
❌
Live “Open Now” indicator
✅ (Pro)
❌
✅ (Local)
❌
Local business reviews management
✅ (Pro)
✅ (Pro)
❌
❌
Services & Offers catalog
✅ (Pro)
❌
❌
❌
Knowledge Graph integration
✅ (Pro)
✅ (Free)
❌
✅ (Free)
Parent organization support
✅ (Pro)
❌
✅ (Local)
❌
Business identifiers (tax ID, chain ID)
✅ (Pro)
❌
✅ (Local)
❌
Currencies support
✅ (Pro)
❌
❌
❌
Enhanced location search
✅ (Pro)
❌
✅ (Local)
❌
Location bulk actions
✅ (Pro)
❌
❌
❌
Local SEO widgets (address, map, hours, open now)
✅ (Pro)
❌
✅ (Local)
❌
Local SEO REST fields
✅ (Pro)
❌
✅ (Local)
❌
Local Business Schema Health validator
✅ (Pro)
❌
❌
❌
Google Rich Results Test link
✅ (Pro)
❌
❌
❌
Multilingual Local SEO (WPML/Polylang)
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
* * *
### 7\. E-Commerce / WooCommerce
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
WooCommerce product schema
✅
✅ (Free)
✅ (Free)
✅ (Free)
WooCommerce HPOS (custom order tables) compatibility
✅
✅ (Free)
✅ (Premium)
❌
Product identifiers (GTIN, MPN, Brand)
✅
✅ (Pro)
❌
❌
Store / shop page SEO
✅
✅ (Free)
✅ (Free)
✅ (Free)
Product schema filter
✅
✅ (Free)
✅ (Free)
✅ (Free)
WooCommerce SEO import/export
✅
❌
❌
❌
WooCommerce permalink integration
✅
✅ (Free)
✅ (Free)
✅ (Free)
WooCommerce product category permalink
✅
✅ (Free)
✅ (Free)
✅ (Free)
Google Merchant Center reconciliation
✅ (Pro)
❌
❌
❌
Merchant Center feed mismatch detection
✅ (Pro)
❌
❌
❌
Merchant Center mismatch alerts
✅ (Pro)
❌
❌
❌
Merchant mapping (product → feed)
✅ (Pro)
❌
❌
❌
Merchant mapping coverage report
✅ (Pro)
❌
❌
❌
Multi-store / agency dashboard
✅ (Pro)
❌
❌
❌
Multi-store metrics aggregation
✅ (Pro)
❌
❌
❌
Multi-store comparison reports
✅ (Pro)
❌
❌
❌
Bulk operations (bulk schema, bulk product matching)
✅ (Pro)
❌
❌
❌
Bulk operations rollback
✅ (Pro)
❌
❌
❌
Pro commerce dashboard with metrics
✅ (Pro)
❌
❌
❌
* * *
### 8\. 404 Monitoring & Redirect Management
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
404 error monitoring / logging
✅
✅ (Free)
❌
❌
404 log admin table with filtering
✅
✅ (Free)
❌
❌
404 CSV export
✅
✅ (Pro)
❌
❌
404 handler (custom 404 page)
✅
❌
✅ (Free)
❌
Redirect manager (301, 302, 307, etc.)
✅
✅ (Free)
✅ (Premium)
✅ (Pro)
Redirect CSV import / export
✅
✅ (Pro)
✅ (Premium)
❌
Redirect validation
✅
✅ (Free)
✅ (Premium)
✅ (Pro)
Automatic redirect on slug change
✅ (Pro)
✅ (Free)
✅ (Premium)
✅ (Pro)
Automatic redirect on post delete/trash
✅ (Pro)
✅ (Pro)
✅ (Premium)
❌
Redirect undo
✅ (Pro)
❌
✅ (Premium)
❌
Redirect import (htaccess, CSV, Redirection plugin)
✅ (CSV Free; htaccess/Redirection Pro)
✅ (Free)
✅ (Premium)
✅ (Pro)
Redirect export (Apache, Nginx)
✅ (Pro)
✅ (Pro)
✅ (Premium)
❌
404 redirect creation from admin bar
✅ (Pro)
✅ (Free)
✅ (Premium)
❌
Redirect accessibility validation
✅ (Pro)
❌
✅ (Premium)
❌
404 fallback behavior (theme 404, homepage, custom URL)
✅
❌
❌
❌
404 recovery page (branded layout)
✅
❌
❌
❌
Redirect manager priority over 404 fallback
✅
❌
❌
❌
Scheduled redirects (time-based activation/deactivation)
❌
✅ (Pro)
❌
❌
Redirect sync to .htaccess
❌
✅ (Pro)
❌
❌
* * *
### 9\. SEO Analysis & Site Auditing
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Site-wide SEO analyzer
✅
✅ (Free)
❌
✅ (Free)
Sitemap availability check
✅
✅ (Free)
❌
✅ (Free)
Robots.txt check
✅
✅ (Free)
❌
✅ (Free)
RSS feed check
✅
✅ (Free)
❌
✅ (Free)
HTTP/HTTPS and www/non-www canonical check
✅
✅ (Free)
❌
✅ (Free)
Homepage headings check
✅
✅ (Free)
❌
✅ (Free)
Response time check
✅
✅ (Free)
❌
✅ (Free)
Frontend SEO score display
✅
✅ (Free)
❌
❌
Flesch Reading Ease score
✅ (Web App)
✅ (Free)
✅ (Free)
❌
Passive voice detection
✅ (Web App)
❌
✅ (Free)
❌
Transition words check
❌
❌
✅ (Free)
❌
Sentence length analysis
✅ (Web App)
❌
✅ (Free)
❌
Consecutive sentences check
❌
❌
✅ (Free)
❌
Subheading distribution analysis
✅ (Web App)
❌
✅ (Free)
❌
Paragraph length check
✅ (Web App)
❌
✅ (Free)
❌
Readability score (traffic light)
✅ (Web App)
✅ (Free)
✅ (Free)
❌
SEO dashboard (GA4 + Search Console)
✅ (Web App)
✅ (Free)
✅ (Free)
✅ (Free)
Search rankings data
✅ (Web App)
✅ (Free)
✅ (Free)
✅ (Free)
Traffic data visualization
✅ (Web App)
✅ (Free)
✅ (Free)
❌
Orphaned content detection
❌
❌
✅ (Premium)
❌
Stale cornerstone content filter
❌
❌
✅ (Premium)
❌
SEO workouts (guided tasks)
❌
❌
✅ (Premium)
❌
SEO task list
❌
❌
✅ (Free)
❌
Brand insights dashboard
❌
❌
✅ (Free)
❌
Semrush keyword research integration
❌
❌
✅ (Free)
❌
Wincher rank tracking integration
❌
❌
✅ (Free)
❌
Google Site Kit integration
❌
❌
✅ (Free)
❌
Custom fields in SEO analysis
❌
✅ (Free)
✅ (Premium)
❌
Keyword export to CSV
❌
✅ (Pro)
✅ (Premium)
❌
Keyword position tracking (in plugin)
❌
✅ (Free)
❌
✅ (Free)
Competitor analysis (side-by-side URL comparison)
❌
✅ (Pro)
❌
❌
Winning/losing keywords dashboard
❌
✅ (Pro)
❌
❌
SEO trends visualization tool
❌
✅ (Pro)
❌
❌
Google AdSense integration
❌
✅ (Pro)
❌
❌
* * *
### 10\. Content Optimization & Blocks
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Gutenberg FAQ block (with schema)
✅
✅ (Free)
✅ (Free)
❌
Gutenberg HowTo block (with schema)
✅
✅ (Free)
✅ (Free)
❌
Gutenberg Quick-Answer block (AEO)
✅
❌
❌
❌
Gutenberg Breadcrumb block
✅
❌
✅ (Free)
❌
Table of Contents block
✅ (Web App)
✅ (Free)
✅ (Premium)
❌
Related links block
❌
❌
✅ (Premium)
❌
Subpages block
❌
❌
✅ (Premium)
❌
Siblings block
❌
❌
✅ (Premium)
❌
Estimated reading time block
❌
❌
✅ (Premium)
❌
AI Summarize block
❌
❌
✅ (Premium)
❌
Third-party block conversion (Yoast/FAQ/HowTo blocks)
✅
✅ (Free)
❌
❌
FAQ/HowTo auto-detection & block suggestion (auto-apply from content)
✅
❌
❌
❌
Content metrics dashboard
✅
✅ (Free)
✅ (Free)
❌
SEO bar in post list
✅
✅ (Free)
✅ (Free)
✅ (Free)
Cornerstone content marking
❌
❌
✅ (Free)
❌
Primary category selection
❌
✅ (Pro)
✅ (Free)
❌
Admin columns (SEO score, readability, focus keyword)
❌
✅ (Free)
✅ (Free)
✅ (Free)
* * *
### 11\. Import & Migration
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Import from Yoast SEO
✅
✅ (Free)
❌
✅ (Free)
Import from Rank Math
✅
❌
✅ (Free)
✅ (Free)
Import from All in One SEO (AIOSEO)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Import from Slim SEO
✅
❌
❌
✅ (Free)
Import from The SEO Framework
✅
❌
❌
❌
Import from SEOPress
✅
✅ (Free)
❌
✅ (Free)
Import from SiteSEO
✅
❌
❌
❌
Import from Squirrly SEO
✅
❌
❌
✅ (Free)
Import from SureRank
✅
❌
❌
❌
Import from Headspace
❌
❌
✅ (Free)
❌
Import from Jetpack SEO
❌
❌
✅ (Free)
❌
Import from Platinum SEO Pack
❌
❌
✅ (Free)
❌
Import from Premium SEO Pack
❌
❌
✅ (Free)
❌
Import from Greg’s High Performance SEO
❌
❌
✅ (Free)
❌
Conflict detection for duplicate SEO plugins
✅
✅ (Free)
❌
✅ (Free)
Settings export/import
✅
✅ (Free)
✅ (Free)
✅ (Free)
Import templates & sitemap settings from other plugins
❌
❌
❌
✅ (Pro)
CSV import/export for SEO meta
❌
✅ (Pro)
❌
❌
> **We import from everyone.** Including SureRank, the newest competitor in this comparison. If you’re switching from any of these plugins, SEOvault AI can pull your existing SEO data so you don’t start from zero.
* * *
### 12\. API, Integrations & Web App Connection
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Secure REST API (seovaultai/v1)
✅
✅ (Free)
✅ (Free)
❌
Site key authentication
✅
❌
❌
❌
Rate limiting & temporary lockouts
✅
❌
❌
❌
API activity audit log (hashed IPs)
✅
❌
❌
❌
CORS allowlist
✅
❌
❌
❌
Read-only & write-scoped API keys
✅
❌
❌
❌
REST API for SEO metadata retrieval
✅
✅ (Free)
✅ (Free)
✅ (Free)
Surfaces API (programmatic SEO data access)
❌
❌
✅ (Free)
❌
Metadata API (filter/override meta tags)
❌
✅ (Free)
✅ (Free)
✅ (Free)
Schema API (modify schema graph)
❌
✅ (Free)
✅ (Free)
✅ (Free)
SEOvault web app integration
✅
❌
❌
❌
Elementor editor integration
✅
✅ (Free)
✅ (Free)
✅ (Free)
IndexNow integration (Bing, Yandex, etc.)
✅
✅ (Free)
✅ (Premium)
✅ (Pro)
Google Analytics tracking code injection
✅
✅ (Free)
❌
❌
Google Maps integration (Local SEO)
✅
❌
✅ (Local)
❌
Webmaster verification (Google, Bing, etc.)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Site Health monitor
✅ (Pro)
❌
❌
✅ (Free)
Site Health webhook (optional)
✅ (Pro)
❌
❌
❌
Extension API for Pro add-on
✅
✅ (Free)
✅ (Free)
✅ (Free)
WPML / Polylang multilingual support
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
bbPress integration
❌
✅ (Free)
✅ (Free)
❌
AMP integration
❌
✅ (Free)
✅ (Free)
❌
Web Stories integration
❌
✅ (Free)
✅ (Free)
❌
W3 Total Cache integration
❌
❌
✅ (Free)
❌
Jetpack integration
❌
❌
✅ (Free)
❌
Google Docs add-on
❌
❌
✅ (Premium)
❌
BuddyPress integration
❌
✅ (Free)
❌
❌
ACF integration (fields in SEO analysis)
✅
✅ (Free)
✅ (Free)
❌
Divi builder integration
❌
✅ (Free)
✅ (Free)
✅ (Free)
Imagify integration (image optimization)
❌
✅ (Pro)
❌
❌
TranslatePress integration
❌
✅ (Free)
❌
✅ (Free)
Weglot integration
❌
✅ (Free)
❌
❌
Media library filters by SEO criteria
❌
✅ (Pro)
❌
❌
MCP (Model Context Protocol) support
❌
❌
❌
✅ (Free)
WP-CLI commands
❌
❌
❌
✅ (Free)
Podcast support (RSS feed + schema)
❌
✅ (Pro)
❌
❌
Breakdance builder integration
❌
❌
❌
✅ (Free)
Avada / Fusion Builder integration
❌
❌
❌
✅ (Free)
CartFlows integration
❌
❌
❌
✅ (Free)
Angie integration
❌
❌
❌
✅ (Free)
FluentCart integration
❌
❌
❌
✅ (Free)
* * *
### 13\. Performance, Architecture & Privacy
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Lightweight / WordPress-first architecture
✅
✅ (Free)
✅ (Free)
✅ (Free)
No license key required (free)
✅
✅ (Free)
✅ (Free)
✅ (Free)
No hidden telemetry
✅
❌
❌
❌
No usage quota on free features
✅
❌
❌
✅ (Free)
Multisite / network-wide activation support
✅
✅ (Free)
✅ (Free)
❌
Indexables system (unified SEO data)
❌
❌
✅ (Free)
❌
Schema build caching
✅
❌
❌
❌
Sitemap caching
✅
✅ (Free)
✅ (Free)
✅ (Free)
Translation / i18n ready
✅
✅ (Free)
✅ (Free)
✅ (Free)
TranslationPress integration
❌
❌
✅ (Free)
✅ (Free)
Privacy settings page
✅
✅ (Free)
✅ (Free)
✅ (Free)
Clean uninstall (removes data on uninstall)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Usage tracking (opt-in)
❌
✅ (Free)
✅ (Free)
✅ (Free)
* * *
### 14\. Admin Experience & UX
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Dashboard with content metrics
✅
✅ (Free)
✅ (Free)
✅ (Free)
Onboarding wizard
✅
✅ (Free)
✅ (Free)
✅ (Free)
First-time configuration wizard
✅
✅ (Free)
✅ (Free)
✅ (Free)
Post meta box (full SEO controls)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Term meta box (category/tag SEO)
✅
✅ (Free)
✅ (Free)
✅ (Free)
SEO bar (visual status in post list)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Quick Edit SEO fields
✅
✅ (Pro)
✅ (Free)
✅ (Free)
Sidebar cards / contextual help
✅
✅ (Free)
✅ (Free)
✅ (Free)
Action center
✅
❌
❌
❌
Admin notices system
✅
✅ (Free)
✅ (Free)
✅ (Free)
Notification center
❌
✅ (Free)
✅ (Free)
❌
Feature toggles
❌
✅ (Free)
✅ (Free)
✅ (Free)
SEO roles & capabilities
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Admin bar menu
❌
✅ (Free)
✅ (Free)
✅ (Free)
Schema settings tab
✅
✅ (Free)
✅ (Free)
✅ (Free)
Schema picker / add UI
✅
✅ (Free)
❌
✅ (Free)
Schema guided form renderer
✅
✅ (Free)
❌
✅ (Free)
Schema custom JSON editor
✅
✅ (Free)
✅ (Free)
✅ (Free)
Schema review surface
✅
✅ (Free)
❌
✅ (Free)
Robots.txt preview (AJAX)
✅
✅ (Free)
❌
✅ (Free)
Cache compatibility notice
✅
❌
❌
✅ (Free)
HelpScout beacon (in-app support)
❌
❌
✅ (Free)
❌
Yoast Academy (SEO courses)
❌
❌
✅ (Free)
❌
24/7 premium support
❌
✅ (Pro)
✅ (Premium)
✅ (Pro)
Frontend SEO popup (frontend editing for logged-in users)
❌
❌
❌
✅ (Free)
Email reports with custom branding (logo, colors)
❌
❌
❌
✅ (Pro)
Marketplace (in-plugin add-on store)
❌
✅ (Pro)
❌
❌
Link counter (internal/external/incoming in post lists)
❌
✅ (Free)
❌
❌
* * *
### 15\. Breadcrumbs & Navigation SEO
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Breadcrumb generation
✅
✅ (Free)
✅ (Free)
✅ (Free)
Breadcrumb schema (BreadcrumbList)
✅
✅ (Free)
✅ (Free)
✅ (Free)
Breadcrumb shortcode
✅
✅ (Free)
✅ (Free)
✅ (Pro)
Breadcrumb Gutenberg block
❌
❌
✅ (Free)
❌
Breadcrumb display conditions
✅
❌
❌
❌
Customizable separator
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Breadcrumb prefix
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Custom home text
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Legacy breadcrumb shortcode aliases (optional)
✅
❌
❌
❌
* * *
### 16\. Image SEO & Media
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Automatic ALT attribute generation
✅
✅ (Free)
❌
✅ (Free)
Automatic image title attributes
✅
✅ (Free)
❌
✅ (Free)
Image SEO per-post overrides
✅
✅ (Free)
❌
✅ (Free)
Image sitemaps
✅
✅ (Free)
✅ (Free)
✅ (Free)
Open Graph image generator
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Twitter image generator
❌
✅ (Free)
✅ (Free)
✅ (Pro)
Main image schema
✅
✅ (Free)
✅ (Free)
❌
Video thumbnail handling
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Video thumbnail local storage
❌
❌
✅ (Video)
❌
AI image generation
✅ (Web App)
❌
❌
✅ (Pro)
Stock images library (built-in search)
❌
❌
❌
✅ (Free)
Image SEO auto-captions
❌
✅ (Pro)
❌
❌
Image SEO auto-descriptions
❌
✅ (Pro)
❌
❌
* * *
### 17\. Advanced / Technical SEO
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Comment SEO controls
✅
✅ (Free)
❌
❌
Comment link fixer
❌
❌
✅ (Free)
✅ (Free)
Feed optimization
✅
❌
✅ (Free)
✅ (Free)
RSS footer content
❌
❌
✅ (Free)
❌
Query exclusion (thin content, low-quality)
✅
❌
❌
❌
Indexability analysis
✅
✅ (Free)
✅ (Free)
✅ (Free)
Crawl cleanup (searches, oembed, RSS)
❌
❌
✅ (Free)
✅ (Free)
Indexing controls
❌
✅ (Free)
✅ (Free)
✅ (Free)
Background indexing
❌
❌
✅ (Free)
❌
Internal link indexing
❌
✅ (Free)
✅ (Free)
❌
Description template migration
✅
❌
❌
✅ (Pro)
Auto keyword persistence
✅
❌
❌
❌
Tracking code injection (head/body/footer)
✅
✅ (Free)
❌
❌
Force title rewrite
❌
✅ (Free)
✅ (Free)
✅ (Free)
Estimated reading time
❌
❌
✅ (Free)
❌
SEO health check (WordPress Site Health)
❌
✅ (Free)
✅ (Free)
✅ (Free)
Google Indexing API (direct GSC indexing)
❌
❌
❌
✅ (Pro)
Crawl optimization (remove category base, replytocom cleanup)
❌
❌
❌
✅ (Free)
* * *
### 18\. News SEO (Pro Module)
Google News has its own sitemap format, its own freshness rules, and its own schema. Most SEO plugins either ignore it entirely or gate it behind an expensive add-on. SEOvault AI Pro ships it as a first-class module.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Google News sitemap (`/news-sitemap.xml`)
✅ (Pro)
✅ (Pro)
✅ (News)
✅ (Pro)
48-hour freshness rule enforcement
✅ (Pro)
✅ (Pro)
✅ (News)
✅ (Pro)
NewsArticle schema (transforms Article node)
✅ (Pro)
✅ (Pro)
✅ (News)
❌
6 NewsArticle subtypes (Analysis, Opinion, Reportage, etc.)
❌
❌
✅ (News)
❌
Publication name & language configuration
✅ (Pro)
✅ (Pro)
✅ (News)
✅ (Pro)
Per-post News SEO editorial controls
✅ (Pro)
✅ (Pro)
✅ (News)
❌
Stock ticker symbols (financial news)
❌
❌
✅ (News)
❌
Googlebot-News meta tag
❌
✅ (Pro)
✅ (News)
❌
Copyright info in Article schema
✅ (Pro)
✅ (Pro)
✅ (News)
❌
Configurable post types & excluded terms
✅ (Pro)
✅ (Pro)
✅ (News)
✅ (Pro)
Block Editor React metabox
✅ (Pro)
✅ (Pro)
✅ (News)
❌
Classic Editor PHP fallback
✅ (Pro)
✅ (Pro)
✅ (News)
❌
Elementor editor integration
✅ (Pro)
✅ (Free)
✅ (News)
✅ (Free)
News SEO dashboard widget
✅ (Pro)
❌
❌
❌
Site Health diagnostics for News SEO
✅ (Pro)
❌
❌
❌
Deferred IndexNow notifications for news
✅ (Pro)
❌
❌
❌
WPML / Polylang multilingual news filtering
✅ (Pro)
✅ (Pro)
✅ (News)
❌
Yoast News SEO migration importer
✅ (Pro)
❌
❌
✅ (Pro)
Rank Math News SEO migration importer
✅ (Pro)
✅ (Pro)
❌
✅ (Pro)
> **News SEO is a niche, but if you’re in it, it’s the whole game.** Most general-purpose SEO plugins don’t ship a Google News sitemap at all. SEOvault AI Pro includes it in the module system, with migration paths from both Yoast News SEO and Rank Math News SEO.
* * *
### 19\. Video SEO (Pro Module)
Video content is notoriously under-optimized in WordPress. Most sites embed YouTube and hope. SEOvault AI Pro’s Video SEO module detects videos, extracts metadata, generates VideoObject schema, builds a video sitemap, and supports 13+ video providers.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
VideoObject schema generation
✅ (Pro)
✅ (Free)
✅ (Video)
✅ (Pro)
Video sitemap
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Video detection (block parser)
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
YouTube provider
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Vimeo provider
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Dailymotion provider
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Wistia provider
✅ (Pro)
❌
✅ (Video)
❌
VideoPress provider
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Facebook provider
✅ (Pro)
❌
❌
❌
Brightcove provider
✅ (Pro)
❌
✅ (Video)
❌
TED provider
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Embedly provider
✅ (Pro)
❌
✅ (Video)
❌
Self-hosted video provider
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
HLS / DASH / adaptive streaming
✅ (Pro)
❌
❌
❌
36+ video providers (YouTube, Vimeo, Hulu, Metacafe, etc.)
❌
❌
✅ (Video)
❌
11+ third-party video plugin integrations
❌
❌
✅ (Video)
❌
Video thumbnail downloader
✅ (Pro)
✅ (Pro)
✅ (Video)
✅ (Pro)
Video thumbnail local storage
❌
❌
✅ (Video)
❌
Video chapters parser
✅ (Pro)
❌
❌
❌
Video transcript support
✅ (Pro)
❌
❌
❌
Video deep link controller
✅ (Pro)
❌
❌
❌
YouTube lite embed (thumbnail → click to load)
❌
❌
✅ (Video)
❌
OpenGraph video meta tags
❌
✅ (Free)
✅ (Video)
❌
Yandex video meta tags
❌
❌
✅ (Video)
❌
Media RSS injection
✅ (Pro)
✅ (Pro)
✅ (Video)
❌
Video sitemap cloaking
❌
❌
✅ (Video)
❌
FitVids.js (responsive video embeds)
❌
❌
✅ (Video)
❌
Embedly API integration (unsupported services)
❌
❌
✅ (Video)
❌
Video re-indexing tool with progress bar
❌
❌
✅ (Video)
❌
Custom fields for video detection
❌
❌
✅ (Video)
✅ (Pro)
Per-post video settings (disable, thumbnail, duration, rating)
❌
✅ (Pro)
✅ (Video)
❌
Term/archive video support
❌
❌
✅ (Video)
❌
YouTube data refresh (30-day auto-update)
❌
❌
✅ (Video)
❌
Video bulk generation
✅ (Pro)
❌
❌
❌
Video indexer (CLI command)
✅ (Pro)
❌
✅ (Video)
❌
Video sitemap preview page
✅ (Pro)
❌
❌
❌
Video validator (REST + admin)
✅ (Pro)
❌
❌
❌
Video SEO dashboard widget
✅ (Pro)
❌
❌
❌
Bricks builder integration
✅ (Pro)
❌
❌
✅ (Free)
Oxygen builder integration
✅ (Pro)
❌
❌
❌
Elementor integration
✅ (Pro)
✅ (Pro)
✅ (Video)
❌
Multilingual video SEO (WPML/Polylang)
✅ (Pro)
✅ (Pro)
✅ (Video)
❌
Video sync scheduler with retry & cooldown
✅ (Pro)
❌
❌
❌
API key vault (encrypted)
✅ (Pro)
❌
❌
❌
> **13 video providers, one module.** This is not “paste a YouTube URL and we’ll add a schema tag.” It’s a full video indexing system with provider-specific parsers, thumbnail downloading, chapter extraction, transcript support, a dedicated video sitemap, and CLI tooling for bulk indexing. We haven’t seen another WordPress SEO plugin that covers this many providers.
* * *
### 20\. Schema Monitoring (Pro Module)
Schema doesn’t help if it’s broken. This module continuously validates your schema, takes snapshots, detects duplicates, and alerts you when something changes or breaks.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Scheduled schema validation
✅ (Pro)
❌
❌
❌
Schema snapshot storage
✅ (Pro)
❌
❌
❌
Schema snapshot comparison
✅ (Pro)
❌
❌
❌
Duplicate schema detection
✅ (Pro)
❌
❌
❌
Schema alert management
✅ (Pro)
❌
❌
❌
Monitoring admin page
✅ (Pro)
❌
❌
❌
AJAX-driven monitoring controls
✅ (Pro)
❌
❌
❌
Configurable monitoring schedule
✅ (Pro)
❌
❌
❌
* * *
### 21\. Content Analysis (Pro Module)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Word count column in post list
✅ (Pro)
✅ (Free)
✅ (Free)
❌
Content length badge (thin / marginal / good / near-max / over)
✅ (Pro)
❌
❌
❌
Configurable word count thresholds
✅ (Pro)
❌
❌
❌
Content length settings tab
✅ (Pro)
❌
❌
❌
Flesch Reading Ease score
✅ (Web App)
✅ (Free)
✅ (Free)
❌
Passive voice detection
✅ (Web App)
❌
✅ (Free)
❌
Transition words check
❌
❌
✅ (Free)
❌
Sentence length analysis
✅ (Web App)
❌
✅ (Free)
❌
Subheading distribution analysis
✅ (Web App)
❌
✅ (Free)
❌
Paragraph length check
✅ (Web App)
❌
✅ (Free)
❌
> **Note:** The Pro plugin module handles content _length_ analysis (word count badges, configurable thresholds). Full readability analysis (Flesch Reading Ease, passive voice detection, sentence length, subheading distribution, and paragraph length) lives in the **web app’s SEO Audit Panel**, (free to use) which runs 15+ checks across 4 categories (GEO, E-E-A-T, TL;DR, Global) plus AI detection. The web app also detects formulaic AI phrases, repetition patterns, and specificity signals. Transition words and consecutive sentence checks remain a gap. Yoast Free has those in the plugin editor.
* * *
### 22\. Pro Dashboard & Diagnostics
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Pro dashboard with content metrics
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
Dashboard drill-down view
✅ (Pro)
✅ (Free)
✅ (Free)
❌
Dashboard metric caching
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
Dashboard data export
✅ (Pro)
✅ (Pro)
❌
❌
WooCommerce product source for dashboard
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
Pro modules dashboard section
✅ (Pro)
❌
❌
✅ (Pro)
System status / diagnostics page
✅ (Pro)
✅ (Free)
✅ (Free)
✅ (Free)
Pro license admin UI
✅ (Pro)
✅ (Pro)
✅ (Premium)
✅ (Pro)
Entitlement-based module gating
✅ (Pro)
✅ (Pro)
✅ (Premium)
✅ (Pro)
Private update client
✅ (Pro)
✅ (Pro)
✅ (Premium)
✅ (Pro)
Action Scheduler / queue runner
✅ (Pro)
❌
❌
✅ (Pro)
Batch processing infrastructure
✅ (Pro)
❌
❌
✅ (Pro)
* * *
### 23\. AI Content Generation: Ultra Writer (Web App)
This is where the SEOvault AI ecosystem separates itself from every WordPress SEO plugin on the market. No SEO plugin (Rank Math, Yoast, SureRank, none of them) ships a full AI article generation pipeline. SEOvault AI’s web app includes **Ultra Writer**, a 9-step AI content generation pipeline with research, outlining, drafting, quality gates, and publish-ready output.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
AI article generation (full pipeline)
✅ (Web App)
❌
❌
❌
9-step pipeline (research → outline → draft → QA → publish)
✅ (Web App)
❌
❌
❌
13 article type presets (Standard, Listicle, Comparison, Review, How-to, News, Buyer’s Guide, Explainer, Opinion, Case Study, Custom, Rewrite, E-E-A-T)
✅ (Web App)
❌
❌
❌
E-E-A-T mode (Expert Experience signals)
✅ (Web App)
❌
❌
❌
Tone selection (11 tones + custom)
✅ (Web App)
❌
❌
❌
Perspective selection (1st person, 1st plural, neutral)
✅ (Web App)
❌
❌
❌
Audience level targeting (beginner, intermediate, expert)
✅ (Web App)
❌
❌
❌
16 language support
✅ (Web App)
❌
❌
❌
Target word count control
✅ (Web App)
❌
❌
❌
Web search research mode
✅ (Web App)
❌
❌
❌
SERP analysis research mode
✅ (Web App)
❌
❌
❌
Google Search Console integration
✅ (Web App)
❌
❌
❌
Custom article templates
✅ (Web App)
❌
❌
❌
AI image generation (Fal.ai integration)
✅ (Web App)
❌
❌
❌
AI visual strategy planner
✅ (Web App)
❌
❌
❌
Structured block generation (FAQ, HowTo, Quick Answer)
✅ (Web App)
❌
❌
❌
Brand Kit integration in generation
✅ (Web App)
❌
❌
❌
Quality gates / validation
✅ (Web App)
❌
❌
❌
Trust link injection
✅ (Web App)
❌
❌
❌
Publish pack (final assembly)
✅ (Web App)
❌
❌
❌
Job resume (resume interrupted generation)
✅ (Web App)
❌
❌
❌
History tracking for generations
✅ (Web App)
❌
❌
❌
Credit-based usage system
✅ (Web App)
❌
❌
❌
> **No WordPress SEO plugin has this.** Rank Math has an “AI” feature that generates a meta description. Yoast has a premium AI title/description generator. SEOvault AI’s Ultra Writer is a full content production pipeline: research, outline, draft, QA, images, structured blocks, and one-click publish to WordPress. This is a different category of tool.
* * *
### 24\. AI Writing Assistant Tools (Web App)
Beyond the full Ultra Writer pipeline, the web app includes a suite of AI writing tools accessible from the editor’s right pane.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Quick AI Writer (keyword → article)
✅ (Web App)
❌
❌
❌
Section Architect (generate sections with context)
✅ (Web App)
❌
❌
❌
AI Humanizer / Text Naturalizer
✅ (Web App)
❌
❌
❌
TL;DR Summary generator
✅ (Web App)
❌
❌
❌
AI FAQ Generator
✅ (Web App)
❌
❌
❌
Citation / link building assistant
✅ (Web App)
❌
❌
❌
Analyze & Generate (analysis-driven generation)
✅ (Web App)
❌
❌
❌
Inspire Me (content gap ideas)
✅ (Web App)
❌
❌
❌
Document Outline viewer
✅ (Web App)
❌
❌
❌
Deep Analysis & Comparison (DAC)
✅ (Web App)
❌
❌
❌
SERP feature gap identification
✅ (Web App)
❌
❌
❌
LSI / related keyword generation
✅ (Web App)
❌
❌
❌
Missing entity detection
✅ (Web App)
❌
❌
❌
Search intent detection
✅ (Web App)
❌
❌
❌
Competitor word count comparison
✅ (Web App)
❌
❌
❌
* * *
### 25\. Pain Point Explorer: (Web App)
A unique research tool that discovers real user complaints and pain points from across the web, then generates content briefs and articles targeting those pain points.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Pain point discovery (web search)
✅ (Web App)
❌
❌
❌
Complaint clustering & scoring
✅ (Web App)
❌
❌
❌
Focus modes (balanced, buying intent, questions, frustration)
✅ (Web App)
❌
❌
❌
Audience targeting (general, beginners, professionals, decision-makers)
✅ (Web App)
❌
❌
❌
Time window filtering (7/30/90/365 days)
✅ (Web App)
❌
❌
❌
Content brief generation from pain points
✅ (Web App)
❌
❌
❌
Full article generation from brief
✅ (Web App)
❌
❌
❌
SERP sameness analysis
✅ (Web App)
❌
❌
❌
> **Pain Point Explorer is genuinely unique.** No WordPress SEO plugin or mainstream SEO tool does this. It finds what people complain about, clusters those complaints, scores them, and builds content that addresses real pain, not guessed keywords.
* * *
### 26\. Content Rewriting Pipeline (Web App)
An adaptive rewrite system that analyzes existing content for decay, aligns it with current SERP consensus, protects key elements, and generates a rewritten version with QA.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Content decay analysis
✅ (Web App)
❌
❌
❌
Content ingestion from URL or HTML
✅ (Web App)
❌
❌
❌
SERP consensus alignment
✅ (Web App)
❌
❌
❌
Mismatch scoring (intent, coverage, freshness, authority)
✅ (Web App)
❌
❌
❌
Rewrite mode selection (A/B/C)
✅ (Web App)
❌
❌
❌
Protected element extraction (entities, quotes, CTAs)
✅ (Web App)
❌
❌
❌
Tone lock protection
✅ (Web App)
❌
❌
❌
Two-stage rewrite (plan + draft)
✅ (Web App)
❌
❌
❌
Rewrite QA validation
✅ (Web App)
❌
❌
❌
Contract validation for pipeline outputs
✅ (Web App)
❌
❌
❌
* * *
### 27\. AI Visibility Dashboard (Web App)
A dedicated AI visibility workspace that scans your WordPress site and scores its readiness for AI discovery (ChatGPT, Gemini, Perplexity, AI Overviews, answer engines).
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
AI readiness score (0-100)
✅ (Web App)
❌
❌
❌
Readiness radar chart
✅ (Web App)
❌
❌
❌
Schema status check
✅ (Web App)
❌
❌
❌
Robots.txt status check
✅ (Web App)
❌
❌
❌
LLMs.txt status check
✅ (Web App)
❌
❌
❌
Google Search Signals integration
✅ (Web App)
❌
❌
❌
AI Referral Signals card
✅ (Web App)
❌
❌
❌
Crawler Signals card
✅ (Web App)
❌
❌
❌
Citation simulator (AI citation likelihood)
✅ (Web App)
❌
❌
❌
Issues list with recommendations
✅ (Web App)
❌
❌
❌
Scan history tracking
✅ (Web App)
❌
❌
❌
Score breakdown
✅ (Web App)
❌
❌
❌
Answer extraction readiness scoring
✅ (Web App)
❌
❌
❌
Entity clarity scoring
✅ (Web App)
❌
❌
❌
Claim safety scoring
✅ (Web App)
❌
❌
❌
Content parser (headings, FAQ, HowTo, JSON-LD)
✅ (Web App)
❌
❌
❌
Preview & Apply (llms.txt, robots.txt, schema)
✅ (Web App)
❌
❌
❌
Plugin diagnostics
✅ (Web App)
❌
❌
❌
Trend sparklines
✅ (Web App)
❌
❌
❌
Usage meter
✅ (Web App)
❌
❌
❌
> **This is the AI visibility category that legacy SEO plugins don’t have.** The free plugin ships llms.txt and crawler logging. The web app turns that into a full visibility dashboard with scoring, simulation, and actionable recommendations.
* * *
### 28\. Schema Builder (Web App)
A visual schema builder in the web app that lets you create, edit, and inject schema instances into WordPress posts, without writing JSON-LD.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Visual schema type picker
✅ (Web App)
❌
❌
❌
Guided form controls (no JSON needed)
✅ (Web App)
❌
❌
❌
Schema instance editor with validation
✅ (Web App)
❌
❌
❌
JSON-LD preview
✅ (Web App)
❌
❌
❌
Schema visibility control (head/body/anchor)
✅ (Web App)
❌
❌
❌
Schema setup diagnostics
✅ (Web App)
❌
❌
❌
Schema source layers (multi-source view)
✅ (Web App)
❌
❌
❌
Schema status badge
✅ (Web App)
❌
❌
❌
Remote schema injection to WordPress
✅ (Web App)
❌
❌
❌
Schema library / type recommendations
✅ (Web App)
❌
❌
❌
* * *
### 29\. Internal Linking & Autolinks (Web App)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Internal link suggestions (editor selection)
✅ (Web App)
✅ (Pro)
❌
✅ (Pro)
Internal link search across connected site
✅ (Web App)
❌
❌
❌
Link bubble menu (quick edit)
✅ (Web App)
❌
❌
❌
Automatic internal linking (Autolinks)
✅ (Web App)
✅ (Pro)
❌
❌
Autolink phrase matching & HTML tokenization
✅ (Web App)
✅ (Pro)
❌
❌
Autolink rewrite assist (AI context suggestions)
✅ (Web App)
❌
❌
❌
Internal links management panel
✅ (Web App)
✅ (Pro)
❌
❌
Internal links lifecycle tracking
✅ (Web App)
❌
❌
❌
Keyword-to-URL maps (Link Genius)
❌
✅ (Pro)
❌
❌
Link audit (internal & external)
❌
✅ (Pro)
❌
❌
Link status crawler (background)
❌
✅ (Pro)
❌
❌
Content similarity analysis for linking
❌
✅ (Pro)
❌
✅ (Pro)
Bulk link updates across posts
❌
✅ (Pro)
❌
❌
Related Posts block (Link Genius)
❌
✅ (Pro)
❌
❌
* * *
### 30\. Link Checker (Web App)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Broken link scanning (full site)
✅ (Web App)
❌
❌
❌
Sitemap parsing for URL discovery
✅ (Web App)
❌
❌
❌
External link validation (200, 404, redirects, blocked)
✅ (Web App)
❌
❌
❌
Link status filtering
✅ (Web App)
❌
❌
❌
Link results CSV export
✅ (Web App)
❌
❌
❌
Background job processing
✅ (Web App)
❌
❌
❌
* * *
### 31\. SEO Audit Panel (Web App)
A real-time SEO audit that runs inside the web app editor while you write.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Focus keyword tracking
✅ (Web App)
❌
❌
❌
Real-time SEO checklist
✅ (Web App)
❌
❌
❌
Title length & keyword analysis
✅ (Web App)
❌
❌
❌
Meta description analysis
✅ (Web App)
❌
❌
❌
Content length analysis
✅ (Web App)
❌
❌
❌
Heading structure check (H1-H6)
✅ (Web App)
❌
❌
❌
Keyword density analysis
✅ (Web App)
❌
❌
❌
Internal links check
✅ (Web App)
❌
❌
❌
External links check
✅ (Web App)
❌
❌
❌
Readability score
✅ (Web App)
❌
❌
❌
Image alt text check
✅ (Web App)
❌
❌
❌
URL slug analysis
✅ (Web App)
❌
❌
❌
Featured image checklist
✅ (Web App)
❌
❌
❌
Site signals (About, Contact, Editorial Policy, Author)
✅ (Web App)
❌
❌
❌
E-E-A-T analysis (Experience, Expertise, Authoritativeness, Trustworthiness)
✅ (Web App)
❌
❌
❌
First-hand experience signal detection
✅ (Web App)
❌
❌
❌
Authority link detection (trusted domains)
✅ (Web App)
❌
❌
❌
Original image detection (non-stock indicators)
✅ (Web App)
❌
❌
❌
Content freshness check (updated within 12 months)
✅ (Web App)
❌
❌
❌
Author byline presence check
✅ (Web App)
❌
❌
❌
GEO / Answer Engine optimization checks
✅ (Web App)
❌
❌
❌
Direct answer block detection
✅ (Web App)
❌
❌
❌
Fact density analysis (data points per 300 words)
✅ (Web App)
❌
❌
❌
Scannable structure check (paragraph & heading spacing)
✅ (Web App)
❌
❌
❌
Quotable segments detection (bold key takeaways)
✅ (Web App)
❌
❌
❌
TL;DR section detection & quality analysis
✅ (Web App)
❌
❌
❌
AI content detection (burstiness, TTR, connectives, formulaic phrases)
✅ (Web App)
❌
❌
❌
AI human score & risk level
✅ (Web App)
❌
❌
❌
Specificity scoring (numbers, named entities, citations, examples)
✅ (Web App)
❌
❌
❌
Repetition pattern detection (sentence/paragraph starters)
✅ (Web App)
❌
❌
❌
AI quick wins (actionable writing improvement suggestions)
✅ (Web App)
❌
❌
❌
* * *
### 32\. Rich Blocks / Content Blocks (Web App)
The web app includes a full suite of styled content blocks with schema generation, preset management, and plan-based usage tracking.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Pretty Tables (CSV/Markdown/HTML/TSV → styled table)
✅ (Web App)
❌
❌
❌
AI table generation (prose → table)
✅ (Web App)
❌
❌
❌
CTA Box (6 style presets, 7 color presets)
✅ (Web App)
❌
❌
❌
Pros & Cons Box
✅ (Web App)
❌
❌
❌
FAQ Schema Block (accordion/list, FAQPage schema)
✅ (Web App)
❌
❌
❌
How-To Block (HowTo schema)
✅ (Web App)
❌
❌
❌
Quick Answer Block (AEO schema)
✅ (Web App)
❌
❌
❌
Table of Contents block
✅ (Web App)
✅ (Free)
❌
❌
Affiliate Disclosure Box
✅ (Web App)
❌
❌
❌
Code Block (syntax highlighting, copy button)
✅ (Web App)
❌
❌
❌
Product Review Summary Box
✅ (Web App)
❌
❌
❌
Info Note Box
✅ (Web App)
❌
❌
❌
Comparison Verdict Box
✅ (Web App)
❌
❌
❌
Preset management (save/load/delete)
✅ (Web App)
❌
❌
❌
Plan-based usage tracking
✅ (Web App)
❌
❌
❌
* * *
### 33\. Content Editor & WordPress Integration (Web App)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Full rich text editor (TipTap)
✅ (Web App)
❌
❌
❌
Formatting (bold, italic, headings, lists, quotes, tables)
✅ (Web App)
❌
❌
❌
YouTube embeds
✅ (Web App)
❌
❌
❌
Featured image management
✅ (Web App)
❌
❌
❌
WordPress media picker
✅ (Web App)
❌
❌
❌
AI image upload to WordPress
✅ (Web App)
❌
❌
❌
Save draft / publish to WordPress
✅ (Web App)
❌
❌
❌
Export (TXT, Markdown, HTML, PDF, DOCX)
✅ (Web App)
❌
❌
❌
Draft preview
✅ (Web App)
❌
❌
❌
Post list with filtering & search
✅ (Web App)
❌
❌
❌
Create new WordPress draft from web app
✅ (Web App)
❌
❌
❌
Category filtering
✅ (Web App)
❌
❌
❌
Content tree / heading hierarchy (H1-H6)
✅ (Web App)
❌
❌
❌
Per-section keyword mention count
✅ (Web App)
❌
❌
❌
Per-section word count
✅ (Web App)
❌
❌
❌
Outline issue detection (missing H2s, long sections)
✅ (Web App)
❌
❌
❌
Outline filters (all, issues, H2, deep)
✅ (Web App)
❌
❌
❌
Click-to-jump from outline to editor section
✅ (Web App)
❌
❌
❌
* * *
### 34\. Workspace & Team Management (Web App)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Multiple workspaces
✅ (Web App)
❌
❌
❌
Workspace switcher
✅ (Web App)
❌
❌
❌
3-pane productivity layout (resizable)
✅ (Web App)
❌
❌
❌
Multiple WordPress site connections
✅ (Web App)
❌
❌
❌
Site selector / switcher
✅ (Web App)
❌
❌
❌
Site verification (site key authentication)
✅ (Web App)
❌
❌
❌
Per-site post listing & management
✅ (Web App)
❌
❌
❌
Per-site category browsing
✅ (Web App)
❌
❌
❌
Cross-site content publishing
✅ (Web App)
❌
❌
❌
Connected site registration/unregistration
✅ (Web App)
❌
❌
❌
Site status indicators (connected, pending, error)
✅ (Web App)
❌
❌
❌
Post count per connected site
✅ (Web App)
❌
❌
❌
Team members (owner, admin, editor, viewer, client\_viewer)
✅ (Web App)
❌
❌
❌
Email invitations
✅ (Web App)
❌
❌
❌
Role-based access control
✅ (Web App)
❌
❌
❌
Transfer workspace ownership
✅ (Web App)
❌
❌
❌
Leave workspace
✅ (Web App)
❌
❌
❌
Workspace audit logs
✅ (Web App)
❌
❌
❌
Seat limits per plan
✅ (Web App)
❌
❌
❌
* * *
### 35\. Brand Kit (Web App)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Brand voice & tone configuration
✅ (Web App)
❌
❌
❌
Writing perspective
✅ (Web App)
❌
❌
❌
Author name & persona
✅ (Web App)
❌
❌
❌
Forbidden words / avoid terms
✅ (Web App)
❌
❌
❌
Standard disclaimers
✅ (Web App)
❌
❌
❌
Site niche definition
✅ (Web App)
❌
❌
❌
Standard CTA
✅ (Web App)
❌
❌
❌
Formatting preferences
✅ (Web App)
❌
❌
❌
Style DNA analysis (AI analyzes writing samples)
✅ (Web App)
❌
❌
❌
Brand Kit save / edit / delete
✅ (Web App)
❌
❌
❌
Brand Kit integration in AI generation
✅ (Web App)
❌
❌
❌
* * *
### 36\. Site Health Monitoring (Pro + Web App)
> Site Health Monitor is the place where you keep track of issues in your WordPress website without having to visit it. This is important if you have multiple sites to manage. If you have 10 websites managing from the web platform, visiting each of them would be time consuming. The Pro plugin collects health data (error logging, daily checks, mu-plugin, webhook) and the Web App displays it remotely.
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Remote site health monitoring
✅ (Pro + Web App)
❌
❌
❌
Health status card (traffic light)
✅ (Pro + Web App)
❌
❌
❌
Health log table with filtering
✅ (Pro + Web App)
❌
❌
❌
Log filtering (level, search, date range)
✅ (Pro + Web App)
❌
❌
❌
Manual health refresh
✅ (Pro + Web App)
❌
❌
❌
Mu-plugin control
✅ (Pro)
❌
❌
❌
Background health polling
✅ (Pro + Web App)
❌
❌
❌
Site health webhook
✅ (Pro)
❌
❌
❌
Top bar health badge
✅ (Pro + Web App)
❌
❌
❌
* * *
### 37\. Google Integration (Web App)
Feature
SEOvault AI (Full Ecosystem)
Rank Math
Yoast
SureRank
Google OAuth2 connection
✅ (Web App)
❌
❌
❌
Google Search Console integration
✅ (Web App)
❌
❌
❌
Google Analytics 4 integration
✅ (Web App)
❌
❌
❌
Site-to-Google property mapping
✅ (Web App)
❌
❌
❌
Google data import
✅ (Web App)
❌
❌
❌
Google insights for AI visibility
✅ (Web App)
❌
❌
❌
* * *
## The Bottom Line (So Far)
**WordPress plugin layer (Free + Pro):**
* 23+ schema types (Free: 20+, Pro: NewsArticle, VideoObject)
* AI visibility tools (llms.txt, robots.txt editor, crawler logging, Quick-Answer AEO block)
* Full Local SEO suite (Free: business info, KML sitemap, store locator; Pro: holiday hours, service areas, reviews, offers, Knowledge Graph, widgets, multilingual)
* News SEO (Google News sitemap, NewsArticle schema, migration from Yoast/Rank Math News)
* Video SEO (13 providers, VideoObject schema, video sitemap, CLI indexing, transcript support)
* WooCommerce + Merchant Center (product schema, HPOS, reconciliation, multi-store, bulk operations)
* 404 monitoring + redirect manager with CSV import/export, plus Pro automatic slug/trash redirects, undo, htaccess/Redirection import, Apache/Nginx export, admin-bar 404 create, and destination accessibility warnings
* SEO analysis with sitemap/robots/feed/canonical checks
* Schema monitoring with snapshots, validation, duplicate detection, and alerts
* Content analysis with word count badges and configurable thresholds
* Migration from 9 plugins (including SureRank)
* Secure REST API with rate limiting, audit logs, and CORS
* Site Health Monitor (Pro: error logging, daily checks, mu-plugin, webhook; moved from Free Aug 2026 per WordPress.org guidelines)
**Web App layer (cloud):**
* Ultra Writer: 9-step AI article generation pipeline (13 presets, 16 languages, E-E-A-T mode, AI images)
* AI writing assistant suite (Quick Writer, Section Architect, Humanizer, FAQ Generator, TL;DR, Citation, DAC)
* Pain Explorer: pain point research and content generation (unique to SEOvault)
* Content rewriting pipeline (decay analysis, SERP alignment, protected elements, QA)
* AI Visibility Dashboard (readiness score, citation simulator, signal cards, scan history)
* Visual Schema Builder (guided forms, JSON-LD preview, remote injection)
* Internal linking & Autolinks (suggestions, automatic linking, AI rewrite assist)
* Link Checker (broken link scanning, sitemap parsing, CSV export)
* SEO Audit Panel (real-time checklist, 14+ checks)
* 13 rich content blocks with schema and preset management
* Full content editor with WordPress integration (save, publish, export, media)
* Workspace & team management (roles, invites, audit logs)
* Brand Kit (voice, tone, forbidden words, Style DNA analysis)
* Site health monitoring dashboard (Pro + Web App: Pro collects data via mu-plugin/webhook, Web App displays remotely; moved from Free to Pro Aug 2026)
* Google integration (Search Console, GA4, OAuth)
* Billing & credits (Paddle, 6 plan tiers, promo credits)
* Pro plugin licensing (activate, purchase, download)
* Multi-model LLM routing (OpenRouter, Gemini, Grok, Perplexity)
* Admin dashboard (user management, usage analytics, provider config)
**The final takeaway:** SEOvault AI is not just a WordPress SEO plugin. It’s a full SEO content platform (WordPress plugin + Pro add-on + cloud web app) that handles everything from meta tags to AI content generation to AI visibility scoring. No WordPress SEO plugin on the market has a comparable web app layer.
### What the SureRank Audit Revealed
SureRank is the newest entrant in this comparison, a modern, React-based SEO plugin from the same team behind Astra and Starter Templates. It’s lightweight, well-built, and takes a different approach from the established players.
**Where SEOvault AI is genuinely ahead of SureRank:**
* **AI content generation**: Ultra Writer is a 9-step AI article generation pipeline with 13 presets, 16 languages, E-E-A-T mode. SureRank’s content generation is limited to AI titles and descriptions.
* **Pain Explorer**: Pain point research and content generation. SureRank has nothing like this.
* **Content rewriting pipeline**: Decay analysis, SERP alignment, protected elements, QA. SureRank has nothing like this.
* **AI Visibility Dashboard**: Readiness score, citation simulator, signal cards. SureRank has no AI visibility features.
* **llms.txt**: SureRank doesn’t have llms.txt publishing at all. SEOvault AI has it in the free plugin.
* **Web app**: SEOvault AI has a full cloud platform with workspace, team management, brand kits, content editor, and 100+ features. SureRank has no web app.
* **Schema monitoring**: Scheduled validation, snapshots, duplicate detection, alerts. SureRank has nothing like this.
* **23+ schema types in free**: SEOvault AI has Recipe, Event, Course, JobPosting, SoftwareApplication, Service, Book, Dataset, ClaimReview, MusicGroup, and more all in the free plugin. SureRank gates FAQ, HowTo, Recipe, Event, Course, JobPosting, SoftwareApplication, Service, Book, Dataset, ClaimReview, Movie, Podcast, LocalBusiness, and VideoObject behind Pro. That’s 15 schema types requiring Pro vs. free in SEOvault AI.
* **WooCommerce Merchant Center**: Reconciliation, mismatch detection, merchant mapping, multi-store. SureRank has basic WooCommerce SEO but nothing like this.
* **404 monitoring**: SEOvault AI logs 404s with filtering and CSV export. SureRank has no 404 monitoring at all.
* **Multiple focus keywords**: SEOvault AI uses 1 primary + up to 4 auto-detected secondary keywords by design; it does not support N equal-weighted primaries with per-keyword analysis. SureRank also only supports a single manual focus keyword; neither has Rank Math’s 5 equal primaries.
* **Local SEO**: SEOvault AI has a full Local SEO suite with store locator, maps, multiple locations, holiday hours, service areas, reviews. SureRank has basic Organization/Person schema and LocalBusiness schema (Pro) but no locations, maps, store locator, or any local SEO tools.
* **News SEO**: SEOvault AI has NewsArticle schema, Googlebot-News meta tag, per-post editorial controls. SureRank has a news sitemap (Pro) but no NewsArticle schema or editorial controls.
* **Video SEO**: SEOvault AI has 13 video providers, transcript support, chapters parser, YouTube lite embed. SureRank has 6 video providers (Pro) but no transcripts, chapters, or lite embed.
* **13 rich content blocks**: CTA, Pros/Cons, Comparison Verdict, Product Review Summary, Info Note, Code Block, Pretty Tables, Affiliate Disclosure, FAQ, HowTo, TOC, Quick-Answer, Siblings. SureRank has no Gutenberg blocks at all.
* **Output modes (Auto/Manual/Disabled)**: SEOvault AI’s three-mode system. SureRank doesn’t have this.
* **Focus keyword auto-detection**: SEOvault AI automatically detects focus keywords. SureRank requires manual entry.
* **9-plugin migration importer**: SEOvault AI imports from 9 plugins. SureRank imports from 6.
* **Internal linking automation**: SEOvault AI has autolinks (automatic linking) in the web app. SureRank has link suggestions (Pro) but no automatic linking.
* **Link Checker**: SEOvault AI has a broken link scanner in the web app. SureRank has broken link detection in its SEO checks but no dedicated link checker.
* **Redirect manager (free)**: SEOvault AI has redirects in the free plugin. SureRank gates redirects behind Pro.
* **Breadcrumbs (free)**: SEOvault AI has breadcrumbs in the free plugin. SureRank’s breadcrumb shortcode is Pro-only (though basic breadcrumb generation is free).
* **Instant indexing (free)**: SEOvault AI has IndexNow in the free plugin. SureRank gates IndexNow behind Pro.
* **Role manager (free)**: SEOvault AI doesn’t have this, but worth noting SureRank gates it behind Pro while Rank Math has it in free.
**The honest takeaway:** SureRank is a clean, modern, well-architected plugin that’s lighter than Rank Math or Yoast. Its free version covers the essentials: title, meta, schema (10 types), sitemaps, social, breadcrumbs, GSC integration, SEO checks, and 6 importer. Its Pro version adds 15 more schema types, redirects, news/video sitemaps, AI features (content generation, image alt, fix-it-for-me), link suggestions, and indexing. However, it gates many features behind Pro that competitors offer in free: FAQ/HowTo/Recipe schema, redirects, instant indexing, role manager, HTML sitemap, and author sitemaps are all Pro-only in SureRank but free in Rank Math. It has no Local SEO tools, no 404 monitoring, no llms.txt, no AI visibility features, no Gutenberg blocks, and no web app. It’s a solid choice for users who want a clean, lightweight SEO plugin with modern React UI, but it’s the least feature-rich of the four plugins in this comparison, particularly in the free tier.
### What the Rank Math Audit Revealed
Rank Math is the most feature-rich free SEO plugin we’ve audited. It puts things in the free version that Yoast gates behind Premium, and in some cases things that nobody else offers for free.
**Where Rank Math is genuinely ahead of SEOvault AI:**
* **Multiple focus keywords (Free)**: 5 equal-weighted manual keywords by default in the free version, each with its own SEO analysis. SEOvault AI by design offers 1 primary + up to 4 auto-detected secondary keywords - auto-determined in Autopilot if untouched with per-keyword checks focused on the primary. Yoast requires Premium for its multiple-keyphrase equivalent.
* **SEO score (0-100) with 30 tests (Free, in plugin)**: Rank Math has a comprehensive SEO scoring system with 30 individual tests in the plugin editor. SEOvault AI has an SEO score in the web app (15+ checks across 4 categories) but not in the plugin editor.
* **Readability analysis in the plugin editor (Free)**: Rank Math includes Flesch Reading Ease in the free plugin. SEOvault AI has Flesch in the web app’s SEO Audit Panel but not in the plugin editor.
* **Content AI (Free with credits)**: 40+ AI tools, RankBot chat assistant, AI bulk meta editing, AI bulk image alt text. SEOvault AI has AI in the web app but not in the plugin.
* **Google Analytics + Search Console integration (Free)**: Full analytics dashboard with keyword position tracking, email reports, URL inspection, admin bar stats. SEOvault AI has this in the web app but not in the plugin.
* **Keyword position tracking (Free, in plugin)**: Built-in rank tracking via Search Console data in the plugin. SEOvault AI has this in the web app (Google Search Signals card with clicks, impressions, CTR, position) but not in the plugin.
* **Instant indexing / IndexNow (Free)**: Auto-submit URLs to Bing/Yandex on publish. SEOvault AI has this but Rank Math’s is more integrated.
* **Role manager (Free)**: Granular SEO capability management per role. SEOvault AI doesn’t have this.
* **Link counter (Free)**: Internal/external/incoming link counting in post lists. SEOvault AI doesn’t have this.
* **Competitor analysis (Pro)**: Side-by-side competitor URL analysis in SEO analyzer. SEOvault AI doesn’t have this.
* **Link Genius (Pro)**: Full internal linking system with keyword maps, auto-linking, link audit, link status crawler, content similarity analysis, related posts block. This is more advanced than SEOvault AI’s autolinks.
* **Podcast support (Pro)**: Podcast RSS feed and schema. SEOvault AI doesn’t have this.
* **Schema templates (Pro)**: Reusable schema template post type. SEOvault AI has schema templates in the web app but not as a WordPress CPT.
* **Schema display conditions (Pro)**: Conditional schema display based on rules. SEOvault AI has this but Rank Math’s is a Pro feature with a UI.
* **Custom social thumbnail overlays (Pro)**: Watermark/overlay for social images. SEOvault AI doesn’t have this.
* **Image SEO auto-captions and auto-descriptions (Pro)**: Automatic image captions and descriptions. SEOvault AI only does ALT and title.
* **CSV import/export for SEO meta (Pro)**: Bulk import/export SEO metadata via CSV. SEOvault AI doesn’t have this.
* **Scheduled redirects (Pro)**: Time-based redirect activation/deactivation. SEOvault AI doesn’t have this.
* **Redirect sync to .htaccess (Pro)**: Sync redirects to Apache .htaccess. SEOvault AI doesn’t have this.
* **Winning/losing keywords dashboard (Pro)**: Track keyword performance changes. SEOvault AI doesn’t have this.
* **AdSense integration (Pro)**: Google AdSense reporting. SEOvault AI doesn’t have this.
* **Trends tool (Pro)**: SEO trends visualization. SEOvault AI doesn’t have this.
* **Marketplace (Pro)**: Add-on store within the plugin. SEOvault AI doesn’t have this.
* **BuddyPress integration (Free)**: BuddyPress SEO with ProfilePage schema. SEOvault AI doesn’t have this.
* **ACF integration (Free)**: Include ACF fields in SEO analysis. SEOvault AI also has this: `Formatter.php` appends ACF field text to post content for SEO analysis, auto-descriptions, and keyword suggestions.
* **Divi builder integration (Free)**: Deep Divi SEO integration. SEOvault AI has Elementor integration but not Divi.
**Where SEOvault AI is genuinely ahead of Rank Math:**
* **AI content generation**: Ultra Writer is a 9-step AI article generation pipeline with 13 presets, 16 languages, E-E-A-T mode. Rank Math’s Content AI is more of an assistant (meta generation, alt text, chat). It doesn’t have a full article generation pipeline.
* **Pain Explorer**: Pain point research and content generation. Rank Math has nothing like this.
* **Content rewriting pipeline**: Decay analysis, SERP alignment, protected elements, QA. Rank Math has nothing like this.
* **AI Visibility Dashboard**: Readiness score, citation simulator, signal cards. Rank Math has llms.txt but no dashboard.
* **Web app**: SEOvault AI has a full cloud platform with workspace, team management, brand kits, content editor, and 100+ features. Rank Math has no web app.
* **Schema monitoring**: Scheduled validation, snapshots, duplicate detection, alerts. Rank Math has nothing like this.
* **20+ schema types in free**: SEOvault AI has Recipe, Event, Course, JobPosting, SoftwareApplication, Service, Book, Dataset, ClaimReview, MusicGroup, and more all in the free plugin. Rank Math has many of these too but some require Pro (Dataset, ClaimReview, Movie).
* **Schema guided forms**: SEOvault AI has a visual schema builder with guided forms. Rank Math has a schema generator but it’s more technical.
* **WooCommerce Merchant Center**: Reconciliation, mismatch detection, merchant mapping, multi-store. Rank Math has basic WooCommerce SEO but nothing like this.
* **404 monitoring with CSV export**: SEOvault AI logs 404s with filtering and CSV export in the free version. Rank Math has 404 monitoring in free but CSV export requires Pro.
* **Quick-Answer block (AEO)**: SEOvault AI has a dedicated answer engine optimization block. Rank Math doesn’t.
* **Crawler logging**: SEOvault AI logs AI crawler visits. Rank Math doesn’t.
* **13 rich content blocks**: CTA, Pros/Cons, Comparison Verdict, Product Review Summary, Info Note, Code Block, Pretty Tables, Affiliate Disclosure, etc. Rank Math has FAQ, HowTo, TOC, Schema, Content AI Command, Related Posts.
* **Output modes (Auto/Manual/Disabled)**: SEOvault AI’s three-mode system. Rank Math doesn’t have this.
* **Focus keyword auto-detection**: SEOvault AI automatically detects focus keywords. Rank Math requires manual entry.
* **9-plugin migration importer**: SEOvault AI imports from 9 plugins including SureRank. Rank Math imports from 5.
* **AI image generation**: SEOvault AI generates images with Fal.ai. Rank Math doesn’t.
**The honest takeaway:** Rank Math is the most generous free SEO plugin on the market. It puts redirects, 404 monitoring, schema generator, analytics, role manager, link counter, and multiple focus keywords in the free version, things Yoast charges for. Its Pro add-on adds Link Genius (the most advanced internal linking system we’ve seen in a WordPress SEO plugin), competitor analysis, podcast support, and enhanced analytics. SEOvault AI differentiates with its web app layer (AI content generation, AI visibility, schema monitoring, Merchant Center) which Rank Math fundamentally doesn’t have. In the plugin layer, Rank Math is arguably the strongest free offering; in the ecosystem layer, SEOvault AI has a cloud platform that Rank Math can’t match.
### What the Yoast Audit Revealed
Yoast has been doing SEO since 2008, and it shows in both directions.
**Where Yoast is genuinely ahead of SEOvault AI:**
* **Readability analysis in the plugin editor**: Yoast has Flesch Reading Ease, passive voice, transition words, sentence length, subheading distribution, and paragraph length checks directly in the WordPress post editor. SEOvault AI has Flesch, passive voice, sentence length, subheading distribution, and paragraph length in the **web app’s SEO Audit Panel**: but not in the plugin editor itself. Transition words and consecutive sentence checks are a gap in both layers. Yoast’s advantage is having these checks inline during content creation in WordPress.
* **Multiple focus keywords** (Premium): SEOvault AI by design supports 1 primary + up to 4 auto-detected secondary keywords (auto in Autopilot if untouched); not N equal-weighted primaries with separate analysis per keyword as in Yoast Premium.
* **SERP preview (desktop & mobile)**: Yoast gives you a visual preview of how your post looks in Google with both desktop and mobile views. SEOvault AI also has a SERP preview (live Google-style preview in the post editor), but Yoast’s includes a mobile view toggle.
* **Redirect manager** (Premium): Yoast’s redirect system remains a strong reference for edge cases. SEOvault AI now matches the main Premium redirect extras in Pro (automatic slug and trash redirects, undo, htaccess/Redirection import, Apache/Nginx download export, admin-bar 404 create, destination HEAD warnings) while keeping CRUD and CSV in Free. Yoast still does not log 404s; SEOvault AI does that in Free. Live write/sync of server `.htaccess` remains out of scope.
* **Internal linking suggestions** (Premium): Yoast uses prominent words analysis to suggest relevant internal links. SEOvault AI has autolinks (automatic linking) and editor-based suggestions in the web app, but the prominent words approach is different and more manual.
* **36+ video providers** (Video add-on): Yoast Video SEO supports significantly more video providers than SEOvault AI Pro’s 13. Yoast also has YouTube lite embed optimization, video sitemap cloaking, FitVids.js, and 11+ third-party video plugin integrations.
* **6 NewsArticle subtypes** (News add-on): Yoast has AnalysisNewsArticle, OpinionNewsArticle, ReportageNewsArticle, etc. SEOvault AI has one NewsArticle type.
* **SEO dashboard with GA4 + Search Console**: Yoast’s dashboard integrates with Google Analytics 4 and Search Console natively in WordPress. SEOvault AI has this in the web app, but not in the plugin itself.
* **Semrush & Wincher integrations**: Yoast integrates with Semrush for keyword research and Wincher for rank tracking directly in the metabox. SEOvault AI doesn’t have these.
* **Social previews** (Premium): Yoast shows you what your post looks like when shared on Facebook and X. SEOvault AI doesn’t have visual social previews.
* **Organization enhanced schema** (Premium): VAT ID, DUNS, LEI, NAICS, founding date, employee count. SEOvault AI Free supports these organization schema fields.
* **Publishing principles schema** (Premium): ethics policy, diversity policy, corrections policy, ownership funding info, publishing principles, actionable feedback, and diversity staffing report references. SEOvault AI Free supports these as optional Organization policy URLs, using a published WordPress page or a custom HTTP(S) URL.
* **Google Docs add-on** (Premium): write SEO-optimized content in Google Docs. SEOvault AI doesn’t have this.
* **24/7 premium support**: Yoast offers human support. SEOvault AI has a support ticket system but not 24/7 human support.
* **Yoast Academy**: free SEO courses. SEOvault AI doesn’t have an equivalent.
* **Bot blocker** (Premium): one-click blocking of GPTBot, CCBot, Google-Extended. SEOvault AI has robots.txt controls but not preset bot blocking.
* **bbPress, AMP, Web Stories integrations**: Yoast supports these. SEOvault AI doesn’t.
**Where SEOvault AI is genuinely ahead of Yoast:**
* **AI content generation**: Ultra Writer is a 9-step AI article generation pipeline. Yoast’s AI features are limited to title/meta generation, optimization, and summarization. This is not even close.
* **Pain Explorer**: pain point research and content generation. Yoast has nothing like this.
* **Content rewriting pipeline**: decay analysis, SERP alignment, protected elements, QA. Yoast has nothing like this.
* **AI Visibility Dashboard**: readiness score, citation simulator, signal cards. Yoast has llms.txt and bot blocker but no dashboard.
* **20+ schema types**: SEOvault AI has Recipe, Event, Course, JobPosting, SoftwareApplication, Service, Book, Dataset, ClaimReview, MusicGroup, and more. Yoast has ~10 schema types (Article, WebPage, Website, Organization, Person, Breadcrumb, Author, FAQ, HowTo, Product) + LocalBusiness (Local) + NewsArticle (News) + VideoObject (Video).
* **Schema guided forms**: SEOvault AI has a visual schema builder with guided forms. Yoast requires custom JSON-LD or blocks.
* **Schema monitoring**: scheduled validation, snapshots, duplicate detection. Yoast has nothing like this.
* **WooCommerce Merchant Center**: reconciliation, mismatch detection, merchant mapping, multi-store. Yoast has basic WooCommerce schema but nothing like this.
* **Web app**: SEOvault AI has a full cloud platform with workspace, team management, brand kits, content editor, and 100+ features. Yoast has no web app.
* **404 monitoring**: SEOvault AI logs 404 errors with filtering and CSV export. Yoast has a 404 handler but no logging.
* **9-plugin migration importer**: SEOvault AI imports from 9 plugins including SureRank. Yoast imports from 7 plugins.
* **AI image generation**: SEOvault AI generates images with Fal.ai. Yoast doesn’t.
* **Quick-Answer block (AEO)**: SEOvault AI has a dedicated answer engine optimization block. Yoast doesn’t.
* **Crawler logging**: SEOvault AI logs AI crawler visits. Yoast doesn’t.
* **13 rich content blocks**: CTA, Pros/Cons, Comparison Verdict, Product Review Summary, Info Note, Code Block, Pretty Tables, Affiliate Disclosure, etc. Yoast has FAQ, HowTo, Breadcrumb, TOC, Related Links, Subpages, Siblings, Estimated Reading Time, AI Summarize.
**The honest takeaway:** Yoast is the mature, established player with the best readability analysis and the most mature redirect manager. SEOvault AI is the newer, more ambitious platform with AI content generation, AI visibility tooling, more schema types, a full web app, and WooCommerce Merchant Center integration. They’re playing different games in some categories: Yoast wins on content analysis maturity, SEOvault AI wins on AI-powered content production and modern SEO concerns (AI visibility, schema monitoring, Merchant Center).
* * *
_This article is a living document. It will be updated as each audit is completed. The methodology is simple: read the actual plugin code, verify the feature exists and functions, and mark it honestly. No marketing fluff, no assumptions._
---
## The Big Lie in "GEO Optimization": No Plugin Can Guarantee Rankings, AI Citations, or "Getting Picked by Google"
URL: https://seovaultai.com/blog/the-big-lie-in-geo-optimization
A skeptical look at GEO hype, AI citations, and why real AI search visibility still depends on the same fundamentals as SEO.
# The Big Lie in "GEO Optimization": No Plugin Can Guarantee Rankings, AI Citations, or "Getting Picked by Google"
Published on May 25, 2026 · Tags: seo, ai-search, geo, content-strategy
Every era of search creates its own **carnival barkers**.
In the old **SEO era**, the promise was simple and shameless: install this plugin, flip these switches, add a **magic schema block**, and watch yourself “**rank #1 on Google**.”
Now the slogan has changed, but the hustle has not.
Today the sales page says:
* “**Get cited by AI results**”
* “**Guaranteed GEO optimization**”
* “Rank higher with **one-click AI SEO**”
* “**Be chosen by Google AI Overviews**”
* “**Dominate answer engines automatically**”
Different decade. Same lie.
The packaging is cleaner now. The dashboards are shinier. The language is more technical. But the core deception is still the same: taking a **probabilistic**, **competitive**, **multi-variable** system and marketing it like a **deterministic machine**.
It is not.
No honest SEO plugin, **GEO plugin**, **AEO plugin**, extension, dashboard, **AI writer**, schema widget, or “**optimization suite**” can guarantee that your page will rank higher on Google, appear inside AI Overviews, get cited by AI results, or become the chosen answer for a query category.
Not because optimization is fake.
Because search is not a vending machine.
And AI search is not a loyalty program.
## The First Thing to Understand: Search Has Always Been a Retrieval Problem, Not a Checkbox Problem
A lot of SEO marketing depends on a comforting illusion: that visibility is mostly a checklist exercise.
Add a keyword. Fix the title. Pass the score. Add schema. Hit publish. Collect rankings.
That was never fully true, and it is even less true now.
Search systems have always been **retrieval and ranking** systems. They try to find pages that are:
* **crawlable**
* **indexable**
* **relevant**
* clear
* **trustworthy**
* useful for the specific query
* better than competing alternatives
Google still describes Search as a system built on **crawling**, **indexing**, and **serving** results. It also states that it does not accept payment to crawl more often or rank a site higher, and it does not guarantee crawling, indexing, or serving even when a page follows the rules. Google also says there are no additional requirements or special optimizations necessary to appear in AI Overviews or AI Mode beyond the same foundational SEO best practices that already matter in Search. \[Bing\]’s current webmaster guidance says the same basic foundation applies to grounding, AI experiences, and citations.
That matters because it destroys the fantasy that “GEO” is some secret second universe disconnected from classic SEO.
It is not.
AI visibility is built on the same old boring foundations:
* discovery
* crawl access
* indexing
* **content clarity**
* [**internal linking**](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/)
* **page quality**
* **trust signals**
* **relevance** to the query
* **competitiveness** versus alternatives
The names changed. The substrate did not.
## “Guaranteed Rankings” Is Already a Red Flag. “Guaranteed AI Citations” Is Worse.
Any product that promises guaranteed Google rankings is either unserious, misleading, or counting on your inexperience.
Any product that promises guaranteed **AI citations** is making an even weaker claim, because AI citation behavior is more volatile than traditional blue-link rankings.
Why?
Because citation in AI results adds another layer of uncertainty on top of normal search uncertainty.
A page usually has to clear several gates first:
1. It has to be discoverable.
2. It has to be **crawlable**.
3. It has to be **indexable**.
4. It has to be eligible to appear in normal search.
5. It has to be **relevant** enough to be retrieved for the query.
6. It has to be structured clearly enough that the system can use it as grounding or supporting evidence.
7. It has to compete against many other documents that may be clearer, fresher, stronger, more trusted, or more **extractable**.
And even then, citation is not guaranteed.
[Google](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) explicitly says that meeting all requirements and best practices still does not guarantee crawling, indexing, or serving. For AI features specifically, Google says pages must be indexed and eligible to appear in Search with a snippet, and there are no extra technical requirements beyond normal Search eligibility. [Bing](https://www.bing.com/webmasters/help/webmaster-guidelines-30fba23a) likewise frames grounding and citations as extensions of the same search foundation, not a guarantee that any given compliant page will be cited.
That is the technical reality.
A claim of certainty in a probabilistic retrieval system is not confidence. It is dishonesty.
## The New Hype Word Is “GEO,” but the Real Discipline Is Still Clarity, Relevance, and Retrieval
“**Generative Engine Optimization**” sounds like something radically new.
Sometimes it is used as if search suddenly abandoned ranking systems, indexing rules, relevance scoring, site quality, and **trust signals**, and now all that matters is writing a definition paragraph for a chatbot.
That is fantasy.
The better way to think about “GEO” is this:
**GEO is mostly SEO for **answer extraction** and **citation eligibility**.**
Not a replacement for SEO. Not a magic tunnel around SEO. Not a second algorithm you can unlock with a plugin badge.
If a search engine or answer engine cannot confidently understand:
* what your page is about
* what question it answers
* where the answer lives
* whether the information is reliable
* whether the page is technically accessible
* whether the content is clearer than alternatives
then no amount of “**AI optimization**” language will save it.
This is why the loudest GEO claims are often attached to **shallow products**. It is much easier to market a badge than to explain **retrieval mechanics**.
## Why the “Get Cited by AI Results” Pitch Is So Misleading
The average sales pitch makes it sound like **AI citations** are dispensed as a reward for using the correct plugin or generating the correct schema.
That is not how **answer systems** work.
Answer engines generally do not “honor” sites for trying hard. They retrieve, rank, compress, compare, and synthesize.
That means citation tends to favor pages that are easier to use as evidence.
In practice, that often means pages that are:
* directly **relevant**
* **narrowly focused**
* explicit in their definitions
* **cleanly structured**
* **textually clear**
* free of buried or **ambiguous answers**
* **visibly useful** early in the document
* backed by broader **trust signals**
This is why **narrow-topic pages** often beat broad, wandering “ultimate guides” in **answer-driven environments**.
If someone asks a precise question, the answer system is not emotionally impressed by your 3,000-word intro. It is trying to locate the cleanest, most reliable passage or set of passages that help answer the question.
That does not mean long content is bad.
It means long content that hides the answer is expensive in attention, difficult in retrieval, and often weaker for **answer extraction**.
## The First 200 Words Still Matter — Not Because of a Magical Rule, but Because of Retrieval Friction
A lot of publishers have noticed something real and then explained it badly.
Yes, early clarity matters.
Yes, a strong definition near the top often helps.
Yes, pages that answer the question early are often easier to extract from.
But that does not mean there is some universal hidden law that “AI only reads the first 200 words because token prices are lower.”
That is too simplistic, and in many cases just invented.
The better explanation is technical but intuitive:
Modern search and **answer systems** often work through layered retrieval. They are not necessarily ingesting your whole page from top to bottom like a human reader on a Sunday morning. They often identify candidate documents, **relevant** passages, snippets, headings, entities, supporting text blocks, and other compact signals first.
So if the answer is buried after 1,200 words of throat-clearing, cute storytelling, and affiliate padding, your page creates unnecessary **retrieval friction**.
If the page opens with a crisp, accurate definition and then expands cleanly, it is easier to:
* classify
* retrieve
* compare
* extract from
* cite as support
That is why an answer-first intro still works.
Not because you are gaming token pricing. Because you are reducing ambiguity.
In answer retrieval, ambiguity is expensive.
## So Yes: Put the Definition Near the Top
There is no shame in saying this clearly:
If you want better odds of being used in AI summaries, **AI citations**, featured-answer contexts, or classic snippet-style retrieval, put a clean definition or **direct answer** near the top of the page.
Not a fake one. Not a keyword-stuffed one. Not a robotic one.
A real one.
The page should usually establish, early:
* what the topic is
* what problem it solves
* who it is for
* what the core answer is
* what distinctions matter before the reader goes deeper
That does not kill good writing. It improves it.
Good informational writing has always rewarded front-loaded clarity. AI search just makes the penalty for delay more obvious.
## Narrow Niches Still Win Because Precision Still Wins
One of the laziest myths in modern AI-content marketing is that broad authority automatically beats narrow relevance.
It does not.
A broad site can win. A strong brand can win. A powerful domain can win.
But narrow topical precision is still one of the cleanest advantages available to smaller publishers.
Why?
Because search systems do not only ask, “Is this site famous?”
They also ask, in effect:
* Is this page specifically about the question?
* Does it answer the query better than other options?
* Is it easier to extract from?
* Is it more targeted?
* Is it clearer?
* Is it more helpful for this exact need?
This is why writing in a narrow niche is still such a strong strategy.
A focused site or page can become the best source for a tightly scoped question more easily than it can become the best source for a giant head term.
And in answer-oriented search, tight scope is often an advantage.
If your page is about one precise thing, and it says exactly what that thing is, and it solves one real user problem cleanly, it has a much better chance of retrieval than a bloated “everything about everything” article trying to farm every variant at once.
## Backlinks Still Matter, Even If the Sales Pages Pretend We’ve Entered a Post-Link Utopia
Whenever the industry gets embarrassed by how hard link building still is, somebody declares the **death of backlinks**.
Then the rankings keep reminding everyone that authority is still authority.
No, backlinks are not everything.
No, **raw link quantity** is not the game. No, **spammy link building** is not a strategy. No, links alone do not guarantee AI citation.
But **credible external references** to your site still matter because they help search systems understand that your content is not floating in a vacuum.
Links still help with:
* discovery
* indexing
* **authority estimation**
* **trust calibration**
* **prominence signals**
* **competitive differentiation**
And AI citation layers do not erase that foundation. They inherit from it.
If two pages answer a question similarly well, and one sits on a stronger, more trusted, more cited, more connected site, that is not **irrelevant** just because someone slapped “GEO” on a pitch deck.
Authority still leaks into retrieval quality.
Trust still matters.
The machine may be newer. The asymmetry is not.
## [Site Speed](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) Still Matters, Not Because Speed Is a Vanity Metric, but Because Friction Compounds
There is a tendency in AI marketing to talk as if relevance is all that matters and technical performance is now secondary.
That is nonsense.
Site speed still matters because:
* **crawl efficiency** matters
* **rendering reliability** matters
* **user experience** matters
* **bounce and abandonment** still matter
* weak **page experience** damages trust
* slow, bloated pages increase friction at every stage
Google still lists **page experience** among the best practices **relevant** to AI features, right alongside crawl access, [internal links](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/), textual content availability, media quality, and structured data consistency.
That does not mean shaving 80 milliseconds off your **Largest Contentful Paint** will suddenly win you **AI citations**.
It means **slow**, **bloated**, **unstable** pages still create avoidable weakness.
And yes, this is where many [WordPress plugins](https://seovaultai.com/blog/wordpress-plugin-bloat-how-to-replace-small-content-plugins/) become part of the problem.
The irony is painful: a plugin promises to help you rank, then adds dashboard bloat, **front-end overhead**, **database clutter**, or workflow complexity that makes your publishing environment worse.
The better workflow is not “install more ranking magic.”
It is usually:
* **make the site lighter**
* **make the content clearer**
* make the answer easier to retrieve
* **make the architecture cleaner**
* make the page more useful
That has always been the grown-up version of SEO.
It still is.
## How AI Citations Actually Tend to Work in Practice
No public product team is going to hand you the full internal citation blueprint of every retrieval model and ranking layer. So anyone selling certainty here is bluffing.
But the practical shape is not mysterious.
In broad terms, **answer systems** tend to favor content that is:
### 1\. Discoverable
If the page cannot be found and crawled, it is ir**relevant**.
### 2\. Indexable
If the page is blocked, broken, or not eligible for normal search inclusion, it is weaker or unusable for answer-layer visibility.
### 3\. Relevant to the specific query
Not just topically related. Specifically useful.
### 4\. Easy to parse
Strong headings, visible entities, concise definitions, clear sections, factual statements, and obvious answer passages help.
### 5\. Useful as evidence
Pages that provide concrete support, not just vague opinion, are easier to cite.
### 6\. Competitive against alternatives
Being “good” is not enough. You are competing against pages that may be better aligned, fresher, stronger, or clearer.
### 7\. Trusted enough to use
The system has to be comfortable leaning on your content.
That is why “AI citation optimization” is usually less about gimmicks and more about **answer design**.
A page that says the thing clearly, early, and credibly is easier to use than a page that performs expertise without delivering **extractable value**.
## The Real Job Is to Become Easy to Understand, Easy to Trust, and Easy to Quote
That is the unglamorous truth.
Not easy to score. Not easy to badge. Not easy to sell in a plugin dashboard.
Easy to understand. Easy to trust. Easy to quote.
If you want better odds in AI visibility, your page should make a model’s job easier, not harder.
That means:
* answer the question directly
* define the topic early
* use helpful headings
* keep important content in text, not hidden in images
* structure sections clearly
* support claims with specifics
* remove fluff
* keep the page technically clean
* build real **topical depth** across the site
* earn **credible external references** over time
This is not sexy advice.
It is just real advice.
## “Guaranteed GEO” Usually Means “We Have Renamed Basic SEO and Added a New Dashboard”
A lot of tools are doing something almost comical right now:
1. taking **old SEO best practices**
2. **rebranding** them as GEO or AEO
3. adding one or two **AI-flavored features**
4. marketing the result like a **proprietary breakthrough**
But if you strip away the slogans, the recommendations are often the same things competent SEO people have said for years:
* be **crawlable**
* be **indexable**
* write clearly
* answer intent directly
* use [internal links](https://seovaultai.com/blog/automatic-internal-linking-for-wordpress/)
* improve page structure
* make the site faster
* build authority
* keep content fresh where freshness matters
These are not obsolete because AI exists.
They are more visible because AI systems expose weak content mercilessly.
Thin fluff can sometimes survive longer in blue-link search than it can in answer-layer extraction, where the model needs support it can actually use.
So yes, GEO is real in the sense that answer retrieval has its own practical dynamics.
But most of those dynamics are extensions of old truths, not replacements for them.
## What You Should Actually Do If You Want the Closest Thing to Better AI Visibility
No guarantees. No snake oil. No magic plugin claims.
Just the closest thing to an [honest playbook](https://seovaultai.com/blog/real-time-seo-checklist/).
### 1\. Pick narrower targets than you think you need
Broad vanity topics are expensive. Precise queries are winnable.
### 2\. Put the direct answer near the top
Not in a robotic way. In a useful way.
### 3\. Use headings that reflect real user questions
Answer systems love clarity. So do people.
### 4\. Make the answer extractable
Definitions, distinctions, steps, comparisons, and direct statements help.
### 5\. Keep the page technically healthy
**Crawlability**, **indexing eligibility**, speed, **stable rendering**, and good [**internal linking**](https://seovaultai.com/blog/manual-internal-linking-for-wordpress/) still matter.
### 6\. Make the main content visible in text
Do not hide the useful stuff behind images, sliders, tabs, or awkward JavaScript behavior.
### 7\. Build topical depth around the page
One strong page is better when the surrounding site context also makes sense.
### 8\. Update content when the topic changes
Freshness matters most where reality changes.
### 9\. Earn real authority
Backlinks, mentions, references, and real-world credibility still matter.
### 10\. Write for evidence, not just vibes
If your content sounds authoritative but says very little, it is hard to cite for anything meaningful.
That is what honest “**AI optimization**” looks like.
It looks suspiciously like good publishing.
Because it is.
## Why the Reader Should Be Suspicious of Any Tool That Talks Like a Casino
The most manipulative SEO products all use the same emotional palette:
* certainty
* shortcuts
* inevitability
* secret access
* hidden hacks
* guaranteed wins
Real search work does not feel like that.
Real search work feels like:
* **reducing friction**
* **increasing clarity**
* **improving technical health**
* **sharpening relevance**
* **earning trust**
* **competing intelligently**
* publishing repeatedly
* learning what the query actually wants
If a tool helps you do those things, good. If it tells you it can force Google, force citations, force rankings, or force AI answers to choose you, walk away.
That is not optimization.
That is theater.
## The Harsh Truth: Good AI Visibility Usually Belongs to Good Publishers, Not Good Pitch Decks
You do not need to be a giant publisher. You do not need to have the biggest site. You do not need to install ten plugins and score 100/100 in every synthetic audit.
But you do need to become the kind of source **retrieval systems** like using.
That usually means becoming:
* **clearer** than your competitors
* **tighter in scope**
* **better structured**
* more obviously useful
* **more technically reliable**
* **more credible** over time
The irony is that this is harder than buying a plugin.
Which is exactly why the plugin market prefers fantasy.
Fantasy converts better than discipline.
## Final Thought: AI Search Did Not Kill SEO. It Made Honest SEO More Obvious.
The old scam was “rank higher with one click.” The new scam is “get cited by AI with one click.”
Ignore both.
\[Google\]’s current documentation says there are no special extra requirements for AI Overviews or AI Mode beyond the same foundational Search practices that already matter, and Bing now says the same core SEO foundations support grounding and citations in AI experiences too. Google also warns that compliance does not guarantee indexing or serving, and its guidance on generative AI content makes clear that scaled AI content without added value can violate spam policies.
That is the truth most plugin sales pages are trying to blur.
There is no guaranteed route to rankings. There is no guaranteed route to **AI citations**. There is no guaranteed route to “being chosen.”
There is only the long, stubborn, unfair, still-winnable work of publishing pages that are easier to find, easier to trust, easier to understand, and easier to cite than the alternatives.
That was the job before AI search.
It is still the job now.
---
## 10 Best WordPress Plugin Alternatives for SEO Content Blocks
URL: https://seovaultai.com/blog/wordpress-plugin-alternatives-seo-content-blocks
Tired of installing dozens of minor plugins for tables, CTAs, FAQs, and pros and cons boxes? Learn how to streamline your WordPress site with lightweight SEO content block alternatives.
# 10 Best WordPress Plugin Alternatives for SEO Content Blocks
Published on June 4, 2026 · Tags: wordpress, seo, rich-blocks, content-workflow, seovault-ai
If you have managed a [WordPress](https://wordpress.org) site for more than a few months, your dashboard probably looks a bit like a cluttered digital junk drawer.
It usually starts innocently. You need a clean product comparison table for an affiliate post, so you install a table builder. Then you realize you need an FAQ **schema block** to capture [Google’s](https://developers.google.com/search/docs/appearance/structured-data/product-snippet) rich snippets, so you install an FAQ plugin. Next comes a plugin for a **call-to-action** box, another for stylized pros and cons, one for affiliate disclosures, and yet another to generate a **table of contents**.
Before you know it, your site relies on 30 to 40 separate plugins just to format text and guide readers through your content.
While the **block editor** made layouts easier, it also triggered an explosion of **single-purpose block plugins**. For SEO writers, **affiliate marketers**, and **niche site owners**, this creates a major headache: [**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/).
Below, we will explore why leaning too heavily on minor formatting plugins harms your site, look at the specific types of **content blocks** that usually trigger plugin installs, and evaluate the best alternatives to keep your WordPress setup clean, fast, and secure.
## The True Cost of WordPress Plugin Bloat
In the WordPress community, there is a common debate: does the number of plugins you install actually matter?
Technically, a site with 50 highly optimized, lightweight plugins can outperform a site with three poorly coded ones. However, in the real world, accumulating dozens of small, single-purpose plugins almost always introduces three systemic issues.
### 1\. Performance degradation
Many simple block plugins do not just add a few lines of HTML to your post. To make their specific blocks look good, they load their own **JavaScript files** and **CSS stylesheets** on every single page of your website, even on posts where that specific block is not being used. This adds unnecessary **HTTP requests** and increases your total **page size**, directly hurting your [Core Web Vitals](https://web.dev/articles/vitals) and **user experience**.
### 2\. The maintenance and security treadmill
Every plugin you add to your site is a new entry point for potential **security vulnerabilities**. Furthermore, **WordPress core updates** frequently. When you rely on ten different developers to keep their block plugins compatible with the latest version of WordPress, the probability of a **plugin conflict** breaking your site’s layout increases exponentially.
### 3\. Database clutter and lack of portability
Many block plugins wrap your text in **custom shortcodes** or **proprietary database structures**. If that plugin goes abandoned by its developer or you decide to deactivate it in the future, your historical content can instantly break, leaving behind ugly, broken code strings that you have to clean up manually across hundreds of articles.
## 10 Critical SEO Content Blocks That Usually Require Separate Plugins
Let’s look at the specific elements that content creators rely on to rank higher, keep readers engaged, and drive **conversions**, and how they typically lead to plugin hoarding.
### 1\. Product comparison tables
Data tables are foundational for **affiliate marketing** and **review sites**. Because default WordPress tables are visually basic and lack **responsive mobile layouts**, creators usually install robust **table builders**. These builders are powerful but often load heavy JavaScript libraries to handle basic sorting or styling.
### 2\. High-conversion [CTA boxes](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/)
A standard text link does not draw the eye. To turn readers into buyers, you need styled **call-to-action boxes** with distinct borders, background colors, and prominent buttons.
### 3\. Pros and cons boxes
Before making a purchase, readers want to see what works and what does not. Displaying a structured **side-by-side** or **stacked** pros and cons box increases time on page and builds trust, but finding a clean layout usually means installing a dedicated product review block library.
### 4\. [FAQ schema blocks](https://seovaultai.com/blog/add-faq-schema-wordpress-without-plugin/)
Adding an FAQ section to the bottom of an article is an excellent way to target long-tail keywords. However, to get those FAQs to appear directly in [Google’s](https://developers.google.com/search/docs/appearance/structured-data/product-snippet) search results, the text must be wrapped in specific **JSON-LD structured data**. Most writers rely on **SEO plugins** or dedicated **schema blocks** to output this code automatically.
### 5\. Table of contents
A **table of contents** improves user navigation and helps you earn **jump-links** in Google’s **search result snippets**. Automated **table of contents** plugins scan your H2 and H3 headings to build these lists dynamically, but they can slow down post rendering on long-form articles.
### 6\. Affiliate disclosure boxes
To comply with [FTC guidelines](https://www.ftc.gov/business-guidance/resources/ftcs-endorsement-guides-what-people-are-asking), **affiliate marketers** must place a clear disclosure at the top of any post containing **monetized links**. Doing this manually on every post is tedious, leading many to install global injection plugins just to place a simple line of italicized text.
### 7\. Clean code blocks
For **technical niches**, **programming blogs**, or tutorials, displaying code snippets cleanly with **syntax highlighting** is crucial. The default WordPress code block lacks visual polish, which usually drives creators to install syntax highlighter plugins that add substantial **front-end weight**.
### 8\. Product review summary boxes
An effective review article features a **summary card** at the very top, giving the reader a quick score, a list of **key features**, and a final purchase link. This layout requires precise alignment and styling, making it a primary driver of custom plugin installations.
### 9\. Info and note callout boxes
Whether it is a warning, a tip, or a side note, breaking up walls of text with highlighted info boxes keeps readers engaged. Without a design tool, creators turn to **Gutenberg block libraries** to get access to these basic alert elements.
### 10\. Comparison verdict boxes
At the end of a product comparison, users look for a definitive **verdict block**. This element needs to stand out visually as the conclusion of the entire piece, summarizing the final recommendation clearly.
## The Alternative: Consolidating with a Centralized Rich Block Generator
Instead of adding an independent plugin for each of these ten formatting needs, advanced content teams are moving toward an external workflow: using a centralized **web app** or **browser extension** to generate lightweight, perfectly styled HTML and CSS **content blocks**.
That is exactly why we built SEOvault AI. Rather than acting as another heavy plugin that sits in your WordPress database and runs scripts on your server, SEOvault AI handles the heavy lifting inside a **browser extension** and **web app**lication.
The [**Rich Blocks**](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) feature allows you to generate cleanly styled, responsive, and SEO-optimized versions of the core **content blocks** mentioned above.
You can use it for:
* comparison tables
* [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/)
* [pros and cons](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) lists
* FAQ schema
* **table of contents** blocks
* **affiliate disclosure boxes**
* **code blocks**
* product review **summary card**s
* info and note callouts
* **comparison verdict boxes**
You customize your design visually inside the extension, and it injects clean, **semantic HTML** directly into your WordPress **block editor**. There are no external stylesheets loaded on the front end, no background **database queries**, and no shortcodes that will break if you modify your **site architecture** later.
## Comparison Matrix: Dedicated Plugins vs. SEOvault AI [Rich Blocks](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/)
Content element
Traditional plugin approach
SEOvault AI Rich Block alternative
Site performance impact
Product tables
TablePress or Ninja Tables with extra JS/CSS
**Pretty Tables** with responsive **semantic HTML**
Highly reduced
Call-to-action
Ultimate Blocks or custom button plugins
**[CTA Box](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/)** with inline-optimized styles
Reduced
Pros and cons
Review schema or dedicated blocks
**Pros and Cons Box** with semantic lists
Neutral to faster
FAQ schema
Yoast, Rank Math, or schema plugins
**FAQ Schema** block with native JSON-LD
Cleaner code
Table of contents
Plugins that scan headings at render time
Static ToC with instant-loading links
Faster generation
Disclosures
Ad inserter or header/footer injectors
**Affiliate Disclosure Box**
Reduced scripts
Code snippets
Enlighter or Prism.js WordPress plugins
**Code Block** with lightweight wrappers
Highly reduced
Review card
WP Review Pro or affiliate booster tools
**Product Review Summary**
Reduced
Callout boxes
Elementor blocks or Gutenberg packs
**Info / Note Box**
Reduced
Verdict box
Custom CSS or theme builders
**Comparison Verdict Box**
Reduced
## Practical Examples: Before and After
To visualize how this shift changes your actual day-to-day work, let’s examine two common content formatting scenarios.
### Scenario A: Building an affiliate review article
* The old way: You open your editor. You use your table plugin to build a spec sheet. You insert an affiliate review block for the **summary card**. You use a Gutenberg add-on pack to create the [pros and cons](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) section. Finally, you use your SEO plugin to generate an FAQ section at the bottom. Your page source now references four different plugin asset paths.
* The SEOvault AI way: You open your editor. Using the SEOvault AI **browser extension** side panel, you select and insert your **Product Review Summary**, Pretty Table, **Pros and Cons Box**, and **FAQ Schema**. The extension drops raw, **semantic HTML** into your editor. Your site treats it as if you hand-coded it yourself, with no plugin overhead.
### Scenario B: Adding a global affiliate disclosure
* The old way: You install a text-injection plugin, configure it to target all post types, and write your disclosure sentence. The plugin runs a database check every time a visitor clicks a post to verify whether it should print the text block.
* The SEOvault AI way: You generate a standardized **Affiliate Disclosure Box** within your extension templates and insert it directly into your post templates or specific articles as native text. It displays instantly without triggering an internal database verification loop.
## When a Dedicated Plugin Is Still the Better Choice
We want to be perfectly candid here: a rich block generator cannot and should not replace every single plugin on your website. There are distinct scenarios where a dedicated, database-driven WordPress plugin is absolutely necessary.
### 1\. You need real-time API data synchronization
If you run an Amazon affiliate site and use a plugin like AAWP to dynamically pull product prices, stock availability, and image assets directly from the **Amazon Product Advertising API** every hour, you need that dedicated plugin. A static rich block generator will not update live prices automatically.
### 2\. You need deep interactive user features
If your tables require user-facing sorting, live keyword filtering, or multi-column data calculation, a native HTML table is not enough. You will need a specialized table plugin that leverages **frontend JavaScript engines**.
### 3\. You need site-wide dynamic conditions
If you want **content blocks** to appear or disappear based on complex **conditional logic**, such as showing a different CTA box depending on the user’s geographic location, login status, or cookie history, you require a dynamic, **server-side plugin asset**.
## When a Rich Block Generator Is More Than Enough
For the vast majority of situational blog layouts, dedicated plugins are complete overkill. A rich block generator is the ideal choice when:
* the data is static
* the primary goal is **structural SEO**
* you care about **page speed**
* you value long-term **site portability**
Static product specifications, dimensions, expert opinions, text overviews, and fixed product prices do not change by the minute. They do not need an active **database connection**.
Google reads **code sequence** and **semantic layout**. A clean HTML schema generated externally reads identically to a **schema block** generated by a massive SEO suite, minus the **resource bloat**.
If you are actively optimizing for [Core Web Vitals](https://web.dev/articles/vitals) to improve your search rankings, stripping away five to ten background stylesheets by switching to inline **semantic HTML** blocks provides an instant performance lift.
If you eventually move away from WordPress, your content remains intact because it is built out of standard HTML instead of shortcodes tied to a specific system.
## Clean Up Your Workflow with SEOvault AI
You do not need an endless roster of minor plugins to build high-converting, search-optimized articles. By moving your layout and styling tasks out of your WordPress database and into an efficient browser workflow, you get the design freedom you want without compromising your site’s performance.
If you are ready to declutter your dashboard, speed up your post loading times, and keep your content structure clean, take a look at SEOvault AI. Our **web app** and companion **browser extension** let you create beautifully optimized [**Rich Blocks**](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/), from comparison tables to schema-backed FAQs, and inject them smoothly into your workflow with zero **[**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/)**.
## Frequently Asked Questions
### Will removing my current block plugins break my existing articles?
Yes, if your old plugins used **custom shortcodes** or proprietary blocks, deactivating them will cause those sections to look broken. If you decide to transition to a lightweight approach like SEOvault AI, we recommend keeping your old plugins active for legacy posts while using the streamlined Rich Block methodology for all new content moving forward, gradually updating your highest-traffic historical articles over time.
### How do SEOvault AI [Rich Blocks](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) stay styled without a theme plugin?
The blocks utilize standard inline **semantic HTML** styling or clean CSS rules that paste directly into your editor. Because it uses fundamental web standards, your theme renders the blocks natively without needing to fetch asset folders from a plugin directory.
### Do these blocks work across multiple site platforms?
Because SEOvault AI generates universally compliant HTML and CSS rather than platform-specific code, you can use these blocks seamlessly across WordPress, custom headless setups, or alternative content systems without needing to learn a brand-new interface.
---
## WordPress Plugin Bloat: How to Replace Small Content Plugins
URL: https://seovaultai.com/blog/wordpress-plugin-bloat-how-to-replace-small-content-plugins
Learn what WordPress [**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) means, why small **content plugins** add up, which plugins to keep, and how SEOvault AI [**Rich Blocks**](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) can replace some single-purpose **formatting plugins**.
# WordPress Plugin Bloat: How to Replace Small Content Plugins
Published on June 6, 2026 · Tags: wordpress, plugins, performance, seo, seovault-ai
WordPress plugins are one of the biggest reasons WordPress is so flexible.
You can add SEO features, **forms**, analytics, ecommerce, **backups**, security, caching, image optimization, **custom post types**, affiliate tools, **schema**, page design features, and almost anything else a website might need.
Plugins are not the enemy.
Many plugins are essential. A serious WordPress site may need plugins for security, **backups**, caching, SEO, **forms**, ecommerce, membership functionality, **custom fields**, **redirects**, analytics, and **performance optimization**.
The problem starts when a site accumulates too many **small plugins** for narrow **content-formatting tasks**.
One plugin for tables.
One plugin for [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/).
One plugin for FAQs.
One plugin for table of contents.
One plugin for [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) boxes.
One plugin for **review summaries**.
One plugin for **affiliate disclosures**.
One plugin for code blocks.
One plugin for callout boxes.
Each plugin might seem harmless on its own. But together, they can create **performance concerns**, **maintenance overhead**, **editor clutter**, **design inconsistency**, and **compatibility risk**.
This is often called [**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/).
For **bloggers**, **affiliate marketers**, **SEO writers**, **niche site owners**, and **WordPress publishers**, [**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) is not just a technical issue. It can affect the publishing workflow. The more plugins you rely on for small content sections, the more fragmented your content system becomes.
SEOvault AI is designed to help with this problem. As a **web app** and **browser extension** for WordPress content creators, SEOvault AI helps users create **SEO content** and Rich Blocks without relying on many small [WordPress](https://wordpress.org) plugins for article enhancements such as tables, CTAs, FAQs, [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) boxes, **affiliate disclosures**, review boxes, code blocks, and content callouts.
This guide explains what [**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) means, why **small plugins** add up, which plugins you should keep, which **content plugins** may be replaceable, and how to clean up your WordPress **plugin stack** safely.
## What Plugin Bloat Means
Plugin bloat does not simply mean “having many plugins.”
A site with 35 well-built, essential, actively maintained plugins can sometimes perform better than a site with 12 poorly coded or overlapping plugins.
Plugin bloat means your site has more **plugin functionality** than it truly needs, especially when that functionality is duplicated, **inefficient**, **poorly maintained**, or used for small tasks that could be handled more simply.
In practical terms, [**plugin bloat**](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) can mean:
* Multiple plugins doing similar jobs
* Plugins installed for one small design element
* Plugins active even though their features are rarely used
* Old plugins left behind after a redesign
* Plugins adding **script**s or styles to every page unnecessarily
* Plugins that create **shortcodes** or blocks you no longer use
* Plugins that increase dashboard complexity
* Plugins that make content harder to migrate or maintain
The key issue is not the number alone. It is the relationship between value and **overhead**.
A plugin that powers your checkout, security, **backups**, or SEO settings may be worth its **overhead**. A plugin that adds one simple callout box style may not be.
## Why Small Plugins Add Up
Small plugins often feel safe because they solve tiny problems.
Need a better table? Install a table plugin.
Need a CTA box? Install a CTA plugin.
Need a review box? Install a review plugin.
Need FAQs? Install an FAQ plugin.
Need a note box? Install a callout plugin.
The problem is that WordPress sites evolve. A plugin installed for one post can remain active for years. Over time, your site can accumulate a long list of narrow tools that are difficult to audit.
Small plugins can add up in several ways.
### More Maintenance
Every plugin needs updates. Even simple plugins may require compatibility updates for new **WordPress versions**, **PHP versions**, **themes**, or **block editor changes**.
If you install many **small plugins**, your update workload increases.
More updates also mean more chances that something changes unexpectedly.
### More Compatibility Risk
Plugins can conflict with each other, with your theme, or with WordPress core updates.
A plugin that adds **front-end styles** may conflict with another plugin’s styles. A plugin that adds **JavaScript** may conflict with theme **script**s. A plugin that creates blocks may break if it is abandoned or not updated for **editor changes**.
The more plugins you use, the more interactions you need to monitor.
### More Front-End Assets
Some plugins load **CSS** or **JavaScript** on the front end. Some load those assets only where needed, but others may load them across the entire site.
A small content plugin may add a **stylesheet**, **icon library**, **script**, or **block asset** even on pages that do not use its feature.
This does not always create a major performance issue, but it can contribute to unnecessary **page weight**.
### More Editor Clutter
Many **content plugins** add their own blocks, settings panels, buttons, icons, **shortcodes**, or sidebar options.
For a single writer, this may be manageable. For a content team, it can create confusion.
Writers may not know which table block to use, which CTA style is approved, or whether a plugin is still part of the publishing workflow.
### More Design Inconsistency
If you use different plugins for different content elements, your posts can start to look inconsistent.
Tables may have one style.
[**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/) may use another.
FAQ blocks may use a third.
Review boxes may look like they came from a different website.
Professional content usually needs a consistent visual system. Too many unrelated **formatting plugins** can make that harder.
### More Lock-In
Some plugins store content in **shortcodes** or **custom blocks**. If you deactivate the plugin later, the content may not render correctly.
This is one of the biggest risks with small **formatting plugins**.
Before using a plugin for article content, ask: what happens to the content if I remove this plugin later?
If the answer is “the page breaks,” you should think carefully before relying on it for many posts.
## Common Small Content Plugins People Install
Not all small **content plugins** are bad. Some are useful, well-coded, and worth keeping.
But these are the types of single-purpose **content plugins** that often accumulate on WordPress sites.
### Table Plugins
People install **table plugins** to create **comparison tables**, **pricing tables**, **feature tables**, and **data tables**.
A table plugin may be worth keeping if you need sorting, filtering, pagination, **imported spreadsheets**, **dynamic data**, or **advanced responsive behavior**.
But if you only need simple editorial tables inside articles, a lighter workflow may be enough.
### CTA Plugins
**CTA plugins** help create styled boxes, buttons, banners, and **conversion sections**.
They can be useful for marketers, but they may be unnecessary if you only need occasional article-level [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/).
A simple CTA box usually includes a heading, short message, button URL, and style preset. That does not always require a dedicated plugin.
### FAQ Plugins
**FAQ plugins** create expandable questions and answers. Some also add [**FAQ schema**](https://seovaultai.com/blog/add-faq-schema-wordpress-without-plugin/).
They can be helpful if you manage FAQs across many pages or need advanced accordion behavior.
However, for normal blog posts, you may only need a visible FAQ section and optional **FAQPage JSON-LD** when appropriate.
If your FAQ content is simple and article-specific, a full plugin may be more than you need.
### Table of Contents Plugins
**TOC plugins** automatically generate **navigation links** from headings.
For large sites, this can be useful. A dedicated TOC plugin may also provide sticky navigation, smooth scrolling, or automatic insertion.
But for individual articles, a generated or inserted table of contents block may be enough.
### Review Box Plugins
Review box plugins are common on affiliate and product review sites.
They may include **ratings**, [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/), CTA buttons, **schema**, comparison features, and review templates.
A dedicated review plugin can be useful for advanced review sites. But if you only need a polished summary box at the top of reviews, you may not need a full review system.
### Pros and Cons Plugins
Pros and cons plugins create **comparison boxes** for **product reviews**, **tutorials**, and **list posts**.
These are useful, but the content structure is often simple: a heading, a list of positives, and a list of negatives.
That may be replaceable with a reusable Rich Block or styled content section.
### Disclosure Plugins
Affiliate **disclosure plugins** help display **affiliate notices**, **sponsor notices**, or **legal disclaimers**.
Some site owners need robust disclosure management. Others only need a clear box near the beginning of affiliate posts.
If the disclosure is article-specific and simple, it may be better handled as a content block.
### Code Block Plugins
Code block plugins can provide **syntax highlighting**, **line numbers**, **copy buttons**, **themes**, and **code formatting**.
For developer-heavy sites, a dedicated code plugin may be worth keeping.
But if you only publish occasional snippets and do not need advanced **syntax highlighting** or **JavaScript**\-powered **copy buttons**, a lightweight styled code block may be enough.
### Callout and Note Box Plugins
Callout plugins create **warning boxes**, **tip boxes**, **info boxes**, and **note sections**.
These are useful for **tutorials** and educational content, but they are often simple formatting patterns.
If the plugin only adds a styled box, it may be replaceable with a Rich Block or reusable pattern.
## Which Plugins You Should Keep
A **plugin cleanup** does not mean deleting everything.
Many plugins are essential and should remain if they are actively used, maintained, and configured properly.
You should usually keep plugins that handle important site functionality.
### Security Plugins
Security plugins can help with **login protection**, **malware scanning**, **firewall rules**, **activity logs**, and **hardening**.
If your security plugin is configured properly and actively maintained, it is not the kind of plugin you should remove casually.
### Backup Plugins
Backups are critical.
A reliable backup plugin can protect your site from failed updates, hosting problems, malware, accidental deletion, or broken deployments.
Keep a backup system unless your host provides a strong alternative and you have verified **restore access**.
### Caching and Performance Plugins
Caching, optimization, **image compression**, and **performance plugins** can be important, especially for larger sites or slower hosting environments.
Do not remove these without testing performance before and after.
### SEO Plugins
**SEO plugins** often control **titles**, **meta descriptions**, **canonical URLs**, **XML sitemaps**, **robots settings**, **redirects**, **schema**, **breadcrumbs**, and **social metadata**.
These are core site functions. Removing an SEO plugin without a migration plan can cause serious issues.
### Ecommerce, Membership, and Form Plugins
If a plugin powers **revenue**, **user accounts**, **payments**, **forms**, **lead capture**, **subscriptions**, or **gated content**, it is not a simple formatting plugin.
These should only be changed with a careful plan.
### Custom Field and Content-Type Plugins
Plugins that manage **custom fields**, **custom post types**, **taxonomies**, or **structured content** may be deeply connected to your **site architecture**.
Do not remove them just to reduce **plugin count**.
### Analytics and Tracking Plugins
Analytics plugins may be important for **business reporting**, **ad tracking**, **affiliate tracking**, or **conversion measurement**.
Review whether they are still necessary, but do not remove them blindly.
## Which Small Content Plugins May Be Replaceable
The best candidates for replacement are plugins that do small, article-level formatting jobs.
These may include plugins used only for:
* Static tables
* Simple [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/)
* **FAQ sections**
* Pros and cons boxes
* Affiliate disclosure boxes
* Review summary boxes
* Note and callout boxes
* Basic code block styling
* Comparison verdict sections
* Simple table of contents blocks
A content plugin may be replaceable if:
* It only adds static HTML-like output
* It is used in a small number of posts
* It does not power critical business logic
* It does not manage global site settings
* It does not provide essential **schema** or automation
* It creates styling that could be reproduced elsewhere
* It is installed only for one block type
* Its content can be recreated safely
A content plugin may not be replaceable if:
* Hundreds of posts rely on its **shortcodes**
* It controls **structured data** you need
* It provides **dynamic functionality**
* It creates **sortable**/**filterable** tables
* It powers review **ratings** at scale
* It stores data in custom **database** tables
* It is part of your theme or **design system**
* Removing it breaks existing content
The goal is not to remove plugins for the sake of it. The goal is to simplify where simplification makes sense.
## How SEOvault AI [Rich Blocks](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) Can Help
SEOvault AI Rich Blocks can help replace some small single-purpose **content plugins** by giving WordPress creators a unified way to create polished article sections.
Instead of installing separate plugins for each formatting need, you can create content blocks through SEOvault AI and inject them into WordPress posts.
Rich Blocks can help with:
* Pretty Tables
* CTA Box
* Pros & Cons Box
* FAQ Schema Block
* Table of Contents
* Affiliate Disclosure Box
* Code Block
* Product Review Summary Box
* Info / Note Box
* Comparison Verdict Box
This approach is especially useful for writers who want article-level enhancements rather than full site-level systems.
For example, if you need a simple product review summary at the top of a post, you may not need a full review plugin. If you need a single comparison table, you may not need a dedicated table plugin. If you need a warning note inside a tutorial, you may not need a callout plugin.
SEOvault AI does not replace every WordPress plugin. It is not meant to replace security, **backups**, caching, ecommerce, **forms**, memberships, or advanced dynamic systems.
Its value is in reducing dependence on small **formatting plugins** when the job can be handled by clean, reusable article blocks.
## Small Content Plugin Replacement Table
Plugin type
Why people install it
Possible SEOvault AI alternative
When to still use a plugin
Table plugins
To create comparison, pricing, feature, or **data tables**
Pretty Tables Rich Block
Use a plugin for **sortable**, **filterable**, imported, or dynamic **data tables**
**CTA plugins**
To add styled **conversion boxes** and buttons
CTA Box Rich Block
Use a plugin for popups, A/B testing, targeting, or advanced conversion **tracking**
**FAQ plugins**
To create **FAQ sections** and **accordions**
FAQ Schema Block
Use a plugin for global FAQ management, advanced **accordions**, or complex **schema** workflows
**TOC plugins**
To generate article navigation from headings
Table of Contents Rich Block
Use a plugin for automatic sitewide insertion, sticky TOCs, or advanced scrolling behavior
Review box plugins
To add **ratings**, verdicts, pros/cons, and CTA buttons
Product Review Summary Box
Use a plugin for large review **database**s, user **ratings**, advanced **schema**, or dynamic review systems
Pros/cons plugins
To show product strengths and weaknesses
Pros & Cons Box Rich Block
Use a plugin if pros/cons are connected to a larger review system
Disclosure plugins
To display affiliate or sponsor disclosures
Affiliate Disclosure Box
Use a plugin for automatic disclosure insertion across many posts or legal/compliance workflows
Code block plugins
To show formatted snippets, **syntax highlighting**, and **copy buttons**
Code Block Rich Block
Use a plugin for **syntax highlighting**, functional **copy buttons**, or developer-heavy documentation
Callout/note plugins
To add tips, warnings, and **info boxes**
Info / Note Box
Use a plugin if callouts are part of a broader **design system** or reusable block library
Verdict plugins
To summarize comparisons and recommendations
Comparison Verdict Box
Use a plugin if verdicts are tied to dynamic product data or review scoring
## Practical Cleanup Workflow
Cleaning up WordPress plugins should be done carefully.
Do not deactivate a bunch of plugins on a **live site** without testing. Some plugins may be more important than they appear.
Use a structured workflow.
### 1\. Create a Full Backup
Before changing plugins, create a full backup of your site.
This should include:
* Database
* **WordPress files**
* Theme files
* Plugin files
* Uploads folder
Make sure you know how to restore the backup. A backup is only useful if restoration works.
### 2\. Use a Staging Site
If possible, test plugin removal on a **staging site** first.
A **staging site** lets you deactivate plugins and inspect the result without affecting visitors.
This is especially important for affiliate sites, ecommerce sites, and sites with significant traffic.
### 3\. Audit Your Active Plugins
Make a list of all active plugins and categorize them.
Suggested categories:
* Essential functionality
* SEO and analytics
* Security and **backups**
* Performance
* Ecommerce or **forms**
* Design and layout
* Content formatting
* Unknown or unused
The content formatting category is where you will often find replaceable plugins.
### 4\. Identify Single-Purpose Plugins
Look for plugins that do only one small job.
Examples:
* A plugin only for [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) boxes
* A plugin only for [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/)
* A plugin only for note boxes
* A plugin only for basic tables
* A plugin only for disclosure boxes
These are potential candidates for replacement.
### 5\. Check Where Each Plugin Is Used
Before removing a plugin, find out where it appears on your site.
Look for:
* Shortcodes
* Custom blocks
* Widgets
* Reusable blocks
* Template parts
* Custom post meta
* Front-end output
* **CSS classes**
If a plugin is used in many posts, removal may require migration.
### 6\. Recreate Important Blocks
For replaceable **content plugins**, recreate the important content using SEOvault AI Rich Blocks or native WordPress blocks.
Start with high-traffic pages.
For example:
* Replace a CTA plugin box with a SEOvault AI CTA Box.
* Replace a simple table plugin table with a Pretty Table.
* Replace a disclosure plugin notice with an Affiliate Disclosure Box.
* Replace a callout plugin note with an Info / Note Box.
### 7\. Compare the Front End
After replacing content, compare the old and new versions.
Check:
* Layout
* Spacing
* Mobile display
* Links
* Buttons
* Accessibility
* Schema output if relevant
* Shortcodes
* Tracking parameters
* Affiliate links
Do not assume everything is fine just because the editor looks correct.
### 8\. Deactivate One Plugin at a Time
Deactivate plugins one by one, not all at once.
After each deactivation, inspect key pages.
If something breaks, you will know which plugin caused it.
### 9\. Monitor Performance and Errors
After cleanup, monitor:
* Page speed
* [Core Web Vitals](https://web.dev/articles/vitals)
* Console errors
* Broken layouts
* Broken **shortcodes**
* Missing styles
* [Search Console](https://search.google.com/search-console) issues
* Affiliate link behavior
* Conversion **tracking**
A **plugin cleanup** should improve simplicity, not create new problems.
### 10\. Delete Only After Testing
Deactivating and deleting are different.
Deactivate first. Test. Then delete when you are confident the plugin is no longer needed.
## Warnings Before Removing Plugins
Plugin cleanup can be beneficial, but careless removal can break a site.
Keep these warnings in mind.
### Shortcodes May Remain in Content
Some plugins render content through **shortcodes**.
If you remove the plugin, visitors may see raw shortcode text such as:
`[plugin_box id="123"]`
This looks unprofessional and can affect user experience.
### Blocks May Break
Block editor plugins may create **custom blocks**. If the plugin is removed, those blocks may show errors or stop rendering correctly.
### Styles May Disappear
A plugin may be responsible for **CSS** that affects old content. Removing it can make boxes, tables, buttons, or layouts look broken.
### Schema May Be Removed
Some FAQ, review, or recipe plugins generate **structured data**.
If you remove the plugin, that **schema** may disappear. This may be fine if you no longer need it, but it should be intentional.
### Dynamic Features May Stop Working
Some plugins do more than static formatting.
For example, a table plugin may pull live data from a source. A review plugin may calculate **ratings**. A CTA plugin may track clicks. A TOC plugin may auto-generate links.
Do not replace dynamic features with static blocks unless that is acceptable.
### Affiliate Tracking May Be Affected
If a plugin manages **affiliate links**, **cloaking**, **redirects**, or **tracking**, do not remove it without a plan.
SEOvault AI Rich Blocks can help with disclosure boxes, [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/), and **review summaries**, but it is not a replacement for a dedicated **affiliate link management system**.
### Test Mobile Layouts
Content may look fine on desktop and broken on mobile.
Always check mobile after replacing tables, CTAs, review boxes, and code blocks.
### Keep a Rollback Plan
Before removing anything, know how to restore the previous version.
That may mean:
* Backup restore
* Staging rollback
* Version control
* Reinstalling a plugin
* Restoring old content blocks
## Soft CTA: Try SEOvault AI Rich Blocks
If your WordPress site has accumulated several small **content plugins**, SEOvault AI Rich Blocks can help you simplify your publishing workflow.
Instead of relying on separate plugins for tables, CTAs, [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) boxes, **FAQ sections**, **affiliate disclosures**, **review summaries**, code blocks, and note boxes, you can create many of those article elements from one content-focused workflow.
This is useful for:
* Affiliate marketers
* **SEO writers**
* WordPress **bloggers**
* Niche site owners
* Product reviewers
* Tutorial creators
* Content teams that want consistency
SEOvault AI is not a replacement for every plugin. You should still keep essential plugins for security, **backups**, SEO, caching, ecommerce, **forms**, and other core site functions.
But for single-purpose **formatting plugins**, [**Rich Blocks**](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) may offer a cleaner alternative.
The best **plugin stack** is not the smallest possible stack. It is the stack where every plugin has a clear purpose, real value, and manageable **overhead**.
## FAQ
### Is [plugin bloat](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/) only about having too many plugins?
No. Plugin bloat is not just a **plugin count** problem. It is about unnecessary **overhead**, duplicate functionality, unused plugins, poor maintenance, and plugins that add more complexity than value.
### Are WordPress plugins bad for performance?
Not automatically. Many plugins are well-built and essential. Performance depends on what a plugin does, how it is coded, whether it loads assets efficiently, and how important its functionality is to your site.
### How many WordPress plugins is too many?
There is no universal number. A site with many high-quality, necessary plugins can be healthy. A site with fewer poorly coded or overlapping plugins can still have problems. Focus on plugin quality, necessity, and impact.
### Which plugins should I never remove casually?
Do not casually remove plugins for **backups**, security, SEO, caching, ecommerce, **forms**, memberships, **custom fields**, **redirects**, or critical business functionality. Review them carefully before making changes.
### Which plugins are easiest to replace?
Single-purpose **formatting plugins** are often the easiest candidates. These include simple plugins for [**CTA boxes**](https://seovaultai.com/blog/add-cta-box-wordpress-without-plugin/), static tables, note boxes, [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) boxes, disclosure boxes, and basic **review summaries**.
### Can SEOvault AI replace all my WordPress plugins?
No. SEOvault AI is not meant to replace all plugins. It can help replace some small content-**formatting plugins** through Rich Blocks, but essential site functionality should remain in dedicated, reliable tools.
### Should I delete plugins immediately after replacing content?
No. Deactivate first, test thoroughly, and delete only after confirming that nothing breaks. Use a **staging site** when possible.
### What should I check before removing a content plugin?
Check whether it uses **shortcodes**, **custom blocks**, custom **database** tables, **schema**, **CSS**, **JavaScript**, **tracking**, **affiliate links**, or dynamic content. Also check which posts depend on it.
### Can removing plugins improve site speed?
It can, especially if removed plugins were loading unnecessary **script**s or styles. But speed improvements are not guaranteed. Measure before and after.
### Can [Rich Blocks](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) help with design consistency?
Yes. A unified [**Rich Blocks**](https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide/) workflow can help keep tables, CTAs, disclosures, review boxes, code blocks, and callouts visually consistent across articles.
### What is the safest way to reduce [plugin bloat](https://seovaultai.com/blog/wordpress-site-is-extremely-slow/)?
Create a backup, use staging, audit your plugins, identify replaceable **content plugins**, recreate important blocks, deactivate one plugin at a time, test key pages, and only delete plugins after confirming everything works.
## Final Thoughts
WordPress plugins are powerful, and many are essential.
The goal is not to build a plugin-free website. The goal is to avoid unnecessary plugin dependency, especially for small article-formatting tasks that can be handled more simply.
If your site relies on separate plugins for tables, CTAs, FAQs, [**pros and cons**](https://seovaultai.com/blog/add-pros-cons-box-wordpress-without-plugin/) boxes, disclosures, **review summaries**, code blocks, and callouts, it may be time to audit your stack.
Some plugins should stay. Some may be replaceable. Some may need careful migration.
SEOvault AI Rich Blocks offers a practical way to reduce reliance on small **content plugins** while keeping articles polished, structured, and useful.
Start carefully. Back up your site. Test on staging. Replace one plugin type at a time.
A cleaner WordPress setup is not about removing everything. It is about keeping what matters and simplifying what does not.
---
## WordPress Site is Extremely Slow: My Complete Experiment and Troubleshooting Guide
URL: https://seovaultai.com/blog/wordpress-site-is-extremely-slow
Learn why WordPress sites get painfully slow, what actually helps, and the exact **performance** fixes that made a dramatic difference in real testing.
# WordPress Site is Extremely Slow: My Complete Experiment and Troubleshooting Guide
Published on May 25, 2026 · Tags: wordpress, performance, seo, site-speed
## TL;DR
If your [**WordPress**](https://wordpress.org) site loads at a glacial pace, you are losing **visitors** and **search visibility**. In this guide, I break down why WordPress becomes slow, what I tested, and the fixes that made the biggest difference.
The short version: trim [**plugin bloat**](https://seovaultai.com/blog/wordpress-plugin-bloat-how-to-replace-small-content-plugins/), use a lightweight **theme**, optimize **images**, add **caching**, clean up your **database**, and upgrade **hosting** if the stack is still the bottleneck.
## My Wake-Up Call
I used to treat WordPress like a black box: install more **plugins**, add more features, and hope the site stayed usable. The result was predictable. Bounce rates climbed, **rankings** stalled, and the site felt heavier every month.
At some point, I stopped guessing and started treating the site like software that had to be engineered. I audited the whole stack, tested changes one by one, and measured the results instead of trusting assumptions.
## Why WordPress Gets Slow
WordPress is dynamic, which means every **request** can trigger **server work**, **theme** rendering, plugin logic, and **database** queries before the browser gets usable **HTML**.
The common causes are straightforward:
* bloated **plugins**
* heavy **theme**s
* unoptimized **images**
* **database** bloat
* weak **hosting**
Any one of those can slow the site down. Combined, they can turn a normal page into a painful experience.
## What I Tested
I measured **performance** before and after each major change so I could tell what actually mattered.
### Plugin cleanup
This was the biggest easy win. I removed **plugins** that were redundant, rarely used, or too expensive for the value they provided. Cutting the **plugin count** from 23 to 7 made the site noticeably faster and more stable.
### Theme switching
A lightweight **theme** made a major difference. The fancier the **theme**, the worse the **performance** tended to be. The lesson was simple: **visual complexity** has a real cost.
### Image optimization
Images were a huge part of the problem. Compressing, resizing, and converting **images** to modern formats drastically reduced **page weight**. This alone cut **load time** far more than I expected.
### Caching
Caching was another major improvement. Browser **caching**, **server caching**, and CDN **caching** reduced repeat **load times** and lowered **server pressure**.
### Hosting
When everything else was optimized, **hosting** was still the final bottleneck. Better **hosting** made the biggest difference once the rest of the stack was already cleaned up.
## The Fixes That Actually Worked
Here is the practical order I recommend.
### 1\. Audit and remove unnecessary plugins
Ask whether each plugin is still essential. If you could rebuild the same result with fewer dependencies, do it.
### 2\. Optimize every image
Resize before upload, compress aggressively, and use **WebP** when possible. For existing **media libraries**, bulk optimize the archive.
### 3\. Add caching
Use a proper **caching** plugin or host-level **caching**. Add a CDN if your audience is distributed across regions.
### 4\. Choose a lightweight theme
Use a **theme** that is designed for **performance**, not just **visual noise**. If you need to rebuild some styling, that tradeoff is usually worth it.
### 5\. Clean the database
Remove **revisions**, **spam**, **trash**, and leftover **metadata** from deleted **plugins**. A cluttered **database** slows everything down.
### 6\. Upgrade hosting if needed
If the site is still slow after everything else, the problem is probably **infrastructure**. Better **hosting** is expensive, but slow sites are more expensive.
## Advanced Techniques That Helped
Once the basics were fixed, a few more technical changes pushed the site closer to “**feels instant**” territory.
* **CDN delivery** helped users load content from a closer **edge location**
* **lazy loading** reduced initial **page weight**
* **font optimization** trimmed unnecessary **payload**
* **code minification** removed waste from **CSS** and **JavaScript**
* **query optimization** helped locate slow **database** calls
These changes were not as dramatic as the basics, but they compounded nicely.
## Mistakes to Avoid
The biggest mistakes I made were the same ones I see on slow WordPress sites everywhere.
* installing too many speed **plugins**
* testing only on desktop
* chasing perfect scores instead of real **user experience**
* forgetting to retest after each change
* neglecting updates until something breaks
Speed work is not a one-time fix. It is maintenance.
## What the Results Looked Like
After cleanup, optimization, **caching**, and **hosting** improvements, the site went from painfully slow to genuinely usable.
The important part was not the score itself. The important part was the **user experience**: content appeared faster, the site felt **responsive**, and the bottlenecks were no longer obvious to **visitors**.
That is the real goal.
## FAQ
### How long does it take to speed up a WordPress site?
If the problems are mostly [**plugin bloat**](https://seovaultai.com/blog/wordpress-plugin-bloat-how-to-replace-small-content-plugins/), image weight, and **caching**, you can make dramatic progress in a weekend. Bigger **infrastructure** issues take longer.
### Will speeding up my site help SEO?
Yes. Speed affects **user experience**, **crawl efficiency**, and **engagement**. It is not the only **ranking factor**, but it is a real one.
### Do I need a developer?
Not always. Many speed improvements are manageable if you are willing to test carefully and make changes in stages.
### What should I fix first?
Start with **plugins**, **images**, and **caching**. Those are usually the quickest wins.
### Is better hosting worth it?
If your site is still slow after cleanup, yes. Hosting can be the hidden bottleneck that no plugin can solve.
## Conclusion
[WordPress](https://wordpress.org) speed problems usually look mysterious until you measure them. Once you do, the pattern becomes obvious: too much code, too much media weight, too much **server work**, and too little restraint.
The fix is not magic. It is disciplined cleanup.
If your site is slow, start with the obvious bottlenecks first. Remove what you do not need, make the page lighter, and test each improvement. Speed is a **user experience** advantage, a **SEO** advantage, and a conversion advantage.
The fastest sites are usually not the most complicated ones. They are the ones that were edited with enough discipline to stay lean.
---
## AI Visibility and llms.txt refinement
URL: https://seovaultai.com/changelog/ai-visibility-and-llms-refinement
A focused patch release improved AI Visibility reliability and made llms.txt generation and publishing more deterministic across the web app, backend, and connector.
# AI Visibility and llms.txt refinement
1.1.1 · May 31, 2026
Version 1.1.1 tightens the first AI Visibility release with better diagnostics, cleaner navigation, and more reliable llms.txt generation and publishing behavior.
## Highlights
* Fixed key AI Visibility polish issues across the web app, including navigation and translation gaps.
* Improved robots.txt, crawler access, and plugin-status handling so diagnostics degrade more gracefully.
* Made llms.txt and llms-full.txt generation more deterministic and more dependable when previewing and publishing.
## Included in this release
* Better fallback handling for WordPress preview data and public-site discovery when connector responses are incomplete.
* Stronger llms summary selection so generated output stays more factual, less promotional, and more stable across audits.
* Connector and serving updates that help SEOvault-managed llms files win over conflicting virtual routes after publish.
---
## AI Visibility rollout
URL: https://seovaultai.com/changelog/ai-visibility-rollout
SEOvault AI moved beyond publishing assistance into AI visibility analysis and optimization workflows for modern search and answer engines.
# AI Visibility rollout
1.1.0 · May 24, 2026
Version 1.1.0 is the first obvious minor release milestone for SEOvault AI. It expands the platform from content operations into AI visibility workflows.
## Highlights
* Added the AI Visibility page in the web app.
* Added connector support for SEO, AEO, GEO, AIO, and AI-search visibility workflows.
* Introduced checks for schema readiness, llms.txt, llms-full.txt, robots.txt, and crawler access.
## Included in this release
* Support for publishing SEOvault-generated llms.txt and llms-full.txt content from the connector.
* Managed robots.txt policy support that preserves unrelated site rules outside the SEOvault-managed block.
* AI Visibility bug fixes, translation fixes, and rollout polish across the web app and plugin.
---
## Auth and access hardening
URL: https://seovaultai.com/changelog/auth-and-access-hardening
Authentication, domain handling, and connection reliability were tightened before the next major feature wave.
# Auth and access hardening
1.0.4 · May 13, 2026
This release focused on the kind of product work users notice most when it goes wrong: logging in, reaching the app, and keeping connected sites stable.
## Highlights
* Fixed login flow issues and domain routing regressions.
* Improved connector authentication reliability.
* Continued stabilizing site verification and WordPress connection flows.
## Included in this release
* Connection and slug-related fixes in the connector.
* Small but important authentication fixes across the platform.
* Cleanup that reduced friction in onboarding and reconnecting sites.
---
## Connector packaging polish
URL: https://seovaultai.com/changelog/connector-packaging-polish
A fast follow release cleaned up the connector package and prepared the plugin for a cleaner public distribution.
# Connector packaging polish
1.0.1 · May 8, 2026
The early packaging pass focused on making the WordPress connector smaller, cleaner, and easier to distribute safely.
## Highlights
* Removed directory-only assets and packaging leftovers from the plugin bundle.
* Cleaned deployment exclusions so releases stayed lean.
* Tightened WordPress.org-facing polish around branding, screenshots, and submission readiness.
## Included in this release
* Readme cleanup for a more accurate public plugin listing.
* Distribution improvements that reduced noise in shipped builds.
* General release prep before expanding the product surface further.
---
## Editor and history reliability pass
URL: https://seovaultai.com/changelog/editor-and-history-reliability
This release focused on content handoff stability between the editor and article history so recovery flows felt dependable.
# Editor and history reliability pass
1.0.2 · May 10, 2026
Once the initial publishing flow was live, the next priority was reliability inside the workspace itself.
## Highlights
* Improved history-to-editor handoff behavior.
* Fixed editor acceptance and saved-history edge cases.
* Reduced friction when reopening and continuing past article work.
## Included in this release
* Fixes for history save type issues.
* Additional editor state cleanup and recovery hardening.
* Better continuity for the draft workflow inside the web app.
---
## Foundation release
URL: https://seovaultai.com/changelog/foundation-release
The first public SEOvault AI release established the core workspace, publishing bridge, and WordPress connection flow.
# Foundation release
1.0.0 · May 6, 2026
SEOvault AI launched with the core pieces needed to connect WordPress sites and manage content from a single workspace.
## Highlights
* Introduced the first secure site-key connection flow between the web app and WordPress.
* Added the core REST bridge for verifying sites and working with posts, pages, and media.
* Shipped the first publishing-oriented workspace foundation for editing and sending content back to WordPress.
## Included in this release
* SEO metadata compatibility groundwork for Yoast, Rank Math, and AIOSEO.
* Internal-link sync contract endpoints for the connector.
* Lightweight plugin settings so sites could be connected without extra tables, cron jobs, or front-end scripts.
---
## Changelog
URL: https://seovaultai.com/changelog
Release notes and product updates published in the same Starlight content experience as the docs.
# Changelog
## Product changelogs
Free WordPress plugin
### [SEOvault AI](/changelog/seovault-ai/)
Read the complete release history for the free SEOvault AI WordPress plugin.
Paid WordPress plugin
### [SEOvault AI Pro](/changelog/seovault-ai-pro/)
Read the complete release history for the SEOvault AI Pro WordPress plugin.
## SEOvault AI Web updates
1.1.1 · May 31, 2026
## [AI Visibility and llms.txt refinement](/changelog/ai-visibility-and-llms-refinement/)
A focused patch release improved AI Visibility reliability and made llms.txt generation and publishing more deterministic across the web app, backend, and connector.
1.1.0 · May 24, 2026
## [AI Visibility rollout](/changelog/ai-visibility-rollout/)
SEOvault AI moved beyond publishing assistance into AI visibility analysis and optimization workflows for modern search and answer engines.
1.0.5 · May 17, 2026
## [Observability and quality baseline](/changelog/observability-and-quality-baseline/)
Before shipping a larger feature set, the app gained stronger testing, error visibility, analytics hooks, and CI guardrails.
1.0.4 · May 13, 2026
## [Auth and access hardening](/changelog/auth-and-access-hardening/)
Authentication, domain handling, and connection reliability were tightened before the next major feature wave.
1.0.3 · May 12, 2026
## [Ultra Writer and media workflows](/changelog/ultra-writer-and-media-workflows/)
SEOvault AI expanded beyond the base editor with Ultra Writer, image generation support, and better content export utilities.
1.0.2 · May 10, 2026
## [Editor and history reliability pass](/changelog/editor-and-history-reliability/)
This release focused on content handoff stability between the editor and article history so recovery flows felt dependable.
1.0.1 · May 8, 2026
## [Connector packaging polish](/changelog/connector-packaging-polish/)
A fast follow release cleaned up the connector package and prepared the plugin for a cleaner public distribution.
1.0.0 · May 6, 2026
## [Foundation release](/changelog/foundation-release/)
The first public SEOvault AI release established the core workspace, publishing bridge, and WordPress connection flow.
---
## Observability and quality baseline
URL: https://seovaultai.com/changelog/observability-and-quality-baseline
Before shipping a larger feature set, the app gained stronger testing, error visibility, analytics hooks, and CI guardrails.
# Observability and quality baseline
1.0.5 · May 17, 2026
This release was about operating the product more professionally, not just adding one more user-facing feature.
## Highlights
* Added Sentry for better error visibility in the web app.
* Strengthened CI and test coverage with a usable smoke-test baseline.
* Expanded analytics instrumentation so product usage became easier to track.
## Included in this release
* Firebase analytics initialization work.
* CI updates for JavaScript actions and build consistency.
* Stability and bug-fix work that made the platform ready for a bigger release.
---
## SEOvault AI Pro Changelog
URL: https://seovaultai.com/changelog/seovault-ai-pro
Complete release notes and product updates for the SEOvault AI Pro WordPress plugin.
# SEOvault AI Pro Changelog
This is the continuous development and release history of SEOvault AI Pro, the paid WordPress add-on that extends the free SEOvault AI plugin with advanced modules and site workflows.
## v1.0.0 — Current release
August 17–19, 2026
* NEW Added shared Pro controls styling and registered the common Pro UI assets.
* IMPROVED Added the Action Scheduler version constraint and regenerated the Composer lock file.
* NEW Expanded Local SEO and Redirects Pro functionality.
* FIX Made the Yoast compatibility integration tests hermetic for shortcode behavior.
* IMPROVED Improved integration-test setup and script handling.
* IMPROVED Refactored integration-test setup to make script execution more reliable.
* FIX Updated distribution exclusions and added coverage for private release updates.
## Before v1.0.0 — Pro modules and reliability
August 6–13, 2026
* FIX Improved Commerce and scheduled-task handling, atomic operation locks, license activation events, credential encryption checks, and terminal operation-history pruning.
* INFO Removed the Local SEO capability diagnostic scripts from the distributed plugin project.
* IMPROVED Reworked the Pro Features dashboard into a responsive card grid with accessible labels, status presentation, keyboard focus states, and consistent module descriptions.
* IMPROVED Redesigned the Pro module toggle with an animated sliding control, improved contrast, and clearer focus behavior.
* NEW Added Redirects Pro with automatic slug and trash redirects, import/export tools, a 404 admin-bar shortcut, destination validation, module settings, documentation, and test coverage.
## Before v1.0.0 — Local SEO Pro foundation
August 1–4, 2026
* NEW Added Local SEO Pro module registration, dashboard routing, and cleanup for Local SEO settings and database tables.
* IMPROVED Expanded distribution exclusions, tracked lock files, simplified module routing, and moved address settings into the tabbed Local SEO hub.
* NEW Consolidated Local SEO blocks under the main SEOvault AI category and added self-healing capability synchronization and location-manager role recovery.
* IMPROVED Added empty-state guidance to Local SEO blocks, repeatable bundle builds, and build requirements for metadata changes.
## Before v1.0.0 — Commerce and admin cleanup
July 30, 2026
* INFO Removed the obsolete Commerce SEO data-scope and tab-reliability specification document.
## Before v1.0.0 — Licensing and content workflows
July 27, 2026
* FIX Strengthened build and static-analysis compatibility, scheduler cleanup, queue recurrence, taxonomy safety, CSV validation, runtime Free-plugin references, and PHPStan bootstrap support.
* IMPROVED Updated subscription management routing, license-form spacing, and the visible SEOvault AI product name.
## Before v1.0.0 — Pro foundation and design system
July 24–25, 2026
* NEW Created the initial SEOvault AI Pro plugin foundation.
* IMPROVED Updated license-key formatting, plan labels, signed update URLs, and cache behavior for private plugin updates.
* FIX Updated the bundled public key to the production entitlement-signing key and aligned the deployment documentation.
* IMPROVED Added design-system styles, replaced hardcoded CSS values with custom properties, shared card rendering, and correct module boot timing for translations.
* NEW Added the Content SEO workspace with a dedicated admin page, better bulk-operation feedback, localized AJAX errors, and content-analysis assets.
---
## SEOvault AI Changelog
URL: https://seovaultai.com/changelog/seovault-ai
Complete release notes and product updates for the free SEOvault AI WordPress plugin.
# SEOvault AI Changelog
This is the continuous development and release history of SEOvault AI, the free WordPress plugin for automated SEO, structured data, sitemaps, AI visibility, and connected content workflows.
## v1.2.0 — Schema, Local SEO, and dashboard improvements
September 7, 2026
* NEW Added configurable Organization identity schema fields and publishing-policy references.
* NEW Added Local SEO extension hooks for custom map markers, organization logos, and KML placemark data.
* NEW Added Webmaster Verification controls, verification-code export, 404-log CSV export, and more schema types.
* NEW Added automatic keyword suggestions, schema-dialog improvements, and clearer generated-value status indicators.
* IMPROVED Redesigned the dashboard status and attention views and refined its responsive WordPress-native interface.
* NEW Added link-schema infrastructure, improved redirect workflows, and prevented KML sitemap header errors.
* IMPROVED Added WordPress 7.1 editor-canvas compatibility and strengthened request, output, connector-auth, and packaging boundaries carried forward from the approved 1.1.2 release.
## v1.1.2 — In development
July 28–August 18, 2026
* FIX Improved PHP 8.5 compatibility and strengthened reflection-test security assertions.
* INFO Documented extension API data contracts and added stable filter constants for schema graphs and sitemap indexes.
* NEW Added Local SEO extension hooks for custom map markers, organization logos, and KML placemark filters.
* IMPROVED Moved the FAQ, How-To, and Quick Answer blocks into the SEOvault AI block category.
* FIX Preserved tri-state noindex behavior and hardened block limits, importer meta keys, and zero-result sitemap handling.
* NEW Added Webmaster Verification controls, verification-code export, 404-log CSV export, and additional schema type support.
* NEW Added automatic keyword suggestions with source tracking, improved schema dialogs, and stale-value indicators.
* NEW Added the redesigned dashboard status strip and attention-items list.
* IMPROVED Refined dashboard spacing, typography, responsiveness, and visual hierarchy.
* INFO Added clearer Pro controls, redirect-origin prefilling, and redirect validation warnings.
* NEW Added the link schema repository and extension point.
* FIX Prevented header errors during KML sitemap generation.
## v1.1.1 — Source and reliability update
July 28, 2026
* IMPROVED Updated the plugin release version and completed the release-readiness changes for the public package.
## v1.1.0 — Extension API foundation
July 24–27, 2026
* NEW Added extension API infrastructure with hooks for dashboard, settings, and editor panels.
* IMPROVED Simplified sidebar-card test coverage around the shared dashboard rendering helper.
* FIX Corrected WordPress 6.7 translation timing and isolated legacy settings handling from extension conflicts.
* NEW Added extension hooks for schema graph and sitemap-index customization.
## v1.0.2 — Admin assets and compatibility
July 22, 2026
* IMPROVED Refactored admin asset loading to use external, properly enqueued files.
* FIX Improved PHP 8.0 compatibility in the unit tests.
* INFO Consolidated PHPCS suppressions for queries that cannot be converted without changing their behavior.
## v1.0.1 — Media and publishing workflows
July 19–22, 2026
* IMPROVED Added idempotent source tracking for generated media uploads.
* IMPROVED Refined onboarding and conflict-handling flows.
* IMPROVED Expanded the API Activity dashboard and its operational feedback.
* NEW Added third-party block conversion workflows.
* NEW Added featured-image API endpoints with deduplication and media-management improvements.
## v1.0.0 — Public plugin foundation
July 16–18, 2026
* IMPROVED Simplified the Security tab and API Activity navigation.
* IMPROVED Standardized metabox typography and line-clamp behavior across the editor surface.
* INFO Updated the readme marketing copy and finalized the public plugin description.
## v0.9.0 — Action Center and release operations
July 16, 2026
* INFO Removed internal audit documentation and tightened build exclusions and block API update handling.
* FIX Added a remigrate action to prevent automatic upgrades from undoing schema restoration.
* NEW Added the Action Center layout and its implementation notes.
* IMPROVED Refactored Action Center rendering and admin asset management.
* FIX Corrected dashboard and Quick Answer test regressions.
## v0.8.0 — Schema architecture and sitemap reliability
July 15, 2026
* NEW Added schema settings with display conditions and health indicators.
* IMPROVED Made Schema Architecture V2 the canonical always-on model and removed the legacy schema catalogue surface.
* FIX Corrected CI fixtures, autosave cleanup, archive metadata, and frontend URL handling.
* FIX Hardened sitemap archive validation and corrected WooCommerce reflection access.
* INFO Removed the obsolete ESLint configuration from the plugin project.
## v0.7.0 — Connector security and maintenance foundations
July 7–13, 2026
* NEW Added authenticated media-upload REST support with base64 validation and comprehensive coverage.
* NEW Added API rate limits, temporary lockouts, audit logging, CORS controls, and scoped API keys.
* NEW Added optional read/write API-key generation and improved CORS handling.
* IMPROVED Enhanced development scripts and code-quality checks.
* IMPROVED Added capability-checked API-key forms.
* FIX Updated PHPUnit configuration and strengthened uninstall handling.
* INFO Improved project structure and expanded test coverage.
## v0.6.0 — Distribution and admin workflow polish
July 2–6, 2026
* INFO Prepared the plugin package and screenshots for public distribution.
* IMPROVED Refined output-mode descriptions, disabled-mode guidance, compatibility warnings, and admin styling.
* IMPROVED Updated the readme, admin UI, metabox, formatter, and ACF compatibility coverage.
* FIX Removed remaining junk files from version control.
* FIX Corrected migration batching, Rank Math housekeeping, and webhook field names.
* NEW Added the dashboard sidebar card deck and its interactive presentation.
## v0.5.0 — Monitoring, reliability, and quality baseline
June 29–July 1, 2026
* NEW Added Site Health Monitor initialization and improved redirect-pattern handling.
* FIX Improved error-handler chaining, log counting, and conditional WooCommerce checks.
* INFO Finalized the SEOvault AI rebrand and added GitHub Actions CI.
* FIX Corrected Composer metadata so strict CI validation passes.
* INFO Pinned the Composer platform to PHP 7.4 for a CI-compatible lock file.
* FIX Updated the WordPress test-suite installer to use the latest trunk.
* FIX Corrected PHPUnit CI failures involving test isolation and variable-manager setup.
* INFO Ignored local PHPUnit logs and added a manual migration smoke script.
## v0.4.0 — Editor experience and SEO input improvements
June 26–28, 2026
* FIX Improved schema-save behavior, autosave handling, and title and description limits.
* NEW Added animated admin controls and the teal-and-wonder-white visual system.
* IMPROVED Replaced remaining WordPress blue controls with the SEOvault AI teal interface and added a styled Save button.
* IMPROVED Refined the SERP preview to better match Google’s mobile presentation.
* NEW Added keyword suggestions and secondary-keyword support to connector responses.
## v0.3.0 — Settings, indexing, and metadata controls
June 21–25, 2026
* INFO Improved test-state hygiene and established the first sitemap implementation.
* NEW Added the first sitemap implementation.
* NEW Expanded the initial sitemap functionality and its plugin integration.
* NEW Added sitemap settings and IndexNow and redirect CSV actions without nested form handling.
* NEW Added Robots settings with indexing controls, copyright directives, robots.txt policy settings, and OG field counters.
* IMPROVED Added active-tab persistence and converted regenerate actions to anchored GET links.
* IMPROVED Added the unified General page with Schema, Local SEO, and Tools tabs and the new SEOvault AI visual system.
* FIX Removed the nested llms.txt form and consolidated its save flow into the unified settings action.
* NEW Added Homepage and Social settings with Google previews, counters, media upload, and variable controls.
## v0.2.0 — Core SEO and site tools
June 20–21, 2026
* NEW Added 404 monitoring and Image SEO settings with their supporting data integration.
* NEW Added the SEOvault AI identity, Frontend Score, WooCommerce SEO, and SEO Analyzer workflows.
* NEW Consolidated settings into a Save All Settings flow and improved llms.txt response handling.
## v0.0.5 — Variable picker controls
June 19, 2026
* NEW Added the first variable-picker controls for template fields in the SEO metabox and settings.
## v0.0.4 — Submenu asset loading
June 19, 2026
* FIX Corrected the enqueue-hook check so CSS loaded on submenu pages.
## v0.0.3 — Text-domain asset compatibility
June 19, 2026
* FIX Restored working CSS and JavaScript after the text-domain replacement.
## v0.0.2 — WordPress compatibility baseline
June 19, 2026
* FIX Corrected the initial WordPress compatibility and plugin-check errors.
## v0.0.1 — Plugin foundation
June 18, 2026
* NEW Created the first SEOvault AI plugin skeleton with its initial admin and frontend structure.
---
## Ultra Writer and media workflows
URL: https://seovaultai.com/changelog/ultra-writer-and-media-workflows
SEOvault AI expanded beyond the base editor with Ultra Writer, image generation support, and better content export utilities.
# Ultra Writer and media workflows
1.0.3 · May 12, 2026
This release widened the product from a connected editor into a more capable long-form content workspace.
## Highlights
* Added the Ultra Writer page and its first usable workflow.
* Introduced image generation support for Ultra Writer.
* Added download and linked-word helper improvements to the editing experience.
## Included in this release
* SEO workflow improvements supporting richer content creation.
* Bug fixes around Ultra Writer runs and article history.
* Follow-up fixes that made the new writer flow practical for day-to-day use.
---
## SEOVault AI
URL: https://seovaultai.com/checkout-info
SEOVault AI checkout information. View pricing, plans, and what you get with your subscription.
# SEOVault AI
AI-powered SEO content optimization for WordPress
## What is SEOVault AI?
SEOVault AI is a browser extension that helps WordPress site owners and content creators optimize their posts and pages for search engines using AI-driven analysis and suggestions.
## What You Get
* AI-powered SEO analysis of your WordPress content
* Keyword optimization suggestions and scoring
* Content improvement recommendations
* Credit-based usage across Starter, Pro, and Advanced plans
* Seamless integration with the WordPress editor
## Plans & Pricing
* Starter — $19/mo (200 credits)
* Pro — $49/mo (600 credits)
* Advanced — $99/mo (1,500 credits)
[View Pricing](https://www.seovaultai.com/pricing/) [Go to Billing (login required)](/billing)
Checkout and payment processing is handled securely through Paddle after you sign in. No payment information is collected on this page.
© 2026 SEOVault AI. All rights reserved.
---
## Data & Permissions
URL: https://seovaultai.com/data-permissions
SEOVault AI Data and Permissions — what the extension and web app access, why permissions are needed, and how your data is handled.
Legal
# Data & Permissions
Last Updated: June 2026
This page explains what data the SEOVault AI Chrome Extension and web app access, why permissions are needed, whether data is stored and where, what website content is accessed during analysis, how screenshots and snippets work, and how the lightweight WordPress connector plugin is used.
## What the Extension Does
SEOVault AI is a Chrome extension that opens as a side panel inside the WordPress post editor. It analyzes your draft content, provides SEO diagnostics, generates AI-assisted content, and helps with internal linking — all without requiring a WordPress plugin for the core extension workflow.
## Why Permissions Are Needed
The extension requests the following permissions, each with a specific functional purpose:
### storage
Used to save user preferences, configuration, and SEO Snippets locally in your browser. This data never leaves your machine.
### tabs / activeTab
Used to detect when you are on a WordPress admin or editor page. The extension checks tabs only to identify WordPress pages and operate the side panel. We do not collect or store your general web browsing history.
### scripting
Used to enable communication between the extension side panel and the Gutenberg editor. This allows the extension to read your draft content for analysis and inject generated content back into the editor.
### host\_permissions
Used to allow the extension to function on your WordPress installation domains. This permission is required so the extension can interact with your WordPress editor on your specific site URLs.
## Whether Data Is Stored and Where
### Local Storage (Extension)
* **User preferences and configuration** — stored locally in your browser via the Chrome storage API
* **SEO Snippets** — your research notes and highlighted text saved to the snippets notepad. Stored locally within your browser. This data never leaves your machine and is not transmitted to our servers or any third-party databases
### Cloud Storage (Web App)
* **Account data** — email address (via Google Authentication) and subscription status stored on our servers
* **Generated article history** — saved to Firebase cloud storage for future access
* **Team/workspace data** — invitations and role assignments stored on our servers
### AI Processing
When you use AI-powered features, portions of your content or selected text are sent to external AI APIs (such as Gemini, OpenAI, Perplexity, Mistral) only to generate results. Data is processed on demand and is not used to train models. We do not sell, reuse, or distribute your content.
## Google Search Console and Google Analytics Access
SEOVault AI accesses Google user data only after a workspace owner or administrator explicitly connects a Google account through Google OAuth and grants the requested permissions.
For this integration, SEOVault AI requests the following Google OAuth scopes:
* `openid`
* `email`
* `https://www.googleapis.com/auth/webmasters.readonly`
* `https://www.googleapis.com/auth/analytics.readonly`
SEOVault AI uses these scopes for read-only access. SEOVault AI does not write to, modify, or delete data inside a user's Google Search Console or Google Analytics account.
### Data Accessed
When a user connects Google Search Console and Google Analytics, SEOVault AI may access, collect, or process the following Google user data:
* Basic Google account information needed to identify the connected account, such as the connected Google account email address.
* Search Console property metadata, such as site/property identifiers and permission level.
* Search Console performance data for selected date ranges, including pages, queries, clicks, impressions, click-through rate, and average position.
* Google Analytics 4 property metadata, including property IDs and display names.
* Google Analytics 4 traffic and landing page data for selected date ranges, including landing page paths, session source, session medium, default channel group, sessions, engaged sessions, engagement rate, average session duration, bounce rate, conversions, and page views.
* OAuth connection metadata, including granted scopes, connection timestamp, and an encrypted refresh token used to maintain the authorized connection.
### Data Usage
SEOVault AI uses Google user data only to provide and improve user-facing SEO and AI Visibility features inside the user's workspace. This includes:
* Allowing users to connect a Google account and select Search Console and Google Analytics properties for their workspace.
* Mapping Search Console and Google Analytics properties to sites connected to the workspace.
* Displaying Google Search Signals, SEO performance, traffic insights, top pages, landing pages, and observable AI referral summaries inside the AI Visibility feature.
* Generating selected-page insights, including matching Search Console query data against the user's page content to identify SEO and AI-readiness opportunities.
* Refreshing Google access tokens server-side when needed so the authorized connection continues to work until the user disconnects it.
SEOVault AI does not use Google user data to serve ads, for retargeting, for sale to data brokers, or to train SEOVault AI or third-party AI models.
### Data Sharing
SEOVault AI does not sell Google user data and does not share Google user data with advertisers, data brokers, or unrelated third parties.
Google user data may be processed by service providers that help us operate SEOVault AI, such as hosting, database, infrastructure, monitoring, and security providers. These providers process data on our behalf only as needed to provide, secure, and maintain the service.
Within SEOVault AI, Google-derived data may be visible to authorized members of the same workspace according to the workspace's access controls.
We may disclose data when required by law or when necessary to protect users, prevent abuse, enforce our terms, or secure the service.
### Data Storage and Protection
SEOVault AI stores Google connection records and selected Google-derived workspace summaries in our backend systems only as needed to provide the AI Visibility feature.
OAuth refresh tokens are encrypted before storage and stored in our backend database. Google access tokens are obtained server-side when needed and are not stored as part of the workspace connection record.
Google OAuth client credentials and token-encryption keys are stored as server-side secrets and are not exposed in the browser.
Traffic between the user's browser, SEOVault AI, our backend systems, and Google APIs is protected using HTTPS/TLS encryption.
We use access controls and operational safeguards designed to limit access to Google user data to the systems and personnel needed to provide, maintain, support, and secure the service.
### Data Retention and Deletion
Temporary OAuth state records are deleted after use or expire after approximately 10 minutes.
The stored Google connection record, including the encrypted refresh token, connected email, granted scopes, and connection metadata, is retained until the workspace owner or administrator disconnects Google from the Connections page or requests deletion.
Disconnecting Google stops future access to Google Search Console and Google Analytics data and deletes the stored Google OAuth connection token record. Disconnecting Google does not automatically delete Google-derived summaries that were previously imported into the workspace.
SEOVault AI may retain previously imported Google-derived workspace summaries so the AI Visibility feature can show imported results and historical context. This may include site-to-property mappings, import logs, page-level Search Console metrics, selected-page query insight summaries, Google Analytics landing page metrics, referral/source summaries, and related AI Visibility summaries.
Users may request deletion of stored Google connection data and previously imported Google-derived workspace data by emailing [support@seovaultai.com](mailto:support@seovaultai.com). After verifying the request, we will delete the relevant Google connection records and Google-derived workspace data, subject to legal, security, fraud-prevention, and backup retention obligations.
## What Website Content Is Accessed During Analysis
When you use the extension on a WordPress post editor, it accesses:
* Draft text
* Headings and titles
* Metadata (if present)
* User-selected text
This access is used solely to provide SEO analysis, diagnostics, AI-assisted features, and internal link suggestions. We do not permanently store full article drafts, archive or reuse your content, or publish or share your drafts.
## How Screenshots and Snippets Work
### Screenshot Capture
The extension includes a screenshot utility accessible via right-click on any webpage. When you capture a screenshot:
* Images are captured at 1200x628 resolution (WordPress post image size)
* The screenshot is processed locally via your system clipboard
* Screenshots are not uploaded to or stored on our servers
* You can paste the screenshot directly into your WordPress post
### SEO Snippets
The SEO Snippets notepad allows you to:
* Save highlighted text from any webpage via right-click
* Write and organize notes manually
* Import and export all snippets at once
All snippet data is stored locally in your browser. It never leaves your machine.
## How the Lightweight WordPress Plugin Is Used by the Web App
The web app uses an ultra-lightweight WordPress connector plugin for:
* **Secure API communication** — the plugin acts as a bridge between the web app and your WordPress site
* **Publishing sync** — enables the web app to fetch posts, save drafts, and push content to your WordPress site
* **Internal linking data** — allows the web app to scan your site's posts for autolinking suggestions
The connector plugin is designed to be minimal — it adds almost no overhead to your WordPress site and exists solely for API communication. It does not add SEO features, analytics tracking, or any functionality beyond secure sync.
The extension does not require this plugin. The extension works directly with the WordPress editor without any WordPress-side installation.
## Your Rights and Control
* You may stop all data access by uninstalling the extension
* You may clear locally stored preferences via your browser settings
* You may disconnect the WordPress connector plugin at any time from your WordPress plugins page
* If applicable, you may request access to or deletion of account-related data, including stored Google connection/import data, by contacting us
## Contact
Questions about data handling or permissions?
[support@seovaultai.com](mailto:support@seovaultai.com)
Data Protection Officer: Nuri Ciftcioglu. For formal privacy inquiries or data deletion requests, please contact us at support@seovaultai.com.
---
## 404 Fallback Behavior: Theme 404, Homepage, or Custom URL
URL: https://seovaultai.com/docs/404-fallback-behavior-theme-404-homepage-or-custom-url
Configure what happens when a URL doesn't match any redirect rule — show the theme 404, redirect to the homepage, or redirect to a custom page or URL.
# 404 Fallback Behavior: Theme 404, Homepage, or Custom URL
When a visitor requests a URL that doesn’t exist on your site, SEOvault AI first checks for a matching redirect rule. If no rule matches, the 404 Fallback Behavior determines what happens next. You can choose to show your theme’s 404 page, redirect all unmatched 404s to the homepage, or redirect to a custom page or URL.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > 404 Monitor** and look for the “Fallback Behavior” section.
## How it works
[](#how-it-works)
The fallback behavior is a catch-all for URLs that don’t match any redirect rule in the Redirect Manager. This gives you control over the user experience for unexpected 404s without having to create individual redirects for every possible missing URL.
Redirect Manager rules always win. The fallback only applies when no redirect rule matches the requested URL.
## Fallback modes
[](#fallback-modes)
### Theme 404 (default)
[](#theme-404-default)
Shows your WordPress theme’s built-in 404 page. This is the standard WordPress behavior — visitors see a “Page not found” message styled by your theme, and the HTTP response remains 404.
Use this mode when you want to preserve the standard 404 experience and let your theme handle the presentation. The 404 Monitor still logs these requests.
### Redirect to Homepage
[](#redirect-to-homepage)
Redirects all unmatched 404 requests to your site’s homepage. The HTTP status code depends on your setting (302 by default, or 301 if you choose permanent).
Use this mode when you want to ensure visitors always land on a live page rather than a 404. However, be cautious with permanent 301 redirects to the homepage — when many unrelated missing URLs all redirect to the same destination, search engines may interpret this as a soft 404 and reduce your site’s quality score.
### Redirect to Custom Page
[](#redirect-to-custom-page)
Redirects all unmatched 404 requests to a specific WordPress page you select. Choose the target page from the dropdown. The HTTP status code depends on your setting (302 by default, or 301 if you choose permanent).
Use this mode when you have a dedicated “not found” or “error” page that provides helpful navigation options, search, or curated content recommendations.
### Redirect to Custom URL
[](#redirect-to-custom-url)
Redirects all unmatched 404 requests to any URL you specify. Enter a full URL (can be on your site or external). The HTTP status code depends on your setting (302 by default, or 301 if you choose permanent).
Use this mode when you want to redirect to an external resource, a specific landing page, or a URL that isn’t a WordPress page on your site.
## Redirect status codes
[](#redirect-status-codes)
Choose the HTTP status code for homepage and custom URL fallbacks:
* **302 (Found / Temporary)** — Default. Tells search engines the redirect is temporary. Use this for global fallbacks unless you have a specific reason to use 301.
* **301 (Moved Permanently)** — Tells search engines the redirect is permanent. Use only when the destination truly replaces the missing URL for all cases.
**Why prefer 302 for global fallbacks:** When many different missing URLs all redirect to the same homepage or custom page, a 301 can look like a soft 404 to search engines — they may see it as a signal that the original URLs don’t exist and the redirect is just a catch-all. A 302 indicates the redirect is temporary and the original URLs might return.
## 404 Monitor integration
[](#404-monitor-integration)
The 404 Monitor logs requests regardless of fallback mode. However, there’s a setting to control whether fallback redirects are logged:
* **Log Redirected Fallbacks** — When enabled, 404s that trigger a fallback redirect are still logged in the 404 Monitor. This lets you see which URLs are hitting the fallback and decide whether to create specific redirects for them. When disabled, only theme 404s are logged (since those don’t redirect).
## Priority order
[](#priority-order)
SEOvault AI evaluates 404 handling in this order:
1. **Redirect Manager rules** — If a redirect rule matches, it wins and the request is redirected immediately
2. **Fallback Behavior** — If no redirect rule matches, the fallback mode determines what happens
3. **Theme 404** — If fallback mode is “Theme 404”, WordPress loads the theme’s 404 template
This means specific redirects always take precedence over the global fallback.
## When to use each mode
[](#when-to-use-each-mode)
* **Theme 404** — Most sites. Preserves standard 404 behavior, lets your theme handle presentation, keeps HTTP 404 status for search engines.
* **Redirect to Homepage** — Simple sites where you want to ensure visitors always see content. Consider using 302 status to avoid soft 404 signals.
* **Redirect to Custom Page** — Sites with a helpful “not found” page that offers navigation, search, or content recommendations. Better than a generic homepage redirect for user experience.
* **Redirect to Custom URL** — External redirects, specific landing pages, or non-WordPress destinations.
## Best practices
[](#best-practices)
* Use 302 status for global homepage or custom URL fallbacks unless the destination permanently replaces every missing URL
* Monitor your 404 logs to identify high-traffic missing URLs that deserve specific redirects rather than relying on the fallback
* If using a custom page fallback, make sure the page provides helpful navigation options (search, recent posts, category links)
* The Redirect Manager always wins — create specific redirects for important URLs before relying on the fallback
## Related docs
[](#related-docs)
* [404 Monitor: Find and Fix Missing URLs](/docs/404-monitor-find-and-fix-missing-urls/)
* [Redirect Manager: Create 301 and 302 Redirects](/docs/redirect-manager-create-301-and-302-redirects/)
* [404 Recovery Page Setup](/docs/404-recovery-page-setup/)
---
## 404 Monitor: Find and Fix Missing URLs
URL: https://seovaultai.com/docs/404-monitor-find-and-fix-missing-urls
Track 404 errors on your WordPress site, see which URLs visitors are trying to access, and turn broken links into redirects.
# 404 Monitor: Find and Fix Missing URLs
The 404 Monitor tracks every 404 error on your site so you can see which URLs visitors and search engines are trying to access. Instead of guessing what’s broken, you get a log of missing URLs with hit counts, referrers, and user agents. You can then turn those log entries into redirects or delete them once fixed.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > 404 Monitor**.
## How it works
[](#how-it-works)
When a visitor or bot requests a URL that doesn’t exist on your site, WordPress returns a 404 response. SEOvault AI captures these requests and logs them to a database table. The log includes:
* **URL** — the missing path requested
* **Hits** — how many times this URL has been accessed
* **Referrer** — where the request came from (if available)
* **User Agent** — the browser or bot that made the request
* **Last Accessed** — when the 404 last occurred
The monitor has two logging modes:
* **Simple mode** — logs only the URL and hit count. Lightweight, good for high-traffic sites.
* **Advanced mode** — logs URL, hit count, referrer, and user agent. More detail for debugging.
You can also exclude certain URL patterns from logging (for example, if you know a particular path is always hit by bots and you don’t care about it).
## View and manage 404 logs
[](#view-and-manage-404-logs)
The 404 Monitor table shows all logged 404 errors with pagination, sorting, and search.
### Sort and search
[](#sort-and-search)
* Click column headers to sort by URL, hits, or last accessed date
* Use the search box to filter by URL pattern
* Adjust the page size from the “Screen Options” dropdown
### Delete log entries
[](#delete-log-entries)
* Click **Delete** next to a single entry to remove it
* Select multiple entries with checkboxes and choose **Delete** from the bulk actions dropdown
* Clear all logs at once using the “Clear All Logs” button at the bottom of the tab
Delete entries when you have fixed the underlying issue (created a redirect, restored the content, or confirmed the URL is no longer relevant).
## Turn a 404 log entry into a redirect
[](#turn-a-404-log-entry-into-a-redirect)
The most common workflow is converting a frequently-hit 404 into a redirect:
1. Go to **SEOvault AI > General > 404 Monitor**
2. Find the URL you want to redirect in the log table
3. Click **Redirect** in the Actions column
4. The Redirect Manager tab opens with the origin URL pre-filled
5. Enter the target URL (where you want to send visitors instead)
6. Choose the redirect type (301 for permanent, 302 for temporary)
7. Click **Add Redirect**
The log entry remains in the 404 Monitor after you create the redirect — delete it manually if you want to clean up the list.
## 404 Monitor settings
[](#404-monitor-settings)
Configure logging behavior under the 404 Monitor tab:
### Mode
[](#mode)
Choose between **Simple** (URL + hits only) or **Advanced** (URL + hits + referrer + user agent). Advanced mode uses more database storage but gives you more context about where 404s are coming from.
### Ignore Query Parameters
[](#ignore-query-parameters)
Enable this to treat `/page?param=value` and `/page` as the same URL. Useful when tracking parameters create duplicate 404 entries for the same underlying path.
### Exclusions
[](#exclusions)
Add URL patterns to exclude from logging. For each exclusion rule:
* **Pattern** — the text or regex to match
* **Comparison** — how to match:
* **Contains** — pattern appears anywhere in the URL
* **Exact** — URL must match the pattern exactly
* **Starts with** — URL begins with the pattern
* **Ends with** — URL ends with the pattern
* **Regex** — use a regular expression pattern
Use exclusions for paths you know are irrelevant (for example, `/wp-content/plugins/old-plugin/` if you deliberately removed that plugin and don’t need to track attempts to access it).
### Log Limit
[](#log-limit)
Set the maximum number of log entries to keep. When the limit is reached, the oldest entries are automatically deleted. This prevents the log table from growing indefinitely on high-traffic sites. Set to `0` to disable automatic pruning.
## Compatibility notes
[](#compatibility-notes)
The 404 Monitor automatically disables if another SEO plugin is active and detected as handling SEO output. This prevents duplicate logging and conflicts. If you see a warning on the Dashboard about another SEO plugin, either deactivate it or switch SEOvault AI to Disabled mode for the features you want the other plugin to handle.
## Related docs
[](#related-docs)
* [Redirect Manager: Create 301 and 302 Redirects](/docs/redirect-manager-create-301-and-302-redirects/)
* [404 Fallback Behavior: Theme 404, Homepage, or Custom URL](/docs/404-fallback-behavior-theme-404-homepage-or-custom-url/)
* [Turn a 404 Log Entry into a Redirect](/docs/turn-a-404-log-entry-into-a-redirect/)
---
## 404 Recovery Page Setup
URL: https://seovaultai.com/docs/404-recovery-page-setup
Replace your theme's 404 page with a branded recovery page that offers search, recent posts, and custom content while keeping the HTTP 404 status.
# 404 Recovery Page Setup
The 404 Recovery Page is an optional replacement for your theme’s built-in 404 page. When enabled, it shows a branded, helpful error page with search, recent posts, and custom content options while keeping the HTTP 404 status. This gives visitors a better experience when they hit a missing URL without changing how search engines interpret the error.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > 404 Monitor** and look for the “Recovery Page” section.
## How it works
[](#how-it-works)
The recovery page replaces your theme’s 404 template only when:
* The request is a 404 (no content found)
* Fallback Behavior is set to **Theme 404** (not homepage or custom URL redirects)
* The recovery page is enabled in settings
The HTTP response stays 404, so search engines still understand the content is missing. The 404 Monitor still logs these requests like normal theme 404s.
## Enable the recovery page
[](#enable-the-recovery-page)
1. Go to **SEOvault AI > General > 404 Monitor**
2. In the “Recovery Page” section, check **Enable Recovery Page**
3. Click **Save Changes**
The recovery page now replaces your theme’s 404 for unmatched 404 requests.
## Recovery page content options
[](#recovery-page-content-options)
### Built-in content mode
[](#built-in-content-mode)
The recovery page can show built-in content elements:
* **Headline** — Custom headline text (default: “Page Not Found”)
* **Message** — Custom message below the headline
* **Show Search** — Display a WordPress search form
* **Show Home CTA** — Display a button linking to your homepage or custom URL
* **CTA Label** — Text for the home button (default: “Go Home”)
* **CTA URL** — Custom target for the home button (defaults to homepage)
* **Show Recent Posts** — Display a list of recent posts to help visitors find content
* **Recent Posts Count** — How many recent posts to show (default: 5)
### Page content mode
[](#page-content-mode)
Instead of built-in elements, you can use the content from a WordPress page:
1. Create a WordPress page with your custom 404 content
2. In the recovery page settings, select **Page Content** mode
3. Choose the page from the dropdown
4. The recovery page will render your page’s content inside the recovery template
This lets you use the block editor, shortcodes, or any page content while still getting the recovery page’s styling and 404 status.
## Styling options
[](#styling-options)
### Accent color
[](#accent-color)
Choose an accent color for buttons, links, and highlights. The color is applied as a CSS variable that the recovery template uses.
### Use theme colors
[](#use-theme-colors)
When enabled, the recovery page attempts to pull colors from your active theme (background, text, accent). If the theme doesn’t expose colors, it falls back to the accent color you specified.
## When the recovery page appears
[](#when-the-recovery-page-appears)
The recovery page only appears for frontend 404 requests. It does not appear for:
* Admin area requests
* AJAX requests
* REST API requests
* Cron jobs
* Feed requests
* Robots.txt requests
This ensures the recovery page only affects human visitors browsing your site.
## HTTP status and logging
[](#http-status-and-logging)
The recovery page keeps the HTTP 404 status. Search engines see a proper 404 response, which is correct for missing content. The 404 Monitor logs these requests like normal theme 404s, so you can still track which URLs are hitting the recovery page.
## Customization
[](#customization)
The recovery page uses a template file at `views/not-found/recovery.php` and a stylesheet at `assets/css/not-found-recovery.css` in the plugin directory. Advanced users can override these by:
1. Copying the template to your theme: `your-theme/seovault-recovery.php`
2. Using the `seovaultseo_notfound_recovery_template` filter to specify a custom template path
3. Using the `seovaultseo_notfound_recovery_stylesheet` filter to specify a custom stylesheet URL
## Best practices
[](#best-practices)
* Use the recovery page when your theme’s 404 is generic or unhelpful
* Enable search and recent posts to help visitors find relevant content
* Consider page content mode if you want full control over the 404 presentation with the block editor
* Keep the HTTP 404 status — don’t try to make missing URLs return 200
* Monitor your 404 logs to identify high-traffic missing URLs that deserve specific redirects
## Related docs
[](#related-docs)
* [404 Monitor: Find and Fix Missing URLs](/docs/404-monitor-find-and-fix-missing-urls/)
* [404 Fallback Behavior: Theme 404, Homepage, or Custom URL](/docs/404-fallback-behavior-theme-404-homepage-or-custom-url/)
* [Redirect Manager: Create 301 and 302 Redirects](/docs/redirect-manager-create-301-and-302-redirects/)
---
## Add Custom JSON-LD Schema to a Post
URL: https://seovaultai.com/docs/add-custom-json-ld-schema-to-a-post
Paste custom JSON-LD schema markup in the post editor to override auto-generated schema, with syntax validation and size limits.
# Add Custom JSON-LD Schema to a Post
SEOvault AI allows you to add custom JSON-LD schema to individual posts and pages. This gives you full control over the structured data output for specific content, useful for advanced use cases or when you need schema types not covered by the guided form.
## Where to add custom JSON-LD
[](#where-to-add-custom-json-ld)
Open any post or page in the WordPress editor. Scroll down to the SEOvault AI meta box and expand the **Custom Schema JSON** section. You’ll see a textarea where you can paste your JSON-LD markup.
## How custom JSON-LD works
[](#how-custom-json-ld-works)
When you add custom JSON-LD:
* **Override mode** – the custom JSON replaces all auto-generated schema for that post (unless V2 foundational mode is enabled, which merges custom with foundational)
* **Validation** – the JSON is validated for syntax and structure when you save or check schema
* **Size limits** – the input is bounded to prevent performance issues
* **Withholding** – invalid JSON is withheld from output and does not suppress foundational schema (after migration)
If the custom JSON field is empty, SEOvault uses auto-generated schema based on your global settings and post-level guided instances.
## Step-by-step: add custom JSON-LD
[](#step-by-step-add-custom-json-ld)
1. Open the post or page in the editor.
2. Scroll to the SEOvault AI meta box.
3. Expand the **Custom Schema JSON** section.
4. Paste your JSON-LD markup in the textarea.
5. Click **Update** or **Save** to save the post.
6. The Schema Health panel validates the custom JSON automatically.
7. If there are syntax errors, fix them and save again.
## JSON-LD format requirements
[](#json-ld-format-requirements)
Your custom JSON must follow these guidelines:
* **Valid JSON** – the input must be parseable JSON (use a JSON validator if unsure)
* **Schema.org context** – include `"@context": "https://schema.org"` or use the default
* **@type property** – each node must have a `"@type"` property with a valid schema.org type
* **@id property** – each node should have a unique `"@id"` to prevent conflicts
* **@graph or single node** – you can provide a single node object or a graph with `"@graph"` array
### Example: single node
[](#example-single-node)
```
{ "@context": "https://schema.org", "@type": "Article", "headline": "Your Post Title", "author": { "@type": "Person", "name": "Author Name" }, "datePublished": "2024-01-01", "image": "https://example.com/image.jpg"}
```
### Example: graph with multiple nodes
[](#example-graph-with-multiple-nodes)
```
{ "@context": "https://schema.org", "@graph": [ { "@type": "Organization", "@id": "https://example.com/#organization", "name": "Your Site Name", "url": "https://example.com" }, { "@type": "Article", "@id": "https://example.com/post/#article", "headline": "Your Post Title", "author": { "@id": "https://example.com/#organization" } } ]}
```
## Validation and error handling
[](#validation-and-error-handling)
The Schema Health panel reports issues with custom JSON:
* **JSON syntax invalid** – the JSON cannot be parsed (check for missing commas, quotes, or brackets)
* **Input too large** – the JSON exceeds size limits (reduce the size)
* **Invalid structure** – the JSON does not match expected schema.org patterns
### Error states
[](#error-states)
* **Invalid** – syntax errors prevent the JSON from being used. The panel shows the specific error.
* **Withheld** – after migration, invalid JSON is marked as withheld and does not suppress foundational schema.
* **Emitted** – valid JSON is successfully output on the frontend.
## Size limits
[](#size-limits)
Custom JSON input is bounded to prevent performance issues:
* **Maximum size** – approximately 2 MB of raw JSON
* **Node count** – practical limits apply for rendering performance
If your JSON is too large, consider:
* Removing unnecessary properties
* Splitting into multiple schema instances using the guided form
* Using schema templates instead
## Using variables in custom JSON
[](#using-variables-in-custom-json)
Custom JSON does not support SEOvault’s variable replacement (like `%post.title%`). If you need dynamic values, use the guided schema form instead. Custom JSON is static and must contain the final values.
## Migration behavior
[](#migration-behavior)
After the V2 migration, custom JSON behavior changes:
* **Invalid JSON withheld** – invalid custom JSON no longer suppresses foundational schema. It is marked as “withheld” and the generated schema is still output.
* **Editor preview** – when the custom field is empty in the editor, the panel previews the generated graph. When invalid JSON is present, the panel shows the generated graph and reports the custom JSON as withheld.
* **Mode tracking** – the plugin tracks whether custom JSON is in “replace” mode (valid) or “invalid\_withheld” mode.
## Removing custom JSON
[](#removing-custom-json)
To remove custom JSON and return to auto-generated schema:
1. Open the post in the editor.
2. Expand the **Custom Schema JSON** section.
3. Clear the textarea (delete all content).
4. Save or update the post.
5. The Schema Health panel shows the generated schema preview.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Manual only** – custom JSON is only output when you explicitly add it. There is no auto-generation for this field.
* **No validation guarantee** – passing syntax validation does not guarantee the schema is correct for Google rich results. Use Google’s Rich Results Test for final verification.
* **Conflict detection** – if multiple sources define the same @id, conflicts are reported in the Schema Health panel.
* **FAQ and How-to blocks** – custom JSON is separate from block-derived schema. FAQ and How-to blocks continue to output their own schema even with custom JSON present.
* **WooCommerce** – if you use custom JSON on product pages, it may conflict with WooCommerce’s built-in schema. Review the live output to verify.
## Related docs
[](#related-docs)
* [Schema Markup Basics in SEOvault AI](/docs/schema-markup-basics-in-seovault-ai/)
* [Schema Health: Fix Structured Data Issues in the Editor](/docs/schema-health-fix-structured-data-issues-in-the-editor/)
* [Validate Live Schema on Published Pages](/docs/validate-live-schema-on-published-pages/)
* [Global Schema Settings and Schema Templates](/docs/global-schema-settings-and-schema-templates/)
---
## Add Google Analytics (or Tracking Codes) via SEOvault AI
URL: https://seovaultai.com/docs/add-google-analytics-via-seovault-ai
Configure Google Analytics 4 tracking or custom tracking codes through SEOvault AI.
# Add Google Analytics (or Tracking Codes) via SEOvault AI
SEOVault AI includes built-in Google Analytics integration, allowing you to add tracking codes to your site without additional plugins. This guide covers GA4 setup and custom tracking code options.
## Tracking methods
[](#tracking-methods)
SEOVault AI supports two tracking methods:
### gtag.js (Google Analytics 4)
[](#gtagjs-google-analytics-4)
The recommended method for Google Analytics 4. Uses the official gtag.js library from Google Tag Manager.
**Features:**
* Official Google Analytics 4 implementation
* Automatic pageview tracking
* Event tracking support
* IP anonymization option
* Measurement ID configuration
### Custom tracking code
[](#custom-tracking-code)
For custom tracking implementations or other analytics services.
**Features:**
* Full control over tracking code
* Support for any analytics service
* Raw JavaScript output
* No library restrictions
## Enable tracking
[](#enable-tracking)
Tracking is disabled by default. Enable it to start collecting analytics data.
**To enable:**
1. Go to **SEOvault AI > Analytics**
2. Check **Enable Analytics Tracking**
3. Click **Save Changes**
## Configure gtag.js tracking
[](#configure-gtagjs-tracking)
### Measurement ID
[](#measurement-id)
Your GA4 Measurement ID (e.g., G-XXXXXXXXXX).
**To find your Measurement ID:**
1. Go to [Google Analytics](https://analytics.google.com/)
2. Select your property
3. Go to **Admin > Data Streams**
4. Select your data stream
5. Copy the Measurement ID
**To configure:**
1. Go to **SEOvault AI > Analytics**
2. Select **gtag** as the tracking method
3. Enter your Measurement ID
4. Click **Save Changes**
### IP anonymization
[](#ip-anonymization)
Anonymize IP addresses sent to Google Analytics for privacy compliance.
**To enable:**
1. Go to **SEOvault AI > Analytics**
2. Check **Anonymize IP Addresses**
3. Click **Save Changes**
This adds the `anonymize_ip` parameter to the gtag config.
### Track logged-in users
[](#track-logged-in-users)
By default, tracking is disabled for logged-in users to exclude your own activity from analytics.
**To track logged-in users:**
1. Go to **SEOvault AI > Analytics**
2. Check **Track Logged-in Users**
3. Click **Save Changes**
This is useful for:
* Testing tracking on your own account
* Monitoring admin activity
* Sites with user-generated content
## Configure custom tracking code
[](#configure-custom-tracking-code)
Use custom tracking code for:
* Other analytics services (Matomo, Plausible, etc.)
* Custom Google Analytics implementations
* Tag manager containers
* Advanced tracking configurations
**To configure:**
1. Go to **SEOvault AI > Analytics**
2. Select **custom** as the tracking method
3. Paste your tracking code in the text area
4. Click **Save Changes**
**Example custom code:**
```
// Matomo Analytics examplevar _paq = window._paq = window._paq || [];_paq.push(['trackPageView']);_paq.push(['enableLinkTracking']);(function() { var u="https://analytics.example.com/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '1']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);})();
```
## Tracking code output
[](#tracking-code-output)
The tracking code is automatically injected into your site’s `` section:
* Output location: `wp_head` hook (priority 99)
* Output condition: Only when tracking is enabled
* Logged-in user exclusion: Respects the “Track Logged-in Users” setting
* No output on: admin pages, feeds, embeds, previews
### gtag.js output example
[](#gtagjs-output-example)
```
```
## Privacy considerations
[](#privacy-considerations)
### IP anonymization
[](#ip-anonymization-1)
Enable IP anonymization to comply with privacy regulations like GDPR:
* Masks the last octet of IPv4 addresses
* Masks the last 80 bits of IPv6 addresses
* Recommended for EU-based sites
* Does not affect analytics accuracy significantly
### Logged-in user exclusion
[](#logged-in-user-exclusion)
By default, logged-in users are not tracked to:
* Exclude your own activity from analytics
* Prevent skewing of data
* Maintain privacy for logged-in users
* Focus on visitor behavior
### Data retention
[](#data-retention)
Google Analytics data retention is managed in your Google Analytics account, not in the plugin. Configure data retention settings in Google Analytics Admin.
## Verification
[](#verification)
### Verify tracking is working
[](#verify-tracking-is-working)
**Using Google Analytics:**
1. Go to your Google Analytics property
2. Go to **Realtime > Overview**
3. Visit your site in a new browser or incognito window
4. Verify your visit appears in the Realtime report
**Using browser tools:**
1. Open your site in a browser
2. Open Developer Tools (F12)
3. Go to the **Network** tab
4. Reload the page
5. Look for requests to `google-analytics.com` or `googletagmanager.com`
### Check source code
[](#check-source-code)
View your page source to verify the tracking code is present:
1. Right-click on your page
2. Select **View Page Source**
3. Search for “Analytics Tracking” or “gtag”
4. Verify the code is present in the `` section
## Troubleshooting
[](#troubleshooting)
### Tracking code not appearing
[](#tracking-code-not-appearing)
If the tracking code is not in your page source:
1. Verify tracking is enabled in settings
2. Check that you’re not logged in (if “Track Logged-in Users” is disabled)
3. Clear your cache if using a caching plugin
4. Check for conflicts with other analytics plugins
5. Verify the Measurement ID is correctly entered
### No data in Google Analytics
[](#no-data-in-google-analytics)
If no data appears in Google Analytics:
1. Verify the Measurement ID is correct
2. Check that the property is receiving data in Realtime
3. Verify your site is not blocking Google Analytics
4. Check browser extensions that might block tracking
5. Verify the tracking code is present in page source
### Tracking logged-in users not working
[](#tracking-logged-in-users-not-working)
If logged-in users are being tracked when they shouldn’t be:
1. Verify “Track Logged-in Users” is unchecked
2. Clear your cache
3. Log out and log back in
4. Check for other analytics plugins that might be tracking
### Custom code not executing
[](#custom-code-not-executing)
If custom tracking code is not working:
1. Verify the code is valid JavaScript
2. Check for syntax errors
3. Test the code in browser console
4. Verify the tracking method is set to “custom”
5. Check browser console for JavaScript errors
## Best practices
[](#best-practices)
### Use GA4 for new implementations
[](#use-ga4-for-new-implementations)
Google Analytics 4 (GA4) is the current standard:
* Future-proof tracking
* Enhanced measurement features
* Better cross-platform tracking
* Improved privacy controls
### Test tracking setup
[](#test-tracking-setup)
After configuring tracking:
* Test with Realtime reports
* Verify events are tracked
* Check conversion tracking
* Monitor data for 24-48 hours
### Exclude internal traffic
[](#exclude-internal-traffic)
Use filters in Google Analytics to exclude:
* Your office IP address
* Your home IP address
* Development environments
* Staging sites
### Document your setup
[](#document-your-setup)
Keep records of:
* Measurement ID
* Custom events configured
* Filters applied
* Goals and conversions
## Migration from Universal Analytics
[](#migration-from-universal-analytics)
If migrating from Universal Analytics (UA):
1. Create a GA4 property in Google Analytics
2. Set up the GA4 Measurement ID in SEOvault AI
3. Run both UA and GA4 in parallel during migration
4. Update any custom event tracking to GA4 format
5. Disable UA tracking after migration is complete
## Related docs
[](#related-docs)
* [Privacy Policy and Data Handling](/docs/privacy-policy-and-data-handling/)
---
## AI Crawler Logging: See Which Bots Visit Your Site
URL: https://seovaultai.com/docs/ai-crawler-logging-see-which-bots-visit-your-site
Track which AI crawlers and search engine bots visit your site, with privacy-safe logging that hashes IP addresses and user agents.
# AI Crawler Logging: See Which Bots Visit Your Site
AI Crawler Logging tracks visits from AI models, search engines, and other bots so you can see who is accessing your content. The logs show which crawlers visited, when they visited, and what pages they requested — helping you understand AI and search engine interest in your site.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > llms.txt** and look for the “Crawler Logging” section.
## How it works
[](#how-it-works)
When enabled, crawler logging captures requests from known bots and crawlers. The plugin detects the crawler type from the user agent string and logs the visit with a timestamp, requested URL, and HTTP method. For privacy, IP addresses and user agents are hashed before storage — only the detected crawler label (like “Google” or “ChatGPT”) is stored in plain text.
## Enable crawler logging
[](#enable-crawler-logging)
1. Go to **SEOvault AI > General > llms.txt**
2. In the “Crawler Logging” section, check **Enable Crawler Logging**
3. Click **Save Changes**
The plugin now logs crawler visits. Logs are stored in WordPress options and can be viewed in the admin interface or via the REST API.
## Detected crawlers
[](#detected-crawlers)
The plugin detects common crawlers by their user agent strings:
* **Google** — Googlebot
* **Bing** — Bingbot
* **Yahoo** — Slurp
* **DuckDuckGo** — DuckDuckBot
* **Baidu** — BaiduSpider
* **Yandex** — YandexBot
* **Facebook** — FacebookExternalHit
* **Twitter** — TwitterBot
* **LinkedIn** — LinkedInBot
* **Pinterest** — Pinterest
* **Apple** — AppleBot
* **SEMrush** — SemrushBot
* **Ahrefs** — AhrefsBot
* **Majestic** — MJ12bot
Crawlers that don’t match known patterns are labeled as “Unknown”.
## Log data
[](#log-data)
Each log entry includes:
* **Timestamp** — When the crawler visited
* **Crawler** — Detected crawler name (Google, Bing, etc.)
* **URL** — The page requested
* **Method** — HTTP method (GET, POST, etc.)
* **User Agent** — Hashed user agent string (privacy-safe)
* **IP** — Hashed IP address (privacy-safe)
IP addresses and user agents are hashed using SHA-256 before storage, matching the privacy handling used in the API audit log. This means you can see that a crawler visited without storing the actual IP or raw user agent.
## View crawler logs
[](#view-crawler-logs)
Crawler logs are displayed in the admin interface with:
* **Log count** — Total number of logged visits
* **Recent visits** — Most recent crawler activity
* **Crawler breakdown** — Which crawlers are visiting most frequently
Logs are shown newest first and automatically trimmed to a maximum of 1,000 entries to prevent storage bloat.
## Clear logs
[](#clear-logs)
To clear all crawler logs:
1. Go to **SEOvault AI > General > llms.txt**
2. In the “Crawler Logging” section, click **Clear Logs**
3. Confirm the action
All log entries are deleted. New visits will be logged if logging remains enabled.
## Disable crawler logging
[](#disable-crawler-logging)
To stop logging crawler visits:
1. Go to **SEOvault AI > General > llms.txt**
2. Uncheck **Enable Crawler Logging**
3. Click **Save Changes**
Existing logs are preserved but no new visits are recorded.
## Privacy considerations
[](#privacy-considerations)
Crawler logging is designed with privacy in mind:
* IP addresses are hashed before storage
* User agents are hashed before storage
* Only the detected crawler label is stored in plain text
* Logs are automatically trimmed to 1,000 entries
* Logs can be cleared at any time
This approach lets you track crawler activity without storing identifying information about individual requests.
## Use cases
[](#use-cases)
Use crawler logging to:
* **Monitor AI interest** — See which AI crawlers are visiting your site
* **Track search engine crawling** — Verify Google, Bing, and other search engines are accessing your content
* **Debug indexing issues** — Check if crawlers are requesting specific pages
* **Measure AI visibility** — Track how often AI systems access your llms.txt or other AI-focused content
* **Identify unknown bots** — Spot unfamiliar crawlers that might be scraping your content
## API access
[](#api-access)
Crawler logs are also available via the REST API at `seovaultai/v1/crawler-logs` for integration with external tools or custom dashboards. The API requires site key authentication.
## Related docs
[](#related-docs)
* [Publish and Manage llms.txt for AI Visibility](/docs/publish-and-manage-llms-txt-for-ai-visibility/)
* [Robots.txt Policy Controls](/docs/robots-txt-policy-controls/)
* [Prepare Your Site for AI Search and Answer Engines](/docs/prepare-your-site-for-ai-search-and-answer-engines/)
---
## Automatic, Manual, and Disabled Modes Explained
URL: https://seovaultai.com/docs/automatic-manual-and-disabled-modes-explained
Understand the three output modes in SEOvault AI and how they control what SEO tags are printed to your frontend.
# Automatic, Manual, and Disabled Modes Explained
SEOvault AI has three output modes that control how the plugin manages and prints SEO metadata to your frontend. The mode you choose determines whether the plugin auto-generates values, outputs only what you enter manually, or stays silent entirely.
## Where to find output mode
[](#where-to-find-output-mode)
Go to **SEOvault AI > General > Output Mode** in the WordPress admin. The setting is a radio button with three options:
* **Full SEO output (Automatic)** – labeled “Autopilot” on the dashboard
* **Title only (Manual)** – labeled “Manual” on the dashboard
* **No output (Disabled)** – labeled “Disabled” on the dashboard
The dashboard status strip always shows your current mode so you can verify it at a glance.
## Automatic mode (Autopilot)
[](#automatic-mode-autopilot)
Automatic mode is the default. The plugin generates and manages SEO output without requiring you to edit every field manually.
### What happens in Automatic mode
[](#what-happens-in-automatic-mode)
* **SEO titles** are generated from your post title and title template (e.g., `%title% | %sitename%`)
* **Meta descriptions** are generated from your post excerpt or content
* **Canonical URLs** are set automatically based on the permalink
* **Robots directives** are applied based on your global settings (noindex for search archives, date archives, empty taxonomies, etc.)
* **Open Graph and Twitter/X Card tags** are generated from your social templates and post data
* **Schema markup** is generated from your site identity and post content
* **Sitemap** entries are included for all indexable content
* **Image SEO** (ALT and title attributes) is applied automatically
### When to use Automatic mode
[](#when-to-use-automatic-mode)
* Most websites with standard content (blogs, business sites, portfolios)
* Sites where you want solid SEO without editing every post’s meta fields
* Sites where you occasionally override specific posts manually
### Manual overrides in Automatic mode
[](#manual-overrides-in-automatic-mode)
Even in Automatic mode, you can manually set any SEO field per post. Open the post in the editor, find the SEOvault AI meta box, and enter a custom title, description, canonical URL, or robots directive. Manual values always take priority over auto-generated ones.
## Manual mode
[](#manual-mode)
Manual mode outputs SEO tags but does not auto-generate values. You control what appears by entering values per post.
### What happens in Manual mode
[](#what-happens-in-manual-mode)
* **SEO titles** – the plugin outputs the title tag using your post title and title template. If no title template is set, WordPress uses its default document title
* **Meta descriptions** – only output if you enter a custom description in the post’s SEO meta box. Posts without a manual description get no description tag
* **Canonical URLs** – only output if you set one per post
* **Robots directives** – global robots settings still apply (noindex for archives, etc.), but per-post robots must be set manually
* **Open Graph and Twitter/X Card tags** – only output if social templates are configured or per-post social data is entered
* **Schema markup** – still generated from your site identity. Post-level schema requires manual configuration
* **Sitemap** – still includes all indexable content
* **Image SEO** – still applies automatic ALT and title attributes
### When to use Manual mode
[](#when-to-use-manual-mode)
* Sites where you want to control every meta field yourself
* SEO professionals who need precise control over what is output
* Sites with custom title patterns that do not fit a template
* Situations where you want to output less metadata, not more
### Key difference from Automatic mode
[](#key-difference-from-automatic-mode)
In Manual mode, posts without manually entered SEO fields will have minimal output. The title tag still works, but meta descriptions, canonical URLs, and social tags may be absent unless you enter them. This gives you control but requires more effort per post.
## Disabled mode
[](#disabled-mode)
Disabled mode stops the plugin from outputting any SEO tags to the frontend. The admin UI remains fully functional for managing SEO data, but nothing is printed into your page HTML.
### What happens in Disabled mode
[](#what-happens-in-disabled-mode)
* **No SEO tags** are output in `wp_head` – no meta description, no canonical, no robots, no Open Graph, no Twitter/X Card
* **No title filter** is applied – WordPress uses its default document title
* **No schema markup** is output
* **Admin UI still works** – you can still enter and manage SEO data in the post editor meta box, General Settings, and all other admin pages
* **Database tables remain** – 404 monitor, redirect manager, and audit log tables are not affected
* **REST API still works** – the web app connection and API endpoints remain functional
### When to use Disabled mode
[](#when-to-use-disabled-mode)
* You have another SEO plugin (Yoast, Rank Math, AIOSEO) handling frontend output and want to avoid duplicate tags
* You are using a theme with built-in SEO output
* You want to use SEOvault AI only for the admin UI and web app connection, not for frontend output
* You are debugging a conflict and want to isolate which plugin is outputting what
### How it works technically
[](#how-it-works-technically)
When Disabled mode is active, the `Detector::should_output_seo()` check returns `false`. This prevents the `Head` class from hooking into `wp_head` and the `Title` class from filtering the document title. All other plugin features (admin UI, API, database tables) continue to work normally.
## Mode comparison
[](#mode-comparison)
Feature
Automatic
Manual
Disabled
SEO title tag
Auto-generated
From template only
Not output
Meta description
Auto-generated
Only if manually set
Not output
Canonical URL
Auto-generated
Only if manually set
Not output
Robots directives
Global + per-post
Global + per-post
Not output
Open Graph tags
Auto-generated
From templates or per-post
Not output
Twitter/X Card
Auto-generated
From templates or per-post
Not output
Schema markup
Auto-generated
Site identity only
Not output
XML sitemap
Included
Included
Not output
Image SEO
Automatic
Automatic
Not output
Admin UI (meta box, settings)
Full
Full
Full
REST API / web app connection
Active
Active
Active
404 monitor
Active
Active
Active
Redirect manager
Active
Active
Active
## Change the output mode
[](#change-the-output-mode)
1. Go to **SEOvault AI > General > Output Mode**.
2. Select Automatic, Manual, or Disabled.
3. Click **Save Changes** at the bottom of the settings page.
The change takes effect immediately. No cache clearing is required, though if you use a caching plugin you may need to clear its cache for the new tags to appear on cached pages.
## What about other SEO plugins?
[](#what-about-other-seo-plugins)
If another SEO plugin (Yoast, Rank Math, AIOSEO) is active alongside SEOvault AI, the dashboard shows a warning about potential duplicate meta tags. The plugin does not automatically disable itself – you choose how to handle it:
* **Switch to Disabled mode** if you want the other plugin to handle output
* **Deactivate the other plugin** and keep SEOvault AI in Automatic or Manual mode
* **Import the other plugin’s data** from **General Settings > Tools**, then deactivate it
SEOvault AI detects the active provider and displays it on the dashboard under “Detected SEO Plugin”. This is informational only – it does not gate your output. The output mode setting is the only thing that controls whether SEOvault AI prints tags.
## Related docs
[](#related-docs)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Complete the Onboarding Wizard](/docs/complete-the-onboarding-wizard/)
* [Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?](/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo/)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
---
## Brand Kit Setup Guide
URL: https://seovaultai.com/docs/brand-kit-setup-guide
Set up Brand Kit so SEOVault AI can write in a way that matches your site's tone, style, and editorial identity.
# Brand Kit Setup Guide
Brand Kit helps SEOVault AI write in a way that feels more like your site, your tone, and your publishing style.
Without a Brand Kit, AI writing can still be useful. But it often sounds more generic, less consistent, and less aligned with the way your content should read across a WordPress site or portfolio.
With a proper Brand Kit, SEOVault AI can generate drafts that are closer to your real editorial identity from the start.
This guide explains what Brand Kit is, why it matters, and how to set it up well.
## What Brand Kit Does
[](#what-brand-kit-does)
Brand Kit gives SEOVault AI extra context about how your content should sound and how it should present itself.
It helps shape things like:
* tone
* voice
* phrasing style
* level of formality
* audience fit
* overall editorial feel
* consistency across generated content
Brand Kit is especially useful when you care about publishing content that feels recognizable and intentional, instead of sounding like generic AI output.
## Why Brand Kit Matters
[](#why-brand-kit-matters)
A lot of AI-generated content fails for a simple reason:
It may be technically acceptable, but it does not feel like it belongs on your site.
That can show up as:
* inconsistent tone
* weak editorial personality
* generic intros
* repetitive phrasing
* content that sounds detached from your audience
* drafts that feel fine in isolation but inconsistent across a whole site
Brand Kit helps reduce that problem.
It gives SEOVault AI a better sense of how your content should sound before it starts writing.
## Where Brand Kit Is Used
[](#where-brand-kit-is-used)
Brand Kit is most valuable in workflows where the system is generating longer or more style-sensitive content.
It is especially useful for:
* Ultra Writer
* Rewrite Existing Article
* Expert Experience
* long-form article generation
* repeated publishing across the same site
* content portfolios with multiple related brands or styles
In practice, Brand Kit becomes more important as:
* content quality expectations go up
* output volume increases
* more than one person works on the content
* consistency becomes a business need, not just a preference
## How Brand Kit Can Be Created
[](#how-brand-kit-can-be-created)
SEOVault AI supports Brand Kit creation in two main ways:
### 1\. Manual setup
[](#1-manual-setup)
You fill the relevant brand or voice fields yourself.
This is useful when you already know how you want the content to sound and can describe it clearly.
### 2\. Example-based setup
[](#2-example-based-setup)
You provide up to three example articles.
SEOVault AI analyzes those examples and builds a voice pattern from them.
This is often the easier and stronger option if you already have articles that represent your preferred style well.
## Which Setup Method Should You Choose?
[](#which-setup-method-should-you-choose)
A simple rule:
* use manual setup if you have a clear editorial vision and want direct control
* use example-based setup if your existing content already reflects your preferred voice
* use both if your workflow supports it and you want stronger guidance
If you already have a few strong articles that sound exactly how you want future content to sound, example-based setup is usually the best starting point.
## What Makes a Good Brand Kit Example
[](#what-makes-a-good-brand-kit-example)
If you are using example articles, choose them carefully.
The AI learns from what you give it.
Good example articles should be:
* genuinely representative of your ideal style
* well-written
* aligned with your real audience
* similar to the kind of content you want to generate in the future
* strong in tone, clarity, and structure
* not overloaded with filler or weak habits you do not want repeated
Bad examples can train the wrong behavior.
If an article is sloppy, dated, overly generic, or not really your ideal style, do not use it just because it is available.
## What Not to Use as Brand Kit Examples
[](#what-not-to-use-as-brand-kit-examples)
Avoid using articles that are:
* low-quality
* outdated in tone or structure
* heavily outsourced and inconsistent
* written in a style you are trying to move away from
* too different from your real content goals
* overly promotional if you want a more helpful editorial voice
* generic AI content you would not want repeated
The best examples are not just published articles. They are articles that represent the standard you want the AI to follow.
## What Brand Kit Usually Shapes
[](#what-brand-kit-usually-shapes)
While the exact internal behavior may evolve, a strong Brand Kit often helps influence patterns such as:
### Tone
[](#tone)
Does the content feel more conversational, editorial, practical, expert-led, direct, calm, or assertive?
### Formality
[](#formality)
Should the writing feel casual, balanced, or more formal?
### Reader relationship
[](#reader-relationship)
Does the content speak like a teacher, editor, practitioner, reviewer, consultant, or guide?
### Sentence style
[](#sentence-style)
Are the sentences shorter and punchier, or more explanatory and layered?
### Vocabulary
[](#vocabulary)
Should the writing stay simple and accessible, or use more advanced language for expert audiences?
### Positioning
[](#positioning)
Does the content feel neutral, opinionated, experience-based, data-led, or commercially persuasive?
These differences matter more than many users expect.
## How to Set Up Brand Kit Well
[](#how-to-set-up-brand-kit-well)
### Step 1: Decide what “good” sounds like for your site
[](#step-1-decide-what-good-sounds-like-for-your-site)
Before filling anything in, ask:
* How should this site sound?
* Who are we writing for?
* What tone feels natural for our audience?
* What kind of phrasing feels on-brand?
* What kind of phrasing feels wrong?
This is important because Brand Kit works best when it reflects an intentional editorial identity.
### Step 2: Choose your setup method
[](#step-2-choose-your-setup-method)
Decide whether you want to:
* describe the brand manually
* upload example articles
* or combine both
### Step 3: Use strong examples if available
[](#step-3-use-strong-examples-if-available)
If you choose example-based setup, use your best examples, not just your easiest ones.
### Step 4: Keep the examples aligned
[](#step-4-keep-the-examples-aligned)
Try to avoid mixing articles that sound wildly different from each other unless that difference is actually part of the brand.
### Step 5: Test Brand Kit in Ultra Writer
[](#step-5-test-brand-kit-in-ultra-writer)
After setup, run a real article generation and compare the result against:
* your previous non-Brand-Kit outputs
* your existing editorial style
* your ideal publishing tone
### Step 6: Refine if needed
[](#step-6-refine-if-needed)
Brand behavior may improve when you revise:
* the examples
* your manual instructions
* the kinds of articles you apply it to
Treat it like calibration, not a one-time checkbox.
## Best Use Cases for Brand Kit
[](#best-use-cases-for-brand-kit)
Brand Kit is especially useful when:
### You publish regularly
[](#you-publish-regularly)
The more content you generate, the more consistency matters.
### You care about editorial identity
[](#you-care-about-editorial-identity)
If your site should feel recognizable, Brand Kit helps.
### You manage multiple content workflows
[](#you-manage-multiple-content-workflows)
If different people contribute to publishing, Brand Kit can help pull the output toward a common standard.
### You run affiliate, review, or opinion-heavy sites
[](#you-run-affiliate-review-or-opinion-heavy-sites)
These content types benefit a lot from stronger voice consistency.
### You want AI content to sound less generic
[](#you-want-ai-content-to-sound-less-generic)
This is one of the most direct reasons to use Brand Kit.
### You use Ultra Writer heavily
[](#you-use-ultra-writer-heavily)
Brand Kit is one of the strongest upgrades you can add to that workflow.
## Brand Kit and Ultra Writer
[](#brand-kit-and-ultra-writer)
Brand Kit becomes especially powerful when paired with Ultra Writer.
Ultra Writer already gives you control over:
* preset
* tone
* target length
* audience level
* perspective
* article type
Brand Kit adds another layer: your recurring editorial identity.
That combination often leads to much better first drafts than using a generic writing workflow with no voice guidance.
If you are serious about scaling content without sounding robotic, this is one of the best combinations in the product.
## Brand Kit and Rewrite Workflows
[](#brand-kit-and-rewrite-workflows)
Brand Kit is also valuable for Rewrite Existing Article workflows.
That matters because rewriting is not just about changing the words. It is often about bringing old content closer to your current standard.
If your archive contains:
* mixed tones
* legacy outsourced content
* uneven editorial quality
* outdated phrasing
* inconsistent brand feel
Brand Kit can help newer rewrites move toward a more consistent voice.
This is especially useful for WordPress publishers cleaning up old content at scale.
## Brand Kit and Expert Experience
[](#brand-kit-and-expert-experience)
Brand Kit pairs well with Expert Experience because both features help reduce generic output.
* Brand Kit helps the content sound more like your brand
* Expert Experience helps the content sound more grounded in real-world perspective
Together, they can create content that feels far more original and believable than a standard AI draft.
## Signs Your Brand Kit Is Working Well
[](#signs-your-brand-kit-is-working-well)
A good Brand Kit setup often shows up like this:
* the draft sounds closer to your real style
* the intro feels more natural
* the tone is more consistent
* the article needs fewer voice edits after generation
* the content feels less generic
* repeated outputs feel more aligned across multiple posts
* the content sounds more like it belongs on your site
The goal is not perfect imitation.
The goal is stronger alignment and less cleanup.
## Signs Your Brand Kit Needs Improvement
[](#signs-your-brand-kit-needs-improvement)
You may need to adjust your Brand Kit if:
* outputs still feel generic
* the tone feels inconsistent
* the examples were too mixed
* the content sounds unlike your best articles
* the AI overlearned weak habits from poor examples
* the voice is technically different, but not meaningfully better
* you are using it on content types too different from your examples
In that case, revisit the setup and improve the input quality.
## Common Mistakes to Avoid
[](#common-mistakes-to-avoid)
### Using weak example articles
[](#using-weak-example-articles)
The AI can only learn from what you give it.
### Mixing too many conflicting styles
[](#mixing-too-many-conflicting-styles)
If one example is highly formal and another is casual and edgy, results may become muddy.
### Expecting Brand Kit to replace editorial judgment
[](#expecting-brand-kit-to-replace-editorial-judgment)
Brand Kit improves alignment, but it does not remove the need for review.
### Skipping testing
[](#skipping-testing)
You should compare real outputs before trusting the setup widely.
### Using Brand Kit on every content type without thinking
[](#using-brand-kit-on-every-content-type-without-thinking)
Some articles may still need different handling depending on purpose, tone, or audience.
### Training the AI on content you no longer want
[](#training-the-ai-on-content-you-no-longer-want)
Do not use legacy or low-quality content just because it is already published.
## A Practical Setup Approach
[](#a-practical-setup-approach)
A simple, effective Brand Kit setup might look like this:
1. identify the tone you want the site to have
2. select 2-3 strong representative articles
3. set up Brand Kit in settings
4. generate one or two test articles with Ultra Writer
5. compare the results with and without Brand Kit
6. replace weak examples if needed
7. keep using Brand Kit for the content types where it performs best
This gives you a more reliable setup than guessing once and never reviewing the results.
## Who Should Prioritize Brand Kit First?
[](#who-should-prioritize-brand-kit-first)
Brand Kit is especially worth setting up early if you are:
* publishing regularly
* running multiple WordPress sites
* building a recognizable editorial brand
* managing outsourced or multi-author content
* using Ultra Writer often
* rewriting a large archive
* trying to reduce generic AI tone
If your workflow is mostly quick drafting and manual rewriting, Brand Kit still helps, but it becomes even more valuable as scale increases.
## Final Recommendation
[](#final-recommendation)
Set up Brand Kit before relying heavily on long-form AI generation.
Use your best examples. Train it on the style you actually want. Test it with Ultra Writer. Refine it when needed.
For serious publishers, Brand Kit is one of the best ways to make SEOVault AI outputs feel more usable, more consistent, and more like they belong on your site.
## Next Recommended Guides
[](#next-recommended-guides)
After this page, read:
1. [Ultra Writer Guide](/docs/ultra-writer-guide/)
2. [Rewrite Existing Articles with AI](/docs/rewrite-existing-articles-with-ai/)
3. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
4. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
5. [How Credits Work](/docs/how-credits-work/)
## Need Help?
[](#need-help)
If Brand Kit output does not feel right, review:
* whether your examples were truly strong
* whether the examples match the content type you want to generate
* whether your desired tone is actually clear
* whether your best content has a consistent voice to begin with
* whether the output needs small calibration rather than a full reset
A strong Brand Kit does not happen by accident. It gets better when the input is deliberate.
---
## Breadcrumbs Setup (Shortcode and Theme Integration)
URL: https://seovaultai.com/docs/breadcrumbs-setup-shortcode-and-theme-integration
Add breadcrumb navigation to your WordPress site using shortcodes, template tags, or auto-injection, with configurable separators and labels.
# Breadcrumbs Setup (Shortcode and Theme Integration)
SEOvault AI includes a breadcrumb system that generates navigational trails for posts, pages, archives, and taxonomy pages. Breadcrumbs help users understand their location on your site and improve SEO by providing structured data for search engines.
## Where to find breadcrumb settings
[](#where-to-find-breadcrumb-settings)
Go to **SEOvault AI > General > Breadcrumbs** in your WordPress admin. The tab includes options for enabling breadcrumbs, customizing labels and separators, and controlling trail behavior.
## How breadcrumbs work
[](#how-breadcrumbs-work)
The breadcrumb trail is built dynamically based on the current page context. The plugin supports:
* **Singular posts and pages** – home, post type archive, blog page, primary taxonomy, ancestors, and current post
* **Taxonomy archives** – home, blog page, taxonomy name (optional), term ancestors, and current term
* **Date archives** – home, year, month, and day breadcrumbs
* **Author archives** – home and author name
* **Search results** – home and search query
* **404 pages** – home and 404 label
* **WooCommerce** – shop page, product categories, and product-specific trails
The plugin also outputs BreadcrumbList JSON-LD schema for search engines.
## Integration methods
[](#integration-methods)
You can add breadcrumbs to your site in three ways:
### Shortcode
[](#shortcode)
Use the `[seovault_breadcrumb]` shortcode in any post, page, or widget area:
```
[seovault_breadcrumb]
```
The plugin also registers compatibility shortcodes for migration from other SEO plugins:
* `[wpseo_breadcrumb]` – Yoast SEO compatibility
* `[aioseo_breadcrumbs]` – All in One SEO compatibility
### Template tag
[](#template-tag)
Add the template tag to your theme template files:
```
```
Or get the HTML as a string:
```
```
Both functions accept an optional `$args` array to override default rendering options:
```
'>', 'wrap_before' => ' ', 'wrap_after' => '
',) );?>
```
### Auto-injection
[](#auto-injection)
Enable **Auto-inject before content** in the breadcrumb settings. The plugin automatically inserts breadcrumbs before the main content on singular posts and pages (not the homepage).
## Step-by-step: configure breadcrumbs
[](#step-by-step-configure-breadcrumbs)
1. Go to **SEOvault AI > General > Breadcrumbs**.
2. Check **Enable Breadcrumbs** to turn on the breadcrumb system.
3. Choose a **Separator** from the dropdown: `»` (default), `/`, `>`, or `|`.
4. Enter a **Homepage Label** (default: “Home”).
5. Optionally enter a **Prefix** to show text before the trail (for example, “You are here:”).
6. Customize labels for special pages:
* **404 Label** – text shown on 404 pages (default: “404 Error: page not found”)
* **Search Format** – use `%s` as a placeholder for the search query (default: “Results for %s”)
* **Archive Format** – use `%s` as a placeholder for the archive title (default: “Archives for %s”)
7. Under **Trail Options**:
* Check **Display homepage link** to include the home crumb
* Check **Remove the current post title** to exclude the last item from the trail
* Check **Show all ancestor categories** to include full category hierarchies
* Check **Hide the taxonomy name** to omit the taxonomy label from term archives
* Check **Show the blog page** to include the blog page in post and term trails
8. Check **Auto-inject before content** if you want the plugin to insert breadcrumbs automatically.
9. Click **Save Changes**.
## Per-post breadcrumb titles
[](#per-post-breadcrumb-titles)
You can override the breadcrumb label for individual posts, terms, or users:
* **Posts**: Use the **Breadcrumb Title** field in the SEOvault AI meta box.
* **Categories and tags**: Use the **Breadcrumb Title** field in the term edit screen.
* **Authors**: Set the `_seovault_breadcrumb_title` user meta.
If a custom title is not set, the plugin uses the post title, term name, or display name.
## BreadcrumbList schema
[](#breadcrumblist-schema)
The plugin automatically generates BreadcrumbList JSON-LD schema for search engines. The schema includes position, name, and URL for each breadcrumb item.
Crumb items without a URL (such as the current page or pagination crumbs) are excluded from the schema.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Theme support**: If your theme declares `add_theme_support( 'seovault-breadcrumbs' )`, breadcrumbs are enabled regardless of the plugin setting. This allows theme developers to control breadcrumb behavior.
* **Homepage exclusion**: Breadcrumbs are not shown on the front page unless the page is paginated.
* **WooCommerce shop page**: If your shop page is set as the front page, breadcrumbs are hidden on the shop archive to avoid duplication.
* **Primary taxonomy**: For posts and products, the plugin uses the primary taxonomy setting from the Titles tab to determine which taxonomy appears in the trail.
* **Separator HTML**: The separator option outputs HTML entities. If you need a custom separator, use the `seovaultseo_breadcrumb_args` filter to override it.
* **Styling**: The default output uses a `` element with `class="seovault-breadcrumb"`. You can style this class in your theme CSS.
* **Conflicting plugins**: If another plugin also outputs breadcrumbs, you may see duplicate trails. Disable the other plugin’s breadcrumbs or use the shortcode in a specific location to control placement.
## Related docs
[](#related-docs)
* [Schema Markup Basics in SEOvault AI](/docs/schema-markup-basics-in-seovault-ai/)
* [Category and Tag SEO (Term Meta)](/docs/category-and-tag-seo-term-meta/)
---
## Cache Plugin Compatibility Notices
URL: https://seovaultai.com/docs/cache-plugin-compatibility-notices
Understand cache plugin detection and compatibility notices in SEOvault AI.
# Cache Plugin Compatibility Notices
SEOVault AI detects active WordPress cache plugins and displays compatibility notices to help you understand when cached pages might delay SEO changes from appearing on your site.
## How cache detection works
[](#how-cache-detection-works)
The plugin automatically detects known WordPress page-cache plugins:
* WP Rocket
* W3 Total Cache
* WP Super Cache
* LiteSpeed Cache
* WP Fastest Cache
* Autoptimize
* Hyper Cache
* Cachify
* Comet Cache
* Swift Performance
* SG Optimizer
* Breeze
* Hummingbird
* WP-Optimize
* Flying Press
Detection runs on:
* Admin screens
* SEO metabox screens
* Sitemap screens
## Notice display
[](#notice-display)
When a cache plugin is detected, SEOvault AI displays a dismissible notice:
### Full notice (admin screens)
[](#full-notice-admin-screens)
**Title:** Cache plugin detected
**Message:** A cache plugin is active on your site. Cached pages may delay SEO meta and sitemap updates. If you do not see your latest changes, purge your cache (or exclude SEO/sitemap URLs from caching).
**Includes:** List of detected cache plugins
### Compact notice (metabox screens)
[](#compact-notice-metabox-screens)
**Message:** A cache plugin may delay when your SEO changes go live. If updates do not appear, purge your cache.
**Includes:** List of detected cache plugins in parentheses
## Dismissal behavior
[](#dismissal-behavior)
Notices are dismissible using localStorage:
* Click the dismiss button (X) to hide the notice
* Dismissal persists across browser sessions
* Dismissal is per-user (stored in browser localStorage)
* Notice reappears if a different cache plugin becomes active
* Notice reappears if localStorage is cleared
## Why cache plugins matter
[](#why-cache-plugins-matter)
Cache plugins store static copies of your pages to improve performance. This can cause issues with SEO changes:
### Delayed SEO meta updates
[](#delayed-seo-meta-updates)
When you update SEO settings:
* Changes are saved to the database
* Cached pages still show old meta tags
* Search engines may not see updated meta until cache is purged
### Delayed sitemap updates
[](#delayed-sitemap-updates)
When you update content:
* Sitemap is regenerated
* Cached sitemap may still show old data
* Search engines may crawl outdated sitemap
### Schema markup delays
[](#schema-markup-delays)
When schema changes:
* New schema is generated
* Cached pages show old schema
* Rich results may not reflect changes
## Best practices
[](#best-practices)
### Purge cache after SEO changes
[](#purge-cache-after-seo-changes)
After making SEO changes, purge your cache:
**WP Rocket:**
* Go to **WP Rocket > Dashboard**
* Click **Clear Cache**
**W3 Total Cache:**
* Go to **Performance > Purge All Caches**
**WP Super Cache:**
* Go to **Settings > WP Super Cache**
* Click **Delete Cache**
**LiteSpeed Cache:**
* Go to **LiteSpeed Cache > Purge**
* Click **Purge All**
### Exclude SEO URLs from caching
[](#exclude-seo-urls-from-caching)
Configure your cache plugin to exclude SEO-related URLs:
**Exclude from caching:**
* Sitemap URLs (e.g., /sitemap.xml)
* SEOvault AI API endpoints
* Schema validation endpoints
* Any custom SEO endpoints
**WP Rocket example:**
* Go to **WP Rocket > File Optimization**
* Add URLs to **Never cache the following pages**
**W3 Total Cache example:**
* Go to **Performance > Page Cache**
* Add URLs to **Never cache the following pages**
### Enable cache purging on content updates
[](#enable-cache-purging-on-content-updates)
Configure your cache plugin to automatically purge when content changes:
**WP Rocket:**
* Automatically purges on post updates
* Enable **Purge on post modification**
**W3 Total Cache:**
* Go to **Performance > Page Cache**
* Enable **Automatically purge the page cache on publish**
### Use cache exclusion for sitemaps
[](#use-cache-exclusion-for-sitemaps)
Sitemaps should never be cached:
* Sitemaps change frequently
* Search engines need current data
* Cached sitemaps cause crawling issues
**Configure exclusion:**
* Add /sitemap.xml to cache exclusion
* Add /sitemap\_index.xml to cache exclusion
* Add all sitemap sub-pages to exclusion
## Troubleshooting
[](#troubleshooting)
### Notice not appearing
[](#notice-not-appearing)
If the notice is not showing when a cache plugin is active:
1. Verify the cache plugin is actually active
2. Check that the plugin is in the known plugins list
3. Clear browser localStorage
4. Refresh the admin page
5. Check for JavaScript errors in browser console
### Notice not dismissing
[](#notice-not-dismissing)
If the notice keeps reappearing after dismissal:
1. Check that localStorage is enabled in your browser
2. Verify you’re not using private/incognito mode
3. Clear browser cache and cookies
4. Try a different browser
5. Check for browser extensions blocking localStorage
### SEO changes not appearing
[](#seo-changes-not-appearing)
If SEO changes are not visible on the frontend:
1. Purge your cache
2. Verify the changes were saved
3. Check the page source for updated meta
4. Clear browser cache
5. Check for multiple cache plugins
### Sitemap not updating
[](#sitemap-not-updating)
If the sitemap is not showing recent changes:
1. Purge your cache
2. Manually regenerate the sitemap
3. Verify sitemap URL is excluded from caching
4. Check sitemap settings
5. Review sitemap generation logs
## Cache plugin recommendations
[](#cache-plugin-recommendations)
### Choose a cache plugin with smart purging
[](#choose-a-cache-plugin-with-smart-purging)
Look for cache plugins that:
* Automatically purge on content updates
* Support URL-based exclusion
* Provide manual purge options
* Integrate with SEO plugins
### Configure cache properly
[](#configure-cache-properly)
* Set appropriate cache expiration
* Enable cache purging on updates
* Exclude dynamic content from caching
* Monitor cache hit rates
### Test cache behavior
[](#test-cache-behavior)
After configuring cache:
* Test SEO updates
* Verify sitemap updates
* Check schema markup
* Monitor search engine crawling
## Known cache plugins
[](#known-cache-plugins)
The following cache plugins are detected by SEOvault AI:
Plugin
Plugin File
WP Rocket
wp-rocket/wp-rocket.php
W3 Total Cache
w3-total-cache/w3-total-cache.php
WP Super Cache
wp-super-cache/wp-cache.php
LiteSpeed Cache
litespeed-cache/litespeed-cache.php
WP Fastest Cache
wp-fastest-cache/wpFastestCache.php
Autoptimize
autoptimize/autoptimize.php
Hyper Cache
hyper-cache/hyper-cache.php
Cachify
cachify/cachify.php
Comet Cache
comet-cache/comet-cache.php
Swift Performance
swift-performance/swift-performance.php
SG Optimizer
sg-cachepress/sg-cachepress.php
Breeze
breeze/breeze.php
Hummingbird
wpmu-dev-seo/wpmu-dev-seo.php
WP-Optimize
wp-optimize/wp-optimize.php
Flying Press
flying-press/flying-press.php
## Adding custom cache plugins
[](#adding-custom-cache-plugins)
If you use a cache plugin not in the known list, you can add it via filter:
```
add_filter( 'seovaultseo_known_cache_plugins', function( $plugins ) { $plugins['your-cache-plugin/your-cache-plugin.php'] = 'Your Cache Plugin'; return $plugins;} );
```
## Related docs
[](#related-docs)
* [Troubleshooting Duplicate Meta and Schema Conflicts](/docs/troubleshooting-duplicate-meta-and-schema-conflicts/)
* [Sitemap Configuration and Optimization](/docs/sitemap-configuration-and-optimization/)
---
## Category and Tag SEO (Term Meta)
URL: https://seovaultai.com/docs/category-and-tag-seo-term-meta
Configure SEO titles, descriptions, canonical URLs, robots directives, and social tags for categories, tags, and custom taxonomies.
# Category and Tag SEO (Term Meta)
SEOvault AI adds SEO fields to all public taxonomies—categories, tags, and custom taxonomies like product categories. You can set custom titles, descriptions, canonical URLs, robots directives, and social sharing tags for each term archive page.
## Where to find it
[](#where-to-find-it)
Edit any category, tag, or taxonomy term. The **SEOvault AI** section appears at the bottom of the form with fields for SEO and social metadata.
## Supported taxonomies
[](#supported-taxonomies)
SEO fields appear on all public taxonomies by default:
* **Categories** (`category`)
* **Tags** (`post_tag`)
* **Custom taxonomies** (e.g., WooCommerce product categories, portfolio categories)
To exclude specific taxonomies from SEO fields, use the `seovaultseo_excluded_taxonomies` filter in your theme or a custom plugin.
## Available fields
[](#available-fields)
### SEO Title
[](#seo-title)
Custom title for the term archive page. Leave empty to use the term name with your site name appended.
**Best practices:**
* Keep under 60 characters for optimal search display
* Include the category name and relevant keywords
* Add your brand name at the end: `Coffee Equipment | Joe's Coffee Shop`
### SEO Description
[](#seo-description)
Custom meta description for the term archive. Leave empty to use the term’s description field (if filled in WordPress).
**Best practices:**
* Keep between 150-160 characters
* Describe what visitors will find on this archive page
* Include a call-to-action when appropriate
### Canonical URL
[](#canonical-url)
Custom canonical URL for the term archive. Leave empty to use the term’s archive URL.
**When to use:**
* You have parameterized URLs (e.g., `?sort=price`) that should canonicalize to the clean version
* You migrated categories and want to preserve old URLs
* You have alternate views of the same taxonomy
### Robots Directives
[](#robots-directives)
* **Noindex this term archive**: Prevents search engines from indexing this specific category or tag page
* **Nofollow this term archive**: Tells search engines not to follow links on this archive page
**Use noindex for:**
* Thin or duplicate content categories
* Internal utility categories not meant for public discovery
* Filtered views that don’t add unique value
### Social Tags (Open Graph and Twitter/X)
[](#social-tags-open-graph-and-twitterx)
* **OG Title**: Custom title for social sharing cards. Falls back to SEO title if empty
* **OG Description**: Custom description for social sharing. Falls back to SEO description if empty
* **OG Image URL**: Custom image for social sharing. Falls back to default social image if empty
These ensure your category and tag pages display correctly when shared on Facebook, Twitter/X, LinkedIn, and other platforms.
## How term meta outputs on the frontend
[](#how-term-meta-outputs-on-the-frontend)
SEOvault AI uses your term meta in the following order:
1. **Custom term meta**: If you set a custom value, it’s used
2. **WordPress defaults**: If custom meta is empty, WordPress defaults apply (term name, term description, archive URL)
3. **Manual mode**: In Manual output mode, no auto-generation occurs if fields are empty
### Title fallback chain
[](#title-fallback-chain)
```
Custom term SEO title → Term name + site name (auto-generated)
```
### Description fallback chain
[](#description-fallback-chain)
```
Custom term SEO description → Term description field → Empty
```
### Canonical fallback chain
[](#canonical-fallback-chain)
```
Custom canonical URL → Term archive URL
```
### Social tag fallback chain
[](#social-tag-fallback-chain)
```
Custom OG title → Custom SEO title → Term name + site nameCustom OG description → Custom SEO description → Term description → EmptyCustom OG image → Default social image → Site logo → Site icon → Empty
```
## Robots directives for term archives
[](#robots-directives-for-term-archives)
Term-level robots directives integrate with the layered decision engine:
* **Per-term override**: If you set noindex/nofollow on a term, those directives apply
* **Post format archives**: The global post format noindex setting (in **Schema**) applies to post format taxonomies
* **Empty archives**: The global empty archives noindex setting applies to categories/tags with no posts
Per-term settings take precedence over global rules.
## How to set term SEO
[](#how-to-set-term-seo)
1. Go to **Posts > Categories** or **Posts > Tags** (or your custom taxonomy)
2. Click **Edit** on an existing term, or add a new term
3. Scroll to the **SEOvault AI** section
4. Fill in the desired fields
5. Click **Update** or **Add**
Character counters show ideal length ranges for title and description fields.
## Importing from other SEO plugins
[](#importing-from-other-seo-plugins)
If you migrate from Yoast, Rank Math, AIOSEO, or another SEO plugin, SEOvault AI imports your term SEO data automatically. This includes:
* SEO titles and descriptions
* Canonical URLs
* Noindex/nofollow settings
* Open Graph metadata
Your existing term SEO is preserved without manual re-entry.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Disabled mode**: When SEOvault AI is disabled, term SEO fields show a notice that output is turned off
* **Private taxonomies**: SEO fields only appear on public taxonomies. Private taxonomies are excluded automatically
* **Multilingual sites**: Term SEO is per-language if you use a multilingual plugin like WPML or Polylang
* **Verification**: View a category or tag archive page source to confirm your custom title, description, and canonical are outputting correctly
* **Bulk editing**: Use the term list quick edit to update basic term info, but full SEO settings require the edit screen
## Related docs
[](#related-docs)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Open Graph and Twitter/X Card Settings](/docs/open-graph-and-twitter-x-card-settings/)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
---
## Comment SEO Controls
URL: https://seovaultai.com/docs/comment-seo-controls
Manage comment link SEO to prevent duplicate content and control crawl behavior for comment reply links.
# Comment SEO Controls
SEOVault AI automatically optimizes comment links to prevent duplicate content issues and control how search engines crawl comment-related URLs. These improvements are enabled by default when the plugin is active.
## What comment SEO controls do
[](#what-comment-seo-controls-do)
Comment SEO controls address two issues:
1. **Duplicate content** — WordPress creates unique URLs for each comment reply using `?replytocom=` parameters, creating many nearly identical pages
2. **Link security** — Comment reply links may pass SEO value without proper rel attributes
### Remove replytocom parameters
[](#remove-replytocom-parameters)
The plugin removes `?replytocom=` parameters from comment reply links and redirects legacy URLs to clean versions.
**Before:**
```
https://yoursite.com/post/?replytocom=123
```
**After:**
```
https://yoursite.com/post/#comment-123
```
This change:
* Eliminates duplicate content from comment reply URLs
* Uses fragment anchors (`#comment-123`) for navigation
* Redirects legacy URLs with a 301 status code
* Preserves the ability to jump to specific comments
### Add rel attributes to comment links
[](#add-rel-attributes-to-comment-links)
The plugin adds security and SEO attributes to comment reply links and comments popup links.
**Default rel attributes:**
* `nofollow` — Prevents passing SEO value
* `noopener` — Security measure for new windows
* `noreferrer` — Privacy measure for referrer tracking
**Example output:**
```
Reply
```
## How it works
[](#how-it-works)
### Link modification
[](#link-modification)
The plugin filters comment reply links as they’re generated:
1. Strips `?replytocom=` from the href attribute
2. Preserves the fragment anchor for navigation
3. Merges rel attributes with existing ones (if any)
4. Ensures no duplicate rel tokens
### URL redirection
[](#url-redirection)
When a legacy `?replytocom=` URL is requested:
1. The plugin detects the parameter on `template_redirect`
2. Validates the comment exists
3. Removes the parameter from the URL
4. Adds the fragment anchor (`#comment-{id}`)
5. Issues a 301 redirect to the clean URL
6. Exits to prevent further processing
The redirect is skipped for:
* Admin requests
* Feed requests
* AJAX requests
* REST API requests
* Cron jobs
## Customization
[](#customization)
### Disable replytocom removal
[](#disable-replytocom-removal)
To disable the removal of `?replytocom=` parameters:
```
add_filter( 'seovault_remove_replytocom', '__return_false' );
```
This is not recommended as it allows duplicate content URLs to persist.
### Customize rel attributes
[](#customize-rel-attributes)
To change the rel attributes added to comment links:
```
add_filter( 'seovault_comment_reply_rel', function( $rel ) { return 'nofollow'; // Only add nofollow} );
```
You can also pass an array:
```
add_filter( 'seovault_comment_reply_rel', function( $rel ) { return array( 'nofollow', 'noopener' );} );
```
Common rel tokens:
* `nofollow` — Don’t pass SEO value
* `noopener` — Security for new windows
* `noreferrer` — Privacy for referrer tracking
* `sponsored` — Mark as sponsored link
* `ugc` — User-generated content
## Benefits
[](#benefits)
### SEO benefits
[](#seo-benefits)
* **Eliminates duplicate content** — Search engines see one canonical URL per post instead of dozens of comment reply variations
* **Consolidates crawl budget** — Search engines don’t waste resources on near-duplicate pages
* **Cleaner site architecture** — Fewer URLs in search engine indexes
### Security benefits
[](#security-benefits)
* **Prevents tabnabbing** — `noopener` protects against malicious new window behavior
* **Privacy protection** — `noreferrer` prevents referrer information leakage
### User experience
[](#user-experience)
* **Cleaner URLs** — Fragment anchors are more readable than query parameters
* **Backward compatibility** — Legacy URLs still work via 301 redirects
* **Same functionality** — Users can still jump to specific comments
## When to customize
[](#when-to-customize)
### Keep default settings if:
[](#keep-default-settings-if)
* You want to prevent duplicate content
* You don’t need custom rel attributes
* Your theme doesn’t conflict with the changes
### Customize rel attributes if:
[](#customize-rel-attributes-if)
* You want to remove `noreferrer` for analytics
* You need to add `sponsored` or `ugc` tokens
* Your theme requires specific rel behavior
### Disable replytocom removal if:
[](#disable-replytocom-removal-if)
* You have a custom comment system that requires the parameter
* You’re debugging comment functionality (temporary)
* Another plugin conflicts with the redirect
## Testing
[](#testing)
After enabling comment SEO controls:
1. View a post with comments
2. Check that reply links use `#comment-{id}` instead of `?replytocom=`
3. Test clicking a reply link — it should jump to the comment
4. Try accessing a legacy `?replytocom=` URL — it should redirect
5. View page source and verify rel attributes on comment links
## Related docs
[](#related-docs)
* [Canonical URLs: Prevent Duplicate Content](/docs/canonical-urls-prevent-duplicate-content/)
* [Troubleshooting Duplicate Meta and Schema Conflicts](/docs/troubleshooting-duplicate-meta-and-schema-conflicts/)
---
## Complete the Onboarding Wizard
URL: https://seovaultai.com/docs/complete-the-onboarding-wizard
A walkthrough of the seven-step onboarding wizard that runs after activating the SEOvault AI WordPress plugin.
# Complete the Onboarding Wizard
The onboarding wizard runs automatically the first time you activate the SEOvault AI plugin. It takes you through seven steps to configure your SEO mode, site identity, homepage settings, import options, and web app connection. The whole process takes about five minutes.
You can skip the wizard at any time and return later. Skipping marks onboarding as complete so the wizard does not appear again automatically.
## Start the wizard
[](#start-the-wizard)
The wizard appears automatically after activation. If you skipped it or want to re-run it:
1. Go to **SEOvault AI > Onboarding** in the WordPress admin sidebar.
2. The wizard starts from your last saved step if you previously started but did not finish.
## The seven steps
[](#the-seven-steps)
### Step 1: Welcome
[](#step-1-welcome)
The welcome screen introduces the plugin and explains the structured data (schema) approach. SEOvault AI automatically generates basic schema from your site identity rather than asking you to select every schema type upfront. Extra schema types like FAQ, Event, or Product are added later on individual posts, blocks, or templates.
Click **Start setup** to continue.
### Step 2: SEO Mode
[](#step-2-seo-mode)
Choose how you want SEOvault AI to work:
* **Auto** – let the plugin configure your homepage meta, robots rules, sitemap, and automatic schema using your site identity. This is the recommended option for most sites.
* **Manual** – skip the auto defaults and configure everything yourself in the plugin settings. Best for advanced users who want full control from the start.
You can change this later at **General Settings > Output Mode**. The mode you choose here affects how the next steps pre-fill values.
Click **Next** to continue.
### Step 3: Site Identity
[](#step-3-site-identity)
Tell the plugin about your site so it can generate correct schema and social previews:
* **Site type** – select from Blog / News, Business / Corporate, Online shop / E-commerce, Portfolio / Personal, or Other
* **Publisher identity** – choose Organization or Person. This determines whether the plugin generates Organization or Person schema as the base publisher type
* **Name** – your site or organization name. Pre-filled from your WordPress site title
* **Logo** – upload or choose a logo from the media library. Used in schema and social previews
* **Default social image** – upload or choose an image. Used as the fallback Open Graph image when a post does not have its own
If you chose Manual mode in step 2, this step is optional. You can click **Set up later** to skip it.
Click **Next** to continue.
### Step 4: SEO Settings
[](#step-4-seo-settings)
Review and confirm your homepage and template settings:
* **Homepage title** – the SEO title for your homepage. In Auto mode, this is pre-filled from your site name
* **Homepage meta description** – a short description of your site (max 160 characters). In Auto mode, pre-filled from your WordPress tagline
* **Output mode** – choose Full SEO output (recommended), Title only, or No output (advanced). This controls what the plugin prints to the frontend
* **Default social title template** – template for social sharing titles. Uses variables like `%title%`, `%sitename%`, `%sep%`
* **Default social description template** – template for social descriptions. Uses variables like `%excerpt%`, `%description%`
* **Robots defaults** – three checkboxes:
* No-index empty taxonomies – prevents indexing of tag and category archives with no posts
* Nofollow external links – adds `rel="nofollow"` to outbound links
* Open external links in a new tab – adds `target="_blank"` to outbound links
In Auto mode, these fields are pre-configured. Review them and adjust if needed. In Manual mode, they start from your existing plugin settings or defaults.
Click **Next** to continue.
### Step 5: Import
[](#step-5-import)
If the wizard detects an active SEO plugin (Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework), it offers to import your SEO data:
* If one plugin is detected, it is selected automatically
* If multiple plugins are detected, choose which one to import from
* If no supported plugin is detected, the step says “No supported SEO plugins detected” and you can skip it
The wizard import brings in global settings like homepage title and description. You can run a full post-by-post import later from **General Settings > Tools**.
Click **Import now** to import, or **Skip import** to continue without importing.
### Step 6: Connect
[](#step-6-connect)
Optionally connect your WordPress site to the SEOvault AI web app. This step displays:
* **Your site key** – a 40-character key used for authentication. Copy this to enter in the web app
* **REST endpoint** – the verification URL (`yoursite.com/wp-json/seovaultai/v1/verify`)
* **What you get by connecting** – AI content suggestions, bulk title/description updates, advanced analytics and reports
Click **Connect now** to open the web app in a new tab, or **I’ll connect later** to skip.
The plugin is fully functional without the web app connection. Connecting is optional and adds AI-powered features through the web app dashboard.
Click **Next** to continue.
### Step 7: Finish
[](#step-7-finish)
The finish screen shows a summary of your configuration:
* SEO mode (Auto or Manual)
* Site identity (Completed or Skipped)
* SEO settings (Saved)
* Import (Completed, Skipped, or Not needed)
* Connection (Connected, Skipped, or Not connected)
Click **Go to Dashboard** to finish and view the SEOvault AI dashboard.
## Skip the wizard
[](#skip-the-wizard)
If you prefer to configure everything manually:
1. On any step before the finish screen, click **Skip onboarding** at the bottom left.
2. The wizard marks itself as complete and redirects you to the dashboard.
3. All settings remain at their defaults. You can configure everything from **SEOvault AI > General Settings**.
Skipping is safe. The plugin uses sensible defaults: Automatic output mode, schema enabled, Open Graph enabled, sitemap enabled.
## Re-run the wizard
[](#re-run-the-wizard)
To restart the wizard from the beginning:
1. Go to **SEOvault AI > Onboarding**.
2. The wizard resumes from your last saved step. To start over, use the **Back** button to return to step 1.
There is no “reset wizard” button. The wizard saves your progress as you go, so you can leave and return without losing your place.
## What the wizard configures behind the scenes
[](#what-the-wizard-configures-behind-the-scenes)
When you complete the wizard, the following happens:
* **Output mode** is saved to plugin options
* **Site identity** (name, logo, social image, entity type) is stored for schema generation
* **Homepage title and description** are saved
* **Social templates** are saved for use across posts
* **Robots defaults** (noindex empty taxonomies, nofollow external, new tab external) are applied
* **Import** (if selected) runs the migration from the detected plugin
* **Connection** (if completed) verifies the site key with the web app
* **Onboarding completion flag** is set so the wizard does not auto-redirect again
All of these settings can be changed later from **General Settings**.
## Related docs
[](#related-docs)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
---
## Connect the Plugin to the SEOvault AI Web App
URL: https://seovaultai.com/docs/connect-the-plugin-to-the-seovault-ai-web-app
How to connect your WordPress site to the SEOvault AI web app using the built-in REST API and site key authentication.
# 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
[](#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
[](#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:
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”.
## Step 1: Get your site key
[](#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
[](#from-the-dashboard)
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.
### From General Settings
[](#from-general-settings)
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.
### From the onboarding wizard
[](#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
[](#step-2-add-your-site-in-the-web-app)
1. Log in to the SEOvault AI web app at [app.seovaultai.com](https://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.
## Step 3: Verify the connection
[](#step-3-verify-the-connection)
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.
## Connection from the onboarding wizard
[](#connection-from-the-onboarding-wizard)
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 already have the connector plugin
[](#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
[](#rest-api-endpoints)
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.
## Troubleshooting
[](#troubleshooting)
### Connection stays “Waiting”
[](#connection-stays-waiting)
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.
### REST API returns 404
[](#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
[](#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](/docs/site-key-security-regenerate-lockouts-and-scoped-api-keys/))
* 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
[](#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
[](#disconnect-from-the-web-app)
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.
## Related docs
[](#related-docs)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Site Key Security: Regenerate, Lockouts, and Scoped API Keys](/docs/site-key-security-regenerate-lockouts-and-scoped-api-keys/)
* [What Data Stays on Your WordPress Site (Privacy Overview)](/docs/what-data-stays-on-your-wordpress-site-privacy-overview/)
* [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/)
---
## Connect Your First WordPress Site
URL: https://seovaultai.com/docs/connect-your-first-wordpress-site
Connect your first WordPress site to the SEOVault AI Web App and unlock centralized publishing workflows.
# Connect Your First WordPress Site
Connecting your first WordPress site to SEOVault AI unlocks the full Web App workflow.
Once connected, you can manage posts from a centralized dashboard, work across multiple sites, save content to WordPress, use advanced internal linking tools, and access your publishing workflow without doing everything inside the native WordPress editor.
If you only want fast in-editor help, the Chrome Extension can already do a lot on its own. But if you want the full command-center experience, connecting your site is the next step.
## What “Connecting a Site” Means
[](#what-connecting-a-site-means)
The SEOVault AI Web App connects to your WordPress website through a lightweight connector plugin.
This connector handles secure communication between your WordPress site and SEOVault AI so the Web App can do things like:
* fetch and list your posts
* open drafts in the editor
* save updates back to WordPress
* support multi-site workflows
* enable advanced linking and publishing actions
* help manage content from one central dashboard
The connector is designed to be lightweight. It is not meant to replace your writing workflow with a bloated all-in-one plugin.
## Before You Start
[](#before-you-start)
Make sure you have:
* an active SEOVault AI account
* access to the SEOVault AI Web App
* administrator access to the WordPress site you want to connect
* permission to install plugins on that WordPress site
You should also confirm that:
* your WordPress admin is working normally
* your site is reachable and not blocking required API communication
* you are connecting the correct site if you manage more than one WordPress install
## Step 1: Log In to the SEOVault AI Web App
[](#step-1-log-in-to-the-seovault-ai-web-app)
Start by signing in to your SEOVault AI account in the Web App.
Once inside, go to the area where sites are managed. Depending on your current interface version, this may appear in:
* the main dashboard
* the settings area
* the site selector or dropdown
* the left-side workspace panel
Look for an option such as:
* Add Site
* Connect Site
* Add WordPress Website
## Step 2: Add Your WordPress Site
[](#step-2-add-your-wordpress-site)
When prompted, enter the WordPress site details requested by the Web App.
This usually includes your site URL and the basic information needed to begin the connection process.
Double-check the URL carefully. It is best to use the exact canonical WordPress site address you normally use for admin access.
If your site uses a different admin domain, subdirectory, staging domain, or unusual structure, make sure you are connecting the intended environment.
## Step 3: Install the Lightweight Connector Plugin
[](#step-3-install-the-lightweight-connector-plugin)
To complete the connection, install the SEOVault AI WordPress connector plugin on your site.
### How to install it
[](#how-to-install-it)
1. Download the connector plugin package if it is provided outside the WordPress plugin directory.
2. Log in to your WordPress admin dashboard.
3. Go to Plugins -> Add New Plugin.
4. Choose Upload Plugin if needed.
5. Upload the connector plugin ZIP.
6. Click Install Now.
7. Activate the plugin.
If your team distributes the connector another way, follow your internal installation method instead.
If you need the detailed install walkthrough first, read [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/).
## Step 4: Authorize the Connection
[](#step-4-authorize-the-connection)
After the connector is installed and active, return to SEOVault AI and complete the authorization step.
This is the part where your WordPress site and the SEOVault AI Web App establish secure communication.
Depending on your final product flow, this may involve:
* generating a key
* confirming a token
* matching the site inside the dashboard
* approving the connection from WordPress
* finishing a setup handshake
Once the authorization succeeds, your site should appear as connected inside the Web App.
## Step 5: Confirm the Site Is Connected
[](#step-5-confirm-the-site-is-connected)
After setup, verify the connection before you start serious work.
A successful connection should allow the Web App to do things like:
* list your WordPress posts in the left panel
* open an existing post into the editor
* create a new post draft
* save content back to WordPress
* switch between connected sites if you have more than one
If you can see your content and interact with it normally, the connection is working.
## What You Can Do After Connecting
[](#what-you-can-do-after-connecting)
Once your site is connected, the Web App becomes much more powerful.
### Manage posts from one dashboard
[](#manage-posts-from-one-dashboard)
Browse posts, open them, edit them, and work from a centralized content workspace instead of jumping through multiple WordPress tabs.
### Work across multiple websites
[](#work-across-multiple-websites)
If your account supports multiple sites, you can connect more than one WordPress install and switch between them from the workspace.
### Save directly to WordPress
[](#save-directly-to-wordpress)
Use the editor and publishing controls to push updates back to your site without copying everything manually.
### Use advanced linking workflows
[](#use-advanced-linking-workflows)
The Web App includes more advanced internal linking and autolinking features than the extension alone.
### Use team and workspace features
[](#use-team-and-workspace-features)
Invite other people, collaborate in shared workspaces, and manage content operations at a higher level.
### Keep cloud history
[](#keep-cloud-history)
Your generated work and edits can be stored in your SEOVault AI workflow history for later use.
## Why the Web App Needs a Connector Plugin
[](#why-the-web-app-needs-a-connector-plugin)
This is one of the most common questions from new users.
The Chrome Extension can do a lot directly inside the browser and WordPress editor, which is why it does not rely on a heavy WordPress plugin for its core workflow.
The Web App is different.
Because the Web App operates as a centralized system outside your WordPress admin screen, it needs a secure way to communicate with your site. That is why the lightweight connector exists.
Think of it this way:
* Chrome Extension: browser-based, fast, in-editor assistance
* Web App: centralized workspace, multi-site management, publishing sync, and advanced site-level workflows
The connector is what makes that Web App workflow possible.
## Best Practices for Your First Connection
[](#best-practices-for-your-first-connection)
To avoid setup headaches, follow these suggestions:
* connect one site first before adding more
* test with a draft post before working on production-critical content
* make sure the plugin stays active
* keep WordPress core and your environment healthy
* avoid connecting the wrong staging or development URL by accident
* confirm your site can communicate properly if you use aggressive firewalls or custom server rules
If you manage many sites, name them clearly inside your SEOVault AI workspace so your team does not confuse them later.
## Common Issues and Fixes
[](#common-issues-and-fixes)
### The site does not connect
[](#the-site-does-not-connect)
Check the site URL, confirm the connector plugin is installed and active, and make sure your WordPress site is reachable.
### Posts are not loading in the Web App
[](#posts-are-not-loading-in-the-web-app)
Refresh the dashboard, verify the authorization completed correctly, and confirm you connected the correct WordPress site.
### Save to WordPress is not working
[](#save-to-wordpress-is-not-working)
Check that the connector is still active, confirm your account permissions, and verify that the site connection has not expired or been broken.
### The wrong site was connected
[](#the-wrong-site-was-connected)
Remove or disconnect the site if your interface supports that action, then reconnect the correct one.
### The site uses a staging environment
[](#the-site-uses-a-staging-environment)
Be careful when connecting staging and production installs. Label them clearly and test them separately.
## Security Notes
[](#security-notes)
The connector plugin is designed to be lightweight and focused.
Its role is to support secure communication between your WordPress site and the SEOVault AI Web App. It is not meant to overload your WordPress site with unnecessary front-end features.
For more detail, see:
* [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/)
* Data & Permissions
* Privacy Policy
If your site owner or developer needs a deeper explanation, provide them with those documentation pages before installation.
## How to Disconnect a Site Later
[](#how-to-disconnect-a-site-later)
If you want to stop using a connected site later, the exact process depends on your final product flow.
In general, disconnecting may involve:
* removing the site from the Web App
* revoking the connection key or token
* deactivating or uninstalling the connector plugin from WordPress
If you are unsure, use the official disconnection guide or contact support before removing a production connection.
## Next Recommended Guides
[](#next-recommended-guides)
After connecting your first WordPress site, read these next:
1. [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/)
2. Extension vs Web App: Which Workflow Should You Use?
3. Internal Linking and Autolinking Guide
4. Team Workspace Guide
5. Multi-Site Management Guide
## Need Help?
[](#need-help)
If the connection process is not working as expected, do not force repeated installs or random plugin changes.
Instead, review the troubleshooting docs, confirm the connector setup, and contact support with details about:
* your WordPress environment
* what step failed
* whether the connector plugin is active
* whether the site appears in the Web App
* any visible error messages
A clean first connection makes the rest of the SEOVault AI workflow much smoother.
---
## Connector REST API Overview for Developers
URL: https://seovaultai.com/docs/connector-rest-api-overview-for-developers
Technical reference for the SEOvault AI WordPress plugin REST API, including endpoints, authentication, CORS, and usage examples.
# Connector REST API Overview for Developers
The SEOvault AI WordPress plugin provides a REST API for the web app and external integrations to manage SEO data, content, and settings. This API uses the `seovaultai/v1` namespace and requires site key authentication.
## Base URL
[](#base-url)
All endpoints use the WordPress REST API base URL with the SEOvault namespace:
```
https://yoursite.com/wp-json/seovaultai/v1/
```
## Authentication
[](#authentication)
The API uses site key authentication. Include the site key in the `X-Site-Key` header:
```
X-Site-Key: your-site-key-here
```
### Key types
[](#key-types)
The plugin supports three key types with different permission levels:
* **Legacy key** — Original site key (full access)
* **Read key** — Read-only access to data
* **Write key** — Full read and write access
Keys are resolved using timing-safe comparison for security. The plugin checks keys in order: legacy → read → write.
### Example request
[](#example-request)
Terminal window
```
curl -X GET https://yoursite.com/wp-json/seovaultai/v1/posts \ -H "X-Site-Key: your-site-key-here"
```
## CORS
[](#cors)
The API implements CORS with an allowlist for cross-origin requests from the web app.
### CORS headers
[](#cors-headers)
Allowed origins are configured in the plugin. Responses include:
* `Access-Control-Allow-Origin` — Allowed origin (if allowlisted)
* `Access-Control-Allow-Methods` — `GET, POST, OPTIONS`
* `Access-Control-Allow-Headers` — `Authorization, Content-Type, X-Site-Key`
* `Access-Control-Max-Age` — `3600`
### Preflight requests
[](#preflight-requests)
OPTIONS requests to the namespace are handled automatically for CORS preflight.
## Endpoints
[](#endpoints)
### Site verification
[](#site-verification)
#### GET /verify
[](#get-verify)
Verify the site connection and key validity.
**Authentication:** Requires site verify capability
**Response:** Site verification status
### Posts
[](#posts)
#### GET /posts
[](#get-posts)
List posts with pagination.
**Authentication:** Site key required
**Query parameters:**
* `per_page` — Number of results per page (default: 20)
* `page` — Page number (default: 1)
**Response:** Array of post objects with SEO metadata
#### POST /posts
[](#post-posts)
Create a new post.
**Authentication:** Site key required
**Body:** Post data including title, content, and SEO fields
**Response:** Created post object
#### `GET /posts/{id}`
[](#get-postsid)
Get a single post by ID.
**Authentication:** Site key required
**Response:** Post object with SEO metadata
#### `POST /posts/{id}`
[](#post-postsid)
Update a post by ID.
**Authentication:** Site key required
**Body:** Post data to update
**Response:** Updated post object
#### `POST /posts/{id}/restore-revision`
[](#post-postsidrestore-revision)
Restore a post to a previous revision.
**Authentication:** Site key required
**Response:** Restored post object
### Pages
[](#pages)
#### GET /pages
[](#get-pages)
List pages with pagination.
**Authentication:** Site key required
**Query parameters:**
* `per_page` — Number of results per page (default: 20)
* `page` — Page number (default: 1)
**Response:** Array of page objects
#### `GET /pages/{id}`
[](#get-pagesid)
Get a single page by ID.
**Authentication:** Site key required
**Response:** Page object with SEO metadata
#### `POST /pages/{id}`
[](#post-pagesid)
Update a page by ID.
**Authentication:** Site key required
**Body:** Page data to update
**Response:** Updated page object
#### `POST /pages/{id}/restore-revision`
[](#post-pagesidrestore-revision)
Restore a page to a previous revision.
**Authentication:** Site key required
**Response:** Restored page object
### Categories
[](#categories)
#### GET /categories
[](#get-categories)
List categories.
**Authentication:** Site key required
**Response:** Array of category objects
### Media
[](#media)
#### GET /media
[](#get-media)
List media library items with pagination.
**Authentication:** Site key required
**Query parameters:**
* `per_page` — Number of results per page (default: 20)
* `page` — Page number (default: 1)
**Response:** Array of media objects
#### POST /media/upload
[](#post-mediaupload)
Upload a media file.
**Authentication:** Site key required
**Body:** File data
**Response:** Uploaded media object
### IndexNow
[](#indexnow)
#### POST /indexnow/setup
[](#post-indexnowsetup)
Configure IndexNow settings.
**Authentication:** Site key required
**Body:** IndexNow configuration
**Response:** Configuration status
#### GET /indexnow/status
[](#get-indexnowstatus)
Get IndexNow status.
**Authentication:** Site key required
**Response:** IndexNow status object
#### POST /indexnow/submit
[](#post-indexnowsubmit)
Submit URLs to IndexNow.
**Authentication:** Site key required
**Body:** URLs to submit
**Response:** Submission status
### Sitemap
[](#sitemap)
#### GET /sitemap-proxy
[](#get-sitemap-proxy)
Proxy sitemap requests through the API.
**Authentication:** Site key required
**Query parameters:**
* `path` — Sitemap path (required, validated)
**Response:** Sitemap XML content
### SEO capabilities
[](#seo-capabilities)
#### GET /seo/capabilities
[](#get-seocapabilities)
Get SEO capabilities and feature availability.
**Authentication:** Site key required
**Response:** Capabilities object
### Image SEO
[](#image-seo)
#### `POST /posts/{id}/inject-image-alt`
[](#post-postsidinject-image-alt)
Inject image alt text into a post.
**Authentication:** Site key required
**Body:** Image alt data
**Response:** Updated post object
### AEO (Answer Engine Optimization)
[](#aeo-answer-engine-optimization)
#### `POST /posts/{id}/inject-aeo`
[](#post-postsidinject-aeo)
Inject AEO snippet into a post.
**Authentication:** Site key required
**Body:** AEO snippet data
**Response:** Updated post object
### Internal links
[](#internal-links)
#### GET /internal-links/manifest
[](#get-internal-linksmanifest)
Get internal links manifest.
**Authentication:** Site key required
**Response:** Internal links manifest
#### GET /internal-links/sync
[](#get-internal-linkssync)
Sync internal links with optional filtering.
**Authentication:** Site key required
**Query parameters:**
* `cursor` — Pagination cursor
* `since` — Filter by date
* `limit` — Number of results
* `types` — Post type filter
* `includeBodyPhrases` — Include body phrases
**Response:** Internal links sync data
### AI Visibility
[](#ai-visibility)
#### GET /ai-visibility/status
[](#get-ai-visibilitystatus)
Get AI visibility status.
**Authentication:** Site key required
**Response:** AI visibility status object
### llms.txt
[](#llmstxt)
#### GET /llms/status
[](#get-llmsstatus)
Get llms.txt publishing status.
**Authentication:** Site key required
**Response:** llms.txt status
#### POST /llms/preview
[](#post-llmspreview)
Preview llms.txt content.
**Authentication:** Site key required
**Body:** llms.txt configuration
**Response:** Preview content
#### POST /llms/publish
[](#post-llmspublish)
Publish llms.txt.
**Authentication:** Site key required
**Body:** llms.txt configuration
**Response:** Publish status
### Robots.txt
[](#robotstxt)
#### GET /robots/status
[](#get-robotsstatus)
Get robots.txt modification status.
**Authentication:** Site key required
**Response:** Robots.txt status
#### POST /robots/preview
[](#post-robotspreview)
Preview robots.txt modifications.
**Authentication:** Site key required
**Body:** Robots.txt rules
**Response:** Preview content
#### POST /robots/apply
[](#post-robotsapply)
Apply robots.txt modifications.
**Authentication:** Site key required
**Body:** Robots.txt rules
**Response:** Apply status
#### POST /robots/restore
[](#post-robotsrestore)
Restore original robots.txt.
**Authentication:** Site key required
**Response:** Restore status
### Schema
[](#schema)
#### GET /schema/status
[](#get-schemastatus)
Get schema status.
**Authentication:** Site key required
**Response:** Schema status object
#### POST /schema/preview
[](#post-schemapreview)
Preview schema markup.
**Authentication:** Site key required
**Body:** Schema configuration
**Response:** Preview schema JSON-LD
#### POST /schema/inject
[](#post-schemainject)
Inject schema markup into a post.
**Authentication:** Site key required
**Body:** Schema data
**Response:** Injection status
### Crawler logs
[](#crawler-logs)
#### GET /crawler-logs/status
[](#get-crawler-logsstatus)
Get crawler logging status.
**Authentication:** Site key required
**Response:** Crawler logs status
#### POST /crawler-logs/enable
[](#post-crawler-logsenable)
Enable crawler logging.
**Authentication:** Site key required
**Response:** Enable status
#### POST /crawler-logs/disable
[](#post-crawler-logsdisable)
Disable crawler logging.
**Authentication:** Site key required
**Response:** Disable status
#### GET /crawler-logs
[](#get-crawler-logs)
Get crawler log entries.
**Authentication:** Site key required
**Response:** Array of crawler log entries
### Import
[](#import)
#### GET /seo/import/summary
[](#get-seoimportsummary)
Get import summary from other SEO plugins.
**Authentication:** Site key required
**Response:** Import summary with available data counts
#### POST /seo/import
[](#post-seoimport)
Import SEO data from other plugins.
**Authentication:** Site key required
**Body:** Import configuration
**Response:** Import status and results
## Error responses
[](#error-responses)
Errors return standard WordPress REST API error format:
```
{ "code": "error_code", "message": "Error message", "data": { "status": 401 }}
```
Common error codes:
* `401` — Authentication failed (invalid or missing site key)
* `403` — Forbidden (insufficient permissions)
* `404` — Resource not found
* `400` — Bad request (invalid parameters)
## Rate limiting
[](#rate-limiting)
The plugin implements rate limiting on API endpoints to prevent abuse. Rate limits are enforced per site key and tracked using WordPress transients.
## Audit logging
[](#audit-logging)
Write operations (POST, PUT, PATCH, DELETE) are logged to the audit log for security and compliance. The log includes:
* Timestamp
* Endpoint
* HTTP method
* Request parameters
* Site key type
## Related docs
[](#related-docs)
* [CORS, Rate Limits, and API Activity Logs](/docs/cors-rate-limits-and-api-activity-logs/)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
---
## CORS, Rate Limits, and API Activity Logs
URL: https://seovaultai.com/docs/cors-rate-limits-and-api-activity-logs
Technical overview of CORS configuration, rate limiting policies, and audit logging for the SEOvault AI REST API.
# CORS, Rate Limits, and API Activity Logs
The SEOvault AI REST API implements security features including CORS (Cross-Origin Resource Sharing) controls, rate limiting to prevent abuse, and audit logging for compliance and monitoring.
## CORS (Cross-Origin Resource Sharing)
[](#cors-cross-origin-resource-sharing)
CORS controls which origins can access the API from browsers. The plugin uses an allowlist approach to only permit requests from approved domains.
### CORS headers
[](#cors-headers)
When a request from an allowed origin is received, the API responds with:
* `Access-Control-Allow-Origin` — The allowed origin (if allowlisted)
* `Access-Control-Allow-Methods` — `GET, POST, OPTIONS`
* `Access-Control-Allow-Headers` — `Authorization, Content-Type, X-Site-Key`
* `Access-Control-Max-Age` — `3600` (1 hour)
* `Vary` — `Origin`
### Preflight requests
[](#preflight-requests)
OPTIONS requests are handled automatically for CORS preflight. These requests check whether the actual request is allowed before it’s sent.
### Origin allowlist
[](#origin-allowlist)
The plugin maintains an allowlist of permitted origins. Requests from origins not on the allowlist do not receive CORS headers and are blocked by browser security policies.
### Disallowed origins
[](#disallowed-origins)
If the origin is not allowlisted, the `Access-Control-Allow-Origin` header is omitted, causing the browser to block the response.
## Rate limiting
[](#rate-limiting)
Rate limiting prevents API abuse by limiting the number of requests from a single IP or site key. The plugin uses multiple rate limit tiers with WordPress transients for storage.
### Rate limit tiers
[](#rate-limit-tiers)
#### Global IP limit
[](#global-ip-limit)
* **Limit:** 300 requests per minute per IP
* **Purpose:** Prevents obvious abuse across all endpoints
* **Applies to:** All requests to the `seovaultai/v1` namespace
#### Auth failure limit
[](#auth-failure-limit)
* **Limit:** 20 failed authentication attempts per IP per 15 minutes
* **Purpose:** Prevents brute-force site key attacks
* **Applies to:** Requests with missing or invalid site keys
#### Auth lockout
[](#auth-lockout)
* **Warning threshold:** 10 failed attempts per 15 minutes (audit log warning)
* **Lockout threshold:** 20 failed attempts per 15 minutes (hard lockout)
* **Purpose:** Progressive enforcement against repeated auth failures
* **Duration:** 15-minute lockout window
#### Per-key bucket limits
[](#per-key-bucket-limits)
After successful authentication, requests are limited per site key hash by route type:
* **Read:** 120 requests per minute (GET requests)
* **Write:** 40 requests per minute (POST, PUT, PATCH, DELETE)
* **Import:** Configurable limit for SEO import operations
* **Media:** Configurable limit for media uploads
### Rate limit responses
[](#rate-limit-responses)
When a rate limit is exceeded, the API returns:
* **HTTP status:** 429 (Too Many Requests)
* **Error code:** `seovaultai_rate_limited`
* **Header:** `Retry-After` with seconds until retry
For auth lockouts:
* **HTTP status:** 429 (Too Many Requests)
* **Error code:** `seovaultai_auth_lockout`
* **Header:** `Retry-After` with lockout duration
### Exemptions
[](#exemptions)
Rate limiting is skipped for:
* **OPTIONS preflight requests** — Always allowed
* **Same-origin admin import** — When importing from WordPress admin with `manage_options` capability and matching origin
### Customization
[](#customization)
Rate limits can be customized via filters:
```
// Override all rate limitsadd_filter( 'seovaultai_api_rate_limits', function( $limits ) { $limits['read']['limit'] = 200; $limits['read']['window'] = 60; return $limits;} );
// Exempt specific requestsadd_filter( 'seovaultai_api_rate_limit_exempt', function( $exempt, $request ) { // Return true to exempt this request return $exempt;}, 10, 2 );
```
### Clearing rate limits
[](#clearing-rate-limits)
Rate limit transients can be cleared:
* **All limits:** Via the Security tab “Clear API lockouts” control
* **Per-IP limits:** Programmatically via `RateLimiter::clear_rate_limits_for_ip( $ip )`
## Audit logging
[](#audit-logging)
The audit log records API events for security monitoring and compliance. The log is privacy-conscious and never stores raw IP addresses or site keys.
### Audit log table
[](#audit-log-table)
The plugin creates a custom table `wp_seovault_api_audit` with columns:
* `id` — Primary key
* `created_at` — Timestamp
* `route` — REST route path
* `method` — HTTP method
* `ip_hash` — SHA-256 hash of requester IP
* `user_agent_hash` — SHA-256 hash of user agent
* `origin` — Sanitized Origin header
* `success` — Whether request succeeded (1 or 0)
* `status_code` — HTTP response status
* `failure_reason` — Machine-readable failure reason
* `event_type` — Event classification
### Event types
[](#event-types)
The audit log classifies events:
* **auth\_fail** — Authentication failure (missing or invalid key)
* **auth\_ok** — Successful authentication
* **write\_ok** — Successful write operation (POST/PUT/PATCH/DELETE)
* **lockout** — IP locked out due to auth failures
* **rate\_limit** — Rate limit exceeded
* **read\_ok** — Successful read operation (optional, off by default)
### Privacy protection
[](#privacy-protection)
The audit log never stores:
* Raw IP addresses (only SHA-256 hashes)
* Raw site keys
* User agent strings (only SHA-256 hashes)
IPs are hashed with a site-specific salt, preventing cross-site correlation.
### Automatic pruning
[](#automatic-pruning)
The audit log automatically prunes old entries:
* **Row count cap:** Default 500 rows (filterable)
* **Retention window:** Default 30 days (filterable)
Pruning runs after every insert to keep the table size bounded.
### Read success logging
[](#read-success-logging)
By default, only write operations and auth failures are logged. Read success logging can be enabled:
```
// Enable read success loggingadd_filter( 'seovaultai_api_audit_log_read_success', '__return_true' );
// Set sample rate (1 in N)add_filter( 'seovaultai_api_audit_read_sample_rate', function( $rate ) { return 50; // Log 1 in 50 read requests} );
```
### Customization
[](#customization-1)
Audit log behavior can be customized:
```
// Override max rowsadd_filter( 'seovaultai_api_audit_max_rows', function( $max ) { return 1000;} );
// Override retention daysadd_filter( 'seovaultai_api_audit_retention_days', function( $days ) { return 60;} );
// Modify log entry before writingadd_filter( 'seovaultai_api_audit_log_entry', function( $entry, $request ) { // Redact or modify entry data return $entry;}, 10, 2 );
```
## Security best practices
[](#security-best-practices)
### For site administrators
[](#for-site-administrators)
* Monitor the audit log regularly for suspicious activity
* Use read/write keys instead of the legacy key when possible
* Keep the web app origin allowlist up to date
* Review rate limit errors for signs of abuse
### For developers
[](#for-developers)
* Implement exponential backoff when receiving 429 responses
* Respect the `Retry-After` header
* Use read keys for read-only operations
* Cache API responses where appropriate to reduce request volume
## Related docs
[](#related-docs)
* [Connector REST API Overview for Developers](/docs/connector-rest-api-overview-for-developers/)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
---
## Data & Permissions
URL: https://seovaultai.com/docs/data-permissions
Understand how SEOVault AI uses browser permissions, WordPress connector access, and Web App access across the product.
# Data & Permissions
This page explains what SEOVault AI needs to function, what product permissions are involved, and how those permissions relate to specific features across the Chrome Extension, WordPress connector, and Web App.
SEOVault AI is built for WordPress-focused publishing workflows. Some features work directly inside the browser, some work through the Web App, and some require secure communication with a connected WordPress site.
Each layer has a different role, and each permission exists to support a specific product function.
## Product Components
[](#product-components)
SEOVault AI includes three main components:
* Chrome Extension
* Web App
* WordPress Connector Plugin
These components work together, but they do not all require the same permissions or access.
### Chrome Extension
[](#chrome-extension)
The extension supports in-browser and in-editor workflows such as:
* WordPress side panel access
* draft analysis
* selected text actions
* right-click tools
* screenshot workflows
* note and snippet workflows
### Web App
[](#web-app)
The Web App supports centralized workflows such as:
* multi-site management
* post loading and editing
* draft history
* team workspace
* internal linking and autolinking
* save-to-WordPress actions
### WordPress Connector Plugin
[](#wordpress-connector-plugin)
The connector plugin provides the secure communication layer between the Web App and a connected WordPress website.
It exists so the Web App can:
* connect to a WordPress site
* load posts
* save content back to WordPress
* support site-specific workflows from a central workspace
## Why Permissions Exist
[](#why-permissions-exist)
Permissions are required because the product interacts with:
* browser features
* WordPress admin and editor environments
* selected page content
* screenshots and clipboard workflows
* account-based cloud services
* connected WordPress websites
Without the required permissions, key features would not work.
SEOVault AI uses permissions to support product functionality, not to request unrelated access.
## Chrome Extension Permissions
[](#chrome-extension-permissions)
The Chrome Extension may require browser permissions so it can function as a publishing assistant inside WordPress and across selected browser workflows.
### Side Panel Access
[](#side-panel-access)
Used to open and run the SEOVault AI panel inside supported editing workflows.
Supports:
* side panel interface inside WordPress
* in-editor SEO and writing assistance
* extension-based workflow access while editing
### Page Access on Supported Sites
[](#page-access-on-supported-sites)
Used so the extension can work on supported WordPress pages and respond to the editing environment.
Supports:
* draft analysis
* document outline features
* field interaction
* content injection where supported
* selected-text workflows inside the editor
### Context Menu Access
[](#context-menu-access)
Used for right-click actions.
Supports:
* Save to SEO Snippets
* Capture Screenshot
* text-based quick actions
* page-level workflow shortcuts
### Selected Text / Page Interaction
[](#selected-text--page-interaction)
Used when a feature depends on user-highlighted content.
Supports:
* AI Humanizer on selected text
* citation and link workflows
* selected-text analysis
* snippet saving
* table and formatting workflows based on selected content
### Screenshot / Capture Access
[](#screenshot--capture-access)
Used for browser-based screenshot workflows.
Supports:
* screenshot capture on user request
* 1200x628 screenshot workflow
* fast visual content capture for publishing use
### Clipboard Support
[](#clipboard-support)
Used where copy-based workflows are part of the product flow.
Supports:
* copy-to-clipboard screenshot behavior
* faster transfer of generated or captured output into a post
### Storage Access
[](#storage-access)
Used to keep extension settings and local workflow preferences available.
Supports:
* interface preferences
* local settings persistence
* theme choices such as light or dark mode
### Account / Session Access
[](#account--session-access)
Used to connect the extension to the user’s SEOVault AI account.
Supports:
* login state
* premium feature access
* authenticated use of account-based tools
### Service Communication
[](#service-communication)
Used when the extension runs features powered by SEOVault AI services.
Supports:
* AI generation
* deep analysis workflows
* cloud-backed writing and optimization features
## WordPress Connector Plugin Permissions
[](#wordpress-connector-plugin-permissions)
The WordPress connector plugin exists to support communication between the Web App and a connected WordPress website.
It is a lightweight connector. It is not designed to be a bloated all-in-one SEO feature plugin.
### What the connector is used for
[](#what-the-connector-is-used-for)
The connector supports:
* site connection
* post loading into the Web App
* save-to-WordPress actions
* site-level workflow communication
* multi-site operations through the Web App
### Why the connector is needed
[](#why-the-connector-is-needed)
The Web App runs outside the native WordPress admin screen. Because of that, it needs a secure communication layer to work with a WordPress site.
Without the connector, the Web App cannot function as a centralized WordPress workspace.
### What the connector does not replace
[](#what-the-connector-does-not-replace)
The connector does not replace:
* the WordPress editor
* the Chrome Extension
* standard site administration
* the broader publishing workflow inside WordPress
Its role is connection and communication.
## Web App Access and Permissions
[](#web-app-access-and-permissions)
The Web App uses account-level and connected-site access to provide centralized workflows.
It does not use browser-extension permissions in the same way the extension does. Its permission model is tied more directly to:
* authenticated account access
* connected WordPress site access
* team and workspace permissions
* feature-level workflows inside the application
### Web App access supports
[](#web-app-access-supports)
* connecting sites
* loading posts from connected sites
* editing content in the workspace
* saving drafts back to WordPress
* internal linking and autolinking workflows
* team workspace actions
* draft history and cloud saves
## Team and Workspace Permissions
[](#team-and-workspace-permissions)
Inside the Web App, workspace access can also be role-based.
Depending on the workspace configuration, different users may have different levels of access such as:
* owner
* admin
* editor
* viewer
These roles help control who can manage the workspace and who can participate in content workflows.
Role-based access supports:
* cleaner collaboration
* clearer responsibilities
* safer multi-user workflows
* controlled access across content operations
## What Data Access Supports in Practice
[](#what-data-access-supports-in-practice)
The product’s access and permissions are tied to visible features.
### If a user opens the extension in WordPress
[](#if-a-user-opens-the-extension-in-wordpress)
The extension needs enough access to:
* recognize the page context
* display the side panel
* analyze the draft
* interact with selected content where supported
### If a user uses right-click tools
[](#if-a-user-uses-right-click-tools)
The extension needs context-menu and related interaction permissions.
### If a user captures a screenshot
[](#if-a-user-captures-a-screenshot)
The extension needs capture-related access to complete that request.
### If a user connects a site in the Web App
[](#if-a-user-connects-a-site-in-the-web-app)
The WordPress connector plugin is required so the Web App can communicate with that site.
### If a user saves content back to WordPress
[](#if-a-user-saves-content-back-to-wordpress)
The Web App needs an active connected-site context through the connector plugin.
### If a team uses the Web App together
[](#if-a-team-uses-the-web-app-together)
Workspace roles control who can access and manage shared workflows.
## Product Access by Workflow
[](#product-access-by-workflow)
### Extension-only workflows
[](#extension-only-workflows)
These rely mainly on browser permissions.
Examples:
* side panel access
* selected-text tools
* right-click actions
* screenshot workflows
* SEO Snippets
* in-editor assistance
### Web App-only workflows
[](#web-app-only-workflows)
These rely mainly on authenticated account access and connected-site access.
Examples:
* multi-site management
* team workspace
* draft history
* centralized post editing
* advanced internal linking
* autolinking
### Connector-dependent workflows
[](#connector-dependent-workflows)
These rely on the WordPress connector plugin.
Examples:
* connecting a site to the Web App
* loading site content into the Web App
* save-to-WordPress actions
* central workspace communication with WordPress
## What Permissions Are For
[](#what-permissions-are-for)
Permissions exist to support product features.
They are used so SEOVault AI can:
* function inside the WordPress editor
* respond to user-selected content
* run right-click browser tools
* capture screenshots when requested
* persist settings
* authenticate accounts
* connect Web App workflows to WordPress sites
* support team and multi-site operations
Each permission category maps to a real workflow in the product.
## What Permissions Are Not For
[](#what-permissions-are-not-for)
Permissions are not intended for unrelated access or feature use outside the product workflow.
SEOVault AI is built around a WordPress publishing workflow. Its permissions are tied to that publishing environment, its browser utilities, and its connected-site features.
## Product Transparency
[](#product-transparency)
The Data & Permissions model should remain aligned across:
* the extension’s real permission set
* the published Chrome Web Store listing
* the Privacy Policy
* the WordPress connector documentation
* the public product documentation
This keeps the product easier to understand and easier to trust.
## Summary
[](#summary)
SEOVault AI uses permissions across three layers:
* Chrome Extension permissions for browser-based and in-editor workflows
* WordPress connector access for secure Web App to WordPress communication
* Web App account and workspace access for centralized publishing, multi-site, and team workflows
Each permission exists to support a specific feature path inside the product.
## Related Documentation
[](#related-documentation)
* [Install the Chrome Extension](/docs/install-the-chrome-extension/)
* [Extension Permissions: What SEOVault AI Needs and Why](/docs/extension-permissions-what-seovault-ai-needs-and-why/)
* [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
* [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
* [Team Workspace Guide](/docs/team-workspace-guide/)
---
## Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?
URL: https://seovaultai.com/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo
A feature-by-feature comparison showing how SEOvault AI replaces popular WordPress SEO plugins and how to migrate from them.
# Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?
Yes. SEOvault AI is a complete WordPress SEO plugin that replaces Yoast, Rank Math, AIOSEO, Slim SEO, The SEO Framework, and other standalone SEO plugins. It handles meta tags, schema, sitemaps, social sharing, robots, redirects, 404 monitoring, AI visibility, and more – all without requiring a subscription or external service.
This guide covers what SEOvault AI replaces, what it does differently, and how to switch.
## Feature comparison
[](#feature-comparison)
Feature
SEOvault AI
Yoast
Rank Math
AIOSEO
SEO titles and meta descriptions
Yes
Yes
Yes
Yes
Focus keyword analysis
Yes
Yes (free: 1)
Yes (multiple)
Yes
JSON-LD schema markup
Yes
Yes (premium)
Yes
Yes
XML sitemap
Yes
Yes
Yes
Yes
Open Graph and Twitter/X Cards
Yes
Yes
Yes
Yes
Robots.txt controls
Yes
Yes (premium)
Yes
Yes
404 monitoring
Yes
No
Yes (pro)
Yes (pro)
Redirect manager
Yes
Yes (premium)
Yes (pro)
Yes (pro)
Image SEO (ALT attributes)
Yes
No
Yes (pro)
No
Breadcrumbs
Yes
Yes
Yes
Yes
Local SEO
Yes
Yes (premium)
Yes (pro)
Yes (pro)
WooCommerce SEO
Yes
Yes (premium)
Yes (pro)
Yes (pro)
llms.txt (AI visibility)
Yes
No
No
No
IndexNow
Yes
No
Yes
Yes
SEO Analyzer
Yes
Yes (premium)
Yes
Yes
Content AI
Via web app
Yes (premium)
Yes (pro)
Yes (pro)
Price
Free
Free / $99+ per year
Free / $79+ per year
Free / $49+ per year
SEOvault AI includes features that other plugins charge for – 404 monitoring, redirect management, schema markup, local SEO, and WooCommerce SEO – at no cost.
## What SEOvault AI does differently
[](#what-seovault-ai-does-differently)
### Schema approach
[](#schema-approach)
Other plugins ask you to select from a long list of schema types during setup. SEOvault AI takes a different approach:
* The plugin automatically generates base schema (Organization or Person) from your site identity
* Additional schema types (FAQ, HowTo, Event, Product, etc.) are added per post, per block, or per template – not selected all at once
* Schema health checks validate your markup and flag issues
This means you start with correct, minimal schema and add more as needed, rather than enabling types you may never use.
### AI visibility (llms.txt)
[](#ai-visibility-llmstxt)
SEOvault AI publishes an `llms.txt` file at `yoursite.com/llms.txt` that tells AI crawlers and answer engines about your site. No other major SEO plugin offers this feature.
### No upsells or premium tiers
[](#no-upsells-or-premium-tiers)
The plugin includes all features for free. There is no premium version, no feature gating, and no “upgrade to pro” banners in the admin interface. The optional web app connection adds AI content tools, but the SEO plugin itself is fully featured without it.
### Web app integration
[](#web-app-integration)
SEOvault AI optionally connects to a web app dashboard for AI-powered content generation, bulk management, and multi-site control. Other plugins either have no web app or bundle AI features into premium tiers. SEOvault AI separates the SEO plugin (free, on your site) from the AI content tools (web app, optional).
## How to switch from another SEO plugin
[](#how-to-switch-from-another-seo-plugin)
### Step 1: Install and activate SEOvault AI
[](#step-1-install-and-activate-seovault-ai)
Install the plugin following the [installation guide](/docs/install-and-activate-the-seovault-ai-seo-plugin/). The onboarding wizard detects your existing SEO plugin and offers to import data during setup.
### Step 2: Import your SEO data
[](#step-2-import-your-seo-data)
The onboarding wizard’s Import step detects active SEO plugins and imports global settings. For a full post-by-post import, go to **General Settings > Tools** after completing the wizard.
SEOvault AI supports importing from:
* **Yoast SEO** – titles, descriptions, focus keywords, canonical URLs, robots directives, Open Graph data, term meta
* **Rank Math** – titles, descriptions, focus keywords, canonical URLs, robots directives, Open Graph data, term meta
* **All in One SEO (AIOSEO)** – titles, descriptions, keywords, canonical URLs, robots directives (supports both v3 postmeta and v4+ custom tables)
* **Slim SEO** – titles, descriptions, canonical URLs, robots directives
* **The SEO Framework** – titles, descriptions, canonical URLs, robots directives
* **SEOPress** – titles, descriptions, canonical URLs, robots directives
* **SiteSEO** – titles, descriptions, canonical URLs, robots directives
* **SureRank** – titles, descriptions, canonical URLs, robots directives
* **Squirrly SEO** – per-URL SEO data from the Squirrly custom table
The import maps meta keys from the source plugin to SEOvault AI’s meta keys. Your existing SEO data is preserved – the import reads from the old plugin’s meta fields and writes to SEOvault AI’s fields.
For detailed instructions, see [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/).
### Step 3: Deactivate the old plugin
[](#step-3-deactivate-the-old-plugin)
After importing, deactivate the old SEO plugin from **Plugins > Installed Plugins**. This prevents duplicate meta tags and ensures SEOvault AI is the only plugin outputting SEO tags.
If you prefer to keep both plugins active temporarily, switch SEOvault AI to Disabled mode at **General Settings > Output Mode** until you are ready to deactivate the old plugin.
### Step 4: Verify your output
[](#step-4-verify-your-output)
1. Check the frontend of a few key pages – view the page source and confirm SEOvault AI is outputting the correct title, description, canonical, and schema tags
2. Run the SEO Analyzer at **SEOvault AI > SEO Analyzer** to identify any issues
3. Check the sitemap at `yoursite.com/sitemap.xml`
4. Review schema at **General Settings > Schema**
## Running alongside another SEO plugin
[](#running-alongside-another-seo-plugin)
If you are not ready to switch completely, you can run SEOvault AI alongside another SEO plugin:
1. Keep the other plugin active for frontend output
2. Set SEOvault AI to **Disabled mode** at **General Settings > Output Mode**
3. SEOvault AI stops printing tags but the admin UI, 404 monitor, redirect manager, and REST API remain active
The dashboard will show a warning banner about the detected SEO plugin. This is informational – it reminds you that duplicate tags may appear if both plugins are outputting.
## What you lose by keeping another plugin
[](#what-you-lose-by-keeping-another-plugin)
If you keep another plugin active and set SEOvault AI to Disabled mode, you lose:
* SEOvault AI’s frontend SEO output (meta tags, schema, social tags)
* Automatic schema generation
* llms.txt publishing
* Image SEO (automatic ALT attributes)
* Frontend score badges
* Breadcrumb output
You keep access to:
* The admin meta box for managing SEO data
* 404 monitor and redirect manager
* SEO Analyzer
* Web app connection and REST API
* Import/export tools
## Related docs
[](#related-docs)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
---
## Edit SEO Titles, Meta Descriptions, and Focus Keywords
URL: https://seovaultai.com/docs/edit-seo-titles-meta-descriptions-and-focus-keywords
How to use the SEOvault AI meta box in the WordPress post editor to set SEO titles, meta descriptions, focus keywords, and more.
# Edit SEO Titles, Meta Descriptions, and Focus Keywords
Every post, page, and public custom post type on your site has a SEOvault AI meta box in the WordPress editor. This is where you set the SEO title, meta description, focus keyword, canonical URL, robots directives, and social metadata for each piece of content.
## Where to find the meta box
[](#where-to-find-the-meta-box)
1. Open any post or page in the WordPress editor (Gutenberg or Classic).
2. Scroll below the content area. The meta box is titled **SEOvault AI** and appears in the sidebar (right side) in the block editor, or below the content in the classic editor.
3. If you do not see it, click the **Settings** (gear) icon in the top right and make sure the sidebar is open.
The meta box is added to all public post types except attachments. Other plugins can exclude additional post types via the `seovaultseo_excluded_post_types` filter.
## Meta box fields
[](#meta-box-fields)
### SEO Title
[](#seo-title)
The SEO title is what appears in search engine results and browser tabs. It is separate from your post’s H1 heading.
* **Character counter** shows a live count with ideal min/max ranges (typically 30-60 characters)
* **Placeholder** shows the auto-generated title in Automatic mode, or “Enter your SEO title” in Manual mode
* If you leave this field empty, the plugin uses your title template (e.g., `%title% | %sitename%`) to generate one automatically in Automatic mode
* Manual values always override auto-generated ones
### SEO Description
[](#seo-description)
The meta description is the short summary that appears under your title in search results.
* **Character counter** shows a live count with ideal min/max ranges (typically 120-160 characters)
* **Placeholder** shows the auto-generated description in Automatic mode
* If you leave this field empty, the plugin generates one from your post excerpt or content in Automatic mode
* In Manual mode, posts without a custom description will have no meta description tag output
### Focus Keyword
[](#focus-keyword)
The focus keyword is the primary search term you want this post to rank for. It drives the SEO assessment analysis.
* Enter one primary keyword or phrase
* Click **Get suggestions** to get AI-powered keyword ideas (requires web app connection)
* The assessment checks if the keyword appears in your title, description, URL, content, headings, and meta tags
### Secondary Keywords
[](#secondary-keywords)
Secondary keywords are additional related terms you want the post to target. They appear in an expandable section below the focus keyword field.
* Enter multiple keywords separated by commas
* The assessment checks if secondary keywords appear in your content
* Useful for targeting long-tail variations and related searches
### Canonical URL
[](#canonical-url)
The canonical URL tells search engines which URL is the authoritative version of this page. Use it to prevent duplicate content issues.
* **Placeholder** shows the post’s permalink
* Leave empty to use the default permalink
* Enter a custom URL only if this content is duplicated from another URL or if you want to point search engines to a different canonical source
### Robots Directives
[](#robots-directives)
Two checkboxes control per-post robots directives:
* **Noindex** – adds ` ` to this page. Search engines will not index it
* **Nofollow** – adds ` ` to this page. Search engines will not follow links on it
These override the global robots settings for this specific post.
### Social Metadata (expandable)
[](#social-metadata-expandable)
Click the **Social** section to expand per-post Open Graph and Twitter/X Card fields:
* **Open Graph Title** – overrides the SEO title for social sharing. Falls back to the SEO title if empty
* **Open Graph Description** – overrides the meta description for social sharing. Falls back to the SEO description if empty
* **Open Graph Image** – a specific image for social sharing. Upload or choose from the media library. Falls back to the default social image if empty
* **Twitter/X Card Title** – overrides the OG title for Twitter/X specifically
## SERP Preview
[](#serp-preview)
The meta box includes a live SERP (Search Engine Results Page) preview that shows how your post will appear in Google search results:
* **Title** – shows your custom SEO title, or the auto-generated one if the field is empty
* **URL** – shows the post’s permalink with the domain
* **Description** – shows your custom meta description, or the auto-generated one if empty
The preview updates as you type. Use it to check that your title and description look good before publishing.
## SEO Assessment
[](#seo-assessment)
Below the SERP preview, the meta box shows an SEO assessment score based on your focus keyword:
* **Green** – good optimization. The keyword appears in key locations
* **Orange** – needs improvement. Some key elements are missing the keyword
* **Red** – poor optimization. The keyword is missing from most key elements
The assessment checks:
* Focus keyword in the SEO title
* Focus keyword in the meta description
* Focus keyword in the URL
* Focus keyword in the first paragraph of content
* Focus keyword in headings (H2, H3)
* Content length relative to the focus keyword
* Presence of internal and external links
* Image ALT attributes containing the keyword
The assessment runs live via AJAX as you edit, so you see updates without saving.
## Character guidelines
[](#character-guidelines)
The meta box shows character counters with ideal ranges:
Field
Ideal minimum
Ideal maximum
SEO Title
30
60
SEO Description
120
160
Open Graph Title
30
60
Open Graph Description
120
160
These ranges are based on what Google typically displays in search results. Titles longer than 60 characters and descriptions longer than 160 characters may be truncated.
## Save your changes
[](#save-your-changes)
The meta box saves automatically when you save or publish the post in the WordPress editor. There is no separate “Save SEO” button – all SEO fields are saved as part of the post’s metadata via the `save_post` hook.
The save handler:
* Verifies the nonce for security
* Sanitizes all input values (titles, descriptions, keywords, URLs)
* Stores values in post meta with the `_seovault_` prefix
* Handles secondary keywords, robots directives, social fields, and redirect URL
## Quick Edit support
[](#quick-edit-support)
SEOvault AI also supports Quick Edit in the post list table. When you click **Quick Edit** on a post in the list:
* SEO title and description fields appear inline
* You can update them without opening the full editor
* Changes save when you click **Update**
## Elementor compatibility
[](#elementor-compatibility)
If you use Elementor, the SEOvault AI meta box is replaced by a compact SEO panel inside the Elementor editor. The same fields are available (title, description, focus keyword, canonical, robots, social) but styled to fit the Elementor interface. The standard WordPress meta box is not loaded on Elementor edit screens to avoid duplication.
## Tips for writing good SEO titles and descriptions
[](#tips-for-writing-good-seo-titles-and-descriptions)
* **Include your focus keyword** near the beginning of the title
* **Keep titles under 60 characters** to avoid truncation
* **Write descriptions as action-oriented summaries** – tell the reader what they will get
* **Match search intent** – if the query is informational, your description should promise information
* **Avoid duplicate titles and descriptions** across posts – each page should have unique metadata
* **Use the SERP preview** to check how your snippet looks before publishing
## Related docs
[](#related-docs)
* [Use the SERP Preview and SEO Assessment in the Post Editor](/docs/use-the-serp-preview-and-seo-assessment-in-the-post-editor/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Homepage SEO Settings](/docs/homepage-seo-settings/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
---
## Extension Permissions: What SEOVault AI Needs and Why
URL: https://seovaultai.com/docs/extension-permissions-what-seovault-ai-needs-and-why
Learn why the SEOVault AI Chrome extension requests specific permissions and how each one supports real browser workflows.
# Extension Permissions: What SEOVault AI Needs and Why
When you install a browser extension, permissions matter.
SEOVault AI is built to help WordPress publishers work faster inside the editor and across the web, but some features only work if the extension has the right browser permissions.
This page explains the kinds of permissions the extension may request, why they are needed, and what user-facing features they support.
The goal is simple: be transparent about what the extension needs and why.
## Why Browser Permissions Exist
[](#why-browser-permissions-exist)
Chrome extensions cannot interact with pages, selected text, screenshots, side panels, or right-click actions unless the browser explicitly allows it.
Permissions are not optional from a technical point of view. They are how Chrome controls what an extension can and cannot do.
For SEOVault AI, permissions are used to support features such as:
* opening the side panel inside WordPress
* reading selected text when you choose a feature that depends on it
* helping with right-click actions
* capturing screenshots when you ask for one
* working on supported WordPress admin/editor pages
* saving notes or snippets from user-selected content
* supporting browser-level productivity workflows
## Our Permission Philosophy
[](#our-permission-philosophy)
SEOVault AI should only request permissions that are necessary for real product functionality.
That means:
* permissions should support a clear feature
* permissions should not be requested just in case
* users should be able to understand why a permission exists
* permission use should match the product description, privacy policy, and Chrome Web Store disclosures
This page is written in that spirit.
## Common Permission Categories and Why They Matter
[](#common-permission-categories-and-why-they-matter)
The exact permission list in the final published extension may vary by version, but these are the categories users are most likely to care about.
### 1\. Side Panel / Extension UI Permissions
[](#1-side-panel--extension-ui-permissions)
SEOVault AI opens as a side panel inside supported workflows, especially when working in WordPress.
This supports:
* opening the SEOVault AI interface next to the editor
* keeping the workflow accessible without forcing users into a separate tab
* making in-editor SEO and writing assistance possible
The side panel is one of the core extension experiences. Without the related browser support, the extension cannot behave like a native publishing assistant.
### 2\. Access to Supported Pages
[](#2-access-to-supported-pages)
The extension needs to work on supported WordPress pages and related browser contexts where you actively use its tools.
This supports:
* detecting when you are inside the WordPress editor
* helping analyze the current draft
* reading relevant page context when you trigger a feature
* enabling direct injection or workflow actions in supported pages
If the extension cannot work on the pages where publishing happens, features like draft analysis, section navigation, or content injection cannot function properly.
This does not mean the extension should use page access for unrelated browsing behavior. Access should be tied to real product features and supported contexts.
### 3\. Context Menu / Right-Click Permissions
[](#3-context-menu--right-click-permissions)
SEOVault AI includes right-click features that appear when you select text or interact with a page.
This supports:
* saving selected text to SEO Snippets
* launching special actions from selected page content
* triggering screenshot-related actions
* using quick workflow utilities directly from the page
Without context menu permission, Chrome cannot show those right-click commands.
### 4\. Selected Text / Page Interaction Permissions
[](#4-selected-text--page-interaction-permissions)
Some features depend on the text you highlight or select.
This supports:
* humanizer workflows on selected text
* link and citation helper workflows
* saving selected text to snippets
* word-count or analysis tools for highlighted content
* transforming selected content into Rich Blocks or tables
These features only work because you actively choose content and trigger a tool on it.
### 5\. Screenshot / Capture Permissions
[](#5-screenshot--capture-permissions)
One of the extension’s distinctive features is screenshot capture for publishing workflows.
This supports:
* taking screenshots when the user requests them
* 1200x628 style screenshot workflow for content publishing
* copying screenshot output for fast insertion into a WordPress post
* visual research workflows while browsing
Screenshot features cannot work without the necessary browser-level capture permission.
This permission exists to support a user-triggered action, not passive monitoring.
### 6\. Clipboard-Related Permissions
[](#6-clipboard-related-permissions)
Some workflows involve copying generated or captured content for immediate use.
This supports:
* copying screenshot output
* supporting fast content transfer into the editor
* reducing manual save-and-reopen steps
* streamlining publishing actions the user directly requested
Clipboard support makes the workflow faster and more practical for live publishing.
### 7\. Storage Permissions
[](#7-storage-permissions)
The extension may need local storage support for settings and user experience preferences.
This supports:
* theme preferences such as light or dark mode
* extension state or configuration
* user convenience settings
* local workflow persistence where applicable
Without storage support, the extension may lose useful settings and feel less stable between sessions.
### 8\. Authentication / Session Permissions
[](#8-authentication--session-permissions)
The extension needs to know when you are signed in and whether your account is authorized to use premium features.
This supports:
* account login state
* access to your SEOVault AI subscription features
* secure session-based use of premium tools
* connection between the extension and your account
Without account and session handling, paid or account-specific features would not work reliably.
### 9\. Communication with SEOVault AI Services
[](#9-communication-with-seovault-ai-services)
Some features rely on cloud-based AI or supporting backend services.
This supports:
* article generation
* deep analysis
* TL;DR generation
* FAQ generation
* account-linked workflows
* premium feature delivery
Some functionality is powered in the cloud rather than fully inside the browser.
That means the extension needs to communicate with SEOVault AI services when you deliberately run those features.
### 10\. WordPress Workflow Interaction
[](#10-wordpress-workflow-interaction)
SEOVault AI is built around WordPress publishing, so some permissions are functionally tied to working inside the WordPress editor.
This supports:
* draft analysis
* section navigation
* direct injection into supported fields
* reading article structure for document outline features
* working as a publishing assistant rather than a generic browser widget
This is part of what makes the extension WordPress-focused.
## What Permissions Are Not For
[](#what-permissions-are-not-for)
Permissions should not be interpreted as permission to do unrelated activity.
SEOVault AI permissions are meant to support user-requested features such as:
* helping with drafts
* responding to selected text
* running right-click actions
* capturing screenshots on request
* supporting browser-based publishing tasks
They are not there to justify unrelated background behavior that has no clear connection to the product.
That distinction matters for trust and for Chrome Web Store compliance.
## Why the Extension Needs More Than a Website
[](#why-the-extension-needs-more-than-a-website)
A normal website cannot do many of the things the extension does.
For example, a normal website cannot easily:
* live inside the WordPress editor as a side panel
* add right-click menu actions to pages
* capture screenshots directly from browser activity
* react to selected page text in the same way
* support certain in-browser productivity flows
That is why extension permissions exist in the first place. They unlock browser-native workflows that a normal web app alone cannot provide.
## Why Some Users Ask About Permissions
[](#why-some-users-ask-about-permissions)
This is a good question to ask.
Users usually care about permissions because they want to understand:
* what the extension can access
* whether the request is reasonable
* whether the permission matches the advertised feature set
* whether the product is being transparent
That is exactly why this documentation page should exist.
It helps reduce confusion and makes the product easier to trust.
## How to Evaluate Whether a Permission Makes Sense
[](#how-to-evaluate-whether-a-permission-makes-sense)
A simple user-friendly rule is:
Can I clearly connect this permission to a visible feature I actually use?
For SEOVault AI, that answer should be yes.
Examples:
* screenshot permission -> screenshot capture feature
* context menu permission -> right-click actions
* page interaction permission -> selected text tools and WordPress editor workflows
* storage permission -> saved settings and extension preferences
* service communication -> AI features and account-linked workflows
If the reason is not understandable, the permission explanation should be improved.
## Tabs and activeTab Permissions
[](#tabs-and-activetab-permissions)
The tabs and activeTab permissions are often confused, but they do different jobs.
### Why both exist
[](#why-both-exist)
* activeTab gives temporary access to the currently active tab when the user explicitly invokes the extension.
* tabs gives persistent access to tab metadata and lets the extension query tabs by URL pattern across windows.
These permissions are not duplicates. They solve different workflow problems.
### Why tabs is useful
[](#why-tabs-is-useful)
SEOVault AI can use tabs to:
* query tabs by URL across all windows
* read the URL of a specific tab by ID
* reload tabs by URL pattern
That helps the extension find and manage WordPress tabs even when they are not the currently active tab.
### Why activeTab is useful
[](#why-activetab-is-useful)
SEOVault AI can use activeTab for user-triggered capture workflows such as screenshot capture on the currently focused page.
That is a privacy-friendly approach because it avoids asking for broader persistent access when a temporary permission is enough.
## Final Takeaway
[](#final-takeaway)
Permissions are a normal and necessary part of how Chrome extensions work.
For SEOVault AI, they exist to support real publishing features such as:
* WordPress editor assistance
* right-click tools
* selected text workflows
* screenshot capture
* settings persistence
* account-linked AI features
The best standard is simple:
SEOVault AI should only ask for permissions that clearly support the product’s real workflow, and each permission should be explainable in plain language.
That is better for trust, better for support, and better for review compliance.
## Related Pages
[](#related-pages)
After this page, users may also want to read:
1. [Install the Chrome Extension](/docs/install-the-chrome-extension/)
2. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
3. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
4. [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
5. [Multi-Site Management Guide](/docs/multi-site-management-guide/)
## Need Help?
[](#need-help)
If you are reviewing the extension and want the exact live permission set, check:
* the Chrome Web Store listing
* the current extension permission prompts
* the Privacy Policy
* any updated SEOVault AI documentation tied to the published version
If you want, SEOVault AI can also provide a permission-by-permission explanation once the final published manifest is locked.
---
## Extension vs Web App: Which Workflow Should You Use?
URL: https://seovaultai.com/docs/extension-vs-web-app-which-workflow-should-you-use
Compare the SEOVault AI Chrome Extension and Web App so you can choose the workflow that fits how you publish.
# Extension vs Web App: Which Workflow Should You Use?
SEOVault AI gives you two powerful ways to work:
* the Chrome Extension
* the Web App
They are not competing products. They are two parts of the same WordPress publishing system.
The best choice depends on how you work, how many sites you manage, and whether you want fast in-editor help or a more centralized content command center.
This guide will help you understand the difference and choose the workflow that fits you best.
## The Simple Answer
[](#the-simple-answer)
Choose the Chrome Extension if you want:
* fast SEO help directly inside WordPress
* fewer steps while editing a live draft
* no heavy SEO plugin workflow
* browser-level tools like screenshot capture, snippets, and right-click utilities
* a lightweight, hands-on publishing flow
Choose the Web App if you want:
* a centralized workspace outside WordPress
* multi-site content management
* advanced internal linking and autolinking
* cloud history and saved drafts
* team collaboration and shared workspaces
* a command-center style workflow for scaling content
Many users will get the most value from using both.
## What the Chrome Extension Is Best At
[](#what-the-chrome-extension-is-best-at)
The Chrome Extension is ideal for writers, editors, solo publishers, and WordPress users who want to work directly in the native editor.
It opens as a side panel inside WordPress and helps you improve content without stuffing your site with extra feature-heavy plugins.
### Best for:
[](#best-for)
* in-editor optimization
* quick draft analysis
* title, meta, TL;DR, and FAQ generation
* direct injection into the post
* fast manual editing
* research while browsing
* note-taking and snippet saving
* screenshot capture from the web
* users who prefer to stay inside WordPress
### Strong extension-specific advantages:
[](#strong-extension-specific-advantages)
* Zen Mode for a more focused writing environment
* right-click tools for screenshots, word counts, and saving snippets
* SEO Snippets notepad for ongoing research
* very fast draft-by-draft workflow
* no need for a heavy SEO plugin just to get core assistance
### Best fit for:
[](#best-fit-for)
* solo bloggers
* affiliate publishers
* niche site operators
* writers who live in the WordPress editor
* users who want the fastest possible hands-on workflow
## What the Web App Is Best At
[](#what-the-web-app-is-best-at)
The Web App is ideal for users who want more control, more scale, and more structure around the publishing workflow.
Instead of working only inside the WordPress editor, the Web App gives you a centralized dashboard where you can manage sites, posts, drafts, linking, collaboration, and content operations.
### Best for:
[](#best-for-1)
* managing more than one WordPress site
* opening and editing posts from one dashboard
* advanced internal linking workflows
* autolinking across many posts
* cloud-saved history
* team roles and collaboration
* content operations at scale
* switching between sites without constantly logging around WordPress
### Strong web app-specific advantages:
[](#strong-web-app-specific-advantages)
* multi-site management
* team workspaces
* draft history and cloud saves
* advanced internal links
* autolinking with AI rewrite support
* centralized dashboard for content workflow
* ability to fetch and manage posts from connected sites
### Best fit for:
[](#best-fit-for-1)
* agencies
* multi-site publishers
* content teams
* editors managing multiple writers
* businesses that need more structured publishing operations
## What Both Workflows Share
[](#what-both-workflows-share)
A large part of SEOVault AI is shared across both the Extension and the Web App.
That means you are not choosing between a good version and a real version. You are choosing the way you want to work.
Both workflows support core capabilities like:
* SEO draft analysis
* title and meta suggestions
* focus keyword suggestions
* TL;DR generation
* table of contents generation
* AI FAQ generation
* AI humanizer tools
* DAC and deep analysis
* article creation
* Pain Point Explorer
* Basic Writer
* Ultra Writer
* rewrite existing article presets
* rich blocks and pretty tables
* sitemap-based content support
* WordPress-focused publishing assistance
The difference is mostly in workflow depth, workspace structure, and exclusive convenience features.
## The Biggest Difference: Where You Work
[](#the-biggest-difference-where-you-work)
This is the most important distinction.
### With the Extension
[](#with-the-extension)
You work inside WordPress.
The assistant comes to you in the editor, in the browser, and while you browse the web.
This is excellent for speed and focus.
### With the Web App
[](#with-the-web-app)
You work from a centralized publishing workspace.
WordPress becomes the connected system in the background, while SEOVault AI becomes the main command center.
This is excellent for scale and organization.
If your biggest pain is “I hate switching between tools while editing,” the Extension will probably feel best first.
If your biggest pain is “I manage too much content across too many sites,” the Web App will probably feel best first.
## Does the Web App Need a WordPress Plugin?
[](#does-the-web-app-need-a-wordpress-plugin)
Yes. The Web App uses a lightweight connector plugin.
That connector handles secure communication between your WordPress site and the Web App so features like post loading, saving, multi-site management, and advanced workflows can function properly.
This is not the same as installing a bloated all-in-one SEO plugin.
The connector is lightweight and purpose-built for communication.
### Important distinction:
[](#important-distinction)
* Extension: no heavy plugin required for the core workflow
* Web App: lightweight connector plugin required for secure site connection
If avoiding plugin bloat is one of your biggest concerns, the Extension is the most direct answer. If you want centralized control and advanced workflow power, the lightweight connector makes the Web App possible.
## Which Workflow Should You Start With?
[](#which-workflow-should-you-start-with)
Here is the simplest recommendation.
### Start with the Chrome Extension if:
[](#start-with-the-chrome-extension-if)
* you are a solo user
* you mainly work on one WordPress site
* you want to improve drafts directly in the editor
* you want the fastest possible setup
* you care a lot about avoiding plugin bloat
* you want browser productivity tools too
### Start with the Web App if:
[](#start-with-the-web-app-if)
* you manage multiple WordPress sites
* you want a cleaner content operations dashboard
* you need advanced internal linking features
* you want team collaboration
* you want saved history and workspace-level organization
* you treat publishing like a system, not just a draft-by-draft activity
### Use both if:
[](#use-both-if)
* you want the best of both worlds
* you write directly in WordPress but also manage larger publishing operations
* you want extension speed and web app scale together
For many serious publishers, the combined workflow is the strongest setup.
## Recommended Use Cases
[](#recommended-use-cases)
### Use case 1: Solo blogger
[](#use-case-1-solo-blogger)
You publish on one site and want to move faster inside WordPress.
Best choice: Start with the Extension
### Use case 2: Affiliate or niche site operator
[](#use-case-2-affiliate-or-niche-site-operator)
You manage one or more sites, refresh old content often, and care about internal linking.
Best choice: Extension first, then add the Web App if scale increases
### Use case 3: Agency or portfolio operator
[](#use-case-3-agency-or-portfolio-operator)
You manage multiple WordPress installs and need more centralized control.
Best choice: Web App, with Extension support for hands-on editing
### Use case 4: Content team
[](#use-case-4-content-team)
You want shared workflows, team roles, saved drafts, and better scaling.
Best choice: Web App
### Use case 5: Research-heavy publisher
[](#use-case-5-research-heavy-publisher)
You spend a lot of time gathering examples, citations, snippets, and screenshots while writing.
Best choice: Extension
## Feature Comparison at a Glance
[](#feature-comparison-at-a-glance)
### Chrome Extension
[](#chrome-extension)
* works inside WordPress
* opens as a side panel
* includes Zen Mode
* supports right-click screenshot and text tools
* includes SEO Snippets
* best for fast manual editing
* best for in-editor work
* no heavy plugin required for core workflow
### Web App
[](#web-app)
* works from a central dashboard
* supports multiple connected WordPress sites
* includes team workspace features
* includes draft history
* includes advanced internal links
* includes autolinking workflows
* saves directly back to WordPress through the connector
* best for scale, structure, and operations
### Shared Core
[](#shared-core)
* SEO helper tools
* DAC and deep analysis
* title and meta generation
* TL;DR generation
* FAQ generation
* Ultra Writer
* rewrite existing article
* rich blocks
* WordPress-focused workflow
## Our Practical Recommendation
[](#our-practical-recommendation)
If you are new to SEOVault AI, the easiest path is:
1. start with the workflow that matches how you already work
2. learn the shared core features first
3. add the other workflow when you need more speed or more scale
That usually means:
* start with the Extension if you are editor-first
* start with the Web App if you are operations-first
* combine both if you want the full system
## Final Verdict
[](#final-verdict)
There is no universal winner between the Extension and the Web App.
The right answer depends on whether your main need is:
* speed inside WordPress
* control across your publishing system
Choose the Extension for direct, lightweight, in-editor execution. Choose the Web App for centralized, scalable publishing operations. Use both if you want the strongest overall SEOVault AI workflow.
## Next Recommended Guides
[](#next-recommended-guides)
After this guide, read:
1. [Install the Chrome Extension](/docs/install-the-chrome-extension/)
2. [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
3. [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/)
4. Internal Linking and Autolinking Guide
5. Ultra Writer Guide
## Need Help Choosing?
[](#need-help-choosing)
If you are still unsure which workflow fits you best, start with the one that matches your current habit.
You can always expand into the other one later without relearning the entire product, because the core SEOVault AI workflow is shared across both.
---
## Feed and oEmbed SEO Improvements
URL: https://seovaultai.com/docs/feed-and-oembed-seo-improvements
Configure RSS feed optimizations and oEmbed response enhancements for better SEO and content control.
# Feed and oEmbed SEO Improvements
SEOVault AI provides optional optimizations for RSS feeds and oEmbed responses, giving you control over how your content appears in feed readers and when embedded on other sites.
## RSS feed optimizations
[](#rss-feed-optimizations)
RSS feeds can be optimized to prevent duplicate content issues, drive traffic back to your site, and control indexing behavior.
### Feed noindex header
[](#feed-noindex-header)
Prevent search engines from indexing your RSS feeds by adding the `X-Robots-Tag: noindex, nofollow` header. This prevents feed URLs from appearing in search results and avoids duplicate content issues.
**To enable:**
1. Go to **SEOvault AI > General > Feed**
2. Check **Add noindex header to feeds**
3. Click **Save Changes**
This is recommended for most sites since feeds are not meant to be indexed as standalone content.
### Feed excerpting
[](#feed-excerpting)
Automatically truncate full post content in feeds to a configurable character limit. This encourages readers to visit your site for the full content and protects your content from being scraped.
**To enable:**
1. Go to **SEOvault AI > General > Feed**
2. Check **Excerpt feed content**
3. Set the excerpt length (default: 400 characters)
4. Click **Save Changes**
The excerpt:
* Strips HTML tags and shortcodes
* Removes excessive whitespace
* Truncates at word boundaries
* Appends “…” to indicate truncated content
### Source backlink
[](#source-backlink)
Automatically append a nofollow source link to the end of each feed item. This drives traffic back to your site and provides proper attribution when content is syndicated.
**To enable:**
1. Go to **SEOvault AI > General > Feed**
2. Check **Add source link to feeds**
3. Click **Save Changes**
The link format:
```
Source
```
You can customize the link text using the `seovaultseo_feed_source_link_text` filter.
### When to use feed optimizations
[](#when-to-use-feed-optimizations)
**Enable feed excerpting and source links if:**
* You want to protect your content from scrapers
* You want to drive traffic from feed readers to your site
* Your posts are long and full content in feeds is overwhelming
**Keep full content in feeds if:**
* You publish short posts (under 400 characters)
* Your audience reads primarily via email subscriptions
* You want full content available in feed readers
## oEmbed improvements
[](#oembed-improvements)
oEmbed allows your content to be embedded on other sites (like when pasting a URL into WordPress, Slack, or social media). SEOvault AI can enhance these embeds with your SEO metadata.
### Use SEO title for oEmbed
[](#use-seo-title-for-oembed)
Replace the default post title in oEmbed responses with your custom SEO title or Open Graph title. This ensures consistent branding across embeds.
**To enable:**
1. Go to **SEOvault AI > General > oEmbed**
2. Check **Use SEO/OG title for oEmbed title**
3. Click **Save Changes**
The plugin uses:
* Open Graph title if OG is enabled and set
* SEO title if OG is disabled or not set
* Falls back to post title if neither is set
### Use social image for oEmbed thumbnails
[](#use-social-image-for-oembed-thumbnails)
Replace the default post thumbnail in oEmbed responses with your configured Open Graph image. This ensures your chosen social image appears in embeds.
**To enable:**
1. Go to **SEOvault AI > General > oEmbed**
2. Check **Use social image for oEmbed thumbnails**
3. Click **Save Changes**
The plugin uses:
* Featured image if set
* Open Graph image if configured
* Falls back to WordPress default behavior if neither is set
### Remove author from oEmbed
[](#remove-author-from-oembed)
Remove author name and author URL from oEmbed responses. This is useful for sites with multiple authors or when author attribution is not relevant for embeds.
**To enable:**
1. Go to **SEOvault AI > General > oEmbed**
2. Check **Remove author info from oEmbed**
3. Click **Save Changes**
This removes both `author_name` and `author_url` from the oEmbed response.
## oEmbed response data
[](#oembed-response-data)
When enabled, the oEmbed improvements modify the following fields in the oEmbed response:
* `title` — Post title (uses SEO/OG title if enabled)
* `thumbnail_url` — Image URL (uses social image if enabled)
* `thumbnail_width` — Image width
* `thumbnail_height` — Image height
* `author_name` — Author name (removed if enabled)
* `author_url` — Author URL (removed if enabled)
## Filters
[](#filters)
Developers can customize feed and oEmbed behavior using filters:
### Feed excerpt length
[](#feed-excerpt-length)
```
add_filter( 'seovaultseo_feed_excerpt_length', function( $length ) { return 500; // Custom excerpt length} );
```
### Source link text
[](#source-link-text)
```
add_filter( 'seovaultseo_feed_source_link_text', function( $text ) { return 'Read more'; // Custom link text} );
```
## Testing feed changes
[](#testing-feed-changes)
After enabling feed optimizations:
1. Visit your feed URL (typically `/feed/` or `/?feed=rss2`)
2. Check response headers for `X-Robots-Tag: noindex, nofollow`
3. Verify content is excerpted if enabled
4. Confirm source link appears at the end of items
## Testing oEmbed changes
[](#testing-oembed-changes)
After enabling oEmbed improvements:
1. Use an oEmbed discovery tool or the WordPress oEmbed endpoint
2. Check that the response includes your SEO title
3. Verify the thumbnail uses your social image
4. Confirm author info is removed if enabled
## Related docs
[](#related-docs)
* [Open Graph and Twitter Card Setup](/docs/open-graph-and-twitter-card-setup/)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
---
## Getting Started with SEOVault AI
URL: https://seovaultai.com/docs/getting-started-with-seovault-ai
A first-run guide for choosing your workflow, connecting WordPress, and using SEOVault AI effectively.
# Getting Started with SEOVault AI
Welcome to SEOVault AI, the WordPress publishing assistant built to help you write, optimize, interlink, and publish faster without adding heavy plugin bloat to your site.
SEOVault AI is designed for WordPress publishers, niche site operators, agencies, and teams managing one or more websites. You can use it in two ways:
* Chrome Extension: ideal if you prefer working directly inside the native WordPress editor
* Web App: ideal if you want a centralized workspace for multi-site publishing, advanced linking, collaboration, and saved history
Both products share most of the core writing and SEO workflow, but each has its own strengths.
## Who SEOVault AI Is For
[](#who-seovault-ai-is-for)
SEOVault AI is a strong fit if you:
* publish content regularly on WordPress
* want to reduce time spent switching between tools
* do not want to overload WordPress with bulky SEO plugins
* manage multiple articles, categories, or websites
* want help with SEO structure, article generation, rewrites, internal linking, and rich content blocks
## What You Can Do with SEOVault AI
[](#what-you-can-do-with-seovault-ai)
Depending on whether you use the extension, the web app, or both, SEOVault AI can help you:
* analyze WordPress drafts for SEO and content quality
* generate SEO titles, meta descriptions, focus keywords, and related terms
* create TL;DR sections, FAQs, and table of contents blocks
* humanize selected text
* generate long-form articles with presets and brand voice controls
* rewrite old or underperforming articles
* run deeper competitive and content gap analysis
* build internal links more efficiently
* create rich tables, comparison sliders, and other visual content blocks
* manage multiple WordPress sites from one place
* collaborate with editors or team members in a shared workspace
## Choose Your Workflow
[](#choose-your-workflow)
SEOVault AI supports two main ways of working. You can start with one and add the other later.
## Option 1: Use the Chrome Extension
[](#option-1-use-the-chrome-extension)
The SEOVault AI Chrome Extension is the fastest way to work directly inside WordPress.
It opens as a side panel in the editor and helps you optimize drafts without installing a heavy SEO plugin just to get publishing assistance.
Best for:
* solo writers
* editors working directly in WordPress
* fast draft optimization
* in-editor generation and direct content injection
* right-click utilities such as screenshot capture and research saving
### Extension highlights
[](#extension-highlights)
* side-panel workflow inside WordPress
* Zen Mode for distraction-free editing
* draft analysis and optimization suggestions
* direct injection into the post editor
* FAQ, TL;DR, and TOC generation
* humanizer tools
* rich blocks and pretty tables
* SEO Snippets notepad
* right-click screenshot and research tools
## Option 2: Use the Web App
[](#option-2-use-the-web-app)
The SEOVault AI Web App gives you a centralized publishing workspace.
It requires a lightweight WordPress Connector plugin so the app can securely communicate with your site, load posts, and publish changes.
Best for:
* multi-site users
* agencies and content teams
* advanced internal linking workflows
* saved article history and cloud-based work
* collaboration and workspace features
### Web app highlights
[](#web-app-highlights)
* manage more than one WordPress site from one dashboard
* browse posts from a left-side content panel
* edit and save directly to WordPress
* access document outline tools
* use advanced internal linking and autolinking
* save generated history to the cloud
* invite team members into a shared workspace
## Recommended First-Time Setup
[](#recommended-first-time-setup)
For the smoothest start, follow this order.
### 1\. Create your SEOVault AI account
[](#1-create-your-seovault-ai-account)
Sign up for your account and confirm you can log in successfully.
### 2\. Decide how you want to work
[](#2-decide-how-you-want-to-work)
Choose one of these paths:
* extension-first if you mainly work inside the WordPress editor
* web app-first if you want a centralized dashboard, multiple sites, or team features
* both if you want the extension’s speed and the web app’s broader workflow tools
### 3\. Connect your WordPress environment
[](#3-connect-your-wordpress-environment)
* For the Chrome Extension, configure your WordPress site connection from inside the extension interface.
* For the Web App, install the WordPress Connector plugin and connect your site securely.
If you are using the web app, read the connector guide next: [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/).
### 4\. Add your first focus keyword
[](#4-add-your-first-focus-keyword)
Most analysis and generation tools work best when you enter a clear focus keyword.
This helps SEOVault AI:
* evaluate keyword placement
* build TL;DR content
* generate title and meta suggestions
* guide deep analysis and article writing
### 5\. Run your first analysis
[](#5-run-your-first-analysis)
Open a draft and use the analysis tools to review:
* SEO structure
* readability signals
* TL;DR coverage
* E-E-A-T indicators
* keyword placement
* content depth and internal links
### 6\. Generate your first improvement
[](#6-generate-your-first-improvement)
A good starting point is one of these:
* generate SEO title suggestions
* create a TL;DR section
* add an FAQ block
* build a table of contents
* rewrite a selected paragraph with the humanizer
### 7\. Try a full article workflow
[](#7-try-a-full-article-workflow)
Once you are comfortable, move to:
* Basic Writer for a straightforward long-form draft
* Ultra Writer for more control over format, audience, tone, presets, and brand voice
## Your First Recommended Workflow
[](#your-first-recommended-workflow)
If you are new to the platform, here is the easiest way to see value quickly.
### For extension users
[](#for-extension-users)
1. Open a draft in WordPress.
2. Launch the SEOVault AI side panel.
3. Enter a focus keyword.
4. Run draft analysis.
5. Generate title and meta suggestions.
6. Add a TL;DR and FAQ block.
7. Inject improvements directly into the draft.
8. Use Zen Mode if you want a cleaner editing experience.
### For web app users
[](#for-web-app-users)
1. Install the WordPress Connector plugin.
2. Connect your site in the SEOVault AI web app.
3. Open a post from the left panel or create a new draft.
4. Run analysis and outline review.
5. Use writing or rewrite tools.
6. Add internal links or preview autolinking suggestions.
7. Save changes back to WordPress.
## Understanding Credits
[](#understanding-credits)
Some AI-powered features consume credits.
Typical examples include:
* TL;DR generation
* FAQ generation
* table of contents generation
* humanizer runs
* article generation
* advanced research or deep analysis features
Your exact available credits depend on your plan.
If you are unsure, visit the pricing page or your account area to review your current credit limits.
## Extension and Web App: Which Should You Use?
[](#extension-and-web-app-which-should-you-use)
Use the extension if you want:
* the fastest path inside WordPress
* minimal friction during editing
* direct in-editor injection
* right-click research tools
* SEO Snippets notepad
Use the web app if you want:
* multi-site control
* team collaboration
* article history in the cloud
* advanced internal linking and autolinking
* a central place to manage publishing workflows
Use both if you want the most complete workflow.
A common pattern is:
* use the web app for centralized planning, article generation, linking, and publishing management
* use the extension for quick in-editor refinement and direct draft work
## Recommended Next Steps
[](#recommended-next-steps)
After this guide, the best docs to read next are:
1. Install the Chrome Extension
2. Install the WordPress Connector Plugin
3. Connect Your First WordPress Site
4. Extension vs Web App: Which Workflow Should You Use?
5. How Credits Work
6. Ultra Writer Guide
## Common Beginner Questions
[](#common-beginner-questions)
### Do I need to install a heavy SEO plugin?
[](#do-i-need-to-install-a-heavy-seo-plugin)
No. One of the main goals of SEOVault AI is to reduce unnecessary WordPress bloat.
The extension is designed to assist directly inside WordPress without requiring a large SEO plugin just for workflow support.
The web app uses a lightweight connector plugin for communication and publishing.
### Can I use SEOVault AI with more than one WordPress site?
[](#can-i-use-seovault-ai-with-more-than-one-wordpress-site)
Yes. Multi-site support is one of the major strengths of the web app.
### Can I rewrite old articles instead of writing new ones?
[](#can-i-rewrite-old-articles-instead-of-writing-new-ones)
Yes. SEOVault AI includes rewrite workflows specifically for updating old or underperforming content.
### Can I keep my brand voice consistent?
[](#can-i-keep-my-brand-voice-consistent)
Yes. You can use the Brand Kit and article examples to shape output around your tone and style.
### Is SEOVault AI just for article generation?
[](#is-seovault-ai-just-for-article-generation)
No. It is built for the broader WordPress publishing workflow, including analysis, generation, refresh, formatting, linking, and publication.
## Need Help?
[](#need-help)
If you run into setup issues, check the documentation section for:
* connector setup
* extension installation
* WordPress connection troubleshooting
* compatibility guidance
* credits and plan usage
You can also use the in-product Report a Bug option if something is not working as expected.
---
## Getting Started with the SEOvault AI WordPress Plugin
URL: https://seovaultai.com/docs/getting-started-with-the-seovault-ai-wordpress-plugin
A first-run guide for installing, configuring, and understanding the SEOvault AI WordPress SEO plugin.
# Getting Started with the SEOvault AI WordPress Plugin
SEOvault AI is a full WordPress SEO plugin that handles meta tags, schema markup, sitemaps, social sharing tags, AI visibility, 404 monitoring, redirects, and more. It works on its own without any external service, and optionally connects to the SEOvault AI web app for AI-assisted content workflows.
This guide covers what the plugin does, how to get it running, and where to go next.
## What SEOvault AI does
[](#what-seovault-ai-does)
Once activated, the plugin takes over WordPress SEO output:
* **SEO titles and meta descriptions** – automatic generation or manual control per post
* **Schema markup** – JSON-LD structured data with schema health checks
* **XML sitemaps** – integrates with WordPress core sitemaps, noindex-aware
* **Open Graph and Twitter/X Cards** – social sharing metadata
* **llms.txt** – publish an AI visibility file for crawlers and answer engines
* **Robots.txt controls** – policy-based robots management
* **404 monitoring and redirects** – track missing URLs and create 301/302 redirects
* **Image SEO** – automatic ALT and title attributes
* **Breadcrumbs** – shortcode and theme integration
* **Local SEO** – business information and local schema
* **WooCommerce SEO** – product SEO and product schema
* **SEO Analyzer** – site-wide SEO analysis from the admin dashboard
* **IndexNow** – instant indexing notifications to Bing and other search engines
* **Web app connection** – secure REST API connection to the SEOvault AI web app
The plugin runs entirely on your WordPress site. Connecting to the web app is optional and adds AI-powered content tools, bulk actions, and advanced reports.
## Three products, one ecosystem
[](#three-products-one-ecosystem)
SEOvault AI ships as three separate products. Understanding the difference helps you choose the right setup:
* **SEOvault AI WordPress Plugin** (this one) – a full SEO plugin installed on your WordPress site. Handles all on-site SEO output. Works standalone.
* **Chrome Extension** – a side panel for in-editor WordPress work. Does not require the plugin. Good for solo writers who want AI assistance inside the block editor.
* **Web App** – a centralized publishing workspace for multi-site management, team collaboration, and advanced content workflows. Uses a separate lightweight connector plugin for communication. The full SEO plugin can also connect to the web app using its built-in REST API.
You can use the plugin alone, the extension alone, the web app alone, or any combination.
## Install the plugin
[](#install-the-plugin)
### Requirements
[](#requirements)
* WordPress 5.9 or higher
* PHP 7.4 or higher
* Administrator access to your WordPress site
### Installation
[](#installation)
1. Download the SEOvault AI plugin ZIP file.
2. Log in to your WordPress admin area.
3. Go to **Plugins > Add New Plugin**.
4. Click **Upload Plugin** and select the ZIP file.
5. Click **Install Now**, then **Activate Plugin**.
After activation, WordPress redirects you to the onboarding wizard automatically.
For detailed installation steps, see [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/).
## Complete the onboarding wizard
[](#complete-the-onboarding-wizard)
The onboarding wizard runs automatically on first activation. It walks you through seven steps:
1. **Welcome** – introduction and schema overview
2. **SEO Mode** – choose Automatic or Manual mode
3. **Site Identity** – set your site type, publisher identity (Organization or Person), name, logo, and default social image
4. **SEO Settings** – confirm homepage title, meta description, output mode, social templates, and robots defaults
5. **Import** – import SEO data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework if detected
6. **Connect** – optionally connect to the SEOvault AI web app using your site key
7. **Finish** – summary of your configuration
You can skip the wizard at any time and configure everything later from the plugin settings. Skipping marks onboarding as complete and takes you to the dashboard.
To re-run the wizard later, go to **SEOvault AI > Onboarding** in the admin sidebar.
## Understand the admin interface
[](#understand-the-admin-interface)
SEOvault AI adds a top-level menu to your WordPress admin sidebar with the following submenus:
### Dashboard
[](#dashboard)
The main dashboard shows a status strip with three key signals:
* **Connection** – whether the web app is connected (Connected or Waiting)
* **Output Mode** – current mode (Autopilot, Manual, or Disabled)
* **llms.txt** – whether AI visibility file publishing is enabled
Below the status strip, you will find:
* **Content Overview** – post count with SEO meta, detected SEO plugin conflicts, and plugin version
* **Site Key** – your site key for web app connection, with copy and reveal controls
* **Quick Links** – shortcuts to General Settings, llms.txt, Schema, Import/Export, Status, SEO Analyzer, and Sitemap
If another SEO plugin (Yoast, Rank Math, AIOSEO) is active, a warning banner appears at the top advising you to deactivate it or switch SEOvault AI to Disabled mode to avoid duplicate meta tags.
### General Settings
[](#general-settings)
The General Settings page is a tabbed interface with vertical tabs on the left. The tabs are:
* **Connection** – web app connection status and site key
* **Security** – rate limiting, CORS, audit logs, scoped API keys
* **Output Mode** – Automatic, Manual, or Disabled
* **Robots** – robots.txt policy controls
* **llms.txt** – AI visibility file content and publishing
* **Homepage** – homepage SEO title and description
* **Templates** – title and description templates with replace variables
* **Schema** – global schema settings and schema templates
* **Social** – Open Graph and Twitter/X Card defaults
* **Breadcrumbs** – breadcrumb settings and shortcode
* **404 Monitor** – 404 log table and fallback behavior settings
* **Redirects** – redirect manager for 301 and 302 rules
* **Image SEO** – automatic ALT and title attribute settings
* **Local SEO** – business information and local schema
* **Frontend Score** – SEO score badge display and shortcode
* **WooCommerce** – product SEO settings (visible when WooCommerce is active)
* **Analytics** – tracking code injection (Google Analytics, etc.)
* **IndexNow** – instant indexing notification settings
* **Sitemap** – sitemap integration settings
* **Tools** – import, export, and maintenance actions
### SEO Analyzer
[](#seo-analyzer)
A site-wide SEO analysis tool that scans your content and reports issues. Access it at **SEOvault AI > SEO Analyzer**.
### Status
[](#status)
A status page showing connection details, output mode, and site health signals. Access it at **SEOvault AI > Status**.
## Choose your SEO mode
[](#choose-your-seo-mode)
SEOvault AI offers three output modes that control how the plugin manages SEO output:
* **Automatic (Autopilot)** – the plugin generates and manages SEO titles, meta descriptions, schema, and other output automatically. Best for most sites. You can still override any field manually per post.
* **Manual** – the plugin outputs only the title tag by default. You control everything else manually per post. Best for users who want hands-on control of every field.
* **Disabled** – the plugin does not output any SEO meta tags. Use this when another SEO plugin or custom code handles output. The plugin still provides the admin UI for managing SEO data, but does not print tags to the frontend.
You can change the output mode at any time from **General Settings > Output Mode**.
For a detailed explanation, see [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/).
## Import from another SEO plugin
[](#import-from-another-seo-plugin)
If you are switching from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework, the onboarding wizard detects the active plugin and offers to import your SEO data. You can also run the import later from **General Settings > Tools**.
The import brings in global settings (homepage title, description) and per-post SEO metadata (titles, descriptions, focus keywords, canonical URLs, robots directives).
For step-by-step instructions, see [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/).
## Connect to the web app (optional)
[](#connect-to-the-web-app-optional)
The plugin works standalone. Connecting to the SEOvault AI web app adds:
* AI-powered content suggestions
* Bulk title and description updates
* Advanced analytics and reports
* Multi-site management from one dashboard
To connect, copy your site key from the dashboard or **General Settings > Connection**, then enter it in the web app when adding a new site. The connection uses the WordPress REST API at `seovaultai/v1` with site key authentication.
For detailed instructions, see [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/).
## Where to go next
[](#where-to-go-next)
After completing onboarding, the most useful next steps are:
1. **Edit SEO on a post** – open any post in the WordPress editor and find the SEOvault AI meta box below the content. Set a focus keyword, write a meta description, and preview the SERP snippet.
2. **Review schema settings** – go to **General Settings > Schema** to configure global schema output and verify your organization identity is set.
3. **Check your sitemap** – visit `yoursite.com/sitemap.xml` to confirm the sitemap is generating.
4. **Enable llms.txt** – go to **General Settings > llms.txt** to publish an AI visibility file for crawlers and answer engines.
5. **Run the SEO Analyzer** – go to **SEOvault AI > SEO Analyzer** to run a site-wide scan and identify issues.
## Related docs
[](#related-docs)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
* [Site Key Security: Regenerate, Lockouts, and Scoped API Keys](/docs/site-key-security-regenerate-lockouts-and-scoped-api-keys/)
---
## Global Schema Settings and Schema Templates
URL: https://seovaultai.com/docs/global-schema-settings-and-schema-templates
Configure global schema output settings, publisher identity, and automatic components. Create reusable schema templates with display conditions.
# Global Schema Settings and Schema Templates
SEOvault AI provides global schema settings that control structured data output across your site. You can also create reusable schema templates that apply to multiple pages based on display conditions.
## Where to find schema settings
[](#where-to-find-schema-settings)
Go to **SEOvault AI > General > Schema** in your WordPress admin. The tab is divided into sections:
* **Output** – master enable switch and compatibility status
* **Automatic** – publisher identity and foundational components
* **Additional** – optional schema types (FAQ, HowTo, Recipe, Event, etc.)
* **Templates** – schema template management
* **Advanced** – ruleset version, custom JSON behavior, and migration controls
## Output settings
[](#output-settings)
The Output section shows the current schema output status and allows you to enable or disable schema globally.
### Enable Schema
[](#enable-schema)
Check **Enable Schema** to turn on structured data output. When disabled, no JSON-LD is output on any page.
### Compatibility status
[](#compatibility-status)
The section shows whether schema output is compatible with your current configuration:
* **Autopilot mode** – schema is output automatically (recommended)
* **Manual mode** – schema is only output when explicitly enabled per post
* **Disabled mode** – no schema is output
The plugin must be in Autopilot mode for schema to work.
## Automatic schema settings
[](#automatic-schema-settings)
The Automatic section controls foundational schema entities that are generated automatically.
### Publisher identity
[](#publisher-identity)
Choose how your site is represented in schema:
* **Organization** – your site is represented as an Organization entity (default for businesses)
* **Person** – your site is represented as a Person entity (default for personal blogs)
* **Both** – both Organization and Person entities are output
This setting affects the foundational schema and is used when rendering other schema types that reference a publisher.
### Automatic components
[](#automatic-components)
Toggle optional foundational pieces:
* **Breadcrumbs** – include BreadcrumbList schema (requires breadcrumbs enabled)
* **Search Action** – include SearchAction schema for site search rich results
* **WooCommerce** – enhance product schema and remove duplicate breadcrumbs (if WooCommerce is installed)
Each component shows when it is active and provides a link to related settings.
## Additional schema types
[](#additional-schema-types)
The Additional section lists optional schema types that you can add to specific content:
* **FAQPage** – for FAQ content (from FAQ blocks or guided instances)
* **HowTo** – for how-to guides (from How-to blocks or guided instances)
* **Recipe** – for recipes (guided instances only)
* **Event** – for events (guided instances only)
* **Course** – for courses (guided instances only)
* **JobPosting** – for job listings (guided instances only)
* **Review** – for reviews (guided instances only)
* **SoftwareApplication** – for software (guided instances only)
### Show extension types
[](#show-extension-types)
Check **Show extension types** to display schema types that require additional plugins or integrations (for example, WooCommerce-specific types).
### Adding schema types
[](#adding-schema-types)
Each schema type provides three actions:
* **Learn more** – documentation about the schema type
* **Create template** – create a reusable template for this type
* **Add to post** – add an instance to a specific post
## Schema templates
[](#schema-templates)
Schema templates are reusable schema configurations that apply to multiple pages based on display conditions. Templates are stored as a custom post type (`seovault_schema`) and can be managed from the Schema tab.
### Template structure
[](#template-structure)
Each template includes:
* **Schema type** – the schema.org type (Article, Event, Product, etc.)
* **Field values** – using variables or static text
* **Display conditions** – rules for when the template applies
### Display conditions
[](#display-conditions)
Display conditions control where a template appears. Conditions are evaluated as include/exclude rules:
* **Include** – the template appears if any include rule matches
* **Exclude** – the template is hidden if any exclude rule matches (excludes take priority)
#### Condition categories
[](#condition-categories)
* **General** – applies to entire site, front page, blog page, search results, or 404 pages
* **Singular** – applies to specific post types, individual posts, or posts with specific taxonomy terms
* **Archive** – applies to author, category, tag, or custom taxonomy archives
#### Example conditions
[](#example-conditions)
* Show on all blog posts
* Show on the front page only
* Show on posts in the “News” category
* Exclude from specific post ID
* Show on author archives
* Show on product pages
### Managing templates
[](#managing-templates)
The Templates section shows:
* **Published templates count** – number of active templates
* **Drafts count** – number of draft templates
* **Manage templates** – link to the template list
* **Create template** – link to add a new template
#### Creating a template
[](#creating-a-template)
1. Click **Create template** or **Add New Template**.
2. Enter a template title.
3. Select a schema type from the dropdown.
4. Fill in the schema fields (supports variables like `%post.title%`).
5. Configure display conditions.
6. Publish the template.
#### Importing from URL
[](#importing-from-url)
You can import existing schema from a URL:
1. Enter the URL in the **Import from URL** field.
2. Click **Fetch Schema**.
3. The parser extracts JSON-LD from the page and populates the fields.
4. Review and adjust the imported schema.
5. Configure display conditions.
#### Editing templates
[](#editing-templates)
1. Go to **SEOvault AI > General > Schema**.
2. Click **Manage templates**.
3. Click **Edit** on a template.
4. Modify the schema fields or display conditions.
5. Update the template.
#### Deleting templates
[](#deleting-templates)
1. Go to the template list.
2. Click **Trash** on a template.
3. The template is moved to trash and no longer applies.
## Step-by-step: configure global schema settings
[](#step-by-step-configure-global-schema-settings)
1. Go to **SEOvault AI > General > Schema**.
2. In the **Output** section, check **Enable Schema** if not already enabled.
3. In the **Automatic** section, select a **Publisher Identity**.
4. Toggle automatic components as needed:
* **Breadcrumbs** – if breadcrumbs are enabled
* **Search Action** – for site search rich results
5. In the **Additional** section, check **Show extension types** if you use WooCommerce or other integrations.
6. Click **Save Schema Settings**.
## Step-by-step: create a schema template
[](#step-by-step-create-a-schema-template)
1. Go to **SEOvault AI > General > Schema**.
2. In the **Templates** section, click **Create template**.
3. Enter a descriptive title (for example, “Blog Post Article”).
4. Select a schema type from the dropdown (for example, Article).
5. Fill in the required fields:
* Use variables like `%post.title%` for dynamic values
* Use static text for fixed values
6. Scroll to **Display Conditions**.
7. Add include rules:
* Select category (General, Singular, or Archive)
* Select type (for example, “post” for blog posts)
* Select value (specific ID or leave empty for all)
8. Add exclude rules if needed (for example, exclude specific post IDs).
9. Publish the template.
10. The template now applies to matching pages.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Autopilot mode only**: Schema output only works when the plugin is in Autopilot output mode.
* **Template priority**: Templates are merged with foundational schema and post-level schema. If multiple templates match, all are included.
* **Condition evaluation**: Excludes are checked first. If any exclude matches, the template is hidden regardless of includes.
* **Variable support**: Templates support the same variables as guided schema instances (for example, `%post.title%`, `%site.url%`).
* **Template caching**: Template data is cached for performance. Changes take effect immediately after saving.
* **Post type support**: Templates can apply to any public post type, including custom post types.
* **Archive conditions**: Archive conditions match taxonomy archives, author archives, and date archives.
* **Import limitations**: The URL fetcher may not work on all sites depending on server configuration and SSL settings.
* **Validation**: Templates are validated for structure and required fields. Invalid templates are not output.
## Related docs
[](#related-docs)
* [Schema Markup Basics in SEOvault AI](/docs/schema-markup-basics-in-seovault-ai/)
* [Add Custom JSON-LD Schema to a Post](/docs/add-custom-json-ld-schema-to-a-post/)
* [Schema Health: Fix Structured Data Issues in the Editor](/docs/schema-health-fix-structured-data-issues-in-the-editor/)
---
## Homepage SEO Settings
URL: https://seovaultai.com/docs/homepage-seo-settings
Configure SEO title and meta description for your WordPress homepage in SEOvault AI.
# Homepage SEO Settings
Your homepage is often the most important page on your site for search engines. SEOvault AI lets you set a custom SEO title and meta description specifically for the homepage, separate from your site’s WordPress tagline and description.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > Homepage**. This tab contains fields for homepage title and description.
## How it works
[](#how-it-works)
Homepage SEO settings apply to your site’s front page—the page visitors see at your root URL. This is different from your blog posts page if you have a static homepage.
* **Homepage title**: Replaces the default WordPress title for the front page
* **Homepage description**: Replaces the default meta description for the front page
* **Replace variables**: Both fields support template variables like `%%sitename%%`, `%%sitedesc%%`, and `%%sep%%`
* **Social tags**: Open Graph and Twitter/X cards automatically use your homepage title and description when on the front page
## Static homepage vs blog page
[](#static-homepage-vs-blog-page)
WordPress has two homepage configurations:
* **Static homepage**: A specific page set as your front page in **Settings > Reading**
* **Blog page**: Your latest posts page (can be the same as the front page or a separate page)
SEOvault AI’s homepage settings apply to the static front page. If you use a blog page as your front page, the homepage settings still apply because WordPress treats it as `is_front_page()`.
## How to set homepage SEO
[](#how-to-set-homepage-seo)
1. Go to **SEOvault AI > General > Homepage**
2. Enter your custom homepage title in the **Homepage Title** field
3. Enter your meta description in the **Homepage Description** field
4. Click **Save All Settings**
### Homepage title best practices
[](#homepage-title-best-practices)
* Keep it under 60 characters for optimal display in search results
* Include your brand name at the end: `Best Coffee Shop in Seattle | Joe's Coffee`
* Use your primary keyword naturally near the beginning
* Avoid keyword stuffing or repetitive phrases
### Homepage description best practices
[](#homepage-description-best-practices)
* Keep it between 150-160 characters
* Write a compelling summary that encourages clicks
* Include your value proposition or unique selling point
* Match the tone of your brand
## Replace variables
[](#replace-variables)
You can use template variables in both homepage fields to dynamically insert site information:
* `%%sitename%%` - Your site name (from **Settings > General**)
* `%%sitedesc%%` - Your site tagline (from **Settings > General**)
* `%%sep%%` - Title separator (configured in **General > Homepage/Templates**)
Example: `%%sitename%% %%sep%% %%sitedesc%%` produces `Joe's Coffee - Best coffee in Seattle since 2010`
## Manual mode behavior
[](#manual-mode-behavior)
If you use Manual output mode, homepage SEO works differently:
* Custom homepage title and description are still used if you set them
* No auto-generation occurs if you leave fields empty
* Social tags (Open Graph, Twitter) also respect Manual mode and won’t auto-generate from WordPress defaults
## Social tag integration
[](#social-tag-integration)
Your homepage SEO settings automatically feed into social sharing:
* **Open Graph title**: Uses your homepage title (or falls back to site name if empty)
* **Open Graph description**: Uses your homepage description (or falls back to site tagline if empty)
* **Twitter/X title**: Same as Open Graph title
* **Twitter/X description**: Same as Open Graph description
This ensures your social previews match your search result appearance. You can override these per-post in the editor if needed.
## Importing from other SEO plugins
[](#importing-from-other-seo-plugins)
If you migrate from Yoast, Rank Math, AIOSEO, or another SEO plugin, SEOvault AI imports your homepage title and description automatically. The migration preserves your existing values, so you don’t need to re-enter them.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Multilingual sites**: Homepage settings are global across all languages. Use a multilingual SEO plugin if you need language-specific homepage metadata
* **Canonical URL**: The homepage always canonicalizes to your site root (`/`) — you cannot set a custom canonical for the homepage
* **Robots directives**: Use the **Schema** tab to set homepage-level robots directives like noindex if needed
* **Verification**: Check your homepage source code to confirm the title and meta description are outputting correctly
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Open Graph and Twitter/X Card Settings](/docs/open-graph-and-twitter-x-card-settings/)
---
## How Credits Work
URL: https://seovaultai.com/docs/how-credits-work
Understand how SEOVault AI credits, plan allowances, and autolinking limits work across the product.
# How Credits Work
SEOVault AI uses a credit system so you only spend usage on the features that actually call premium AI or research workflows.
This keeps pricing more flexible and makes it easier to match cost with real publishing output.
Some actions are lightweight and cost only a few credits. Others use deeper research, article generation, or multi-step workflows and cost more.
This guide explains what credits are, how they are used, and what to expect on each plan.
## What a Credit Is
[](#what-a-credit-is)
A credit is the internal usage unit SEOVault AI uses for premium actions.
Credits are consumed when you run AI-powered or research-powered features such as:
* article generation
* deep analysis
* TL;DR generation
* FAQ generation
* AI humanizing
* table generation
* content gap discovery
* pain point research workflows
In general:
* lighter actions cost fewer credits
* deeper research or article generation costs more credits
This model helps keep basic access affordable while still supporting more advanced workflows for publishers who need scale.
## What Usually Does Not Use Credits
[](#what-usually-does-not-use-credits)
Not every interaction consumes credits.
In general, actions like these are usually part of your normal workflow and do not automatically mean a credit charge by themselves:
* opening the extension or web app
* viewing existing drafts
* switching tabs
* navigating your dashboard
* browsing your sitemap results
* selecting text
* using non-AI interface controls
* viewing saved history
* managing settings
* using simple manual editing tools
Credits are mainly tied to AI generation, research calls, and deeper automated analysis.
## Credit Costs by Feature
[](#credit-costs-by-feature)
Below is the current credit cost map for premium actions.
## 1-credit actions
[](#1-credit-actions)
* Generate SEO Title: 1 credit. Generate an SEO-friendly title suggestion.
## 5-credit actions
[](#5-credit-actions)
* Section Architect: 5 credits. Build or improve section architecture.
* SEO TL;DR Summary: 5 credits. Generate a TL;DR summary for the article.
* AI Humanizer: 5 credits. Humanize content, up to the supported word limit.
* Inspire Me: 5 credits. Generate content gap ideas from your sitemap or keyword.
* Generate FAQ Section: 5 credits. Create an FAQ block for the current draft.
* AI Table Summary: 5 credits. Create a summary for pretty tables or table workflows.
* AI Table Rendering with Summary: 5 credits. Run AI-supported table rendering and summary generation.
* Generate AI Table from Selected Text: 5 credits. Convert selected text into a structured AI-generated table.
## 10-credit actions
[](#10-credit-actions)
* Analyze and Generate: 10 credits. AEO content strategy output including titles, slugs, alts, snippet ideas, meta, and keywords.
* DAC Analysis: 10 credits. Deep analysis comparison.
* Run Deep Analysis: 10 credits. Deep analysis workflows using advanced web-search LLMs and Google Web Grounding. SEOVault AI does not attempt to scrape Google SERPs, as that is against Google’s Terms of Service.
* Style Analysis: 10 credits. Analyze writing style and related patterns.
* Pain Point Explorer - Generate Article Brief: 10 credits. Turn discovered pain points into a content brief.
## 20-credit actions
[](#20-credit-actions)
* Writer Engine Draft: 20 credits. Create an article draft using LLM web research plus LLM writing.
* Pain Point Explorer - Discover Pain Points: 20 credits. Research pain points from forums, community discussion, and related sources.
* Pain Point Explorer - Write Article from Brief: 20 credits. Generate an article based on the pain-point brief.
## 50-credit actions
[](#50-credit-actions)
* Ultra Writer: 50 credits. Full Ultra Writer article generation.
## Why Some Features Cost More Than Others
[](#why-some-features-cost-more-than-others)
The credit cost is tied to how much AI and research work happens behind the scenes.
For example:
* generating a simple title is lightweight
* generating a full draft requires much more processing
* deep analysis can involve SERP comparison, research, and structured output
* Ultra Writer is one of the most advanced article-generation workflows in the product
That is why a feature like Generate SEO Title costs 1 credit, while Ultra Writer costs 50 credits.
## How the Plans Relate to Credits
[](#how-the-plans-relate-to-credits)
SEOVault AI plans include a monthly credit allowance.
Your included credits determine how much premium generation and analysis you can run during your billing cycle.
Current plan structure:
* Free: 50 credits
* Starter: 200 credits
* Pro: 600 credits
* Advanced: 1500 credits
This means different plans are best for different usage levels.
## What That Means in Practice
[](#what-that-means-in-practice)
Here are some simple examples to make the credit system easier to understand.
### Free plan: 50 credits
[](#free-plan-50-credits)
Good for testing the workflow and trying a few meaningful actions.
Example usage could be:
* 1 Ultra Writer article = 50 credits
* 5 deep analyses = 50 credits
* 10 TL;DR, FAQ, or humanizer type actions at 5 credits each
### Starter plan: 200 credits
[](#starter-plan-200-credits)
Good for solo bloggers and lighter monthly publishing.
Example usage could be:
* 4 Ultra Writer articles = 200 credits
* 10 Writer Engine drafts = 200 credits
* a mixed workflow of deep analysis, FAQ generation, TL;DR blocks, and article drafting
### Pro plan: 600 credits
[](#pro-plan-600-credits)
Good for active publishers with regular output.
Example usage could be:
* 12 Ultra Writer articles = 600 credits
* 30 Writer Engine drafts = 600 credits
* a blended publishing workflow across many drafts and analyses
### Advanced plan: 1500 credits
[](#advanced-plan-1500-credits)
Good for agencies, heavy publishers, and portfolio operators.
Example usage could be:
* 30 Ultra Writer articles = 1500 credits
* a much larger blend of article generation, pain-point workflows, and deep analysis jobs
These examples are approximations. Actual usage depends on which tools you run most often.
## Autolinking Limits by Plan
[](#autolinking-limits-by-plan)
Autolinking has its own plan-based usage limits in addition to the credit model.
These limits are meant to keep large-scale linking jobs predictable and fair across plans.
### Starter
[](#starter)
* Monthly deterministic autolink apply limit: 100
* Max autolinks per job: 25
### Pro
[](#pro)
* Monthly deterministic autolink apply limit: 500
* Max autolinks per job: 100
### Advanced
[](#advanced)
* Monthly deterministic autolink apply limit: 2000
* Max autolinks per job: 500
* Fair use policy applies
If you rely heavily on internal linking automation, these limits matter just as much as your monthly credits.
## Credits vs Autolinking: What Is the Difference?
[](#credits-vs-autolinking-what-is-the-difference)
This is an important distinction.
### Credits
[](#credits)
Credits are mainly for AI generation, AI analysis, and research-powered actions.
### Autolinking limits
[](#autolinking-limits)
Autolinking limits control how many deterministic autolink applications your plan allows and how large each autolinking job can be.
So even if you still have credits available, your plan’s autolinking caps may still matter for large internal-linking operations.
Think of them as two separate usage controls:
* credits = premium AI and research usage
* autolink limits = automated internal linking capacity
## Which Features Tend to Use Credits Fastest?
[](#which-features-tend-to-use-credits-fastest)
The fastest credit-consuming workflows are usually:
* Ultra Writer
* Writer Engine Draft
* Pain Point Explorer
* Deep Analysis
* repeated full-draft generation across many posts
If you mostly use lighter actions like TL;DR, FAQ, title generation, and smaller improvements, your credits will go much further.
If you use SEOVault AI mainly for full article generation and deep research, you will move through credits much faster.
## How to Make Credits Last Longer
[](#how-to-make-credits-last-longer)
If you want to get more value from your credits each month, these habits help:
* use lighter tools first before running full article generation
* use Generate SEO Title or FAQ for targeted improvements instead of rerunning full drafts
* reserve Ultra Writer for your most important posts
* use Writer Engine Draft when you need a full draft but not the full Ultra Writer workflow
* run Deep Analysis on high-value pages rather than every article
* use manual editing and shared workflow tools between AI actions
The most efficient users usually mix AI generation with smart manual refinement.
## Which Plan Is Right for You?
[](#which-plan-is-right-for-you)
### Free
[](#free)
Best if you want to test the workflow before committing.
### Starter
[](#starter-1)
Best for solo bloggers, smaller sites, and lighter monthly publishing.
### Pro
[](#pro-1)
Best for active publishers who generate and optimize content regularly.
### Advanced
[](#advanced-1)
Best for agencies, content teams, and publishers managing larger content operations or heavy autolinking usage.
If internal linking at scale is a major part of your workflow, pay close attention to the autolink limits, not just the credit total.
## Common Questions
[](#common-questions)
### Do all actions cost credits?
[](#do-all-actions-cost-credits)
No. Credits are mainly used for premium AI and research actions, not normal navigation or manual editing.
### Do title generation and full article generation cost the same?
[](#do-title-generation-and-full-article-generation-cost-the-same)
No. A simple title generation costs much less than a full article workflow.
### Does Ultra Writer cost more than standard article drafting?
[](#does-ultra-writer-cost-more-than-standard-article-drafting)
Yes. Ultra Writer is one of the highest-cost features because it is one of the most advanced generation workflows.
### Are autolinking limits the same as credits?
[](#are-autolinking-limits-the-same-as-credits)
No. They are separate. Credits cover AI and research usage, while autolinking limits control linking volume by plan.
### What if I mainly use lightweight tools?
[](#what-if-i-mainly-use-lightweight-tools)
Your credits will usually last longer than someone who uses full article generation constantly.
## Final Takeaway
[](#final-takeaway)
SEOVault AI’s credit system is designed to match price with actual feature intensity.
Simple actions cost very little. Deeper workflows cost more. Autolinking has separate operational limits by plan.
That means you can choose a plan based on how you actually publish:
* lighter optimization and drafting
* regular article production
* heavy research and generation
* large-scale internal linking operations
If you understand which features you use most, it becomes much easier to choose the right plan and predict your monthly usage.
## Next Recommended Guides
[](#next-recommended-guides)
After this page, read:
1. Ultra Writer Guide
2. Internal Linking and Autolinking Guide
3. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
4. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
5. Pricing Page and plan overview
## Need Help?
[](#need-help)
If you are unsure which plan fits your workflow, start by asking:
* How often do I generate full articles?
* How often do I run deep analysis?
* How important is autolinking at scale?
* Am I mostly a solo publisher or managing many sites?
Those answers usually make the right plan much clearer.
---
## Image SEO: Automatic ALT and Title Attributes
URL: https://seovaultai.com/docs/image-seo-automatic-alt-and-title-attributes
Automatically add missing ALT and title attributes to images using format strings and replace variables.
# Image SEO: Automatic ALT and Title Attributes
Image SEO automatically adds missing ALT and title attributes to images on your site. This improves accessibility and SEO without requiring you to manually edit every image. The feature generates attributes on-the-fly when content is rendered, so your original image data remains unchanged.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > Image SEO**. The settings include:
* **Enable Image SEO**: Toggle to turn automatic attribute generation on or off
* **ALT Attribute Format**: Template string for generating ALT text
* **Title Attribute Format**: Template string for generating title attributes
* **Override Empty ALT**: Whether to replace existing empty ALT attributes
## How it works
[](#how-it-works)
When Image SEO is enabled, SEOvault AI filters your post content and featured images before they render. It scans for ` ` tags and adds missing ALT and title attributes based on your format strings.
**Key points:**
* Attributes are generated at render time, not stored in the database
* Only empty attributes are filled—existing ALT or title values are never overwritten
* The feature works with post content, featured images, and WooCommerce product galleries
* Lazy-loaded images and responsive images are supported
## ALT attribute format
[](#alt-attribute-format)
The ALT attribute format defines how ALT text is generated for images without existing ALT text. Use replace variables to create dynamic ALT text.
**Default format:**
```
%filename%
```
**Common formats:**
```
%title% - %filename%%category% %filename%%filename% on %sitename%
```
The `%filename%` variable extracts the image filename, converts dashes and underscores to spaces, and capitalizes the first letter of each word. For example, `coffee-cup-hero.jpg` becomes `Coffee Cup Hero`.
## Title attribute format
[](#title-attribute-format)
The title attribute format works the same way as ALT format but for the `title` attribute. Title attributes appear as tooltips when users hover over images in some browsers.
**Default format:**
```
%title%
```
**Common formats:**
```
%title% - %sitename%%filename% - %category%
```
Leave the title format empty if you don’t want automatic title attributes generated.
## Override empty ALT
[](#override-empty-alt)
The **Override Empty ALT** option controls how existing empty ALT attributes are handled:
* **Enabled (default)**: Replaces `alt=""` with generated ALT text
* **Disabled**: Leaves `alt=""` unchanged, only adds ALT when the attribute is completely missing
This matters because some themes or plugins add empty ALT attributes to images. Enable this option to fill those empty attributes with meaningful text.
## Available variables
[](#available-variables)
Use the same replace variables available in SEO title and description templates:
Variable
Description
Example
`%filename%`
Image filename converted to readable text
`Coffee Cup Hero`
`%title%`
Post title
`Best Coffee Tips`
`%sitename%`
Site name
`Joe's Coffee Shop`
`%sitedesc%`
Site tagline
`Best coffee since 2010`
`%sep%`
Title separator
`-`
`%category%`
First post category
`Guides`
`%tag%`
First post tag
`brewing`
`%excerpt%`
Post excerpt
`Learn the best tips...`
`%date%`
Publication date
`January 15, 2025`
The `%filename%` variable is unique to Image SEO and extracts the image filename from the `src`, `data-src`, or `data-ct-lazy` attribute.
## WooCommerce integration
[](#woocommerce-integration)
Image SEO works with WooCommerce product images and galleries:
* **Product featured images**: Uses the product title or filename for ALT text
* **Product galleries**: Applies ALT text to gallery images using filename-based text
* **WooCommerce blocks**: Filters `wp_get_attachment_image_attributes` to catch block-rendered images
For WooCommerce products, when the stored attachment ALT is empty, the feature uses the image filename instead of the product title. This prevents all product images from having identical ALT text.
## Where attributes are added
[](#where-attributes-are-added)
Image SEO processes images in these locations:
* **Post content**: Images embedded in the post body
* **Featured images**: The post thumbnail
* **WooCommerce galleries**: Product gallery images and thumbnails
* **WordPress functions**: Images generated by `wp_get_attachment_image()`
Images in widgets, sidebars, or custom theme areas may not be processed unless they pass through the `the_content` or `post_thumbnail_html` filters.
## When attributes are not added
[](#when-attributes-are-not-added)
The feature skips images in these cases:
* Image SEO is disabled in settings
* Both ALT and title format strings are empty
* The image already has a non-empty ALT or title attribute
* The image is in a script or style tag (excluded from processing)
* The image has no valid source attribute (src, data-src, or data-ct-lazy)
## Filename processing
[](#filename-processing)
The `%filename%` variable processes image filenames to create readable text:
1. Extracts the filename from the URL or path
2. Removes the file extension
3. Converts dashes, underscores, and plus signs to spaces
4. Trims whitespace
5. Capitalizes the first letter of each word (title case)
**Examples:**
* `my-coffee-shop-hero.jpg` → `My Coffee Shop Hero`
* `product_image_001.png` → `Product Image 001`
* `best-coffee-tips-ever.webp` → `Best Coffee Tips Ever`
## Performance considerations
[](#performance-considerations)
Image SEO processes content on each page load, but the impact is minimal:
* Only processes images when the feature is enabled
* Skips images that already have attributes
* Uses efficient regex parsing for HTML extraction
* Caches nothing—attributes are generated fresh each request
For sites with very large posts (hundreds of images), consider disabling the feature if you notice performance issues.
## Notes and edge cases
[](#notes-and-edge-cases)
* **No database changes**: Attributes are generated at render time, so your media library remains unchanged
* **Manual ALT priority**: If you manually set ALT text in the media library, that value is never overwritten
* **Lazy loading**: Supports lazy-loaded images by checking `data-src` and `data-ct-lazy` attributes
* **External images**: Works with external image URLs as long as they have valid filenames
* **Special characters**: Filenames with special characters are handled by WordPress URL parsing
* **Web app priority**: If web app image data is available, it takes priority over auto-generated ALT text
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
---
## Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework
URL: https://seovaultai.com/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework
Step-by-step guide to migrating your SEO data from other WordPress SEO plugins into SEOvault AI.
# Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework
SEOvault AI includes a built-in migration tool that imports SEO data from other WordPress SEO plugins. The import runs in batches via AJAX so it works on sites of any size without timing out.
## Supported plugins
[](#supported-plugins)
SEOvault AI can import from the following plugins:
* **Yoast SEO** (Free and Premium)
* **Rank Math** (Free and Pro)
* **All in One SEO / AIOSEO** (v3 and v4+)
* **Slim SEO**
* **The SEO Framework**
* **SEOPress**
* **SiteSEO**
* **SureRank**
* **Squirrly SEO**
The source plugin must be active on your WordPress site for the import to detect and read its data.
## What gets imported
[](#what-gets-imported)
### Global settings
[](#global-settings)
* Homepage SEO title
* Homepage meta description
* Title templates
* Social metadata defaults
### Per-post data
[](#per-post-data)
* SEO title
* Meta description
* Focus keyword
* Canonical URL
* Robots directives (noindex, nofollow)
* Open Graph title, description, and image
* Twitter/X Card data (where applicable)
### Term data
[](#term-data)
* SEO title
* Meta description
* Canonical URL
* Robots directives
The import reads from the source plugin’s meta keys and writes to SEOvault AI’s meta keys. Your existing data in the source plugin is not modified or deleted.
## Run the import from the onboarding wizard
[](#run-the-import-from-the-onboarding-wizard)
If you have another SEO plugin active when you first activate SEOvault AI, the onboarding wizard detects it automatically:
1. Complete the onboarding wizard through steps 1-4.
2. On step 5 (Import), the wizard shows the detected plugin name.
3. If multiple plugins are detected, select which one to import from.
4. Click **Import now** to import global settings.
5. Continue to the finish step.
The wizard import brings in global settings only. For a full post-by-post import, use the Tools tab after completing the wizard.
## Run a full import from General Settings
[](#run-a-full-import-from-general-settings)
For a complete import including all posts and terms:
1. Go to **SEOvault AI > General > Tools**.
2. Find the migration section. It lists detected SEO plugins with item counts.
3. Select the plugin you want to import from.
4. Click **Start import**.
The import runs in batches of 50 items via AJAX. A progress bar shows:
* Number of items imported
* Total items to process
* Current batch progress
* Import log with per-item status (OK or SKIP)
The import processes three types of data in sequence:
1. **Global settings** – homepage title, description, and templates
2. **Posts** – all public post types, 50 per batch
3. **Terms** – all public taxonomies, 50 per batch
You can leave the page and return later. The import status is tracked and you can check progress at any time.
## What the import log shows
[](#what-the-import-log-shows)
Each item in the log shows one of two statuses:
* **\[OK\]** – the item had SEO data in the source plugin and it was successfully imported into SEOvault AI
* **\[SKIP\]** – the item had no SEO data in the source plugin (empty meta fields), so there was nothing to import
Skipped items are normal. Not every post or term has custom SEO data – many rely on auto-generated values. The import only brings over data that was explicitly set in the source plugin.
## Placeholder conversion
[](#placeholder-conversion)
Some plugins use template placeholders (e.g., `%%title%%` in Yoast, `%title%` in Rank Math). SEOvault AI converts these to its own variable format during import:
* Yoast `%%title%%` becomes `%title%`
* Yoast `%%sitename%%` becomes `%sitename%`
* Yoast `%%sep%%` becomes `%sep%`
* Rank Math `%title%` stays `%title%`
* Rank Math `%sitename%` stays `%sitename%`
This ensures your title templates work correctly after migration.
## After the import
[](#after-the-import)
1. **Verify a few posts** – open 3-5 posts in the editor and check the SEOvault AI meta box. Confirm the title, description, focus keyword, and canonical URL were imported correctly.
2. **Check the homepage** – go to **General Settings > Homepage** and verify the homepage title and description.
3. **Check templates** – go to **General Settings > Templates** and verify the title and description templates.
4. **Deactivate the old plugin** – once you are satisfied with the import, deactivate the source plugin from **Plugins > Installed Plugins**.
5. **Run the SEO Analyzer** – go to **SEOvault AI > SEO Analyzer** to run a site-wide scan and identify any remaining issues.
## Cleanup after migration
[](#cleanup-after-migration)
After deactivating the source plugin, you can optionally clean up its data:
* **SEOvault AI does not delete the source plugin’s data** – the import only reads from it. The old meta keys remain in your database.
* **To fully remove the old plugin’s data** – uninstall the old plugin from WordPress. Most SEO plugins have their own cleanup routines on uninstall.
* **SEOvault AI’s cleanup tool** – the Tools tab has a cleanup option that removes migration flags set during import. This does not affect your imported data.
## Import from multiple plugins
[](#import-from-multiple-plugins)
If you have multiple SEO plugins active (not recommended), the import tool lets you select which one to import from. Run the import for each plugin separately if needed. The most recent import wins – if you import from Yoast first and then from Rank Math, the Rank Math values will overwrite the Yoast values for any posts where both plugins had data.
## Troubleshooting
[](#troubleshooting)
### No plugins detected
[](#no-plugins-detected)
If the Tools tab says “No supported SEO plugins detected”:
* Confirm the source plugin is activated on the **Plugins** screen
* Check that the source plugin has not been uninstalled (the import needs to read its meta keys)
* Some plugins store data in custom tables (AIOSEO v4+, Squirrly) – make sure the tables exist
### Import shows 0 items
[](#import-shows-0-items)
If the import finds no items to process:
* The source plugin may not have any posts with custom SEO data (all values are auto-generated)
* The source plugin may store data in a different format than expected (check the plugin version)
* Run the global settings import first, then try the post import again
### Import times out or stalls
[](#import-times-out-or-stalls)
If the import appears to stall:
* Check your browser console for JavaScript errors
* Verify your site’s AJAX endpoint is working (test with another AJAX-dependent plugin)
* Increase PHP `max_execution_time` if your server has a low limit
* The import processes 50 items per batch, so large sites may take several minutes
### Duplicate data after import
[](#duplicate-data-after-import)
If you see duplicate SEO tags after importing:
* Deactivate the source plugin – both plugins are outputting tags
* Or switch SEOvault AI to Disabled mode until you deactivate the source plugin
## Related docs
[](#related-docs)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
* [Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?](/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
---
## Documentation Overview
URL: https://seovaultai.com/docs
Start here for SEOVault AI product documentation.
# Documentation Overview
SEOVault AI documentation lives in the same public content hub as the blog and changelog.
Use this page as the docs overview when you want the same section-switching behavior as the other hub pages.
Getting started
[Start with the first-run guide](/docs/getting-started-with-seovault-ai/), then install the extension or connect your first WordPress site.
Setup and permissions
Read the installation, permissions, and connector setup guides before you begin publishing workflows.
Workflows and publishing
Browse guides for Ultra Writer, Brand Kit, rich blocks, rewrites, internal linking, and multi-site management.
## Documentation index
[](#documentation-index)
* [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
* [Install the Chrome Extension](/docs/install-the-chrome-extension/)
* [Extension Permissions: What SEOVault AI Needs and Why](/docs/extension-permissions-what-seovault-ai-needs-and-why/)
* [Data & Permissions](/docs/data-permissions/)
* [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/)
* [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
* [Rank Math / Yoast / AIOSEO Compatibility](/docs/rank-math-yoast-aioseo-compatibility/)
* [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
* [How Credits Work](/docs/how-credits-work/)
* [Ultra Writer Guide](/docs/ultra-writer-guide/)
* [Brand Kit Setup Guide](/docs/brand-kit-setup-guide/)
* [Team Workspace Guide](/docs/team-workspace-guide/)
* [Multi-Site Management Guide](/docs/multi-site-management-guide/)
* [Rewrite Existing Articles with AI](/docs/rewrite-existing-articles-with-ai/)
* [Rich Blocks and Pretty Tables Guide](/docs/rich-blocks-and-pretty-tables-guide/)
* [Internal Linking and Autolinking Guide](/docs/internal-linking-and-autolinking-guide/)
## SEOvault AI WordPress Plugin
[](#seovault-ai-wordpress-plugin)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
* [WordPress Plugin vs Chrome Extension vs Web App](/docs/wordpress-plugin-vs-chrome-extension-vs-web-app/)
* [Complete the Onboarding Wizard](/docs/complete-the-onboarding-wizard/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?](/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo/)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
* [SEOvault AI Pro: Purchase, License, and Download Troubleshooting](/docs/seovault-ai-pro-purchase-license-download-troubleshooting/)
* [Site Key Security: Regenerate, Lockouts, and Scoped API Keys](/docs/site-key-security-regenerate-lockouts-and-scoped-api-keys/)
* [What Data Stays on Your WordPress Site (Privacy Overview)](/docs/what-data-stays-on-your-wordpress-site-privacy-overview/)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [Use the SERP Preview and SEO Assessment in the Post Editor](/docs/use-the-serp-preview-and-seo-assessment-in-the-post-editor/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Homepage SEO Settings](/docs/homepage-seo-settings/)
* [Category and Tag SEO (Term Meta)](/docs/category-and-tag-seo-term-meta/)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Quick Edit and Posts List SEO Bar](/docs/quick-edit-and-posts-list-seo-bar/)
* [Run the SEO Analyzer on Your Site](/docs/run-the-seo-analyzer-on-your-site/)
* [Show the Frontend SEO Score Badge (and Shortcode)](/docs/show-the-frontend-seo-score-badge-and-shortcode/)
* [Image SEO: Automatic ALT and Title Attributes](/docs/image-seo-automatic-alt-and-title-attributes/)
* [Open Graph and Twitter/X Card Settings](/docs/open-graph-and-twitter-x-card-settings/)
* [XML Sitemaps: How SEOvault AI Uses WordPress Core Sitemaps](/docs/xml-sitemaps-how-seovault-ai-uses-wordpress-core-sitemaps/)
* [Noindex-Aware Sitemap Behavior](/docs/noindex-aware-sitemap-behavior/)
* [IndexNow: Instant Indexing Notifications](/docs/indexnow-instant-indexing-notifications/)
* [Robots.txt Policy Controls](/docs/robots-txt-policy-controls/)
* [Breadcrumbs Setup (Shortcode and Theme Integration)](/docs/breadcrumbs-setup-shortcode-and-theme-integration/)
* [Schema Markup Basics in SEOvault AI](/docs/schema-markup-basics-in-seovault-ai/)
* [Schema Health: Fix Structured Data Issues in the Editor](/docs/schema-health-fix-structured-data-issues-in-the-editor/)
* [Validate Live Schema on Published Pages](/docs/validate-live-schema-on-published-pages/)
* [Add Custom JSON-LD Schema to a Post](/docs/add-custom-json-ld-schema-to-a-post/)
* [Global Schema Settings and Schema Templates](/docs/global-schema-settings-and-schema-templates/)
* [404 Monitor: Find and Fix Missing URLs](/docs/404-monitor-find-and-fix-missing-urls/)
* [Redirect Manager: Create 301 and 302 Redirects](/docs/redirect-manager-create-301-and-302-redirects/)
* [404 Fallback Behavior: Theme 404, Homepage, or Custom URL](/docs/404-fallback-behavior-theme-404-homepage-or-custom-url/)
* [404 Recovery Page Setup](/docs/404-recovery-page-setup/)
* [Turn a 404 Log Entry into a Redirect](/docs/turn-a-404-log-entry-into-a-redirect/)
* [Publish and Manage llms.txt for AI Visibility](/docs/publish-and-manage-llms-txt-for-ai-visibility/)
* [AI Crawler Logging: See Which Bots Visit Your Site](/docs/ai-crawler-logging-see-which-bots-visit-your-site/)
* [Prepare Your Site for AI Search and Answer Engines](/docs/prepare-your-site-for-ai-search-and-answer-engines/)
* [SEOvault AI Dashboard Overview](/docs/seovault-ai-dashboard-overview/)
* [Status Page: Connection, Output Mode, and Site Health Signals](/docs/status-page-connection-output-mode-and-site-health-signals/)
* [Site Health Monitor Basics](/docs/site-health-monitor-basics/)
* [Tools: Import, Export, and Maintenance Actions](/docs/tools-import-export-and-maintenance-actions/)
* [Uninstall Cleanup: What Gets Removed When You Delete the Plugin](/docs/uninstall-cleanup-what-gets-removed-when-you-delete-the-plugin/)
* [Replace Variables Reference](/docs/replace-variables-reference/)
* [Connector REST API Overview for Developers](/docs/connector-rest-api-overview-for-developers/)
* [CORS, Rate Limits, and API Activity Logs](/docs/cors-rate-limits-and-api-activity-logs/)
* [Feed and oEmbed SEO Improvements](/docs/feed-and-oembed-seo-improvements/)
* [Comment SEO Controls](/docs/comment-seo-controls/)
* [Troubleshooting Duplicate Meta and Schema Conflicts](/docs/troubleshooting-duplicate-meta-and-schema-conflicts/)
* [Troubleshooting Web App Connection Failures](/docs/troubleshooting-web-app-connection-failures/)
* [Recommended Settings for Blog Sites](/docs/recommended-settings-for-blog-sites/)
* [Recommended Settings for Local Business Sites](/docs/recommended-settings-for-local-business-sites/)
* [Recommended Settings for WooCommerce Stores](/docs/recommended-settings-for-woocommerce-stores/)
* [Local SEO: Business Information and Local Schema](/docs/local-seo-business-information-and-local-schema/)
* [WooCommerce SEO Settings in SEOvault AI](/docs/woocommerce-seo-settings-in-seovault-ai/)
* [Product Schema for WooCommerce](/docs/product-schema-for-woocommerce/)
* [Use SEOvault AI with Elementor](/docs/use-seovault-ai-with-elementor/)
* [Add Google Analytics (or Tracking Codes) via SEOvault AI](/docs/add-google-analytics-via-seovault-ai/)
* [Cache Plugin Compatibility Notices](/docs/cache-plugin-compatibility-notices/)
---
## IndexNow: Instant Indexing Notifications
URL: https://seovaultai.com/docs/indexnow-instant-indexing-notifications
Configure IndexNow to instantly notify search engines when you publish or update content, so they can crawl and index your pages faster.
# IndexNow: Instant Indexing Notifications
IndexNow is a protocol that notifies participating search engines when your content is published or updated. SEOvault AI implements IndexNow so that when you publish a post, search engines like Bing, Yandex, and Seznam are notified immediately and can crawl the URL faster than waiting for their normal discovery cycle.
## Where to find IndexNow settings
[](#where-to-find-indexnow-settings)
Go to **SEOvault AI > General > IndexNow** in your WordPress admin. The tab shows your current API key, the key file URL, and a submission log. You can also manually submit URLs from this page.
## How IndexNow works
[](#how-indexnow-works)
When IndexNow is enabled, the plugin automatically submits URLs to the IndexNow API at `https://api.indexnow.org/indexnow/`. The API accepts a JSON payload with your site host, your API key, the key file location, and a list of URLs to index.
To verify ownership, search engines request your key file at:
```
https://yourdomain.com/{your-key}.txt
```
The plugin automatically generates a 32-character hex key, writes the key file to your site root, and serves it when the URL is requested. The key file is protected with an `X-Robots-Tag: noindex` header so it is not indexed.
## Auto-submit on publish
[](#auto-submit-on-publish)
By default, IndexNow auto-submits URLs when you publish or update posts. The plugin hooks into the `save_post` action for the post types you select.
When a post is published or updated:
1. The plugin checks if the post is indexable (not noindexed).
2. It checks if the post type is enabled for IndexNow.
3. It throttles the submission to avoid duplicate requests within 10 seconds.
4. It sends the permalink to the IndexNow API.
5. The submission is logged with the response code.
When a post is trashed, the plugin submits the original permalink (before the `__trashed` suffix) so search engines can remove it from their index.
## Manual submission methods
[](#manual-submission-methods)
You can manually submit URLs to IndexNow in three ways:
* **Row action**: On the Posts or Pages list table, hover over a row and click **Submit to IndexNow**.
* **Bulk action**: Select multiple posts, choose **Submit to IndexNow** from the bulk actions dropdown, and click Apply.
* **Manual URL submission**: On the IndexNow tab, enter one or more URLs in the textarea and click **Submit URLs**.
Manual submissions bypass the 10-second throttle and are logged separately.
## Step-by-step: configure IndexNow
[](#step-by-step-configure-indexnow)
1. Go to **SEOvault AI > General > IndexNow**.
2. Check **Auto-Submit on Publish** to enable automatic notifications when you publish or update posts.
3. Under **Post Types**, select the post types you want to auto-submit. Posts and Pages are typical choices.
4. Verify your API key is displayed. The plugin generates a key automatically the first time you visit the tab.
5. Verify the key file URL is accessible. Click the link to confirm the key file is served correctly.
6. Optionally submit URLs manually using the textarea at the bottom of the tab.
7. Review the submission log to see recent IndexNow requests and their response codes.
8. Click **Save Changes**.
## API key management
[](#api-key-management)
The plugin generates a 32-character hex key automatically. If you need to regenerate the key:
1. Scroll to the **Regenerate API Key** section on the IndexNow tab.
2. Click **Regenerate Key**.
3. Confirm the action. The old key file is deleted and a new key is generated and written to your site root.
Regenerating the key invalidates the old key. Search engines will need to verify the new key file on your next submission.
## Submission log
[](#submission-log)
The IndexNow tab shows a log of recent submissions. Each entry includes:
* **URL** – the submitted URL (or the first URL with a `+N` suffix for bulk submissions)
* **Status** – the HTTP response code from the IndexNow API
* **Type** – whether the submission was manual or automatic
* **Time** – when the submission occurred
Common response codes:
* **200** – Success
* **202** – Accepted
* **204** – No Content (success)
* **400** – Invalid request
* **403** – Invalid API key
* **422** – Invalid URL format
* **429** – Too many requests (rate-limited by IndexNow)
* **500** – IndexNow server error
Click **Clear Log** to remove all log entries.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Noindex exclusion**: Posts marked as noindex are not auto-submitted to IndexNow. The plugin checks the SEOvault AI robots meta before submitting.
* **Throttling**: Auto-submissions are throttled to prevent duplicate requests for the same URL within 10 seconds. Manual submissions are not throttled.
* **Password-protected posts**: These are not submitted because they are not publicly accessible.
* **Revisions and autosaves**: Revisions and autosaves are not submitted.
* **Manual output mode**: In Manual output mode, the plugin does not auto-generate SEO values, but IndexNow still works if you enable it. Only posts you explicitly publish are submitted.
* **Disabled output mode**: In Disabled output mode, the entire plugin is paused. IndexNow hooks are not registered and no submissions occur.
* **Key file location**: The key file is written to your site root (ABSPATH). If your WordPress installation is in a subdirectory, the key file is at the root of the subdirectory. Ensure your server allows writing to this location.
* **Pretty permalinks**: IndexNow requires the key file to be accessible at a clean URL. If you see a 404 when accessing the key file URL, go to **Settings > Permalinks** and click **Save Changes** to flush rewrite rules.
* **Search engine support**: IndexNow is supported by Bing, Yandex, Seznam, and others. Google does not currently participate in IndexNow, but submissions may still be beneficial for the participating engines.
## Related docs
[](#related-docs)
* [XML Sitemaps: How SEOvault AI Uses WordPress Core Sitemaps](/docs/xml-sitemaps-how-seovault-ai-uses-wordpress-core-sitemaps/)
* [Noindex-Aware Sitemap Behavior](/docs/noindex-aware-sitemap-behavior/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
---
## Install and Activate the SEOvault AI SEO Plugin
URL: https://seovaultai.com/docs/install-and-activate-the-seovault-ai-seo-plugin
Step-by-step guide to installing, activating, and verifying the SEOvault AI WordPress SEO plugin on your site.
# Install and Activate the SEOvault AI SEO Plugin
Installing SEOvault AI takes a few minutes. The plugin requires WordPress 5.9+ and PHP 7.4+. After activation, it creates the necessary database tables, sets default options, generates a site key, and redirects you to an onboarding wizard.
## Before you start
[](#before-you-start)
Confirm your environment meets the requirements:
* **WordPress**: 5.9 or higher
* **PHP**: 7.4 or higher
* **Role**: Administrator access to the WordPress site
* **Plugin ZIP**: The `seovault-ai` plugin ZIP file
If you are running a multisite network, note that SEOvault AI does not support network activation. Activate the plugin on each site individually from that site’s **Plugins** screen.
## Install the plugin
[](#install-the-plugin)
### Option 1: Upload via WordPress admin
[](#option-1-upload-via-wordpress-admin)
1. Log in to your WordPress admin area.
2. Go to **Plugins > Add New Plugin**.
3. Click **Upload Plugin** at the top of the screen.
4. Choose the SEOvault AI ZIP file from your computer.
5. Click **Install Now**.
6. After installation completes, click **Activate Plugin**.
### Option 2: Install via FTP or file manager
[](#option-2-install-via-ftp-or-file-manager)
1. Unzip the plugin ZIP file on your computer.
2. Upload the `seovault-ai` folder to `/wp-content/plugins/` on your server.
3. Log in to your WordPress admin area.
4. Go to **Plugins > Installed Plugins**.
5. Find SEOvault AI in the list and click **Activate**.
### Option 3: Install via WP-CLI
[](#option-3-install-via-wp-cli)
If you use WP-CLI, you can install and activate in one command:
Terminal window
```
wp plugin install seovault-ai.zip --activate
```
## What happens during activation
[](#what-happens-during-activation)
When you activate the plugin, the following happens automatically:
* **Default options are set** – output mode defaults to Automatic, schema and Open Graph are enabled, noindex rules for search and date archives are applied
* **Site key is generated** – a 40-character site key is created for web app connection. If the separate SEOvault AI connector plugin was previously installed, its site key is preserved and reused
* **Database tables are created** – tables for the 404 monitor, redirect manager, and API audit log are created with the correct charset and collation
* **Rewrite rules are flushed** – sitemap and llms.txt rewrite rules are registered and flushed
* **Local SEO post type is registered** – the Local SEO custom post type and taxonomy are registered for location-based schema
* **Onboarding redirect is set** – a flag is stored so your next admin page load redirects to the onboarding wizard
You do not need to manually create any database tables or configure rewrite rules. The activation hook handles all of this.
## After activation: the onboarding wizard
[](#after-activation-the-onboarding-wizard)
Immediately after activation, WordPress redirects you to the onboarding wizard at **SEOvault AI > Onboarding**. The wizard walks you through seven steps:
1. **Welcome** – introduction and schema overview
2. **SEO Mode** – choose Automatic or Manual
3. **Site Identity** – set site type, publisher identity, name, logo, and social image
4. **SEO Settings** – confirm homepage title, description, output mode, social templates, and robots defaults
5. **Import** – import SEO data from another plugin if one is detected
6. **Connect** – optionally connect to the SEOvault AI web app
7. **Finish** – configuration summary
You can skip the wizard at any time. Skipping marks onboarding as complete and takes you to the dashboard. You can always return to the wizard later at **SEOvault AI > Onboarding**.
## Verify the installation
[](#verify-the-installation)
After completing or skipping the wizard, confirm the plugin is working:
1. **Check the dashboard** – go to **SEOvault AI** in the admin sidebar. You should see the dashboard with status cards showing your output mode, connection status, and llms.txt status.
2. **Check the frontend** – open any page on your site and view the page source. Look for ``, ` `, and ` ` tags in the `` section.
3. **Check the sitemap** – visit `yoursite.com/sitemap.xml` in your browser. You should see a valid XML sitemap.
4. **Check the SEO meta box** – open any post in the WordPress editor. Scroll to the SEOvault AI meta box below the content. You should see the SERP preview, focus keyword field, and SEO assessment.
## If another SEO plugin is active
[](#if-another-seo-plugin-is-active)
If Yoast, Rank Math, or AIOSEO is active on the same site, the SEOvault AI dashboard displays a warning banner about potential duplicate meta tags. You have two options:
* **Deactivate the other plugin** – recommended for clean SEO output. Use the import tool in **General Settings > Tools** to migrate your SEO data first.
* **Switch SEOvault AI to Disabled mode** – go to **General Settings > Output Mode** and select Disabled. The plugin stops outputting meta tags but keeps the admin UI available for managing SEO data.
For migration instructions, see [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/).
## Updating the plugin
[](#updating-the-plugin)
WordPress notifies you when a new version is available. Update the same way you update any other plugin:
1. Go to **Plugins > Installed Plugins**.
2. Find SEOvault AI and click **Update now** when an update is available.
The plugin runs an upgrade routine on `plugins_loaded` after an update. This routine handles database schema changes, option migrations, and version tracking. You do not need to re-activate the plugin after updating.
## Deactivating the plugin
[](#deactivating-the-plugin)
Deactivating SEOvault AI stops all SEO output and clears scheduled cron events (sitemap rebuilds). Your SEO data (meta values, schema settings, redirect rules) remains stored in the database. Reactivating the plugin restores everything.
To deactivate:
1. Go to **Plugins > Installed Plugins**.
2. Find SEOvault AI and click **Deactivate**.
## Uninstalling the plugin
[](#uninstalling-the-plugin)
Uninstalling (deleting) the plugin runs a dual-layer cleanup:
* **Always removed**: API credentials, auth and rate-limit transients, cron events, and the Site Health Monitor MU-plugin
* **Only if “Erase all data on uninstall” is enabled**: all SEO settings, post meta, custom database tables (404 monitor, redirects, audit log), Local SEO CPT content, and uploaded files
The “Erase all data on uninstall” option is off by default. Enable it at **General Settings > Tools** if you want a complete removal. User-created pages referenced by 404 fallback or recovery settings are never deleted.
## Troubleshooting
[](#troubleshooting)
### The onboarding wizard does not appear
[](#the-onboarding-wizard-does-not-appear)
If you are not redirected to the wizard after activation:
* Go to **SEOvault AI > Onboarding** manually from the admin sidebar
* Clear your browser cache and reload the admin area
* Check that no other plugin is intercepting admin redirects
### The plugin menu is missing
[](#the-plugin-menu-is-missing)
If the SEOvault AI menu does not appear in the admin sidebar:
* Confirm the plugin is activated on the **Plugins** screen
* Verify your user role has the `manage_options` capability
* Check that no security plugin is blocking admin menu registration
### I see a blank screen after activation
[](#i-see-a-blank-screen-after-activation)
A blank screen usually means a PHP fatal error. Check your server’s PHP error log for details. Common causes:
* PHP version below 7.4
* A conflicting plugin that hooks into activation routines aggressively
* Insufficient PHP memory limit (recommend at least 256MB)
### Database tables were not created
[](#database-tables-were-not-created)
If the 404 monitor or redirect manager tables are missing:
* Deactivate and reactivate the plugin to re-run the activation hook
* Verify the WordPress database user has `CREATE TABLE` permissions
* Check for database prefix issues on some hosting configurations
## Related docs
[](#related-docs)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
---
## Install the Chrome Extension
URL: https://seovaultai.com/docs/install-the-chrome-extension
Install the SEOVault AI Chrome Extension and start using it inside your WordPress publishing workflow.
# Install the Chrome Extension
SEOVault AI’s Chrome Extension is the fastest way to optimize WordPress drafts without adding another heavy SEO plugin to your site.
It opens as a side panel inside WordPress, helps you analyze and improve content, and gives you quick access to writing, SEO, linking, and formatting tools while you work.
## What the Extension Does
[](#what-the-extension-does)
The Chrome Extension is built for WordPress users who want a faster publishing workflow with less plugin bloat.
With the extension, you can:
* open a side panel directly inside your WordPress editor
* analyze your draft for SEO, readability, structure, and trust signals
* generate titles, descriptions, TL;DR blocks, FAQs, and other content elements
* inject AI-generated improvements directly into your post
* use advanced writing tools like Ultra Writer and article rewriting presets
* build citations and research faster while browsing
* capture screenshots, word counts, and notes from any page
* work without installing a bulky SEO feature plugin on your WordPress site
## Before You Install
[](#before-you-install)
Make sure you have:
* Google Chrome or another Chromium-based browser that supports Chrome extensions
* access to your SEOVault AI account
* access to the WordPress admin area of the site you want to work on
If you plan to use the extension heavily inside WordPress, it is best to be logged in to both your WordPress dashboard and your SEOVault AI account before starting.
## Install from the Chrome Web Store
[](#install-from-the-chrome-web-store)
Once the extension is published, installation is simple.
### Step 1: Open the Chrome Web Store listing
[](#step-1-open-the-chrome-web-store-listing)
Go to the official SEOVault AI Chrome Extension listing.
### Step 2: Click Add to Chrome
[](#step-2-click-add-to-chrome)
Chrome will show a permissions prompt before installing the extension.
### Step 3: Confirm the installation
[](#step-3-confirm-the-installation)
Click Add extension to continue.
### Step 4: Pin the extension
[](#step-4-pin-the-extension)
After installation, click the Extensions icon in Chrome and pin SEOVault AI so it is always easy to access.
## Sign In to Your Account
[](#sign-in-to-your-account)
After installation:
1. Click the SEOVault AI extension icon in Chrome.
2. Open the extension.
3. Sign in with your SEOVault AI account.
4. Confirm your session if prompted.
Once signed in, the extension will be ready to use inside supported WordPress pages.
## Use the Extension Inside WordPress
[](#use-the-extension-inside-wordpress)
After installing and signing in:
1. Open your WordPress admin dashboard.
2. Create a new post or open an existing draft.
3. Open the SEOVault AI side panel.
4. Wait for the extension to detect the page and load your working tools.
From there, you can start using features such as:
* SEO Helper
* DAC & Write
* Link Checker
* Rich Blocks
* SEO Snippets
Depending on your setup, the extension may also detect important WordPress editing context automatically.
## What Makes the Extension Different
[](#what-makes-the-extension-different)
SEOVault AI’s Chrome Extension is designed to reduce friction in the publishing process.
### No heavy SEO plugin required for core workflow
[](#no-heavy-seo-plugin-required-for-core-workflow)
The extension is built to help you analyze and improve drafts without relying on a bloated WordPress SEO plugin for every action.
### Works where you already write
[](#works-where-you-already-write)
Instead of forcing you into a separate editor, the extension works alongside your normal WordPress workflow.
### Direct injection into drafts
[](#direct-injection-into-drafts)
Many generated outputs can be inserted directly into the post, which saves time and reduces copy-paste work.
### Includes browser-level productivity tools
[](#includes-browser-level-productivity-tools)
Unlike a standard WordPress plugin, the extension can also help while you browse the web, collect research, capture screenshots, and save snippets.
## Optional: Enable Better Daily Workflow
[](#optional-enable-better-daily-workflow)
For the best experience, we recommend:
* pinning the extension in Chrome
* keeping your SEOVault AI session active
* opening WordPress in a regular Chrome profile you use for publishing
* giving the extension access only where you need it
* testing the side panel on a draft before using it in your full workflow
If you use multiple WordPress sites, make sure you are logged into the correct site before starting work.
## Common First-Time Questions
[](#common-first-time-questions)
### Do I need to install a WordPress plugin to use the extension?
[](#do-i-need-to-install-a-wordpress-plugin-to-use-the-extension)
Not for the core extension workflow.
The extension is designed to work directly in your browser and inside the WordPress editor. The lightweight WordPress connector plugin is mainly for the Web App workflow, multi-site syncing, and secure publishing communication.
### Does the extension slow down my WordPress site?
[](#does-the-extension-slow-down-my-wordpress-site)
No. The extension runs in your browser environment and is designed to avoid adding heavy feature bloat inside WordPress itself.
### Does it work only on WordPress?
[](#does-it-work-only-on-wordpress)
SEOVault AI is built primarily for WordPress-focused publishing workflows. Some browser-level tools can work outside WordPress, but the core product experience is made for WordPress users.
### Can I use both the extension and the web app?
[](#can-i-use-both-the-extension-and-the-web-app)
Yes. Many users use both.
A common workflow is:
* use the extension for fast in-editor work
* use the web app for multi-site management, collaboration, history, and advanced linking workflows
## If the Extension Does Not Appear
[](#if-the-extension-does-not-appear)
If the extension seems installed but is not working correctly:
1. refresh the WordPress page
2. make sure you are logged into your SEOVault AI account
3. confirm that the extension is enabled in Chrome
4. confirm you are on a supported WordPress admin editing screen
5. disable conflicting browser extensions temporarily and test again
6. sign out and sign back in if needed
If the issue continues, use the Report a Bug option or contact support through the official SEOVault AI support channel.
## Security and Permissions
[](#security-and-permissions)
The extension only requests the permissions it needs to support its publishing and research workflow.
Depending on the final release version, permissions may be used for things like:
* interacting with supported WordPress editing pages
* opening the side panel
* helping with right-click actions
* processing selected text
* capturing screenshots when requested by the user
For more details, see:
* Data & Permissions
* Privacy Policy
* [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/) for the Web App connection workflow
## Next Steps
[](#next-steps)
After installing the extension, we recommend reading these guides next:
1. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
2. Connect Your First WordPress Site
3. Extension vs Web App: Which Workflow Should You Use?
4. Ultra Writer Guide
5. Internal Linking and Autolinking Guide
## Need Help?
[](#need-help)
If you run into trouble during installation or setup, check the troubleshooting docs or contact support.
SEOVault AI is built to make WordPress publishing faster, cleaner, and less bloated, and the extension is the quickest way to start.
---
## Install the WordPress Connector Plugin
URL: https://seovaultai.com/docs/install-wordpress-connector-plugin
Learn how to install and connect the lightweight SEOVault AI WordPress connector plugin for the Web App workflow.
# Install the WordPress Connector Plugin
The SEOVault AI Web App connects to your WordPress website through a lightweight connector plugin.
This plugin is not a heavy SEO plugin, page builder, or analytics suite. Its job is to let your WordPress site communicate securely with the SEOVault AI Web App so you can fetch posts, edit drafts, and publish content from one centralized workspace.
## Why the connector plugin exists
[](#why-the-connector-plugin-exists)
The Chrome extension can work directly inside the WordPress editor and avoids adding extra plugin bloat for that workflow.
The Web App is different. It needs a secure way to:
* fetch your WordPress posts and pages
* open drafts in the Web App editor
* save changes back to WordPress
* create new posts
* sync content between your site and your SEOVault AI workspace
* support multi-site management from one dashboard
That is why the Web App uses a small connector plugin.
## What the connector does
[](#what-the-connector-does)
Once installed and connected, the plugin helps SEOVault AI:
* communicate with your WordPress site through a controlled API connection
* fetch your post list and content
* send updated drafts back to WordPress
* create new posts from the Web App
* support site-level workflows such as centralized editing and publishing
Depending on your setup and plan, the Web App may also use this connection for broader workflow features such as:
* managing more than one WordPress website from one account
* syncing article workspaces
* powering site-aware internal linking and publishing actions
## What the connector does not do
[](#what-the-connector-does-not-do)
The connector is designed to stay lightweight.
It does not try to replace your theme, your page builder, or your favorite SEO plugin.
It does not add a bloated front-end library to your public website.
It does not exist to load your WordPress admin area with unnecessary UI.
Its purpose is simple: secure communication between your WordPress site and the SEOVault AI Web App.
## Who needs the connector plugin?
[](#who-needs-the-connector-plugin)
You need the connector plugin if you want to use the SEOVault AI Web App to:
* manage posts from a centralized dashboard
* edit and publish drafts without working directly inside `wp-admin`
* manage multiple WordPress sites from one place
* use workspace-based features such as history, collaboration, and cloud-driven workflows
You do not need this connector for the Chrome extension’s core side-panel workflow inside the native WordPress editor.
## Before you start
[](#before-you-start)
Make sure you have:
* a working WordPress website
* an administrator account on that website
* access to the SEOVault AI Web App
* the connector plugin ZIP file or installation package
## How to install the connector plugin
[](#how-to-install-the-connector-plugin)
### Option 1: Upload the plugin ZIP in WordPress
[](#option-1-upload-the-plugin-zip-in-wordpress)
1. Log in to your WordPress admin area.
2. Go to Plugins -> Add New Plugin.
3. Click Upload Plugin.
4. Select the SEOVault AI connector plugin ZIP file.
5. Click Install Now.
6. After installation, click Activate Plugin.
### Option 2: Install manually by folder upload
[](#option-2-install-manually-by-folder-upload)
1. Unzip the plugin package on your computer.
2. Upload the plugin folder to your site’s `/wp-content/plugins/` directory.
3. Go to Plugins inside WordPress.
4. Find the SEOVault AI connector plugin.
5. Click Activate.
## How to connect your site to the Web App
[](#how-to-connect-your-site-to-the-web-app)
After activation:
1. Open the SEOVault AI Web App.
2. Go to the area where you add or manage WordPress sites.
3. Choose Add Website or the equivalent site connection flow.
4. Enter your WordPress site details when requested.
5. Complete the authorization or connection process.
6. Wait for the site sync to complete.
After a successful connection, your site should appear inside the Web App so you can:
* browse posts from the left panel
* open a draft into the editor
* create a new post
* save changes back to WordPress
* switch between connected sites if you have more than one
## What permissions does the connector need?
[](#what-permissions-does-the-connector-need)
Because the plugin connects your content workflow to the Web App, it may need permission to:
* read post and page content
* create new posts
* update existing posts
* access basic site connection settings required for sync
These permissions are used only to support the publishing and editing features you explicitly use.
You should describe the exact technical permissions in your separate Data & Permissions and Privacy Policy pages so users and reviewers can verify how the connection works.
## Is the plugin heavy?
[](#is-the-plugin-heavy)
No. The connector is intended to be lightweight.
Its role is API communication and publishing support, not replacing half of your WordPress stack.
That means the positioning should stay clear everywhere on your website:
* Extension workflow: no extra heavy SEO plugin needed for side-panel optimization inside WordPress
* Web App workflow: lightweight connector plugin required for secure sync and publishing
## How the connector fits into the SEOVault AI product
[](#how-the-connector-fits-into-the-seovault-ai-product)
SEOVault AI has two main workflows:
### 1\. Chrome Extension workflow
[](#1-chrome-extension-workflow)
Best for users who want to work directly inside the native WordPress editor.
* side panel inside WordPress
* fast analysis and generation
* injection into the post draft
* no heavy SEO plugin required for core helper features
### 2\. Web App workflow
[](#2-web-app-workflow)
Best for users who want a broader publishing workspace.
* multi-site management
* centralized editor
* cloud history
* team collaboration
* advanced linking and publishing workflows
* requires the connector plugin
This distinction is important because users should immediately understand that the connector is part of the Web App workflow, not the entire product.
## Troubleshooting
[](#troubleshooting)
### The Web App cannot detect my site
[](#the-web-app-cannot-detect-my-site)
Check the following:
* the plugin is installed and activated
* your site URL was entered correctly
* your WordPress site is publicly reachable if required by your setup
* there is no firewall, security plugin, or server rule blocking the connection
* you are using an administrator account if the connection flow requires it
### My posts are not loading
[](#my-posts-are-not-loading)
Try these steps:
* reconnect the site from the Web App
* refresh the connection inside the site manager
* confirm the plugin is still active
* make sure your WordPress REST or API-related functionality is not blocked by another plugin or hosting rule
### I can connect, but publishing fails
[](#i-can-connect-but-publishing-fails)
Check:
* whether your WordPress user has permission to create or edit posts
* whether a security plugin is blocking requests
* whether your hosting environment blocks remote requests or API callbacks
* whether there are plugin conflicts in `wp-admin`
### I use another SEO plugin like Rank Math or Yoast
[](#i-use-another-seo-plugin-like-rank-math-or-yoast)
That is fine.
The connector plugin does not exist to replace your SEO plugin. It exists to connect WordPress with the SEOVault AI Web App.
If you support plugin-aware field syncing or metadata injection, document that separately in a dedicated guide.
## Best practices
[](#best-practices)
To get the best results:
* keep WordPress, themes, and plugins updated
* use the connector only on sites you manage or own
* test the connection on one site first before adding many sites
* document your publishing workflow for team members if you use shared workspaces
* publish a separate privacy and data handling page that explains what is synced and why
## Security and trust recommendations
[](#security-and-trust-recommendations)
To build user trust, your public documentation should clearly explain:
* what data is transmitted between WordPress and the Web App
* whether drafts are stored in cloud history
* whether credentials are stored, and if so, how
* how users can disconnect a site
* what happens when the plugin is deactivated or deleted
This is especially important for user confidence, plugin reviews, Chrome Web Store review alignment, and payment provider compliance.
## Frequently asked questions
[](#frequently-asked-questions)
### Do I need the connector plugin to use the Chrome extension?
[](#do-i-need-the-connector-plugin-to-use-the-chrome-extension)
No, not for the extension’s core in-editor workflow.
### Do I need the connector plugin to use the Web App?
[](#do-i-need-the-connector-plugin-to-use-the-web-app)
Yes. The Web App needs a secure connector to communicate with your WordPress site.
### Will this slow down my WordPress site?
[](#will-this-slow-down-my-wordpress-site)
The connector is intended to stay lightweight and focused on communication, not heavy front-end processing.
### Can I connect more than one site?
[](#can-i-connect-more-than-one-site)
Yes, if your SEOVault AI plan and Web App setup support multi-site management.
### Can I remove the connector later?
[](#can-i-remove-the-connector-later)
Yes. If you disconnect your site and deactivate the plugin, the Web App workflow for that site will stop working until you reconnect it.
## Final summary
[](#final-summary)
The SEOVault AI connector plugin is a lightweight bridge between your WordPress website and the SEOVault AI Web App.
Use it when you want centralized editing, publishing, multi-site management, and workspace-driven SEO workflows.
If you prefer working directly inside the WordPress editor, the Chrome extension remains your fast, low-bloat option.
---
## Internal Linking and Autolinking Guide
URL: https://seovaultai.com/docs/internal-linking-and-autolinking-guide
Learn how SEOVault AI helps you build internal links and autolink at scale across WordPress content.
# Internal Linking and Autolinking Guide
Internal linking is one of the most practical SEO improvements most WordPress sites underuse.
It helps search engines understand site structure, strengthens topic clusters, improves crawl paths, supports important pages, and gives readers better navigation through related content.
SEOVault AI includes both internal linking tools and autolinking workflows to make this process faster and easier across WordPress sites.
This guide explains what those features do, how they differ, and how to use them properly.
## Why Internal Linking Matters
[](#why-internal-linking-matters)
A strong internal linking system helps your site in several ways:
* connects related content into clearer topic clusters
* helps distribute attention and authority across pages
* makes older posts easier to rediscover
* supports crawlability and content discovery
* gives users more useful next steps while reading
* helps important pages get reinforced from supporting content
For publishers with dozens or hundreds of posts, internal linking becomes hard to manage manually. That is where SEOVault AI can save a lot of time.
## Two Different Workflows
[](#two-different-workflows)
SEOVault AI supports two related but different workflows:
* Internal Linking
* Autolinking
They are connected, but they are not the same thing.
### Internal Linking
[](#internal-linking)
This is the more guided workflow.
It helps you find relevant links for selected text or for the overall article, then apply them intentionally.
This is best when you want more control over anchor text, link placement, and context.
### Autolinking
[](#autolinking)
This is the more scalable workflow.
It scans content across the site, suggests matching opportunities, and helps you apply links in larger batches.
This is best when you want to speed up linking across many posts or support a broader internal-link strategy.
Think of it this way:
* Internal Linking = more selective, hands-on, article-level linking
* Autolinking = more operational, broader, faster linking at scale
## What Both Features Help You Do
[](#what-both-features-help-you-do)
Together, these tools help you:
* discover internal link opportunities faster
* avoid hunting through old posts manually
* improve content cluster structure
* connect new posts to older relevant pages
* strengthen important destination pages
* refresh archive content more efficiently
* reduce the time spent building links post by post
For many WordPress publishers, this is one of the highest-ROI workflows inside SEOVault AI.
## Internal Linking in the Web App
[](#internal-linking-in-the-web-app)
The Web App includes the more advanced internal linking workflow.
When you highlight text inside the article, the Web App can scan your site and surface internal link suggestions relevant to that text.
Depending on the interface state, suggestions may appear:
* in a popup
* in the side panel
* at the article level
* through link suggestion controls tied to selected anchor text
Once you choose a link, the system can inject it directly as an href on the selected text.
### Best uses for internal linking:
[](#best-uses-for-internal-linking)
* linking important phrases manually
* keeping tight control over anchors
* improving one article at a time
* building better cluster support around pillar pages
* reviewing link relevance before applying
This is the best workflow when you want precision.
## Autolinking in the Web App
[](#autolinking-in-the-web-app)
Autolinking is designed for larger-scale linking workflows.
Instead of handling one anchor at a time, it allows you to select a target post and then scan the site for opportunities to add links pointing to that destination.
### Typical autolinking workflow:
[](#typical-autolinking-workflow)
1. choose a target post
2. run a preview
3. review suggested linking opportunities across the site
4. check the ones you want to apply
5. run the job
6. let the system add those links
This can save a huge amount of time compared with manual internal linking, especially on larger WordPress sites.
## AI Rewrite Support for Autolinking
[](#ai-rewrite-support-for-autolinking)
One of the strongest parts of the autolinking workflow is what happens when an exact matching anchor phrase is not already present.
In that case, SEOVault AI can support the process with AI rewriting.
That means the system can help rewrite the sentence in a target post so the correct anchor phrase can be added naturally.
This is powerful because one of the biggest blockers in internal linking is often not the destination page - it is the fact that the source content does not contain a suitable anchor phrase.
### Why this matters:
[](#why-this-matters)
* you do not have to manually edit every source post
* the system can help create a cleaner exact-match or closer-match link opportunity
* large-scale linking becomes much more realistic on established sites
This is one of the clearest advantages of the Web App workflow over a purely manual process.
## Extension Support for Internal-Link Workflows
[](#extension-support-for-internal-link-workflows)
The Chrome Extension also supports internal-link-related workflows, but in a more lightweight way.
You can use the extension for:
* internal citation and link building support
* text selection workflows
* Google search operator shortcuts
* internal-search style linking help
* sitemap usage and link browsing
* faster in-editor article improvement
The Extension is helpful when you are working directly inside WordPress and want a quick, hands-on linking workflow.
The Web App is better when you want more advanced and scalable internal linking operations.
## Sitemap Support
[](#sitemap-support)
Both the Extension and the Web App support sitemap-related workflows.
After generating or reading sitemap data, you can work with listed URLs and use them to:
* find internal pages faster
* support article linking decisions
* discover related posts
* feed workflows like content ideation or inspiration
* reduce the need to search your site manually
A clean sitemap view becomes very helpful when your content library grows.
## Broken Link Checker
[](#broken-link-checker)
SEOVault AI also includes broken-link-related functionality, which supports healthier internal-link management.
### Extension
[](#extension)
The extension currently scans internal links only.
### Web App
[](#web-app)
The Web App has a broader implementation and can check both internal and external links, with the heavier processing handled through the cloud-based workflow.
Broken link checking matters because a good internal link strategy is not only about adding more links. It is also about making sure the links you rely on still work.
## When to Use Manual Internal Linking vs Autolinking
[](#when-to-use-manual-internal-linking-vs-autolinking)
Both workflows are useful, but they solve slightly different problems.
### Use manual internal linking when:
[](#use-manual-internal-linking-when)
* you care about precise anchor text
* the article is high value
* you want to review each link carefully
* you are improving one page at a time
* the topic requires judgment and nuance
* the page is commercially important
### Use autolinking when:
[](#use-autolinking-when)
* you want to support a target page across many source posts
* your site is large enough that manual linking becomes slow
* you already know which page you want to strengthen
* you want to batch internal-link improvements
* you are building or reinforcing topic clusters at scale
In many cases, the best workflow is to use both:
* manual linking for key pages
* autolinking for scalable reinforcement
## A Good Internal Linking Strategy
[](#a-good-internal-linking-strategy)
Tools help, but the results still depend on strategy.
A strong internal linking approach usually includes:
* linking from relevant content, not random content
* using natural anchor text
* supporting important commercial or pillar pages
* reinforcing topic clusters
* improving older posts as well as new ones
* keeping links useful for readers, not just search engines
* avoiding spammy repetition
The best internal links feel natural and helpful.
## How to Use Internal Linking Well
[](#how-to-use-internal-linking-well)
### 1\. Start with your most important destination pages
[](#1-start-with-your-most-important-destination-pages)
Know which pages deserve support.
These may be:
* pillar pages
* buyer’s guides
* product reviews
* service pages
* category-level evergreen articles
* strategically valuable commercial pages
### 2\. Look for real topical relevance
[](#2-look-for-real-topical-relevance)
Do not add links just because a phrase technically matches.
The source page should be genuinely related.
### 3\. Prefer useful anchors over forced anchors
[](#3-prefer-useful-anchors-over-forced-anchors)
A natural anchor that fits the sentence is usually better than a clumsy phrase inserted just to match keywords.
### 4\. Improve both new and old content
[](#4-improve-both-new-and-old-content)
A linking strategy should not apply only to fresh posts. Your archive often contains the best linking opportunities.
### 5\. Review context before applying at scale
[](#5-review-context-before-applying-at-scale)
Even when autolinking saves time, review the preview carefully before applying a large batch.
### 6\. Use AI rewrite support carefully
[](#6-use-ai-rewrite-support-carefully)
AI rewrite support is useful, but the result should still read naturally and fit the surrounding sentence.
## Common Internal Linking Use Cases
[](#common-internal-linking-use-cases)
### New article support
[](#new-article-support)
You publish a new article and want to connect it to older related pages.
### Pillar page reinforcement
[](#pillar-page-reinforcement)
You have an important page and want more supporting internal links from related posts.
### Content refresh workflow
[](#content-refresh-workflow)
You are updating older content and want to improve both structure and internal link depth at the same time.
### Cluster building
[](#cluster-building)
You want a group of related pages to support each other more clearly.
### Large-site cleanup
[](#large-site-cleanup)
You manage a bigger site or portfolio and need a faster operational way to improve internal links without editing every page by hand.
## Autolinking Limits by Plan
[](#autolinking-limits-by-plan)
Autolinking is governed by plan-based usage limits.
### Starter
[](#starter)
* Monthly deterministic autolink apply limit: 100
* Max autolinks per job: 25
### Pro
[](#pro)
* Monthly deterministic autolink apply limit: 500
* Max autolinks per job: 100
### Advanced
[](#advanced)
* Monthly deterministic autolink apply limit: 2000
* Max autolinks per job: 500
* Fair use policy applies
If internal linking at scale is important to your workflow, review these plan limits carefully.
## Credits vs Autolinking Limits
[](#credits-vs-autolinking-limits)
Autolinking limits are not the same as credits.
### Credits
[](#credits)
Credits are generally used for premium AI and research actions.
### Autolinking limits
[](#autolinking-limits)
Autolinking limits control how many deterministic autolink applications your plan allows and how large each job can be.
That means a user can still care about both:
* how many credits are available
* how much autolinking capacity the plan includes
If you do a lot of linking at scale, both numbers matter.
## Best Practices for Autolinking
[](#best-practices-for-autolinking)
To keep autolinking useful and safe, follow a few rules:
* start with your most important target pages
* review previews before applying
* avoid linking from weakly related posts
* avoid overly repetitive anchors
* do not force exact-match anchors everywhere
* use AI rewrite support only when the result stays natural
* watch for over-optimization on sensitive pages
* build topic clusters with intent, not just volume
Autolinking works best when it amplifies good editorial judgment instead of replacing it completely.
## Mistakes to Avoid
[](#mistakes-to-avoid)
### Linking for volume instead of relevance
[](#linking-for-volume-instead-of-relevance)
More links are not automatically better.
### Using awkward anchor text
[](#using-awkward-anchor-text)
A link should fit naturally into the sentence.
### Ignoring the source page quality
[](#ignoring-the-source-page-quality)
If the source page is weak, the link is less useful than you think.
### Applying too many links in one pass
[](#applying-too-many-links-in-one-pass)
Even if your plan allows bigger jobs, reviewing quality matters.
### Forgetting old posts
[](#forgetting-old-posts)
Your archive is often where your best link opportunities are hiding.
### Treating internal linking as a one-time task
[](#treating-internal-linking-as-a-one-time-task)
Internal linking should be an ongoing publishing habit.
## A Practical Workflow Example
[](#a-practical-workflow-example)
A simple, effective internal-linking workflow might look like this:
1. choose the destination page you want to strengthen
2. identify related source content
3. use internal-link suggestions or autolinking preview
4. review suggested anchors and placements
5. apply high-quality links
6. use AI rewrite support where needed
7. recheck the article for natural flow
8. repeat for other important cluster pages
This is much faster than manually hunting through every post.
## Why This Matters So Much for WordPress Publishers
[](#why-this-matters-so-much-for-wordpress-publishers)
WordPress sites tend to accumulate content over time.
That means publishers often end up with:
* many half-connected articles
* missed cluster opportunities
* older posts that never got linked properly
* new posts that were published in isolation
* valuable pages that are not being reinforced enough
SEOVault AI helps fix that.
Instead of treating internal linking like a tedious cleanup task, you can turn it into a repeatable workflow.
That is especially valuable for:
* niche site owners
* affiliate publishers
* agencies
* portfolio operators
* teams managing growing content libraries
## Final Recommendation
[](#final-recommendation)
Use Internal Linking when you want precision. Use Autolinking when you want scale. Use both when you want the strongest long-term structure.
For many WordPress publishers, this is one of the most practical features in SEOVault AI because it improves content value across the whole site, not just one draft at a time.
## Next Recommended Guides
[](#next-recommended-guides)
After this page, read:
1. [How Credits Work](/docs/how-credits-work/)
2. [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
3. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
4. [Rewrite Existing Articles with AI](/docs/rewrite-existing-articles-with-ai/)
5. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
## Need Help?
[](#need-help)
If internal linking suggestions are not giving you the results you want, review:
* whether the target page is worth strengthening
* whether the source content is truly related
* whether the anchor text feels natural
* whether the job is better handled manually or with autolinking
* whether AI rewrite support improved or hurt the sentence naturally
The best internal linking results come from a mix of automation and judgment.
---
## Local SEO: Business Information and Local Schema
URL: https://seovaultai.com/docs/local-seo-business-information-and-local-schema
Configure business information and LocalBusiness schema markup for local search visibility.
# Local SEO: Business Information and Local Schema
Local SEO features help your business appear in local search results and map listings. This guide covers configuring business information, LocalBusiness schema markup, opening hours, and related settings.
## Enable Local SEO
[](#enable-local-seo)
Local SEO is disabled by default. Enable it to activate schema generation and local SEO features.
**To enable:**
1. Go to **SEOvault AI > Local SEO**
2. Check **Enable Local SEO**
3. Click **Save Local SEO Settings**
This enables:
* LocalBusiness schema markup
* Geo meta tags
* Local SEO shortcodes
* KML sitemap generation
## Business information
[](#business-information)
Configure your business details for schema markup and local search.
### Business type
[](#business-type)
Select the most specific business type for your business. The plugin offers a hierarchical list of Schema.org LocalBusiness subtypes:
**Categories include:**
* Store (Auto Parts, Bike, Book, Clothing, Computer, Electronics, Florist, Furniture, Grocery, Hardware, Jewelry, Liquor, Mobile Phone, Music, Office Equipment, Outlet, Pawn Shop, Pet, Shoe, Sporting Goods, Tire, Toy, Wholesale, Men’s/Women’s Clothing)
* Food Establishment (Bakery, Bar or Pub, Brewery, Cafe or Coffee Shop, Fast Food Restaurant, Ice Cream Shop, Restaurant, Winery)
* Health and Beauty Business (Beauty Salon, Day Spa, Hair Salon, Health Club, Nail Salon, Tattoo Parlor)
* Medical Business (Dentist, Dermatology, Diet & Nutrition, Emergency Service, General Practice, Medical Clinic, Optician, Pharmacy, Physician, Veterinary Care)
* Home and Construction Business (Electrician, General Contractor, House Painter, Locksmith, Moving Company, Plumber, Roofing Contractor)
* Automotive Business (Auto Body Shop, Auto Dealer, Auto Rental, Auto Repair, Auto Wash, Gas Station, Motorcycle Dealer, Motorcycle Repair)
* Lodging Business (Bed and Breakfast, Hostel, Hotel, Motel, Resort)
* Entertainment Business (Amusement Park, Art Gallery, Casino, Comedy Club, Movie Theater, Night Club, Tourist Attraction, Tourist Information Center)
* Education Business (College or University, Elementary School, High School, Middle School, Preschool, Private School, Public School, School)
* Financial Service (Accounting Service, Automated Teller, Bank or Credit Union, Insurance Agency)
* Legal Service (Attorney, Notary)
* Professional Service (Accounting Service, Architectural Services, Engineering Service, Legal Service, Notary, Printing Service)
* Other types (Real Estate Agent, Travel Agency, Child Care, Dry Cleaning or Laundry, Event Venue, Fitness Center, Internet Cafe, Library, Museum, Park, Place of Worship, Playground, RV Park, Shopping Center, Sports Activity Location, Stadium or Arena, Taxi Service, Television Station, Tourist Attraction, Zoo)
**To configure:**
1. Go to **SEOvault AI > Local SEO > Business Info**
2. Select your business type from the dropdown
3. Click **Save Local SEO Settings**
### Contact information
[](#contact-information)
**Required fields:**
* **Business Name** — Your official business name
* **Street Address** — Primary street address
* **City** — City or locality
* **State / Province** — State, province, or region
* **Postal Code** — ZIP or postal code
* **Country** — Country from dropdown list
* **Phone** — Primary phone number
**Optional fields:**
* **Address Line 2** — Suite, unit, or additional address line
* **Secondary Phone** — Additional phone number
* **Fax** — Fax number
* **Email** — Business email address
* **Website URL** — Business website URL
**To configure:**
1. Go to **SEOvault AI > Local SEO > Business Info**
2. Fill in the contact information fields
3. Click **Save Local SEO Settings**
### Location coordinates
[](#location-coordinates)
Geographic coordinates help search engines pinpoint your location on maps.
**To find your coordinates:**
1. Search for your address on Google Maps
2. Right-click on your location
3. Select the coordinates from the popup
**To configure:**
1. Go to **SEOvault AI > Local SEO > Business Info**
2. Enter **Latitude** (e.g., 40.7128)
3. Enter **Longitude** (e.g., -74.0060)
4. Click **Save Local SEO Settings**
### Additional business details
[](#additional-business-details)
**Optional fields:**
* **Price Range** — Price range indicator (e.g., $$, $$$)
* **Area Served** — Geographic area you serve
* **Currencies Accepted** — Accepted currencies
* **Payment Accepted** — Payment methods
**To configure:**
1. Go to **SEOvault AI > Local SEO > Business Info**
2. Fill in additional details as needed
3. Click **Save Local SEO Settings**
## Opening hours
[](#opening-hours)
Configure your business hours for schema markup and display on your site.
### 24/7 operation
[](#247-operation)
If your business is open 24 hours a day, 7 days a week:
1. Go to **SEOvault AI > Local SEO > Opening Hours**
2. Check **24/7 Open**
3. Click **Save Local SEO Settings**
### Regular hours
[](#regular-hours)
For businesses with standard operating hours:
1. Go to **SEOvault AI > Local SEO > Opening Hours**
2. For each day of the week, set:
* **First Open** — Opening time
* **First Close** — Closing time
3. Click **Save Local SEO Settings**
### Split hours
[](#split-hours)
If your business has multiple time slots per day (e.g., morning and afternoon):
1. Go to **SEOvault AI > Local SEO > Opening Hours**
2. Check **Multiple Time Slots**
3. For each day, set:
* **First Open** and **First Close** — First time slot
* **Second Open** and **Second Close** — Second time slot
4. Click **Save Local SEO Settings**
### Per-day 24-hour override
[](#per-day-24-hour-override)
For specific days with 24-hour operation:
1. Go to **SEOvault AI > Local SEO > Opening Hours**
2. Check the **24h** checkbox for the specific day
3. Click **Save Local SEO Settings**
### Hide opening hours
[](#hide-opening-hours)
If you don’t want to display opening hours on your site:
1. Go to **SEOvault AI > Local SEO > Opening Hours**
2. Check **Hide Opening Hours**
3. Click **Save Local SEO Settings**
## Maps and store locator
[](#maps-and-store-locator)
Configure Google Maps integration for map shortcodes and store locator functionality.
### Google Maps API key
[](#google-maps-api-key)
Required for map shortcodes and store locator features.
**To get an API key:**
1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a project or select an existing one
3. Enable the Maps JavaScript API
4. Create an API key with appropriate restrictions
5. Copy the API key
**To configure:**
1. Go to **SEOvault AI > Local SEO > Maps & Store Locator**
2. Paste your Google Maps API key
3. Click **Save Local SEO Settings**
### Unit system
[](#unit-system)
Choose the unit system for distance calculations:
* **Metric (km)** — Use kilometers
* **Imperial (miles)** — Use miles
**To configure:**
1. Go to **SEOvault AI > Local SEO > Maps & Store Locator**
2. Select your preferred unit system
3. Click **Save Local SEO Settings**
### Store locator settings
[](#store-locator-settings)
Configure the maximum number of results for store locator searches:
1. Go to **SEOvault AI > Local SEO > Maps & Store Locator**
2. Set **Store Locator: Max Results** (1-100)
3. Click **Save Local SEO Settings**
### KML sitemap
[](#kml-sitemap)
The plugin automatically generates a KML sitemap for your locations. The sitemap URL is displayed on the Maps & Store Locator tab.
KML sitemaps help search engines understand your location data for local search results.
## Schema markup
[](#schema-markup)
The plugin automatically generates LocalBusiness schema markup based on your settings.
### Schema includes:
[](#schema-includes)
* **@type** — LocalBusiness and specific business type
* **@id** — Schema identifier
* **name** — Business name
* **url** — Website URL
* **address** — PostalAddress with full address details
* **geo** — GeoCoordinates with latitude and longitude
* **telephone** — Phone number(s)
* **email** — Email address
* **faxNumber** — Fax number (if configured)
* **image** — Business logo (if configured)
* **logo** — Business logo (if configured)
* **priceRange** — Price range (if configured)
* **currenciesAccepted** — Accepted currencies (if configured)
* **paymentAccepted** — Payment methods (if configured)
* **areaServed** — Area served (if configured)
* **vatID** — VAT ID (if configured)
* **taxID** — Tax ID (if configured)
* **contactPoint** — Contact information (if configured)
* **openingHoursSpecification** — Opening hours (if configured)
### Test your schema
[](#test-your-schema)
Use the [Google Rich Results Test](https://search.google.com/test/rich-results) to verify your LocalBusiness schema is correctly implemented.
## Multiple locations
[](#multiple-locations)
For businesses with multiple locations, the plugin supports location-specific schema through a custom post type.
### Location post type
[](#location-post-type)
When you have multiple locations:
1. Create individual location posts
2. Configure business information for each location
3. The plugin generates schema for each location page
4. The homepage uses the primary location schema
### Set primary location
[](#set-primary-location)
1. Go to your location posts
2. Mark one location as primary
3. The homepage will use this location’s schema
## Import and export
[](#import-and-export)
Import or export your Local SEO settings for backup or migration.
**To export:**
1. Go to **SEOvault AI > Local SEO > Import / Export**
2. Click **Export Settings**
3. Save the JSON file
**To import:**
1. Go to **SEOvault AI > Local SEO > Import / Export**
2. Select a JSON file
3. Click **Import Settings**
4. Review and confirm the import
## Best practices
[](#best-practices)
### NAP consistency
[](#nap-consistency)
Keep your Name, Address, and Phone (NAP) consistent across:
* Your website
* Google Business Profile
* Other local directories (Yelp, Yellow Pages, etc.)
* Social media profiles
Inconsistent NAP data confuses search engines and hurts local rankings.
### Complete your profile
[](#complete-your-profile)
Fill in as many fields as possible:
* Complete address information
* Phone number
* Business hours
* Business type
* Geographic coordinates
* Website URL
### Verify your listing
[](#verify-your-listing)
Verify your business on Google Business Profile to improve local search visibility and trust.
### Monitor performance
[](#monitor-performance)
Use Google Search Console to monitor:
* Local search impressions
* Click-through rates
* Position in local pack results
## Troubleshooting
[](#troubleshooting)
### Schema not appearing
[](#schema-not-appearing)
If LocalBusiness schema is not appearing on your site:
1. Verify Local SEO is enabled
2. Check that business information is complete
3. Ensure the business type is selected
4. Test with the Rich Results Test
5. Check for conflicts with other SEO plugins
### Incorrect coordinates
[](#incorrect-coordinates)
If your map pin is in the wrong location:
1. Verify latitude and longitude values
2. Use Google Maps to find correct coordinates
3. Ensure positive/negative signs are correct
4. Latitude: -90 to 90
5. Longitude: -180 to 180
### Opening hours not displaying
[](#opening-hours-not-displaying)
If opening hours are not appearing:
1. Verify opening hours are configured
2. Check that “Hide Opening Hours” is not checked
3. Ensure time format is correct (HH:MM)
4. Clear your cache if using a caching plugin
## Related docs
[](#related-docs)
* [Schema Validation and Testing](/docs/schema-validation-and-testing/)
* [Recommended Settings for Local Business Sites](/docs/recommended-settings-for-local-business-sites/)
---
## Multi-Site Management Guide
URL: https://seovaultai.com/docs/multi-site-management-guide
Learn how to connect, switch between, and manage multiple WordPress sites from one SEOVault AI workspace.
# Multi-Site Management Guide
Multi-Site Management allows you to:
* connect multiple WordPress websites to one SEOVault AI account
* switch between connected sites from the workspace
* load posts from the selected site
* create and edit drafts for the selected site
* save content back to the selected WordPress website
* keep publishing operations organized across a portfolio
Each connected site remains its own WordPress installation. SEOVault AI provides a central workspace for managing them.
## What Multi-Site Management Does
[](#what-multi-site-management-does)
Multi-Site Management allows you to:
* connect multiple WordPress websites to one SEOVault AI account
* switch between connected sites from the workspace
* load posts from the selected site
* create and edit drafts for the selected site
* save content back to the selected WordPress website
* keep publishing operations organized across a portfolio
Each connected site remains its own WordPress installation. SEOVault AI provides a central workspace for managing them.
## Where Multi-Site Management Lives
[](#where-multi-site-management-lives)
Multi-Site Management is part of the SEOVault AI Web App.
It is available through the main workspace interface, where the connected site selector appears in the left-side workflow area.
From there, you can:
* view the current active site
* switch to another connected site
* load that site’s posts into the workspace
* continue editing and publishing in the same interface
## Requirements
[](#requirements)
To use Multi-Site Management, each WordPress site must be connected to SEOVault AI through the lightweight connector plugin.
A site must be properly connected before it can appear in the site selector and before its posts can be managed from the Web App.
Multi-Site Management requires:
* a SEOVault AI account
* access to the Web App
* administrator-level access to each WordPress site you want to connect
* the SEOVault AI connector plugin installed and activated on each connected site
## How to Add Another Site
[](#how-to-add-another-site)
To add another WordPress site:
1. Open the SEOVault AI Web App.
2. Go to the site connection area.
3. Choose the option to add a new WordPress website.
4. Enter the site details.
5. Install and activate the connector plugin on that WordPress site.
6. Complete the connection process.
7. Confirm that the site appears in the connected site selector.
Once connected, the site becomes part of the Multi-Site Management workflow.
## How Site Switching Works
[](#how-site-switching-works)
The Web App uses a site selector in the workspace.
When you switch sites, SEOVault AI changes the active working context to that selected WordPress installation.
That affects the content shown in the workspace, including:
* the post list
* draft loading
* editing context
* save-to-WordPress actions
* internal link data related to that site
* sitemap-based workflows tied to that site
Always confirm the active site before editing or saving content.
## What Changes When You Switch Sites
[](#what-changes-when-you-switch-sites)
When a different site is selected, SEOVault AI works against that site’s content and publishing environment.
This means:
* the left-pane post list belongs to the selected site
* the editor actions apply to the selected site
* newly created drafts belong to the selected site
* save actions publish back to the selected site
* site-specific linking workflows use the selected site’s content
Multi-Site Management keeps each site separated while allowing all of them to be managed from the same account.
## Working with Posts Across Multiple Sites
[](#working-with-posts-across-multiple-sites)
Once multiple sites are connected, the standard workflow stays simple:
1. choose the active site
2. load an existing post or create a new draft
3. edit the content in the Web App
4. use SEOVault AI tools as needed
5. save the result back to the selected WordPress site
This makes it possible to move between different websites without leaving the main workspace.
## Multi-Site Use Cases
[](#multi-site-use-cases)
### Portfolio publishing
[](#portfolio-publishing)
Manage several niche sites or content properties from one account.
### Agency operations
[](#agency-operations)
Handle content workflows across multiple client WordPress websites.
### Brand groups
[](#brand-groups)
Manage different websites under the same business from a shared publishing environment.
### Editorial scaling
[](#editorial-scaling)
Work across several connected sites without maintaining separate publishing routines for each one.
## Best Practices
[](#best-practices)
### Name sites clearly
[](#name-sites-clearly)
Use clear site labels so the active site is easy to recognize.
### Confirm the active site before saving
[](#confirm-the-active-site-before-saving)
Before using any save or publish-related action, verify that the correct site is selected.
### Connect sites one by one
[](#connect-sites-one-by-one)
Add and confirm each site individually before expanding to more connections.
### Keep connector setup active on every connected site
[](#keep-connector-setup-active-on-every-connected-site)
A disconnected or inactive connector can interrupt the multi-site workflow.
### Organize work by site
[](#organize-work-by-site)
Complete work within one site context before switching if the content pipeline is busy or fast-moving.
## Multi-Site Management and Team Workflow
[](#multi-site-management-and-team-workflow)
Multi-Site Management becomes even more valuable inside a collaborative Web App workflow.
With connected sites in one workspace, teams can handle:
* site-by-site content operations
* editing and review across multiple properties
* more organized publishing at scale
* centralized workflow across several WordPress installs
This is especially useful for agencies and multi-property publishers.
## Multi-Site Management and Internal Linking
[](#multi-site-management-and-internal-linking)
Internal linking and autolinking workflows operate within the context of the selected site.
That means link discovery, post matching, and site-wide linking actions apply to the currently active WordPress installation.
Before running linking workflows, confirm that the correct site is selected.
## Multi-Site Management and Draft History
[](#multi-site-management-and-draft-history)
Drafts, workflow context, and publishing actions are tied to the active site context inside the Web App.
When switching between sites, always verify:
* which site is active
* which post is loaded
* where the next save action will go
This keeps content operations clean and prevents cross-site mistakes.
## Common Issues
[](#common-issues)
### A site does not appear in the selector
[](#a-site-does-not-appear-in-the-selector)
The site may not be fully connected, or the connector plugin may not be active.
### Posts are loading from the wrong site
[](#posts-are-loading-from-the-wrong-site)
The active site selector may be set to a different connected website.
### Save to WordPress is affecting the wrong property
[](#save-to-wordpress-is-affecting-the-wrong-property)
The wrong site may be selected in the workspace.
### A newly connected site is missing content
[](#a-newly-connected-site-is-missing-content)
The site connection may need to be refreshed or rechecked inside the connector workflow.
## Recommended Workflow
[](#recommended-workflow)
For the cleanest multi-site workflow:
1. select the site
2. confirm the site context
3. load the post or create a new draft
4. complete the editing work
5. save back to WordPress
6. switch sites only after that workflow is complete
This reduces confusion and keeps content tied to the correct destination.
## Final Notes
[](#final-notes)
Multi-Site Management is designed to make SEOVault AI practical for real publishing operations, not just single-site drafting.
It keeps multiple WordPress websites inside one organized workflow while preserving site-level separation.
For publishers managing more than one website, this is one of the most important Web App features.
## Related Documentation
[](#related-documentation)
* [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
* [Install the WordPress Connector Plugin](/docs/install-wordpress-connector-plugin/)
* [Team Workspace Guide](/docs/team-workspace-guide/)
* [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
* [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
---
## Noindex-Aware Sitemap Behavior
URL: https://seovaultai.com/docs/noindex-aware-sitemap-behavior
Understand how SEOvault AI automatically excludes noindexed posts and terms from the XML sitemap, ensuring search engines only crawl what you intend.
# Noindex-Aware Sitemap Behavior
SEOvault AI’s XML sitemap is noindex-aware. Any post, page, or taxonomy term you mark as noindex is automatically excluded from the sitemap. This happens at the database query level, so the cached sitemap files never contain URLs you do not want search engines to crawl.
## How noindex exclusion works
[](#how-noindex-exclusion-works)
When the sitemap is built, the plugin queries the database for posts and terms. Before adding a URL to the sitemap, it checks the SEOvault AI robots meta for that item:
* If a post has the **Noindex** checkbox checked in the SEOvault AI meta box, it is excluded.
* If a category or tag has the **Noindex** checkbox checked in the term meta box, it is excluded.
* If a post type is set to noindex globally under **SEOvault AI > General > Robots**, all posts of that type are excluded.
* Password-protected posts are always excluded, regardless of other settings.
The exclusion happens during the query itself. The sitemap builder adds a `NOT IN` clause to the SQL query to skip the IDs of noindexed items. This means the sitemap cache only contains URLs you have explicitly allowed.
## Per-post noindex exclusion
[](#per-post-noindex-exclusion)
To exclude a specific post or page from the sitemap:
1. Open the post or page in the WordPress editor.
2. Find the **SEOvault AI** meta box.
3. Check the **Noindex** checkbox under the **Robots** section.
4. Save or update the post.
The sitemap cache is invalidated automatically when you save. The next time the sitemap is rebuilt, the post is excluded.
## Per-term noindex exclusion
[](#per-term-noindex-exclusion)
To exclude a category, tag, or custom taxonomy term from the sitemap:
1. Go to **Posts > Categories** or **Posts > Tags** (or the edit screen for your custom taxonomy).
2. Click **Edit** on the term you want to exclude.
3. Find the **SEOvault AI** section.
4. Check the **Noindex** checkbox.
5. Click **Update**.
The sitemap cache is invalidated automatically. The term is excluded from the next rebuild.
## Global post type noindex
[](#global-post-type-noindex)
If you set an entire post type to noindex globally, all posts of that type are excluded from the sitemap:
1. Go to **SEOvault AI > General > Robots**.
2. Under **Post Types**, uncheck the post types you want to noindex.
3. Click **Save Changes**.
The sitemap is rebuilt automatically. The unchecked post types no longer appear in the sitemap index or sub-sitemaps.
## Behavior with WordPress core sitemaps
[](#behavior-with-wordpress-core-sitemaps)
Even if you do not use the SEOvault AI custom sitemap, the plugin still helps exclude noindexed content from the default WordPress core sitemap.
When the SEOvault AI sitemap is disabled, the plugin hooks into the core sitemap query:
```
add_filter( 'wp_sitemaps_posts_query', array( Manager::class, 'exclude_noindexed_posts' ), 10, 2 );
```
This filter adds the same noindex exclusion logic to the WordPress core sitemap. Posts marked as noindex in SEOvault AI are not included in `wp-sitemap.xml` either.
## What happens after you change noindex settings
[](#what-happens-after-you-change-noindex-settings)
When you mark a post or term as noindex, the sitemap cache is invalidated immediately. A background rebuild is scheduled within 5 seconds. The next time the sitemap is requested, the updated version is served.
If you manually purge the sitemap cache by clicking **Purge Sitemap Cache** in the settings, the entire sitemap is rebuilt with the current noindex settings applied.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Cache delay**: There is a short delay between saving a noindex setting and the sitemap reflecting the change. The background rebuild runs within seconds, but a crawler that requests the sitemap immediately might see the old version for a brief moment.
* **Manual output mode**: In Manual output mode, the plugin does not auto-generate SEO values, but the sitemap still respects the noindex checkboxes you manually set.
* **Disabled output mode**: In Disabled output mode, the entire plugin is paused. The sitemap is not served, and no noindex exclusion is applied to the core sitemap.
* **Password-protected posts**: These are always excluded from the sitemap, even if you do not check the Noindex box. Search engines cannot index password-protected content.
* **Private post types**: Private post types are not included in the sitemap because they are not public. Only public post types are eligible.
* **Attachment URLs**: Attachments are never included in the sitemap, regardless of noindex settings.
## Related docs
[](#related-docs)
* [XML Sitemaps: How SEOvault AI Uses WordPress Core Sitemaps](/docs/xml-sitemaps-how-seovault-ai-uses-wordpress-core-sitemaps/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Category and Tag SEO (Term Meta)](/docs/category-and-tag-seo-term-meta/)
* [Robots.txt Policy Controls](/docs/robots-txt-policy-controls/)
---
## Open Graph and Twitter/X Card Settings
URL: https://seovaultai.com/docs/open-graph-and-twitter-x-card-settings
Configure how your WordPress site looks when shared on Facebook, X, LinkedIn, and other social platforms using SEOvault AI's Open Graph and Twitter Card controls.
# Open Graph and Twitter/X Card Settings
SEOvault AI generates Open Graph and Twitter/X Card tags for your homepage, posts, pages, and taxonomy archives. These tags control the title, description, image, and site attribution that appear when a URL from your site is shared on social platforms, messaging apps, or search engines that consume social metadata.
## Where to find the social settings
[](#where-to-find-the-social-settings)
Go to **SEOvault AI > General > Social** in your WordPress admin. The tab is divided into four sections: Default Social Image, Facebook, X (Twitter), and Other Accounts.
## How social tags work
[](#how-social-tags-work)
When a page on your site is visited, SEOvault AI outputs a set of `og:*` tags for Open Graph and `twitter:*` tags for X. The plugin only outputs these tags on singular posts and pages, the homepage, and taxonomy archives (category, tag, and custom taxonomy pages). No tags are output on generic archive or date pages.
The plugin uses a fallback chain so a shared URL almost always has a complete card:
* **Title**: custom Open Graph title → SEO title → post title (or term name for archives)
* **Description**: custom Open Graph description → SEO description → auto-generated description
* **Image**: custom Open Graph image → featured image → first image in the content → default social image → site logo → site icon
* **URL**: permalink for posts, `home_url( '/' )` for the homepage, canonical URL for archives
* **Site name**: your WordPress site name, output as `og:site_name`
* **X handle**: the site’s X profile, normalized to an `@handle` and output as `twitter:site`
In **Manual** output mode, the plugin stops auto-generating values. If a field is empty, the corresponding tag is not output. In **Autopilot** mode, the fallback chain runs automatically. In **Disabled** mode, no social tags are output at all.
## Step-by-step: set up your social cards
[](#step-by-step-set-up-your-social-cards)
1. Go to **SEOvault AI > General > Social**.
2. Under **Default Social Image**, click **Upload Image** and select or upload an image from your media library. Recommended size is **1200 x 630 pixels** in JPG or PNG format. This image is used when no featured image or content image is found.
3. Under **Facebook**, enter your **Site Facebook Page** URL (for example, `https://www.facebook.com/yourpage`). This is used in your Organization schema’s `SameAs` field and as `article:publisher` on posts.
4. Optionally enter an **Author Facebook Page** fallback URL. This is used when a post does not have a specific author profile set.
5. Under **X (Twitter)**, select an **X Card Type**:
* **Summary Large Image** – the default; shows a large image above the title and description
* **Summary** – a smaller card with a square thumbnail
6. Enter your **Site’s X Profile** URL (for example, `https://www.x.com/yourbrand`). SEOvault AI normalizes this to an `@handle` and outputs it as `twitter:site`.
7. Optionally enter an **Author’s X Profile** fallback URL for posts without a specific author profile.
8. Under **Other Accounts**, add URLs for any other social profiles you want included in your Organization schema’s `SameAs` field (for example, LinkedIn, Instagram, YouTube).
9. Click **Save Changes** at the bottom of the page.
## Per-post social overrides
[](#per-post-social-overrides)
You can override the social title, description, and image for any individual post or page:
1. Open the post or page in the WordPress editor.
2. Find the **SEOvault AI** meta box.
3. Expand the **Social** section.
4. Enter a custom **Open Graph Title**, **Open Graph Description**, and/or **Open Graph Image**.
5. Enter a **Twitter/X Card Title** if you want the X card to use a different title than the Open Graph title.
6. Save or update the post.
These per-post values take priority over the global fallback chain. If you leave them empty, the plugin uses the same fallback chain described above.
## Options reference
[](#options-reference)
Setting
What it controls
Output
**Default Social Image**
Fallback image for all shares
`og:image`, `twitter:image`
**Site Facebook Page**
Official brand page
`article:publisher` on posts, Organization `SameAs`
**Author Facebook Page**
Fallback author page
Used in author schema when no per-author profile is set
**X Card Type**
Layout of X/Twitter cards
`twitter:card` (defaults to `summary_large_image`)
**Site’s X Profile**
Official brand handle
`twitter:site` (normalized to `@handle`)
**Author’s X Profile**
Fallback author handle
Used in author schema when no per-author profile is set
**Other Accounts**
Additional social profile URLs
Organization `SameAs`
## Open Graph tag output
[](#open-graph-tag-output)
SEOvault AI outputs the following Open Graph tags when a page has at least a title, description, or image:
* `og:type` – `website` for the homepage and pages, `article` for posts, `website` for archives by default
* `og:title` – the resolved title
* `og:description` – the resolved description
* `og:url` – the canonical URL
* `og:image` – the resolved image
* `og:site_name` – your site name
* `og:locale` – the current site locale
* `article:publisher` – your Site Facebook Page URL, only on posts with `og:type` of `article`
## Twitter/X Card tag output
[](#twitterx-card-tag-output)
The plugin outputs these tags when a page has at least a title, description, or image:
* `twitter:card` – `summary_large_image` or `summary`. If you choose Summary Large Image but no image is available, the plugin falls back to `summary` automatically.
* `twitter:title` – the resolved title
* `twitter:description` – the resolved description
* `twitter:image` – the resolved image
* `twitter:site` – your normalized site’s X handle
## Notes and edge cases
[](#notes-and-edge-cases)
* **Image dimensions**: Facebook and LinkedIn recommend 1200 x 630 px for link preview images. X supports both Summary and Summary Large Image formats; Summary Large Image works best with 1200 x 628 px images.
* **Manual mode**: If you are running in Manual output mode and leave social fields empty, no Open Graph or Twitter tags are output for that page. Switch to Autopilot if you want the fallback chain to run.
* **X handle normalization**: You can enter a full X URL (such as `https://www.x.com/yourbrand`), an `@handle`, or a plain username. The plugin converts all of these to `@yourbrand` for the `twitter:site` tag.
* **Taxonomy archives**: Categories, tags, and custom taxonomies can have their own Open Graph title, description, and image via the term meta box. If those are empty, the plugin falls back to the SEO title/description and the default social image.
* **Social profiles and schema**: The Facebook, X, and Other Accounts URLs are also used in your Organization schema’s `SameAs` field, which helps search engines connect your site with your official social profiles.
* **Debugging shares**: Use Facebook’s Sharing Debugger or X’s Card Validator to refresh the cached preview after changing social metadata. These tools fetch the current tags from your live page and show you exactly what each platform sees.
* **No duplicate tags**: If another plugin or your theme also outputs Open Graph tags, you may end up with duplicate metadata. Disable the other plugin’s social tags or switch SEOvault AI to Disabled mode if you prefer another tool to handle social cards.
## Related docs
[](#related-docs)
* [Homepage SEO Settings](/docs/homepage-seo-settings/)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Category and Tag SEO (Term Meta)](/docs/category-and-tag-seo-term-meta/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
---
## Prepare Your Site for AI Search and Answer Engines
URL: https://seovaultai.com/docs/prepare-your-site-for-ai-search-and-answer-engines
Optimize your WordPress site for AI search, AI Overviews, ChatGPT, Gemini, Perplexity, Claude, and other AI-powered discovery platforms.
# Prepare Your Site for AI Search and Answer Engines
AI search and answer engines are changing how people discover content. Instead of traditional search result lists, AI systems like ChatGPT, Gemini, Perplexity, Claude, and AI Overviews synthesize answers from multiple sources. Preparing your site for this new discovery layer requires combining traditional SEO with AI-specific optimizations.
## What AI search engines need
[](#what-ai-search-engines-need)
AI systems look for different signals than traditional search engines:
* **Clear content structure** — Well-organized, semantically structured content
* **Authoritative sources** — Demonstrated expertise, citations, and trustworthiness
* **Comprehensive coverage** — In-depth content that thoroughly addresses topics
* **Fresh, accurate information** — Regularly updated, factually correct content
* **Machine-readable descriptions** — Files like llms.txt that explain your site structure
* **Structured data** — Schema markup that helps AI understand content context
## SEOvault AI tools for AI visibility
[](#seovault-ai-tools-for-ai-visibility)
SEOvault AI includes several features specifically for AI visibility:
* **llms.txt publishing** — Describe your site structure for AI models
* **Robots.txt policy controls** — Manage AI crawler access
* **AI crawler logging** — Track which AI bots visit your site
* **Schema markup** — JSON-LD structured data for content understanding
* **Clean meta output** — Proper titles, descriptions, and social tags
## Prepare your content
[](#prepare-your-content)
### Structure for AI understanding
[](#structure-for-ai-understanding)
* Use clear headings (H1, H2, H3) to organize content hierarchically
* Write comprehensive content that covers topics thoroughly
* Use semantic HTML — proper article, section, and heading elements
* Include author bylines and publication dates for attribution
* Add internal links to related content for context
### Demonstrate expertise
[](#demonstrate-expertise)
* Show author credentials and expertise areas
* Cite sources and provide references where appropriate
* Keep content updated with current information
* Add “last updated” dates to time-sensitive content
* Include author bios or about pages that establish authority
### Optimize for AI summarization
[](#optimize-for-ai-summarization)
* Write clear, self-contained paragraphs that can be understood in isolation
* Use topic sentences that summarize paragraph content
* Avoid jargon unless necessary — explain technical terms
* Include summaries or conclusions at the end of long articles
* Use bullet points and numbered lists for scannable content
## Configure AI visibility settings
[](#configure-ai-visibility-settings)
### Publish llms.txt
[](#publish-llmstxt)
1. Go to **SEOvault AI > General > llms.txt**
2. Describe your site structure, important pages, and content guidelines
3. Save to publish at `/llms.txt`
This helps AI models understand your site organization and which pages matter most.
### Set robots.txt policy
[](#set-robotstxt-policy)
1. Go to **SEOvault AI > General > Robots**
2. Choose a policy:
* **Balanced** — Allows crawling with 1-second delay (default)
* **Maximum Visibility** — Allows crawling with no delay
* **Strict** — Allows crawling with 5-second delay
* **Custom** — Write your own robots.txt rules
The policy controls how aggressively AI crawlers can access your site.
### Enable crawler logging
[](#enable-crawler-logging)
1. Go to **SEOvault AI > General > llms.txt**
2. Check **Enable Crawler Logging**
3. Save changes
Track which AI crawlers visit your site and how often they access your content.
## Schema markup for AI
[](#schema-markup-for-ai)
AI systems rely heavily on structured data to understand content:
* **Article schema** — Helps AI understand blog posts and news
* **FAQ schema** — Makes Q&A content machine-readable
* **HowTo schema** — Guides AI through step-by-step instructions
* **Organization schema** — Establishes your brand identity
* **LocalBusiness schema** — Provides location and contact information
* **Product schema** — Describes products for e-commerce sites
Use SEOvault AI’s schema tools to add and validate structured data.
## Technical best practices
[](#technical-best-practices)
### Site performance
[](#site-performance)
* Fast page load speeds — AI crawlers have time budgets like search engines
* Mobile-friendly design — Many AI queries come from mobile devices
* Clean URL structure — Descriptive, readable URLs
* Proper HTTP status codes — 200 for content, 404 for missing pages, 301 for redirects
### Content accessibility
[](#content-accessibility)
* Alt text for images — Helps AI understand visual content
* Descriptive link text — Contextual links rather than “click here”
* Transcript for video/audio — Makes multimedia content accessible
* Proper heading hierarchy — H1 → H2 → H3 without skipping levels
### Canonical URLs
[](#canonical-urls)
* Set canonical URLs to prevent duplicate content issues
* Use self-referencing canonicals on primary content
* Point canonicals to the original when syndicating content
## Monitor AI crawler activity
[](#monitor-ai-crawler-activity)
Use crawler logging to:
* Track which AI systems are visiting your site
* Identify which pages AI crawlers access most
* Spot unusual crawler patterns that might indicate issues
* Measure the impact of llms.txt and schema changes
## Common mistakes to avoid
[](#common-mistakes-to-avoid)
* **Blocking AI crawlers** — Overly restrictive robots.txt prevents AI discovery
* **Thin content** — Short, shallow content doesn’t provide value for AI answers
* **Duplicate content** — Confuses AI systems about which version to cite
* **Outdated information** — AI may cite old content if dates aren’t clear
* **Missing attribution** — Content without clear authorship is less trustworthy
## Measure AI visibility success
[](#measure-ai-visibility-success)
Signs your AI visibility strategy is working:
* AI crawlers regularly visit your site (check crawler logs)
* Your content appears in AI Overviews and answer engine responses
* Traffic from AI-powered platforms increases over time
* Your llms.txt file is being requested (check server logs)
* AI systems cite your content with proper attribution
## Related docs
[](#related-docs)
* [Publish and Manage llms.txt for AI Visibility](/docs/publish-and-manage-llms-txt-for-ai-visibility/)
* [AI Crawler Logging: See Which Bots Visit Your Site](/docs/ai-crawler-logging-see-which-bots-visit-your-site/)
* [Robots.txt Policy Controls](/docs/robots-txt-policy-controls/)
* [Schema Markup Basics in SEOvault AI](/docs/schema-markup-basics-in-seovault-ai/)
---
## Product Schema for WooCommerce
URL: https://seovaultai.com/docs/product-schema-for-woocommerce
Understand how SEOvault AI generates Product schema markup for WooCommerce products.
# Product Schema for WooCommerce
SEOVault AI automatically generates Product schema markup for WooCommerce products. This schema helps search engines understand your product information for rich results in search listings.
## How it works
[](#how-it-works)
SEOVault AI uses a V2 integration system to contribute Product schema for WooCommerce products. The schema:
* **Merges with WooCommerce’s native schema** — Enhances rather than replaces WooCommerce’s built-in schema
* **Tags schema with integration source** — Marks schema as coming from the WooCommerce integration
* **Supports both Product and ProductGroup types** — Handles simple products and variable products
* **Automatically activates when WooCommerce is present** — No manual configuration required
## Schema types
[](#schema-types)
### Product schema
[](#product-schema)
Generated for individual products and product variations. Includes:
* **@type** — Product
* **@id** — Schema identifier
* **name** — Product name
* **description** — Product description
* **image** — Product image(s)
* **url** — Product URL
* **sku** — Product SKU
* **gtin** — GTIN/MPN/ISBN (if configured)
* **brand** — Brand information (if configured)
* **offers** — Price, availability, and offer details
* **aggregateRating** — Average rating (if reviews exist)
* **review** — Individual reviews (if present)
### ProductGroup schema
[](#productgroup-schema)
Generated for variable products with multiple variations. Includes:
* **@type** — ProductGroup
* **@id** — Schema identifier
* **name** — Product name
* **description** — Product description
* **productGroupID** — Group identifier
* **hasVariant** — Array of variant Product schemas
* **variesBy** — Attributes that vary (color, size, etc.)
## Schema features
[](#schema-features)
### Variation images
[](#variation-images)
SEOVault AI includes variation-specific images in the schema. Each variation can have its own image, which helps search engines display the correct product image in rich results.
**How it works:**
* When a variation has a specific image, that image is included in the variation’s schema
* If no variation image is set, the parent product image is used
* Multiple images can be included for each product
### Product attributes
[](#product-attributes)
Product attributes are automatically included in schema markup:
**Default attributes included:**
* Color
* Pattern
* Material
* Size
**Custom attributes:**
* Additional attributes can be added via the `seovaultseo_allowed_product_attributes` filter
* Attributes are mapped to schema.org property names
### Return policy
[](#return-policy)
Return policy information is added to the organization schema when configured:
**Includes:**
* Return policy URL
* Return policy description
* Return method (in-store, by mail, etc.)
* Return days (e.g., 30-day return policy)
### Product identifiers
[](#product-identifiers)
Product identifiers are included in schema when configured:
**Supported identifiers:**
* GTIN-8, GTIN-12 (UPC), GTIN-13 (EAN), GTIN-14
* MPN (Manufacturer Part Number)
* ISBN (for books)
**How it works:**
* The plugin checks the custom GTIN field first
* Falls back to WooCommerce’s native global\_unique\_id field
* Includes the identifier in the appropriate schema property
## Integration with WooCommerce schema
[](#integration-with-woocommerce-schema)
SEOVault AI is designed to work alongside WooCommerce’s native schema:
### Merging behavior
[](#merging-behavior)
* WooCommerce generates its own Product schema
* SEOvault AI contributes additional schema data
* The schemas are merged to create a comprehensive product representation
* No data is lost or overwritten
### Schema source tagging
[](#schema-source-tagging)
Each schema contributed by SEOvault AI is tagged with:
* **source** — Integration source identifier
* **source\_ref** — Unique reference including integration ID and product ID
This allows for schema validation and debugging.
## Schema generation triggers
[](#schema-generation-triggers)
Product schema is generated for:
* Individual product pages
* Product category pages (for featured products)
* Product archive pages
* Search results pages (for product results)
Schema is not generated for:
* Cart pages
* Checkout pages
* My Account pages
* Hidden products
* Out-of-stock products (optional)
## Testing product schema
[](#testing-product-schema)
### Google Rich Results Test
[](#google-rich-results-test)
Use the [Google Rich Results Test](https://search.google.com/test/rich-results) to verify your product schema:
1. Enter your product page URL
2. Review the detected Product schema
3. Check for errors or warnings
4. Verify all required fields are present
### Schema.org validation
[](#schemaorg-validation)
Use the [Schema.org Validator](https://validator.schema.org/) to check schema compliance:
1. Enter your product page URL
2. Review validation results
3. Fix any structural errors
4. Ensure all properties are correctly typed
### Google Search Console
[](#google-search-console)
Monitor schema performance in Google Search Console:
1. Go to **Enhancements > Products**
2. Review valid and error items
3. Fix any schema errors
4. Monitor rich result performance
## Required schema fields
[](#required-schema-fields)
For Product schema to be valid, certain fields are required:
### Minimum required
[](#minimum-required)
* **@type** — Must be “Product”
* **name** — Product name
* **image** — At least one product image
* **description** — Product description
### Recommended for rich results
[](#recommended-for-rich-results)
* **sku** — Product SKU
* **gtin** — Product identifier
* **brand** — Brand information
* **offers** — Price and availability
* **aggregateRating** — Average rating
* **review** — Customer reviews
## Common issues and solutions
[](#common-issues-and-solutions)
### Schema not appearing
[](#schema-not-appearing)
**Possible causes:**
* WooCommerce not active
* Product not published
* Product hidden from catalog
* Schema validation errors
* Conflict with other schema plugins
**Solutions:**
1. Verify WooCommerce is active
2. Check product status is “Published”
3. Ensure product is not hidden
4. Test with Rich Results Test
5. Disable conflicting plugins
### Missing variation images
[](#missing-variation-images)
**Possible causes:**
* No variation images set
* Parent product image missing
* Image URLs incorrect
**Solutions:**
1. Set images for each variation
2. Ensure parent product has a featured image
3. Verify image URLs are accessible
4. Check image permissions
### Incorrect GTIN in schema
[](#incorrect-gtin-in-schema)
**Possible causes:**
* GTIN field empty
* GTIN type mismatch
* Using WooCommerce global\_unique\_id instead
**Solutions:**
1. Enter GTIN in the SEOvault AI field
2. Configure correct GTIN type
3. Verify GTIN format matches type
4. Test with Rich Results Test
### Duplicate schema
[](#duplicate-schema)
**Possible causes:**
* Multiple schema plugins active
* WooCommerce and SEOvault AI both generating schema
* Schema merge issues
**Solutions:**
1. Disable conflicting schema plugins
2. Use schema validation to identify duplicates
3. Check integration source tags
4. Ensure proper schema merging
## Customization
[](#customization)
### Add custom attributes
[](#add-custom-attributes)
Use the `seovaultseo_allowed_product_attributes` filter to add custom attributes:
```
add_filter( 'seovaultseo_allowed_product_attributes', function( $attributes ) { $attributes[] = 'weight'; $attributes[] = 'dimensions'; return $attributes;} );
```
### Modify schema data
[](#modify-schema-data)
Use the `seovaultseo_schema_integration_contributors` filter to modify schema:
```
add_filter( 'seovaultseo_schema_integration_contributors', function( $contributors ) { // Modify contributors array return $contributors;} );
```
### Exclude specific products
[](#exclude-specific-products)
Use the `seovaultseo_should_output_seo` filter to exclude products:
```
add_filter( 'seovaultseo_should_output_seo', function( $should_output ) { if ( is_product() && some_condition() ) { return false; } return $should_output;} );
```
## Best practices
[](#best-practices)
### Use product identifiers
[](#use-product-identifiers)
Add GTIN, MPN, or ISBN to all products:
* Improves Google Shopping performance
* Enhances rich product results
* Helps with cross-platform inventory
* Reduces product matching errors
### Optimize product images
[](#optimize-product-images)
* Use high-quality images (minimum 800x800px)
* Include multiple angles
* Use white or neutral backgrounds
* Ensure images are accessible
* Use descriptive alt text
### Write compelling descriptions
[](#write-compelling-descriptions)
* Use unique descriptions for each product
* Include relevant keywords naturally
* Highlight key features and benefits
* Keep descriptions under 160 characters for meta display
* Use WooCommerce short descriptions effectively
### Encourage reviews
[](#encourage-reviews)
* Request reviews from customers
* Display reviews prominently
* Respond to customer reviews
* Use review schema for rich results
* Monitor review ratings
### Monitor performance
[](#monitor-performance)
* Use Google Search Console to track schema errors
* Monitor rich result click-through rates
* Track product performance in search results
* Update schema based on performance data
## Related docs
[](#related-docs)
* [WooCommerce SEO Settings in SEOvault AI](/docs/woocommerce-seo-settings-in-seovault-ai/)
* [Schema Validation and Testing](/docs/schema-validation-and-testing/)
* [Recommended Settings for WooCommerce Stores](/docs/recommended-settings-for-woocommerce-stores/)
---
## Publish and Manage llms.txt for AI Visibility
URL: https://seovaultai.com/docs/publish-and-manage-llms-txt-for-ai-visibility
Publish an llms.txt file to help AI models and answer engines understand your site structure and content for better AI search visibility.
# Publish and Manage llms.txt for AI Visibility
llms.txt is a plain text file that describes your site’s structure and content for AI models, answer engines, and AI-assisted research tools. Publishing an llms.txt file helps these systems understand what your site offers, how content is organized, and which pages are most important — improving how your content appears in AI search results, AI Overviews, ChatGPT, Gemini, Perplexity, Claude, and similar platforms.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > llms.txt**.
## How it works
[](#how-it-works)
When you enable llms.txt, SEOvault AI serves the file at `https://yoursite.com/llms.txt`. AI crawlers and answer engines can request this file to learn about your site structure, content hierarchy, and important pages. The file is served as plain text with the correct `Content-Type` header.
You can also publish a full version at `llms-full.txt` for more detailed site documentation.
## Enable llms.txt
[](#enable-llmstxt)
1. Go to **SEOvault AI > General > llms.txt**
2. Enter your llms.txt content in the text area
3. Click **Save Changes**
4. The file is automatically published at `/llms.txt`
The content is sanitized before storage to ensure it’s valid plain text. HTML tags and special characters are handled appropriately.
## llms.txt content format
[](#llmstxt-content-format)
llms.txt uses a simple plain text format. While the exact specification evolves, typical content includes:
* **Site description** — what your site is about
* **Content structure** — main sections, categories, or topic areas
* **Important pages** — key URLs like homepage, about, contact, flagship content
* **Content guidelines** — what type of content you publish, update frequency
* **Authorship information** — who creates your content, expertise areas
Example structure:
```
# Site DescriptionYour site name and what it offers.
# Content Structure- /blog/ - Articles and tutorials- /products/ - Product pages- /about/ - Company information- /contact/ - Contact page
# Important PagesHomepage: https://yoursite.com/About: https://yoursite.com/about/Flagship content: https://yoursite.com/your-best-article/
# Content GuidelinesWe publish weekly articles about [topic].Content is updated regularly.Authors are experts in [field].
```
## Full vs standard llms.txt
[](#full-vs-standard-llmstxt)
SEOvault AI supports two versions:
* **llms.txt** — Standard version for general AI visibility
* **llms-full.txt** — Extended version with more detailed documentation
Use the full version when you want to provide comprehensive site documentation for AI systems that can handle larger files. The standard version is sufficient for most sites.
## Preview before publishing
[](#preview-before-publishing)
Before saving, you can preview how your content will appear. The preview shows the sanitized plain text output, so you can verify formatting and content before publishing.
## Served-by header
[](#served-by-header)
When llms.txt is served, it includes an `X-Served-By` header indicating that SEOvault AI is serving the file. This helps with debugging and verification.
## Disable llms.txt
[](#disable-llmstxt)
To stop serving llms.txt:
1. Go to **SEOvault AI > General > llms.txt**
2. Clear the content field
3. Click **Save Changes**
The file will return a 404 response when requested.
## Privacy and security
[](#privacy-and-security)
llms.txt is a public file — anyone can request it. Only include information you’re comfortable sharing publicly. Don’t include:
* Internal admin URLs
* Private API endpoints
* Sensitive business information
* Personal data
The file is designed to help AI systems understand your public content, not expose internal systems.
## Best practices
[](#best-practices)
* Keep llms.txt focused on your public content structure
* Update it when you make major site changes or add new content sections
* Use clear, descriptive language that AI systems can understand
* Link to your most important and authoritative pages
* Keep the file reasonably sized — most AI systems prefer concise documentation
* Test your llms.txt by visiting `https://yoursite.com/llms.txt` in a browser
## Related docs
[](#related-docs)
* [Robots.txt Policy Controls](/docs/robots-txt-policy-controls/)
* [AI Crawler Logging: See Which Bots Visit Your Site](/docs/ai-crawler-logging-see-which-bots-visit-your-site/)
* [Prepare Your Site for AI Search and Answer Engines](/docs/prepare-your-site-for-ai-search-and-answer-engines/)
---
## Quick Edit and Posts List SEO Bar
URL: https://seovaultai.com/docs/quick-edit-and-posts-list-seo-bar
Edit SEO fields directly from the posts list using Quick Edit and Bulk Edit, and view SEO scores in the SEO column.
# Quick Edit and Posts List SEO Bar
SEOvault AI adds SEO capabilities to WordPress’s post and page list tables. You can edit SEO titles, descriptions, and robots directives without opening the full editor, and see real-time SEO scores for each post.
## Posts list SEO bar
[](#posts-list-seo-bar)
The **SEO** column appears in your posts, pages, and taxonomy list tables. It shows a color-coded badge with the overall SEO status for each item.
### Badge statuses
[](#badge-statuses)
* **Good** (green): All SEO checks pass
* **Okay** (yellow): Some checks need attention but no critical issues
* **Needs Work** (orange): Critical SEO issues exist
* **Not Set** (gray): No SEO data configured
* **Noindex** (red): The post or term is set to noindex
Hover over any badge to see a detailed tooltip with individual check results like title length, description presence, keyword usage, and more.
### Where it appears
[](#where-it-appears)
The SEO column appears on:
* **Posts** list (`edit.php`)
* **Pages** list
* **Custom post types** (products, portfolio items, etc.)
* **Categories** and **Tags** lists
* **Custom taxonomies** (product categories, etc.)
To exclude specific post types or taxonomies from the SEO column, use the `seovaultseo_excluded_post_types` and `seovaultseo_excluded_taxonomies` filters.
### Column position
[](#column-position)
By default, the SEO column appears after the date column (position 4). Change this with the `seovaultseo_seo_bar_column_position` filter for posts, or `seovaultseo_seo_bar_column_position_taxonomy` for taxonomies.
## Quick Edit
[](#quick-edit)
Quick Edit lets you modify SEO fields directly from the posts list without opening the full editor.
### How to use Quick Edit
[](#how-to-use-quick-edit)
1. Go to **Posts > All Posts** (or any post type list)
2. Hover over a post title and click **Quick Edit**
3. The inline editor opens with WordPress fields plus SEOvault AI fields
4. Edit the SEO fields:
* **SEO Title**: Custom title for this post
* **SEO Description**: Custom meta description
* **Noindex**: Check to prevent search engine indexing
* **Nofollow**: Check to tell search engines not to follow links
5. Click **Update** to save changes
Quick Edit pre-populates with your existing SEO values, so you’re editing current data rather than starting from scratch.
### Quick Edit fields
[](#quick-edit-fields)
* **SEO Title**: Text input for the custom SEO title
* **SEO Description**: Textarea for the meta description
* **Noindex**: Checkbox to set the noindex directive
* **Nofollow**: Checkbox to set the nofollow directive
These match the fields in the full post editor SEO meta box.
## Bulk Edit
[](#bulk-edit)
Bulk Edit lets you apply SEO changes to multiple posts at once.
### How to use Bulk Edit
[](#how-to-use-bulk-edit)
1. Go to **Posts > All Posts**
2. Select the posts you want to edit using the checkboxes
3. Choose **Edit** from the **Bulk Actions** dropdown
4. Click **Apply**
5. The bulk editor opens with SEOvault AI fields
6. Fill in the fields you want to change:
* **SEO Title**: Enter a title to apply to all selected posts (leave empty to keep existing)
* **SEO Description**: Enter a description to apply to all selected posts (leave empty to keep existing)
* **Set Noindex**: Check to apply noindex to all selected posts
* **Set Nofollow**: Check to apply nofollow to all selected posts
7. Click **Update** to save changes
### Bulk Edit behavior
[](#bulk-edit-behavior)
* **Empty text fields**: Leave existing values unchanged
* **Filled text fields**: Apply the new value to all selected posts
* **Unchecked checkboxes**: Do not change existing robots settings
* **Checked checkboxes**: Apply the directive to all selected posts
This lets you, for example, set noindex on 50 old posts without touching their titles or descriptions.
## Post states
[](#post-states)
The posts list shows labels next to post titles when robots directives are set:
* **Noindex**: Appears when the post is set to noindex
* **Nofollow**: Appears when the post is set to nofollow
These labels help you quickly identify posts with special robots directives without opening the SEO column tooltip.
## Performance optimization
[](#performance-optimization)
The SEO bar uses meta caching to prevent performance issues on large sites:
* **Post lists**: Prefetches post meta in a single query when loading the posts list
* **Taxonomy lists**: Prefetches term meta in a single query when loading taxonomy lists
This ensures the SEO column loads quickly even with hundreds of posts or terms.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Disabled mode**: When SEOvault AI is disabled, the SEO column and Quick Edit fields do not appear
* **Permissions**: Users must have the `edit_posts` capability to use Quick Edit, and `edit_post` for specific posts
* **Character limits**: Quick Edit doesn’t show character counters. Use the full editor for length guidance
* **Taxonomy Quick Edit**: Quick Edit for categories and tags uses WordPress’s built-in fields only. Edit the full term screen for full SEO control
* **Bulk Edit limits**: Bulk Edit only supports the four core SEO fields. For focus keywords, canonical URLs, or social tags, use the full editor
## Related docs
[](#related-docs)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Category and Tag SEO (Term Meta)](/docs/category-and-tag-seo-term-meta/)
---
## Rank Math / Yoast / AIOSEO Compatibility
URL: https://seovaultai.com/docs/rank-math-yoast-aioseo-compatibility
Learn how SEOVault AI works alongside Rank Math, Yoast SEO, and AIOSEO in WordPress publishing workflows.
# Rank Math / Yoast / AIOSEO Compatibility
SEOVault AI is built for WordPress publishing workflows and is designed to work alongside common SEO plugin environments.
This includes compatibility with:
* Rank Math
* Yoast SEO
* All in One SEO (AIOSEO)
These plugins remain responsible for their own settings, fields, and plugin-level SEO controls inside WordPress. SEOVault AI works as a publishing assistant that helps generate, analyze, structure, and improve content within that environment.
## What Compatibility Means
[](#what-compatibility-means)
Compatibility means SEOVault AI can be used on WordPress sites that already run one of these SEO plugins.
It does not mean SEOVault AI replaces those plugins feature-for-feature.
Instead, SEOVault AI focuses on the publishing workflow:
* draft analysis
* title and metadata assistance
* content generation
* TL;DR creation
* FAQ generation
* document outline support
* rewriting workflows
* internal linking workflows
* rich blocks and tables
* WordPress-focused content improvement
On supported workflows, SEOVault AI can also detect the installed SEO plugin context and interact with relevant fields more intelligently.
## Supported SEO Plugin Environments
[](#supported-seo-plugin-environments)
### Rank Math
[](#rank-math)
SEOVault AI is compatible with WordPress environments using Rank Math.
In supported workflows, SEOVault AI can detect Rank Math and help apply generated SEO-related output into the appropriate working context.
### Yoast SEO
[](#yoast-seo)
SEOVault AI is compatible with WordPress environments using Yoast SEO.
This allows WordPress users who already rely on Yoast to keep their existing SEO setup while using SEOVault AI as a publishing assistant.
### All in One SEO (AIOSEO)
[](#all-in-one-seo-aioseo)
SEOVault AI is compatible with WordPress environments using AIOSEO.
This makes it possible to use SEOVault AI within an AIOSEO-based WordPress workflow without changing the site’s existing plugin setup.
## How SEOVault AI Works Alongside SEO Plugins
[](#how-seovault-ai-works-alongside-seo-plugins)
SEOVault AI is designed to assist the publishing process while existing SEO plugins continue to manage their own plugin-level functionality.
This means the typical relationship looks like this:
* the SEO plugin remains installed on the WordPress site
* the SEO plugin continues to control its own settings and field structure
* SEOVault AI helps the user create and improve content faster
* SEOVault AI supports SEO-focused drafting and optimization inside the WordPress workflow
This allows users to keep the SEO plugin they already trust while adding a faster content production and optimization layer on top.
## What SEOVault AI Can Help With in These Environments
[](#what-seovault-ai-can-help-with-in-these-environments)
On WordPress sites running Rank Math, Yoast, or AIOSEO, SEOVault AI can support workflows such as:
* generating SEO titles
* generating metadata suggestions
* focus keyword assistance
* content analysis
* TL;DR generation
* FAQ generation
* article rewriting
* structured writing workflows
* content outlining
* internal-link support
* rich block generation
These workflows operate as publishing assistance features rather than plugin replacements.
## Plugin Detection in Supported Workflows
[](#plugin-detection-in-supported-workflows)
In the Web App workflow, SEOVault AI can detect the installed SEO plugin context more intelligently than a generic editor-only workflow.
This helps SEOVault AI work more effectively with supported plugin environments when handling actions such as:
* keyword-related field support
* SEO workflow alignment inside the connected WordPress environment
* more informed interaction with the site’s active SEO setup
This makes the Web App especially useful for users who want a centralized publishing workflow without giving up their preferred SEO plugin.
## Extension and Web App Differences
[](#extension-and-web-app-differences)
Both the Chrome Extension and the Web App support WordPress-focused SEO workflows, but the level of plugin-aware behavior is not identical.
### Chrome Extension
[](#chrome-extension)
The extension helps with:
* draft analysis
* metadata generation
* title generation
* content assistance inside WordPress
* direct publishing workflow support
### Web App
[](#web-app)
The Web App includes a more advanced connected-site workflow.
Because it works through the connected WordPress environment, it can provide a stronger plugin-aware experience in cases where the installed SEO setup matters to the publishing flow.
## SEOVault AI Does Not Require Replacing Your SEO Plugin
[](#seovault-ai-does-not-require-replacing-your-seo-plugin)
Sites already running Rank Math, Yoast, or AIOSEO do not need to remove those plugins in order to use SEOVault AI.
SEOVault AI is designed to fit into existing WordPress SEO workflows rather than force a full plugin replacement.
This is useful for sites that already depend on:
* established SEO settings
* plugin-level schema or metadata controls
* existing plugin configuration
* editorial habits built around one of these SEO plugins
## Practical Compatibility Position
[](#practical-compatibility-position)
SEOVault AI is compatible with these plugin environments as a publishing assistant.
Its role is to help users:
* write faster
* optimize faster
* structure content better
* improve old content more efficiently
* work more effectively inside WordPress
The installed SEO plugin still remains the installed SEO plugin.
SEOVault AI adds workflow speed and content-layer assistance around it.
## What Compatibility Does Not Mean
[](#what-compatibility-does-not-mean)
Compatibility does not mean:
* SEOVault AI duplicates every feature of Rank Math, Yoast, or AIOSEO
* SEOVault AI replaces all technical SEO plugin functionality
* all plugin-specific UI behavior is identical across every setup
* every WordPress installation behaves exactly the same
Plugin environments can vary based on:
* WordPress version
* editor setup
* plugin version
* other installed plugins
* custom site configuration
SEOVault AI is designed to work within common supported WordPress SEO environments, but the existing plugin remains responsible for its own native behavior.
## Best Use Cases for Compatible Plugin Workflows
[](#best-use-cases-for-compatible-plugin-workflows)
### Rank Math users
[](#rank-math-users)
Publishers who want to keep Rank Math while speeding up writing and optimization workflows.
### Yoast users
[](#yoast-users)
Teams or site owners who already rely on Yoast and want a faster content assistant without changing the core SEO setup.
### AIOSEO users
[](#aioseo-users)
Publishers using AIOSEO who want stronger drafting, rewriting, and publishing support in WordPress.
### Multi-site operations
[](#multi-site-operations)
Agencies and portfolio operators who work across several WordPress sites that may not all use the same SEO plugin.
## Common Workflow Pattern
[](#common-workflow-pattern)
A common compatible workflow looks like this:
1. open or load a WordPress post
2. use SEOVault AI to analyze or improve the content
3. generate titles, metadata, FAQs, TL;DRs, or rewrites
4. continue working inside the WordPress publishing flow
5. keep the active SEO plugin in place for its own plugin-level controls
This allows SEOVault AI to improve content production without disrupting the site’s existing SEO plugin stack.
## Why This Compatibility Matters
[](#why-this-compatibility-matters)
Many WordPress sites already have an SEO plugin installed and configured.
Compatibility matters because users should not have to choose between:
* keeping the SEO plugin they already use
* getting a faster AI-assisted publishing workflow
SEOVault AI is built to work in that real-world environment.
## Final Notes
[](#final-notes)
SEOVault AI is compatible with WordPress environments using Rank Math, Yoast SEO, and AIOSEO.
It works as a publishing assistant inside those ecosystems, helping users create, optimize, and manage content more efficiently while existing SEO plugins remain in place for their own native responsibilities.
## Related Documentation
[](#related-documentation)
* [Install the Chrome Extension](/docs/install-the-chrome-extension/)
* [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
* [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
* [Data & Permissions](/docs/data-permissions/)
* [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
---
## Recommended Settings for Blog Sites
URL: https://seovaultai.com/docs/recommended-settings-for-blog-sites
Optimal SEOvault AI configuration recommendations for blog and content-focused websites.
# Recommended Settings for Blog Sites
Blogs and content-focused sites have specific SEO needs. This guide provides recommended SEOvault AI settings to maximize your blog’s search visibility and reader engagement.
## Core settings
[](#core-settings)
### Output mode
[](#output-mode)
**Recommended:** Auto
Auto mode automatically generates SEO titles, descriptions, and other metadata based on your templates. This is ideal for blogs with frequent content updates.
**To configure:**
1. Go to **SEOvault AI > General > Output Mode**
2. Select **Auto**
3. Click **Save Changes**
### Homepage settings
[](#homepage-settings)
**Title template:**
```
%sitename% - %sitedesc%
```
**Description template:**
```
%site_tagline%
```
**To configure:**
1. Go to **SEOvault AI > Homepage**
2. Set the title and description templates
3. Click **Save Changes**
This ensures your homepage clearly communicates your blog’s purpose.
## Post settings
[](#post-settings)
### Title template
[](#title-template)
**Recommended:**
```
%title% - %sitename%
```
This format:
* Puts the post title first (most important for search)
* Adds site name for branding
* Uses a separator for readability
### Description template
[](#description-template)
**Recommended:**
```
%excerpt%
```
This uses your post excerpt as the meta description. Ensure you write compelling excerpts for each post.
**Alternative for auto-generated descriptions:**
```
%title% - %excerpt%
```
### To configure post templates:
[](#to-configure-post-templates)
1. Go to **SEOvault AI > Templates**
2. Set the title and description templates
3. Click **Save Changes**
## Social media optimization
[](#social-media-optimization)
### Open Graph
[](#open-graph)
**Recommended:** Enable
Open Graph tags improve how your content appears when shared on Facebook, LinkedIn, and other platforms.
**To configure:**
1. Go to **SEOvault AI > General > Open Graph**
2. Check **Enable Open Graph**
3. Set default OG image (blog logo or branded image)
4. Click **Save Changes**
### Twitter Cards
[](#twitter-cards)
**Recommended:** Enable with large image
Large image cards perform better for blog content.
**To configure:**
1. Go to **SEOvault AI > General > Twitter Cards**
2. Check **Enable Twitter Cards**
3. Select **Summary with Large Image**
4. Click **Save Changes**
## Schema markup
[](#schema-markup)
**Recommended:** Enable
Schema markup helps search engines understand your content structure.
### Recommended schema types for blogs:
[](#recommended-schema-types-for-blogs)
* **Article** — For blog posts
* **BlogPosting** — More specific for blog content
* **BreadcrumbList** — For navigation
* **Organization** — For your blog brand
* **Person** — For author profiles
**To configure:**
1. Go to **SEOvault AI > General > Schema**
2. Check **Enable Schema Markup**
3. Configure default schema types
4. Click **Save Changes**
## Sitemap
[](#sitemap)
**Recommended:** Enable
XML sitemaps help search engines discover and index your content.
**To configure:**
1. Go to **SEOvault AI > Sitemap**
2. Check **Enable Custom Sitemap**
3. Set sitemap URL to `/sitemap.xml`
4. Click **Save Changes**
### Post types to include:
[](#post-types-to-include)
* Posts (always)
* Pages (if they have SEO value)
* Categories (optional)
* Tags (optional)
Exclude tag archives if they don’t provide unique value.
## Canonical URLs
[](#canonical-urls)
**Recommended:** Enable
Canonical URLs prevent duplicate content issues.
**To configure:**
1. Go to **SEOvault AI > General > Canonical URLs**
2. Check **Enable Canonical URLs**
3. Click **Save Changes**
## Feed optimization
[](#feed-optimization)
**Recommended:** Enable feed excerpting and source links
Protect your content and drive traffic back to your site.
**To configure:**
1. Go to **SEOvault AI > General > Feed**
2. Check **Excerpt feed content**
3. Set excerpt length to 400 characters
4. Check **Add source link to feeds**
5. Check **Add noindex header to feeds**
6. Click **Save Changes**
## Advanced blog-specific recommendations
[](#advanced-blog-specific-recommendations)
### Author archives
[](#author-archives)
**Decision:** Noindex author archives
Most blogs should noindex author archives to prevent duplicate content. Only index if each author has unique, valuable content.
**To configure:**
1. Go to **SEOvault AI > General > Noindex**
2. Check **Noindex Author Archives**
3. Click **Save Changes**
### Date archives
[](#date-archives)
**Decision:** Noindex date archives
Date-based archives create thin content pages. Noindex them to focus SEO on your actual posts.
**To configure:**
1. Go to **SEOvault AI > General > Noindex**
2. Check **Noindex Date Archives**
3. Click **Save Changes**
### Tag archives
[](#tag-archives)
**Decision:** Noindex or canonicalize
If you use tags heavily, consider noindexing them or setting canonical URLs to point to the main blog page.
**To configure:**
1. Go to **SEOvault AI > General > Noindex**
2. Check **Noindex Tag Archives**
3. Click **Save Changes**
### Search results pages
[](#search-results-pages)
**Decision:** Noindex
Never index internal search results.
**To configure:**
1. Go to **SEOvault AI > General > Noindex**
2. Check **Noindex Search Results**
3. Click **Save Changes**
## Content optimization tips
[](#content-optimization-tips)
### Write effective excerpts
[](#write-effective-excerpts)
For each post, write a compelling 150-160 character excerpt that:
* Summarizes the post’s main point
* Includes relevant keywords naturally
* Encourages clicks from search results
### Use focus keywords
[](#use-focus-keywords)
Set a focus keyword for each post to guide your optimization:
1. Edit a post
2. In the SEOvault AI meta box, enter a focus keyword
3. Use the keyword naturally in your title, content, and headings
### Optimize images
[](#optimize-images)
* Use descriptive alt text
* Compress images for faster loading
* Use appropriate file names (e.g., `blog-post-topic.jpg` not `img123.jpg`)
* Set featured images for all posts
### Internal linking
[](#internal-linking)
* Link to related posts within your content
* Use descriptive anchor text
* Create topic clusters around key themes
* Use the SEOvault AI internal links feature if available
## Performance considerations
[](#performance-considerations)
### Caching
[](#caching)
Use a caching plugin to improve page load speed, which is a ranking factor.
### Mobile optimization
[](#mobile-optimization)
Ensure your blog is mobile-friendly. Most traffic comes from mobile devices.
### Core Web Vitals
[](#core-web-vitals)
Monitor Core Web Vitals in Google Search Console and address issues:
* Largest Contentful Paint (LCP)
* First Input Delay (FID)
* Cumulative Layout Shift (CLS)
## Monitoring and maintenance
[](#monitoring-and-maintenance)
### Regular tasks
[](#regular-tasks)
* **Weekly:** Check Google Search Console for issues
* **Monthly:** Review top-performing posts and optimize further
* **Quarterly:** Audit internal links and update old content
* **Annually:** Review and update settings based on algorithm changes
### Key metrics to track
[](#key-metrics-to-track)
* Organic traffic growth
* Keyword rankings
* Click-through rates from search
* Average time on page
* Bounce rate
## Common blog mistakes to avoid
[](#common-blog-mistakes-to-avoid)
* **Duplicate content** — Don’t repost the same content with minor changes
* **Keyword stuffing** — Write naturally for readers, not search engines
* **Ignoring mobile** — Ensure your blog works perfectly on mobile devices
* **Thin content** — Each post should provide unique value
* **Broken links** - Regularly check for and fix broken internal and external links
## When to customize these recommendations
[](#when-to-customize-these-recommendations)
Customize settings if:
* Your blog has a unique structure (e.g., portfolio blog)
* You target a very specific niche with different SEO needs
* You have custom post types that require special handling
* Your audience behavior differs from typical blog readers
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Open Graph and Twitter Card Setup](/docs/open-graph-and-twitter-card-setup/)
* [Schema Validation and Testing](/docs/schema-validation-and-testing/)
* [Canonical URLs: Prevent Duplicate Content](/docs/canonical-urls-prevent-duplicate-content/)
---
## Recommended Settings for Local Business Sites
URL: https://seovaultai.com/docs/recommended-settings-for-local-business-sites
Optimal SEOvault AI configuration recommendations for local business and service-based websites.
# Recommended Settings for Local Business Sites
Local business sites have unique SEO needs focused on geographic targeting, local search visibility, and driving foot traffic. This guide provides recommended SEOvault AI settings to maximize your local business’s online presence.
## Core settings
[](#core-settings)
### Output mode
[](#output-mode)
**Recommended:** Auto
Auto mode automatically generates SEO metadata based on your templates, ensuring consistency across all pages.
**To configure:**
1. Go to **SEOvault AI > General > Output Mode**
2. Select **Auto**
3. Click **Save Changes**
### Homepage settings
[](#homepage-settings)
**Title template:**
```
%business_name% - %city% %state% - %service_keyword%
```
**Description template:**
```
%business_name% provides %service_keyword% in %city%, %state%. Call %phone% for %primary_service%.
```
**To configure:**
1. Go to **SEOvault AI > Homepage**
2. Set the title and description templates
3. Click **Save Changes**
This format emphasizes your location and services, which are critical for local search.
## Local business schema
[](#local-business-schema)
**Recommended:** Enable LocalBusiness schema
LocalBusiness schema is essential for local SEO. It helps search engines understand your business information for local search results and Google Business Profile integration.
### Required schema fields:
[](#required-schema-fields)
* **Name** — Your business name
* **Address** — Full street address
* **Phone** — Local phone number
* **Opening hours** — Business hours
* **Geo coordinates** — Latitude and longitude
### Recommended schema types:
[](#recommended-schema-types)
Choose the most specific type for your business:
* **LocalBusiness** — General local business
* **Restaurant** — Restaurants and cafes
* **Dentist** — Dental practices
* **Plumber** — Plumbing services
* **Electrician** — Electrical services
* **HairSalon** — Hair and beauty salons
* **AccountingService** — Accounting firms
* **Attorney** — Law firms
* **RealEstateAgent** — Real estate agents
**To configure:**
1. Go to **SEOvault AI > General > Schema**
2. Check **Enable Schema Markup**
3. Add LocalBusiness schema with your business details
4. Click **Save Changes**
## NAP consistency
[](#nap-consistency)
**Critical:** Ensure Name, Address, and Phone (NAP) are consistent across:
* Your website
* Google Business Profile
* Other local directories (Yelp, Yellow Pages, etc.)
* Social media profiles
Inconsistent NAP data confuses search engines and hurts local rankings.
## Location pages
[](#location-pages)
If you have multiple locations, create dedicated location pages:
### Title template for location pages:
[](#title-template-for-location-pages)
```
%service_keyword% in %city% %state% - %business_name%
```
### Description template:
[](#description-template)
```
%business_name% offers %service_keyword% in %city%, %state%. Visit us at %address% or call %phone%.
```
### Schema for location pages:
[](#schema-for-location-pages)
Add LocalBusiness schema to each location page with location-specific details.
## Service pages
[](#service-pages)
Create dedicated pages for each service you offer:
### Title template:
[](#title-template)
```
%service_name% in %city% %state% - %business_name%
```
### Description template:
[](#description-template-1)
```
Learn about %service_name% from %business_name% in %city%, %state%. %service_description%. Call %phone%.
```
### Schema:
[](#schema)
Use Service schema or Article schema for service pages.
## Social media optimization
[](#social-media-optimization)
### Open Graph
[](#open-graph)
**Recommended:** Enable
**To configure:**
1. Go to **SEOvault AI > General > Open Graph**
2. Check **Enable Open Graph**
3. Set default OG image (business logo or storefront photo)
4. Click **Save Changes**
### Twitter Cards
[](#twitter-cards)
**Recommended:** Enable with large image
**To configure:**
1. Go to **SEOvault AI > General > Twitter Cards**
2. Check **Enable Twitter Cards**
3. Select **Summary with Large Image**
4. Click **Save Changes**
## Sitemap
[](#sitemap)
**Recommended:** Enable
Include all location and service pages in your sitemap.
**To configure:**
1. Go to **SEOvault AI > Sitemap**
2. Check **Enable Custom Sitemap**
3. Set sitemap URL to `/sitemap.xml`
4. Click **Save Changes**
### Post types to include:
[](#post-types-to-include)
* Pages (location pages, service pages, about, contact)
* Posts (if you have a blog)
* Custom post types (services, locations, testimonials)
## Canonical URLs
[](#canonical-urls)
**Recommended:** Enable
Canonical URLs prevent duplicate content issues, especially important if you have similar location or service pages.
**To configure:**
1. Go to **SEOvault AI > General > Canonical URLs**
2. Check **Enable Canonical URLs**
3. Click **Save Changes**
## Feed optimization
[](#feed-optimization)
**Recommended:** Optional
Most local businesses don’t need RSS feeds. Disable if not used.
**To configure:**
1. Go to **SEOvault AI > General > Feed**
2. Uncheck feed options if not needed
3. Click **Save Changes**
## Advanced local business recommendations
[](#advanced-local-business-recommendations)
### Contact page optimization
[](#contact-page-optimization)
Your contact page is critical for local SEO:
**Title:**
```
Contact %business_name% - %city% %state% - %phone%
```
**Description:**
```
Contact %business_name% in %city%, %state%. Address: %address%. Phone: %phone%. Hours: %hours%.
```
**Include:**
* Full address with Google Maps embed
* Phone number with click-to-call link
* Business hours
* Driving directions
* Contact form
* Email address
### About page optimization
[](#about-page-optimization)
**Title:**
```
About %business_name% - %service_keyword% in %city% %state%
```
**Description:**
```
Learn about %business_name%, your trusted %service_keyword% in %city%, %state%. Serving the community since %year%.
```
**Include:**
* Business history
* Team information with photos
* Certifications and licenses
* Service area
* Customer testimonials
### Testimonials
[](#testimonials)
Add schema markup to testimonials for rich results:
**Recommended schema:** Review schema
Include:
* Customer name (or “Verified Customer”)
* Review rating (1-5 stars)
* Review text
* Date of review
* Service or product reviewed
## Image optimization
[](#image-optimization)
### Critical images:
[](#critical-images)
* **Business logo** — Use on all pages
* **Storefront photo** — Homepage and about page
* **Team photos** — About page
* **Service photos** — Service pages
* **Location photos** — Location pages
### Image SEO:
[](#image-seo)
* Use descriptive alt text (e.g., “Smith Plumbing storefront in Denver, Colorado”)
* Compress images for faster loading
* Use appropriate file names
* Add geotagged images if possible
## Mobile optimization
[](#mobile-optimization)
**Critical:** Local searches are predominantly mobile
Ensure:
* Click-to-call phone numbers
* Mobile-friendly maps
* Fast page load speed
* Easy-to-use contact forms
* Readable text without zooming
## Google Business Profile integration
[](#google-business-profile-integration)
While SEOvault AI handles on-page SEO, integrate with Google Business Profile for maximum local visibility:
* Verify your business
* Complete all information (hours, categories, attributes)
* Add photos regularly
* Respond to reviews
* Post updates and offers
* Use the exact NAP as on your website
## Performance considerations
[](#performance-considerations)
### Page speed
[](#page-speed)
Local search users expect fast results. Optimize:
* Image compression
* Caching
* Minimize CSS/JS
* Use a CDN
* Choose fast hosting
### Core Web Vitals
[](#core-web-vitals)
Monitor and optimize:
* Largest Contentful Paint (LCP)
* First Input Delay (FID)
* Cumulative Layout Shift (CLS)
## Monitoring and maintenance
[](#monitoring-and-maintenance)
### Regular tasks
[](#regular-tasks)
* **Weekly:** Check Google Business Profile insights
* **Monthly:** Review local search rankings
* **Quarterly:** Update business hours and seasonal info
* **Annually:** Refresh photos and testimonials
### Key metrics to track
[](#key-metrics-to-track)
* Local search rankings for target keywords
* Google Business Profile views and clicks
* Phone call tracking
* Direction requests
* Website traffic from local searches
* Conversion rate (calls, form submissions, visits)
## Common local business mistakes to avoid
[](#common-local-business-mistakes-to-avoid)
* **Inconsistent NAP** — Keep business info identical everywhere
* **Keyword stuffing** — Use location keywords naturally
* **Ignoring reviews** — Respond to all reviews, positive and negative
* **Duplicate listings** — Claim and merge duplicate business listings
* **Missing schema** — LocalBusiness schema is essential for local SEO
* **No mobile optimization** — Most local searches are on mobile
* **Ignoring Google Business Profile** — It’s critical for local visibility
## Multi-location businesses
[](#multi-location-businesses)
For businesses with multiple locations:
### Create separate pages for each location
[](#create-separate-pages-for-each-location)
Each location page should have:
* Unique title and description
* Location-specific address and phone
* Location-specific schema
* Location-specific content (not duplicated)
* Location-specific reviews
* Embedded map for that location
### Use location-based URLs
[](#use-location-based-urls)
Example structure:
* `yoursite.com/locations/denver/`
* `yoursite.com/locations/colorado-springs/`
### Add breadcrumb schema
[](#add-breadcrumb-schema)
Help search engines understand your site structure and location hierarchy.
## Service area businesses
[](#service-area-businesses)
If you serve customers at their locations (e.g., plumbers, electricians):
### Use ServiceAreaBusiness schema
[](#use-serviceareabusiness-schema)
Instead of LocalBusiness, use ServiceAreaBusiness with:
* Service area (cities, counties, or radius)
* No physical address (or use address as admin only)
* Travel radius if applicable
### Optimize for service area keywords
[](#optimize-for-service-area-keywords)
Include service area in titles and descriptions:
```
Plumbing Services in Denver Metro Area - Smith Plumbing
```
## When to customize these recommendations
[](#when-to-customize-these-recommendations)
Customize settings if:
* Your business has a unique model (e.g., mobile service only)
* You target multiple service areas with different strategies
* You have a franchise structure with specific requirements
* Your industry has specialized schema needs
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Schema Validation and Testing](/docs/schema-validation-and-testing/)
* [Canonical URLs: Prevent Duplicate Content](/docs/canonical-urls-prevent-duplicate-content/)
---
## Recommended Settings for WooCommerce Stores
URL: https://seovaultai.com/docs/recommended-settings-for-woocommerce-stores
Optimal SEOvault AI configuration recommendations for WooCommerce-powered e-commerce websites.
# Recommended Settings for WooCommerce Stores
WooCommerce stores have unique SEO needs focused on product visibility, e-commerce schema, and driving sales. This guide provides recommended SEOvault AI settings to maximize your online store’s search performance and conversion rate.
## Core settings
[](#core-settings)
### Output mode
[](#output-mode)
**Recommended:** Auto
Auto mode automatically generates SEO metadata for products, categories, and other WooCommerce content.
**To configure:**
1. Go to **SEOvault AI > General > Output Mode**
2. Select **Auto**
3. Click **Save Changes**
### Homepage settings
[](#homepage-settings)
**Title template:**
```
%sitename% - %sitedesc%
```
**Description template:**
```
Shop %product_categories% at %sitename%. Free shipping on orders over $50. %site_tagline%
```
**To configure:**
1. Go to **SEOvault AI > Homepage**
2. Set the title and description templates
3. Click **Save Changes**
## Product SEO
[](#product-seo)
### Product title template
[](#product-title-template)
**Recommended:**
```
%title% - %sitename%
```
This format:
* Puts the product name first (most important for search)
* Adds store name for branding
* Keeps titles concise for mobile display
### Product description template
[](#product-description-template)
**Recommended:**
```
%short_description%
```
This uses your WooCommerce short description as the meta description. Write compelling descriptions for each product.
**Alternative:**
```
%title% - %short_description%
```
### To configure product templates:
[](#to-configure-product-templates)
1. Go to **SEOvault AI > Templates**
2. Set the product title and description templates
3. Click **Save Changes**
## WooCommerce-specific features
[](#woocommerce-specific-features)
SEOVault AI includes specialized WooCommerce integrations:
### Product schema
[](#product-schema)
**Recommended:** Enable
SEOVault AI automatically:
* Merges with WooCommerce’s native product schema
* Adds variation images to schema
* Includes product attributes
* Adds return policy to organization schema
This happens automatically when both WooCommerce and SEOvault AI are active.
### Product identifiers
[](#product-identifiers)
**Recommended:** Enable if you sell on multiple platforms
Product identifiers (GTIN, MPN, SKU) help with:
* Google Shopping feeds
* Rich product results
* Cross-platform inventory management
**To configure:**
1. Go to **SEOvault AI > WooCommerce**
2. Check **Enable Product Identifiers**
3. Configure identifier fields
4. Click **Save Changes**
### Import/Export for product identifiers
[](#importexport-for-product-identifiers)
**Recommended:** Enable if you manage products via CSV
**To configure:**
1. Go to **SEOvault AI > WooCommerce**
2. Check **Enable CSV Import/Export**
3. Click **Save Changes**
## Schema markup
[](#schema-markup)
**Recommended:** Enable
E-commerce schema is critical for product visibility in search results.
### Recommended schema types for WooCommerce:
[](#recommended-schema-types-for-woocommerce)
* **Product** — For individual products
* **Organization** — For your store brand
* **BreadcrumbList** — For navigation
* **Review** — For product reviews
* **AggregateRating** — For average product ratings
**To configure:**
1. Go to **SEOvault AI > General > Schema**
2. Check **Enable Schema Markup**
3. Configure default schema types
4. Click **Save Changes**
## Social media optimization
[](#social-media-optimization)
### Open Graph
[](#open-graph)
**Recommended:** Enable with product-specific images
Open Graph tags improve how your products appear when shared on social media.
**To configure:**
1. Go to **SEOvault AI > General > Open Graph**
2. Check **Enable Open Graph**
3. Set default OG image (store logo)
4. Check **Use product images for OG** (WooCommerce integration)
5. Click **Save Changes**
### Twitter Cards
[](#twitter-cards)
**Recommended:** Enable with large image
**To configure:**
1. Go to **SEOvault AI > General > Twitter Cards**
2. Check **Enable Twitter Cards**
3. Select **Summary with Large Image**
4. Click **Save Changes**
## Sitemap
[](#sitemap)
**Recommended:** Enable
Include all products and categories in your sitemap.
**To configure:**
1. Go to **SEOvault AI > Sitemap**
2. Check **Enable Custom Sitemap**
3. Set sitemap URL to `/sitemap.xml`
4. Click **Save Changes**
### Post types to include:
[](#post-types-to-include)
* Products (always)
* Product categories
* Product tags (optional)
* Pages (shop, about, contact, etc.)
* Posts (if you have a blog)
### Exclude:
[](#exclude)
* Out of stock products (optional)
* Hidden products
* Draft products
## Canonical URLs
[](#canonical-urls)
**Recommended:** Enable
Canonical URLs prevent duplicate content issues, especially important for:
* Products with multiple variations
* Products in multiple categories
* Filtered product pages
**To configure:**
1. Go to **SEOvault AI > General > Canonical URLs**
2. Check **Enable Canonical URLs**
3. Click **Save Changes**
## Feed optimization
[](#feed-optimization)
**Recommended:** Optional
Most e-commerce sites don’t need RSS feeds for products. Disable if not used.
**To configure:**
1. Go to **SEOvault AI > General > Feed**
2. Uncheck feed options if not needed
3. Click **Save Changes**
## Advanced WooCommerce recommendations
[](#advanced-woocommerce-recommendations)
### Category pages
[](#category-pages)
**Title template:**
```
%category% - %sitename%
```
**Description template:**
```
Browse our collection of %category% at %sitename%. %category_description%.
```
**Noindex considerations:**
* Index main product categories
* Noindex empty categories
* Noindex filter combinations that create thin content
### Product variations
[](#product-variations)
**Recommended:** Use parent product for SEO
* Set SEO data on the parent (simple) product
* Let variations inherit from parent
* Canonical URLs point to parent product
* Avoid duplicate content across variations
### Product reviews
[](#product-reviews)
**Recommended:** Enable and encourage reviews
Reviews:
* Provide social proof
* Add rich review schema
* Improve conversion rates
* Give search engines fresh content
**To encourage reviews:**
* Send automated review requests after purchase
* Offer incentives for reviews
* Make review process easy
* Respond to all reviews
### Product images
[](#product-images)
**Critical:** Optimize all product images
**Requirements:**
* High-quality product photos (multiple angles)
* Consistent sizing and style
* White or neutral backgrounds
* Descriptive alt text (e.g., “Blue cotton t-shirt with v-neck”)
* Compressed for fast loading
* Appropriate file names (e.g., `blue-cotton-tshirt.jpg`)
**Image SEO:**
* Use descriptive file names
* Add alt text for accessibility and SEO
* Use structured data for images
* Enable lazy loading for product galleries
### Product descriptions
[](#product-descriptions)
**Best practices:**
* Unique descriptions for each product
* Include relevant keywords naturally
* Highlight key features and benefits
* Include dimensions, materials, care instructions
* Write for both search engines and customers
* Minimum 300 words for main products
### Breadcrumbs
[](#breadcrumbs)
**Recommended:** Enable
Breadcrumbs help navigation and SEO:
**To configure:**
1. Go to **SEOvault AI > General > Breadcrumbs**
2. Check **Enable Breadcrumbs**
3. Configure breadcrumb separator
4. Click **Save Changes**
SEOVault AI automatically filters duplicate breadcrumb schema from WooCommerce.
## Robots.txt for WooCommerce
[](#robotstxt-for-woocommerce)
**Recommended additions to robots.txt:**
```
Disallow: /wp-admin/Allow: /wp-admin/admin-ajax.php
Disallow: /cart/Disallow: /checkout/Disallow: /my-account/Disallow: /customer-logout/Disallow: /lost-password/
Disallow: /*add-to-cart=*Disallow: /*?filter*Disallow: /*&filter*
```
This prevents indexing of:
* Cart and checkout pages
* Account pages
* Filtered views that create duplicate content
* Add-to-cart URLs
## Performance optimization
[](#performance-optimization)
### Page speed
[](#page-speed)
E-commerce sites must be fast:
* Optimize product images
* Use a caching plugin
* Enable lazy loading
* Minimize CSS/JS
* Use a CDN
* Choose fast hosting
* Optimize database
### Mobile optimization
[](#mobile-optimization)
**Critical:** Most e-commerce traffic is mobile
Ensure:
* Mobile-friendly product pages
* Easy checkout on mobile
* Fast page load speed
* Touch-friendly buttons
* Readable product descriptions
* Mobile-optimized images
## Shopping feed optimization
[](#shopping-feed-optimization)
### Google Shopping
[](#google-shopping)
SEOVault AI product identifiers help with Google Shopping feeds:
* **GTIN** — Global Trade Item Number (ISBN, UPC, EAN)
* **MPN** — Manufacturer Part Number
* **SKU** — Stock Keeping Unit
Configure these in WooCommerce product data for better Shopping results.
## Monitoring and maintenance
[](#monitoring-and-maintenance)
### Regular tasks
[](#regular-tasks)
* **Weekly:** Check product schema in Google Rich Results Test
* **Monthly:** Review top-performing products and optimize
* **Quarterly:** Audit product descriptions and images
* **Annually:** Review and update settings based on algorithm changes
### Key metrics to track
[](#key-metrics-to-track)
* Organic product traffic
* Product page rankings
* Click-through rates from search
* Conversion rate
* Average order value
* Cart abandonment rate
* Product review count and rating
## Common WooCommerce mistakes to avoid
[](#common-woocommerce-mistakes-to-avoid)
* **Duplicate product descriptions** — Write unique descriptions for each product
* **Missing product images** — Every product needs at least one high-quality image
* **Ignoring mobile optimization** — Most shopping happens on mobile
* **Thin category pages** — Add unique content to category descriptions
* **No product reviews** — Reviews build trust and improve SEO
* **Poor site speed** — Slow sites lose customers and rankings
* **Ignoring structured data** — Product schema is essential for e-commerce SEO
* **Canonical URL issues** — Ensure variations don’t create duplicate content
## Multi-lingual stores
[](#multi-lingual-stores)
If you sell in multiple languages:
### Use translation plugins
[](#use-translation-plugins)
Compatible with:
* WPML
* Polylang
* TranslatePress
### Configure hreflang tags
[](#configure-hreflang-tags)
SEOVault AI can help with hreflang implementation for international SEO.
### Localize product data
[](#localize-product-data)
* Translate product titles and descriptions
* Localize prices and currencies
* Use local domain or subdirectory structure
* Configure local schema (address, phone)
## When to customize these recommendations
[](#when-to-customize-these-recommendations)
Customize settings if:
* Your store has a unique product model (digital products, subscriptions)
* You use advanced WooCommerce features (bookings, memberships)
* You have a complex product catalog with custom taxonomies
* Your industry has specialized schema needs
* You sell on multiple marketplaces with different requirements
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Open Graph and Twitter Card Setup](/docs/open-graph-and-twitter-card-setup/)
* [Schema Validation and Testing](/docs/schema-validation-and-testing/)
* [Canonical URLs: Prevent Duplicate Content](/docs/canonical-urls-prevent-duplicate-content/)
---
## Redirect Manager: Create 301 and 302 Redirects
URL: https://seovaultai.com/docs/redirect-manager-create-301-and-302-redirects
Create and manage URL redirects in WordPress with support for 301, 302, 307, 410, and 451 redirect types, plus regex matching and CSV import/export.
# Redirect Manager: Create 301 and 302 Redirects
The Redirect Manager lets you create and manage URL redirects directly in WordPress. Use it to fix broken links, restructure your site, or permanently move content. The manager supports standard redirect types (301, 302, 307), HTTP status codes for removed content (410, 451), regex pattern matching, and bulk import/export via CSV.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > Redirects**.
## How it works
[](#how-it-works)
When a visitor or bot requests a URL that matches a redirect rule, SEOvault AI sends an HTTP redirect response to the target URL you specified. The redirect happens before WordPress loads the theme, so it’s fast and reliable.
Redirect rules are evaluated in the order they appear in the table. The first matching rule wins. You can reorder rules by editing and re-adding them (the table shows rules in creation order by default).
## Redirect types
[](#redirect-types)
Choose the appropriate HTTP status code for your use case:
* **301 (Moved Permanently)** — Use when the content has permanently moved to a new URL. Search engines transfer ranking signals to the new URL.
* **302 (Found / Temporary)** — Use when the redirect is temporary. Search engines keep the original URL indexed.
* **307 (Temporary Redirect)** — Similar to 302 but preserves the request method (POST stays POST). Use for temporary redirects where method matters.
* **410 (Gone)** — Use when the content has been intentionally removed and will not return. Tells search engines the URL is permanently gone.
* **451 (Unavailable For Legal Reasons)** — Use when content is removed due to legal requirements (DMCA takedown, court order, etc.).
## Match types
[](#match-types)
* **Plain (exact match)** — The origin URL must match exactly. Example: `/old-page` matches only `/old-page`, not `/old-page/` or `/old-page/sub`.
* **Regex (pattern match)** — Use regular expressions for pattern-based redirects. Example: `^/blog/(\d+)/(.*)` can capture parts of the URL and reuse them in the target.
## Create a redirect
[](#create-a-redirect)
1. Go to **SEOvault AI > General > Redirects**
2. Scroll to the “Add New Redirect” section
3. Enter the **Origin (Source URL)** — the path that should be redirected (for example, `/old-page`)
4. Enter the **Target (Destination URL)** — where to send visitors (for example, `/new-page` or `https://example.com/new-page`)
5. Choose the **Redirect Type** (301, 302, 307, 410, or 451)
6. Choose the **Match Type** (plain or regex)
7. Click **Add Redirect**
The target URL can be:
* A relative path on your site (`/new-page`)
* A full URL to another page on your site (`https://yoursite.com/new-page`)
* A full URL to an external site (`https://example.com/page`)
For 410 and 451 redirect types, the target URL is optional since these status codes indicate the content is gone rather than redirected.
## Edit or delete a redirect
[](#edit-or-delete-a-redirect)
* Click **Edit** next to a redirect to populate the form with its values, modify as needed, then click **Update Redirect**
* Click **Delete** to remove a redirect rule
## Bulk actions
[](#bulk-actions)
Select multiple redirects with checkboxes and use the **Delete Selected** button to remove them in bulk.
## CSV import and export
[](#csv-import-and-export)
### Export redirects
[](#export-redirects)
Click **Export to CSV** to download all your redirects as a CSV file. The export includes origin, target, type, and format columns. Use this for backups or to migrate redirects between sites.
### Import redirects
[](#import-redirects)
1. Click **Choose File** and select a CSV file
2. Click **Import CSV**
3. The plugin processes the file and shows how many redirects were imported vs skipped
CSV format requirements:
* Column order: Origin, Target, Type, Format
* Type values: `301`, `302`, `307`, `410`, `451`
* Format values: `plain`, `regex`
* Existing origins are skipped (no duplicates)
Example CSV:
```
/old-page,/new-page,301,plain^/category/(.*)$,/archive/$1,301,regex/removed-content,,410,plain
```
## Best practices
[](#best-practices)
* Use 301 for permanent moves (content relocated, site restructure)
* Use 302 or 307 for temporary redirects (maintenance pages, A/B tests)
* Use 410 when content is intentionally removed and won’t return
* Use 451 for legal removals (DMCA, court orders)
* Test redirects after creating them — open the origin URL in a browser or use a tool like curl to verify the status code
* Avoid redirect chains (redirects that point to other redirects). Point directly to the final destination.
* For site-wide moves, consider regex patterns instead of individual redirects
## Regex examples
[](#regex-examples)
Redirect a category structure:
* Origin: `^/category/(.*)$`
* Target: `/archive/$1`
* Type: 301
* Format: regex
Redirect old post IDs:
* Origin: `^/post/(\d+)$`
* Target: `/?p=$1`
* Type: 301
* Format: regex
## Related docs
[](#related-docs)
* [404 Monitor: Find and Fix Missing URLs](/docs/404-monitor-find-and-fix-missing-urls/)
* [Turn a 404 Log Entry into a Redirect](/docs/turn-a-404-log-entry-into-a-redirect/)
* [404 Fallback Behavior: Theme 404, Homepage, or Custom URL](/docs/404-fallback-behavior-theme-404-homepage-or-custom-url/)
---
## Replace Variables Reference
URL: https://seovaultai.com/docs/replace-variables-reference
Complete reference of template variables available in SEOvault AI for dynamic SEO titles, descriptions, and other fields.
# Replace Variables Reference
Replace variables let you insert dynamic content into SEO titles, descriptions, and other fields using simple placeholders. Use them in title templates, description templates, image SEO formats, and anywhere else the variable picker appears.
## Variable syntax
[](#variable-syntax)
Variables use the `%variable%` format:
* Basic: `%sitename%`, `%title%`, `%sep%`
* With arguments: `%date(F jS, Y)%`, `%customfield(field_name)%`
The variable picker in the post editor and settings pages shows all available variables with descriptions and examples.
## Basic variables
[](#basic-variables)
### %sep%
[](#sep)
Separator character as configured in settings (default: `-`).
**Example:** `My Post %sep% Site Name` → `My Post - Site Name`
### %sitename%
[](#sitename)
Site title from Settings > General.
**Example:** `%title% %sep% %sitename%` → `My Post - My Site`
### %sitedesc%
[](#sitedesc)
Site tagline from Settings > General.
**Example:** `%sitedesc%` → `Just another WordPress site`
### %currentdate%
[](#currentdate)
Current server date in the format configured in Settings > General.
**Example:** `Published on %currentdate%` → `Published on January 15, 2025`
### %currentday%
[](#currentday)
Current day of the month (numeric).
**Example:** `%currentday%` → `15`
### %currentmonth%
[](#currentmonth)
Current month name.
**Example:** `%currentmonth%` → `January`
### %currentyear%
[](#currentyear)
Current year.
**Example:** `Copyright %currentyear%` → `Copyright 2025`
### %currenttime%
[](#currenttime)
Current server time in the format configured in Settings > General.
**Example:** `Updated at %currenttime%` → `Updated at 3:45 PM`
### %currenttime(format)%
[](#currenttimeformat)
Current time with custom format (uses PHP date format).
**Example:** `%currenttime(F jS, Y)%` → `January 15th, 2025`
### %search\_query%
[](#search_query)
Search query text (only available on search results pages).
**Example:** `Results for: %search_query%` → `Results for: wordpress seo`
## Post variables
[](#post-variables)
### %title%
[](#title)
Post or page title.
**Example:** `%title% %sep% %sitename%` → `My Post - My Site`
### %parent\_title%
[](#parent_title)
Parent page title (for hierarchical post types).
**Example:** `%parent_title% %sep% %title%` → `Parent Page - Child Page`
### %excerpt%
[](#excerpt)
Post excerpt, auto-generated from content if missing.
**Example:** `%excerpt%` → `This is a brief summary of the post content...`
### %excerpt\_only%
[](#excerpt_only)
Post excerpt without auto-generation (returns empty if no manual excerpt).
**Example:** `%excerpt_only%` → Returns empty if no manual excerpt exists
### %seo\_title%
[](#seo_title)
Custom SEO title from meta box, or the post title if not set.
**Example:** `%seo_title%` → Uses your custom SEO title
### %seo\_description%
[](#seo_description)
Custom SEO description from meta box, or excerpt if not set.
**Example:** `%seo_description%` → Uses your custom SEO description
### %url%
[](#url)
Permalink URL of the current post or page.
**Example:** `Read more: %url%` → `Read more: https://example.com/my-post`
### %post\_thumbnail%
[](#post_thumbnail)
Featured image URL of the current post.
**Example:** Image: `%post_thumbnail%` → `Image: https://example.com/wp-content/uploads/image.jpg`
### %date%
[](#date)
Publication date of the current post.
**Example:** `Published %date%` → `Published January 15, 2025`
### %modified%
[](#modified)
Last modification date of the current post.
**Example:** `Updated %modified%` → `Updated January 20, 2025`
### %date(format)%
[](#dateformat)
Publication date with custom format (uses PHP date format).
**Example:** `%date(F jS, Y)%` → `January 15th, 2025`
### %modified(format)%
[](#modifiedformat)
Modification date with custom format.
**Example:** `%modified(F jS, Y)%` → `January 20th, 2025`
### %category%
[](#category)
First category assigned to the post.
**Example:** `%category% %sep% %title%` → `Technology - My Post`
### %categories%
[](#categories)
Comma-separated list of all categories.
**Example:** `Categories: %categories%` → `Categories: Technology, News, Updates`
### %tag%
[](#tag)
First tag assigned to the post.
**Example:** `Tagged: %tag%` → `Tagged: wordpress`
### %tags%
[](#tags)
Comma-separated list of all tags.
**Example:** `Tags: %tags%` → `Tags: wordpress, seo, tutorial`
## Term variables
[](#term-variables)
### %term%
[](#term)
Current term name (category, tag, or custom taxonomy).
**Example:** `%term% Archive` → `Technology Archive`
### %term\_description%
[](#term_description)
Current term description.
**Example:** `%term_description%` → `Posts about technology and web development`
### %customterm(taxonomy)%
[](#customtermtaxonomy)
Custom term value from a specific taxonomy.
**Example:** `%customterm(product_category)%` → Returns the product category term
### %customterm\_desc(taxonomy)%
[](#customterm_desctaxonomy)
Custom term description from a specific taxonomy.
**Example:** `%customterm_desc(product_category)%` → Returns the product category description
## Author variables
[](#author-variables)
### %userid%
[](#userid)
Author user ID of the current post or author archive.
**Example:** `Author ID: %userid%` → `Author ID: 42`
### %name% or %post\_author%
[](#name-or-post_author)
Display name of the current post author.
**Example:** `By %name%` → `By John Doe`
### %user\_description%
[](#user_description)
Biographical info of the current post author.
**Example:** `%user_description%` → `John is a WordPress developer...`
## Advanced variables
[](#advanced-variables)
### %id%
[](#id)
Post or page ID.
**Example:** `Post #%id%` → `Post #123`
### %focuskw%
[](#focuskw)
Focus keyword of the current post.
**Example:** `Keyword: %focuskw%` → `Keyword: wordpress seo`
### %keywords%
[](#keywords)
All focus keywords of the current post (comma-separated).
**Example:** `Keywords: %keywords%` → `Keywords: wordpress, seo, plugin`
### %customfield(field\_name)%
[](#customfieldfield_name)
Value of a custom field by field name.
**Example:** `%customfield(price)%` → Returns the value of the `price` custom field
### %page%
[](#page)
Page number with context (e.g., “Page 2 of 4”). Only appears on page 2+.
**Example:** `%title% %page%` → `My Post - Page 2 of 4`
### %pagenumber%
[](#pagenumber)
Current page number.
**Example:** `Page %pagenumber%` → `Page 2`
### %pagetotal%
[](#pagetotal)
Total number of pages.
**Example:** `of %pagetotal%` → `of 4`
### %pt\_single%
[](#pt_single)
Singular name of the current post type.
**Example:** `%pt_single% Archive` → `Post Archive` or `Product Archive`
### %pt\_plural%
[](#pt_plural)
Plural name of the current post type.
**Example:** `Latest %pt_plural%` → `Latest Posts` or `Latest Products`
### %filename%
[](#filename)
Image filename without extension (used in Image SEO alt format).
**Example:** `%filename%` → `my-image`
## Where to use variables
[](#where-to-use-variables)
### Title templates
[](#title-templates)
Go to **SEOvault AI > General > Templates** to set default title templates for posts, pages, and other post types.
**Example template:** `%title% %sep% %sitename%`
### Description templates
[](#description-templates)
Set default description templates in the Templates tab.
**Example template:** `%excerpt% %sep% %sitename%`
### Image SEO alt format
[](#image-seo-alt-format)
Configure automatic alt text generation in the Image SEO tab.
**Example format:** `%filename% %sep% %sitename%`
### Post editor
[](#post-editor)
Use the variable picker in the SEO meta box to insert variables into custom titles and descriptions.
### Term SEO
[](#term-seo)
Use variables in category and tag SEO titles and descriptions.
## Custom variables
[](#custom-variables)
Developers can register custom variables using the `seovaultseo/vars/register_extra` action hook. This allows for site-specific variables like custom post type data, plugin-specific values, or any other dynamic content.
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Image SEO: Automatic ALT and Title Attributes](/docs/image-seo-automatic-alt-and-title-attributes/)
* [Category and Tag SEO (Term Meta)](/docs/category-and-tag-seo-term-meta/)
---
## Rewrite Existing Articles with AI
URL: https://seovaultai.com/docs/rewrite-existing-articles-with-ai
Learn how to refresh old WordPress posts with SEOVault AI rewrite workflows instead of starting from scratch.
# Rewrite Existing Articles with AI
A lot of publishers focus too much on new content and ignore the posts already sitting in their archive.
But older content often has hidden value:
* existing URLs may already have some history or backlinks
* the article may already be indexed and partially trusted
* the topic may still be relevant
* the original draft may only need better structure, freshness, clarity, or depth
* internal linking opportunities may be stronger than they were when the article was first published
That means updating old content can often produce a better return than starting from zero.
For many WordPress publishers, this is one of the most practical growth workflows in the entire product.
## Why Rewriting Existing Articles Matters
[](#why-rewriting-existing-articles-matters)
A lot of publishers focus too much on new content and ignore the posts already sitting in their archive.
Older content often has hidden value:
* existing URLs may already have some history or backlinks
* the article may already be indexed and partially trusted
* the topic may still be relevant
* the original draft may only need better structure, freshness, clarity, or depth
* internal linking opportunities may be stronger than they were when the article was first published
That means updating old content can often produce a better return than starting from zero.
## What Counts as an Article Worth Rewriting
[](#what-counts-as-an-article-worth-rewriting)
Not every old post needs a full rewrite.
A rewrite is usually worth it when the article is:
* still relevant, but clearly outdated
* ranking weakly or slipping
* too thin for the current SERP
* poorly structured
* written in a weak or generic tone
* missing direct answers, FAQs, or useful formatting
* lacking strong internal links
* hard to scan on mobile
* too repetitive, awkward, or obviously old in style
* close to useful, but not strong enough to compete now
These are often what publishers call zombie posts - content that still exists, but is no longer helping enough.
## Where to Find the Rewrite Feature
[](#where-to-find-the-rewrite-feature)
SEOVault AI includes rewriting inside the Ultra Writer workflow through the Rewrite Existing Article preset.
This gives you a more structured way to refresh a page than simply asking for a generic rewrite.
Instead of treating the article like a blank page, the workflow helps you improve what already exists.
Depending on your setup, you may access this from:
* the Chrome Extension
* the Web App
* the DAC and Write workflow
* the Ultra Writer controls
If your interface supports both lighter tools and full rewrite presets, the rewrite preset is usually the strongest option for serious content refreshes.
## The Three Rewrite Levels
[](#the-three-rewrite-levels)
SEOVault AI supports three rewrite intensity levels:
* Light Rewrite
* Medium Rewrite
* Heavy Rewrite
These are important because not every article needs the same level of transformation.
## Light Rewrite
[](#light-rewrite)
A light rewrite is best when the article is already usable, but needs improvement.
### Best for:
[](#best-for)
* polishing clarity
* tightening awkward sentences
* improving flow
* making the article feel more current
* smoothing structure without changing the page too much
* preserving the original layout and intent
### Use a light rewrite when:
[](#use-a-light-rewrite-when)
* the article is basically good
* the topic is still accurate
* the structure mostly works
* you want to preserve the page with minimal disruption
A light rewrite is often enough for pages that are close to ranking better but feel slightly stale or weak.
## Medium Rewrite
[](#medium-rewrite)
A medium rewrite is best when the article needs stronger improvement, but still has useful bones.
### Best for:
[](#best-for-1)
* reorganizing sections
* improving readability
* refreshing examples
* expanding weak or thin sections
* improving SEO structure
* making the article more competitive without rebuilding it from scratch
### Use a medium rewrite when:
[](#use-a-medium-rewrite-when)
* the article has some value, but needs more than surface cleanup
* the structure is uneven
* the content lacks depth or user-focus
* the article needs a more modern, sharper presentation
This is often the most balanced option for old content refresh work.
## Heavy Rewrite
[](#heavy-rewrite)
A heavy rewrite is best when the existing article is still topically useful, but the execution is badly outdated.
### Best for:
[](#best-for-2)
* weak legacy content
* old articles with poor structure
* thin content that needs major expansion
* generic writing that does not stand out
* major shifts in search intent or SERP expectations
* content that needs a new angle, stronger voice, or better usability
### Use a heavy rewrite when:
[](#use-a-heavy-rewrite-when)
* the article is too weak for small edits to matter
* the page topic is still worth keeping
* the current draft feels like a liability, not an asset
* you want major transformation without losing the original URL target
A heavy rewrite is usually the right move for serious zombie post recovery.
## How to Choose the Right Rewrite Level
[](#how-to-choose-the-right-rewrite-level)
A simple rule helps:
* choose Light if the content is mostly good
* choose Medium if the content has value but needs real work
* choose Heavy if the content is still relevant but the execution is poor
If you are unsure, start with a medium rewrite for most archive refreshes. It is often the safest middle ground.
## A Good Rewrite Workflow
[](#a-good-rewrite-workflow)
To get the best results, do not treat rewriting like a one-click magic fix.
Use a process.
### Step 1: Open the existing article
[](#step-1-open-the-existing-article)
Start with the actual post you want to improve.
In the Extension, that may mean opening the draft or post inside WordPress. In the Web App, it may mean loading the post into your editing workspace.
### Step 2: Review the article before rewriting
[](#step-2-review-the-article-before-rewriting)
Look at what is weak before you run the rewrite.
Check things like:
* outdated references
* weak introduction
* thin sections
* missing FAQs
* poor structure
* weak internal linking
* unclear headings
* generic wording
* lack of examples
* missing trust signals
This helps you choose the right rewrite level and decide what the article really needs.
### Step 3: Run analysis first when useful
[](#step-3-run-analysis-first-when-useful)
It can help to run SEO analysis or deep analysis before rewriting.
That can reveal:
* structure problems
* keyword gaps
* freshness issues
* trust / E-E-A-T weaknesses
* missing SERP-style content elements
* weak direct answer sections
If the page matters, analysis before rewriting is usually worth it.
### Step 4: Choose the Rewrite Existing Article preset
[](#step-4-choose-the-rewrite-existing-article-preset)
Inside Ultra Writer, select Rewrite Existing Article.
Then choose:
* Light
* Medium
* Heavy
### Step 5: Generate the rewrite
[](#step-5-generate-the-rewrite)
Run the rewrite and review the draft carefully.
Do not publish blindly.
### Step 6: Refine before publishing
[](#step-6-refine-before-publishing)
Even strong rewrites should still be checked for:
* accuracy
* claims
* freshness
* brand voice
* headings
* readability
* internal links
* formatting
* duplicated or awkward phrasing
### Step 7: Add finishing layers
[](#step-7-add-finishing-layers)
After the main rewrite, use supporting tools if needed:
* TL;DR generation
* FAQ generation
* title improvements
* meta generation
* internal linking
* rich blocks and tables
* humanizer pass on awkward sections
The best refreshes often combine a rewrite with a few smaller improvements.
## What Rewriting Can Improve
[](#what-rewriting-can-improve)
A good rewrite can help improve many parts of an article at once.
### Better readability
[](#better-readability)
Older content is often wordier, flatter, or harder to scan.
### Better structure
[](#better-structure)
The rewrite can help reorganize headings and sections into a more useful flow.
### Better user intent match
[](#better-user-intent-match)
A refreshed page can align more closely with what readers actually want now.
### Better freshness
[](#better-freshness)
Outdated references, examples, and framing can be modernized.
### Better trust feel
[](#better-trust-feel)
You can strengthen the content with more useful explanations, clearer logic, and better experience-led language.
### Better SEO usability
[](#better-seo-usability)
The article can become easier to optimize with stronger headings, clearer summaries, and better supporting sections.
### Better internal linking opportunities
[](#better-internal-linking-opportunities)
Once the content is cleaner, it often becomes easier to connect it properly across your site.
## Best Articles to Rewrite First
[](#best-articles-to-rewrite-first)
If you have a large archive, do not start randomly.
Start with content that is most likely to give a good return.
Prioritize articles that are:
* already getting some impressions or traffic
* close to page-one performance but weak
* commercially valuable
* evergreen and still relevant
* outdated but salvageable
* connected to important product or cluster pages
* useful for internal linking strategy
These usually offer more upside than rewriting low-value posts nobody needs.
## When Not to Rewrite
[](#when-not-to-rewrite)
Sometimes rewriting is the wrong move.
Do not rewrite an article if:
* the topic is no longer worth targeting
* the article has no strategic value
* the search intent has shifted so much that the page should become a different asset
* the content is too weak and too irrelevant to save
* the page should be merged, redirected, or retired instead
Good content operations are not just about improving pages. They are also about knowing which pages are worth saving.
## Rewrite vs Start from Scratch
[](#rewrite-vs-start-from-scratch)
A common question is whether to rewrite an old article or replace it with a new one.
### Rewrite when:
[](#rewrite-when)
* the URL still matters
* the topic is still relevant
* the page has history or value
* the structure can be improved
* the asset is salvageable
### Start from scratch when:
[](#start-from-scratch-when)
* the original page is fundamentally wrong for the target query
* the topic has shifted too far
* the page is too broken to fix efficiently
* you need a completely different content type or angle
In many WordPress publishing workflows, rewriting is the better first option because it preserves existing asset value.
## How This Fits SEO and E-E-A-T
[](#how-this-fits-seo-and-e-e-a-t)
Rewriting is not just about making content longer.
It should make the article more useful.
A strong refresh should help improve:
* clarity
* usefulness
* search intent alignment
* first-hand insight where relevant
* freshness
* scannability
* supporting sections like TL;DR or FAQ
* trust feel
That is much more valuable than simply adding filler words to an old post.
## Common Mistakes to Avoid
[](#common-mistakes-to-avoid)
### Rewriting without reviewing the page first
[](#rewriting-without-reviewing-the-page-first)
You should know what is broken before you fix it.
### Choosing heavy rewrite too often
[](#choosing-heavy-rewrite-too-often)
Sometimes a lighter touch is better, especially on pages that already work.
### Rewriting without updating facts
[](#rewriting-without-updating-facts)
Fresh wording does not fix outdated information.
### Ignoring internal links after the rewrite
[](#ignoring-internal-links-after-the-rewrite)
A refreshed article may still underperform if it stays isolated.
### Treating the AI draft as final
[](#treating-the-ai-draft-as-final)
The rewrite should still go through human review.
### Rewriting the wrong pages
[](#rewriting-the-wrong-pages)
Focus on articles with strategic value first.
## A Practical Refresh Stack
[](#a-practical-refresh-stack)
A very effective content-refresh workflow often looks like this:
1. review the old article
2. run deep analysis if the page matters
3. use Rewrite Existing Article
4. improve title and metadata
5. generate TL;DR if needed
6. add FAQ if useful
7. strengthen internal linking
8. add tables or rich blocks if they improve usability
9. review and publish
This often creates better results than endlessly making tiny manual edits.
## Why This Feature Is So Valuable for WordPress Publishers
[](#why-this-feature-is-so-valuable-for-wordpress-publishers)
WordPress sites often grow large over time.
That means they accumulate:
* old reviews
* outdated guides
* neglected listicles
* weak category support content
* thin legacy pages
* half-useful articles that were never fully improved
SEOVault AI helps turn that archive into an opportunity.
Instead of letting old posts decay, you can systematically upgrade them and make them useful again.
That is one of the most practical uses of AI in publishing.
## Final Recommendation
[](#final-recommendation)
Use Rewrite Existing Article when you already have a page that is worth saving, but not strong enough to leave alone.
Choose:
* Light for cleanup
* Medium for meaningful refreshes
* Heavy for serious transformation
For many publishers, this is one of the best ROI workflows in SEOVault AI because it helps you improve assets you already own instead of always creating from scratch.
## Next Recommended Guides
[](#next-recommended-guides)
After this page, read:
1. [Ultra Writer Guide](/docs/ultra-writer-guide/)
2. Internal Linking and Autolinking Guide
3. [How Credits Work](/docs/how-credits-work/)
4. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
5. Brand Kit Setup Guide
## Need Help?
[](#need-help)
If your rewrite results feel off, review:
* whether the page was worth rewriting in the first place
* whether you chose the right rewrite level
* whether the article needed fact updates
* whether the final page still needs links, FAQs, or structural cleanup
A good rewrite saves time, but a smart refresh strategy creates the real value.
---
## Rich Blocks and Pretty Tables Guide
URL: https://seovaultai.com/docs/rich-blocks-and-pretty-tables-guide
Learn how to turn plain content into cleaner visual blocks, comparison tables, and mobile-friendly layouts with SEOVault AI.
# Rich Blocks and Pretty Tables Guide
Rich Blocks help you turn plain draft content into clearer, more visual, more useful sections inside your WordPress posts.
Instead of leaving information as raw paragraphs or messy text tables, SEOVault AI can help you convert content into cleaner visual structures such as styled tables, mobile cards, comparison sliders, and chart-style blocks.
This guide explains what Rich Blocks are, how Pretty Tables fit into that workflow, and how to use them effectively.
## What Rich Blocks Are
[](#what-rich-blocks-are)
Rich Blocks are enhanced content elements designed to make your article easier to scan, compare, and understand.
They are especially useful when your draft contains:
* product comparisons
* feature breakdowns
* pros and cons
* plan or pricing summaries
* spec lists
* side-by-side evaluations
* structured data that is hard to read as plain text
* sections that need stronger visual hierarchy
Instead of manually building these layouts from scratch, SEOVault AI helps you generate and inject them into your article faster.
## What Pretty Tables Are
[](#what-pretty-tables-are)
Pretty Tables are one of the main Rich Block workflows inside SEOVault AI.
They let you take selected text or table-like content and convert it into a more polished display block.
Depending on the content and the options you choose, this can result in outputs such as:
* styled comparison tables
* cleaner standard tables
* mobile card layouts
* comparison sliders
* bar-chart-style displays
* other visually structured data blocks
The goal is not decoration for its own sake.
The goal is to make information easier to understand and more useful for readers.
## Why Rich Blocks Matter
[](#why-rich-blocks-matter)
A lot of WordPress articles contain information that deserves better formatting.
Without structure, readers may struggle to:
* compare options quickly
* scan feature differences
* understand plan tiers
* identify pros and cons
* spot key metrics
* stay engaged on long posts
Rich Blocks help solve that by turning dense information into more readable sections.
This can improve:
* readability
* scannability
* mobile usability
* comparison clarity
* overall content quality
* time-saving during content production
For commercial content, review content, and structured guides, this can be especially valuable.
## Where to Find Rich Blocks
[](#where-to-find-rich-blocks)
Rich Blocks live inside the Rich Blocks tab in SEOVault AI.
Depending on your workflow, this may be available inside:
* the Chrome Extension
* the Web App
* the in-editor side panel
* the content workspace controls
Inside that area, you can work with Pretty Tables and related structured block generation tools.
## What Types of Inputs Work Best
[](#what-types-of-inputs-work-best)
Rich Blocks are most useful when your source content already has some structure or can be interpreted into structure.
They work well with:
* simple text tables
* comparison notes
* feature lists
* price or plan data
* pros and cons lists
* structured product details
* manually selected rows and columns
* grouped text that can be converted into a table
If you already have a table in the editor, the tool can often use that as the starting point.
If you only have plain text, the AI-assisted table generation workflow can help convert it into something more structured.
## How Pretty Tables Work
[](#how-pretty-tables-work)
The typical Pretty Tables workflow is simple:
1. select a table or source text in your article
2. open the Rich Blocks area
3. let SEOVault AI fetch the selected data if supported
4. choose a theme
5. choose a block type
6. preview the result
7. inject the final block into your article
This allows you to transform a rough comparison section into a cleaner visual component without manually building custom layouts.
## Available Output Types
[](#available-output-types)
The exact set of options may evolve over time, but current Rich Blocks / Pretty Tables workflows can support formats such as:
* Pretty Table
* Mobile Cards
* Comparison Slider
* Bar Chart
* other structured display formats derived from selected data
The right output depends on the kind of content you are presenting.
## Choosing the Right Output Type
[](#choosing-the-right-output-type)
### Pretty Table
[](#pretty-table)
Use this when you want a clean standard comparison or structured data table.
Best for:
* product comparisons
* feature summaries
* plan or pricing breakdowns
* side-by-side evaluations
### Mobile Cards
[](#mobile-cards)
Use this when the information needs to stay readable on smaller screens.
Best for:
* mobile-friendly plan comparisons
* stacked product feature blocks
* sections that would look cramped in a traditional table
### Comparison Slider
[](#comparison-slider)
Use this when you want a more dynamic visual comparison between options.
Best for:
* A vs B style content
* side-by-side product or service comparisons
* sections where a more interactive look helps clarity
### Bar Chart
[](#bar-chart)
Use this when the content has values or categories that benefit from quick visual comparison.
Best for:
* score breakdowns
* weighted comparisons
* summary metrics
* data points that are easier to understand visually than in raw text
The key question is simple: Which format makes the information easiest for the reader to understand?
## Themes You Can Use
[](#themes-you-can-use)
Pretty Tables also include theme options so the output can match different article styles.
Depending on your current version, themes may include options like:
* minimal
* neon
* dark
* stripe
* WordPress-safe
* and other visual presets
Some workflows may also include styles like:
* glassmorph
* classic
* cyberpunk
* or similar display themes in related generators
Theme choice changes the visual presentation, but it should not override readability.
## How to Choose a Good Theme
[](#how-to-choose-a-good-theme)
A good rule is:
* choose the simplest theme that still feels polished
* prioritize readability over visual flair
* use more expressive themes only when they match the rest of the page
### Best practices:
[](#best-practices)
* use minimal or WordPress-safe for most evergreen content
* use dark or stronger visual styles only if they still fit your site design
* avoid themes that make data harder to scan
* keep consistency across the same article when possible
The best table is not the flashiest one. It is the one readers can understand fastest.
## AI Table Generation
[](#ai-table-generation)
Sometimes your selected text is not already in a clean table format.
In that case, SEOVault AI can help convert plain text into a structured table using AI.
This is useful when you have:
* rough comparison notes
* paragraph descriptions
* bullet lists
* plain copied data
* semi-structured information that should really be displayed as a table
Instead of manually reorganizing everything row by row, you can use the AI-supported generation path to create a more usable table.
This is one of the most convenient parts of the Rich Blocks workflow.
## AI Table Summary
[](#ai-table-summary)
Some workflows also support AI-generated table summaries.
This can help by turning the main takeaway of a table into a short explanatory block.
That is useful because tables are powerful, but some readers still benefit from a quick summary that explains what the comparison actually shows.
Use table summaries when:
* the table includes multiple options
* the differences are not obvious at a glance
* the article benefits from a quick takeaway sentence or paragraph
* you want to support scannability for readers who do not study every row carefully
## Best Use Cases for Rich Blocks
[](#best-use-cases-for-rich-blocks)
Rich Blocks are especially valuable in content such as:
### Buyer’s guides
[](#buyers-guides)
These often include product comparisons, feature tables, and selection criteria.
### Comparison articles
[](#comparison-articles)
A vs B pages often benefit from structured side-by-side layouts.
### Product or service reviews
[](#product-or-service-reviews)
Structured pros, cons, specs, and feature comparisons become easier to understand.
### Plan or pricing pages
[](#plan-or-pricing-pages)
Tables and mobile card layouts can make tier differences clearer.
### Data-driven articles
[](#data-driven-articles)
If the article includes scores, metrics, or spec lists, a chart or structured block may be more readable than plain text.
### Long-form commercial content
[](#long-form-commercial-content)
Rich Blocks help break up dense sections and improve article flow.
## Rich Blocks in the Extension vs Web App
[](#rich-blocks-in-the-extension-vs-web-app)
Both workflows can support Rich Blocks, but the exact editing experience may differ depending on where you use them.
### In the Extension
[](#in-the-extension)
Rich Blocks help you work directly in the WordPress editor and inject structured outputs quickly.
### In the Web App
[](#in-the-web-app)
Rich Blocks fit into the broader editing workspace and may be easier to combine with larger drafting, editing, and publishing workflows.
The underlying value is the same:
* faster visual formatting
* less manual table-building
* cleaner article sections
## How to Use Rich Blocks Well
[](#how-to-use-rich-blocks-well)
### 1\. Start with information that deserves structure
[](#1-start-with-information-that-deserves-structure)
Do not force a table into content that works better as a paragraph.
Use Rich Blocks where structure improves clarity.
### 2\. Choose the output type based on the reader’s job
[](#2-choose-the-output-type-based-on-the-readers-job)
Ask what the reader is trying to do:
* compare?
* scan?
* evaluate?
* choose?
* understand a set of values?
Then choose the block type that helps that job best.
### 3\. Keep tables focused
[](#3-keep-tables-focused)
Do not overload one table with too many columns, too many rows, or too much text.
A cleaner table is usually more useful.
### 4\. Check mobile readability
[](#4-check-mobile-readability)
If the data looks cramped, use Mobile Cards or a simpler table style.
### 5\. Review the preview before injecting
[](#5-review-the-preview-before-injecting)
Always inspect the result before inserting it into the post.
### 6\. Add a short intro or summary when needed
[](#6-add-a-short-intro-or-summary-when-needed)
A table works even better when readers know what it is showing and why it matters.
## Common Mistakes to Avoid
[](#common-mistakes-to-avoid)
### Using rich blocks where plain text would be better
[](#using-rich-blocks-where-plain-text-would-be-better)
Not every section needs visual formatting.
### Choosing style over clarity
[](#choosing-style-over-clarity)
A prettier table is not better if it is harder to read.
### Overloading a comparison block
[](#overloading-a-comparison-block)
Too many rows or features can make the content harder to scan.
### Skipping the preview
[](#skipping-the-preview)
Always check the result before injecting into the article.
### Ignoring mobile readers
[](#ignoring-mobile-readers)
A desktop-friendly table may still be frustrating on phones.
### Treating structure as decoration
[](#treating-structure-as-decoration)
Rich Blocks should improve understanding, not just appearance.
## A Practical Workflow Example
[](#a-practical-workflow-example)
A simple Rich Blocks workflow might look like this:
1. draft a comparison section
2. select the relevant text or existing table
3. open the Rich Blocks tab
4. choose Pretty Table or another appropriate output type
5. select a theme
6. preview the result
7. adjust if needed
8. inject into the article
9. add a short summary above or below the block if useful
This can turn a rough draft section into a cleaner, more conversion-friendly comparison area.
## When Rich Blocks Are Most Valuable
[](#when-rich-blocks-are-most-valuable)
Rich Blocks are often most useful when:
* the article contains commercial comparison content
* the content includes repeated data points
* users need to compare options quickly
* your site publishes review-style content
* your audience reads heavily on mobile
* your current table formatting is inconsistent or ugly
* you want to speed up content production without sacrificing usability
For many publishers, this is not just a design feature. It is a workflow feature.
## Final Recommendation
[](#final-recommendation)
Use Rich Blocks when structured information deserves a clearer presentation.
Use Pretty Tables for cleaner comparisons. Use Mobile Cards when mobile readability matters. Use Comparison Sliders or chart-style blocks when visual comparison improves understanding.
The best Rich Block is the one that makes the article easier to use, not just nicer to look at.
## Next Recommended Guides
[](#next-recommended-guides)
After this page, read:
1. [Ultra Writer Guide](/docs/ultra-writer-guide/)
2. [Rewrite Existing Articles with AI](/docs/rewrite-existing-articles-with-ai/)
3. [How Credits Work](/docs/how-credits-work/)
4. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
5. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
## Need Help?
[](#need-help)
If your Rich Block result does not look right, check:
* whether the source content was structured enough
* whether you chose the right output type
* whether the theme supports readability
* whether the block is too dense for mobile
* whether a simpler layout would serve the reader better
A strong Rich Block should clarify the content, not complicate it.
---
## Robots.txt Policy Controls
URL: https://seovaultai.com/docs/robots-txt-policy-controls
Configure robots.txt crawl policies to control how search engines crawl your site, with preset policies or custom rules.
# Robots.txt Policy Controls
SEOvault AI lets you manage your robots.txt file directly from the WordPress admin. You can choose from preset crawl policies or write custom robots.txt rules. The plugin injects your policy into the virtual robots.txt output using BEGIN/END markers, so it works without writing to the filesystem.
## Where to find robots.txt settings
[](#where-to-find-robotstxt-settings)
Go to **SEOvault AI > General > Robots** in your WordPress admin. Scroll to the **robots.txt Crawl Policy** section at the bottom of the tab.
## How robots.txt injection works
[](#how-robotstxt-injection-works)
WordPress generates robots.txt dynamically unless you have a physical robots.txt file in your site root. SEOvault AI hooks into the `robots_txt` filter and appends your crawl policy to the output.
The plugin wraps your policy in markers:
```
# BEGIN SEOVault AI Crawler PolicyUser-agent: *Allow: /Crawl-delay: 1# END SEOVault AI Crawler Policy
```
When you change the policy, the plugin removes the old block and injects the new one. If you switch to **None (default)**, the block is removed entirely.
## Preset crawl policies
[](#preset-crawl-policies)
The plugin includes three preset policies that control crawl delay:
* **Balanced** – `User-agent: *`, `Allow: /`, `Crawl-delay: 1`. Adds a 1-second delay between requests. Recommended for most sites.
* **Maximum Visibility** – `User-agent: *`, `Allow: /`, `Crawl-delay: 0`. No crawl delay. Use this if you want search engines to crawl as fast as possible.
* **Strict** – `User-agent: *`, `Allow: /`, `Crawl-delay: 5`. Adds a 5-second delay. Use this if your server has limited resources or you want to slow down aggressive crawlers.
All presets allow all user agents and allow crawling of the entire site. The only difference is the crawl delay.
## Custom robots.txt rules
[](#custom-robotstxt-rules)
If the presets do not meet your needs, select **Custom** and write your own robots.txt rules in the textarea.
Examples of custom rules:
```
User-agent: GooglebotAllow: /
User-agent: *Disallow: /wp-admin/Disallow: /wp-includes/Crawl-delay: 2
Sitemap: https://yourdomain.com/seovault-sitemap.xml
```
The custom content is injected exactly as you write it. You can include multiple user-agent blocks, disallow rules, allow rules, crawl delays, and sitemap directives.
## Step-by-step: configure a robots.txt policy
[](#step-by-step-configure-a-robotstxt-policy)
1. Go to **SEOvault AI > General > Robots**.
2. Scroll to the **robots.txt Crawl Policy** section.
3. Select a **Crawl Policy**:
* **None (default)** – no SEOvault AI policy is injected
* **Balanced** – 1-second crawl delay
* **Maximum Visibility** – no crawl delay
* **Strict** – 5-second crawl delay
* **Custom** – write your own rules
4. If you selected **Custom**, enter your robots.txt rules in the textarea.
5. Click **Preview robots.txt** to see what the full robots.txt output will look like.
6. Click the **View your live robots.txt** link to verify the live output.
7. Click **Save Changes** at the bottom of the page.
## Previewing robots.txt
[](#previewing-robotstxt)
The **Preview robots.txt** button shows you the combined output of your policy and any other robots.txt content from WordPress or other plugins. The preview appears in a code block below the button.
After previewing, a link to your live robots.txt at `/robots.txt` appears. Click this to verify that search engines see the expected output.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Physical robots.txt file**: If you have a physical `robots.txt` file in your site root, WordPress does not use the virtual robots.txt and the plugin injection does not apply. Delete the physical file to use the plugin’s policy.
* **Autopilot mode only**: The robots.txt policy is only applied when the plugin is in Autopilot output mode. In Manual or Disabled mode, the robots.txt filter is not registered.
* **Other plugins**: If another plugin also modifies robots.txt, the order of filter execution determines which content appears first. SEOvault AI uses priority 10, which is the default.
* **Sitemap directive**: You can include a `Sitemap:` directive in your custom policy to point search engines to your sitemap. For example: `Sitemap: https://yourdomain.com/seovault-sitemap.xml`.
* **Crawl delay support**: Not all search engines respect the `Crawl-delay` directive. Bing and Yandex honor it, but Google does not. Google uses its own crawl rate based on server response time and site authority.
* **User-agent wildcards**: The presets use `User-agent: *` to apply to all crawlers. In custom rules, you can target specific bots like `Googlebot` or `Bingbot`.
* **Allow vs Disallow**: The presets use `Allow: /` to explicitly allow crawling. You can also use `Disallow:` to block specific paths. Remember that `Disallow: /` blocks the entire site, while `Disallow:` with no value allows everything.
## Related docs
[](#related-docs)
* [XML Sitemaps: How SEOvault AI Uses WordPress Core Sitemaps](/docs/xml-sitemaps-how-seovault-ai-uses-wordpress-core-sitemaps/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Noindex-Aware Sitemap Behavior](/docs/noindex-aware-sitemap-behavior/)
---
## Run the SEO Analyzer on Your Site
URL: https://seovaultai.com/docs/run-the-seo-analyzer-on-your-site
Perform a comprehensive site-wide SEO audit with the SEO Analyzer to identify configuration issues, content gaps, and technical problems.
# Run the SEO Analyzer on Your Site
The SEO Analyzer performs a comprehensive site-wide SEO audit. It checks your WordPress configuration, content optimization, technical SEO settings, and performance factors to identify issues that may affect your search rankings.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > SEO Analyzer**. This dedicated page runs all tests and displays results with actionable recommendations.
## How to run the analyzer
[](#how-to-run-the-analyzer)
1. Go to **SEOvault AI > SEO Analyzer**
2. Click **Run SEO Analysis**
3. The analyzer runs all tests and displays results grouped by category
4. Review the overall score and individual test results
5. Click on any test to see detailed information and how to fix issues
Results are stored in your database, so you can review them later without re-running the analyzer. Click **Clear Results** to reset and run a fresh analysis.
## Overall score calculation
[](#overall-score-calculation)
The analyzer calculates an overall SEO score based on weighted test results:
* **OK status**: Full points for the test
* **Warning status**: Half points for the test
* **Fail status**: Zero points for the test
**Score grades:**
* **Good**: 70% or higher
* **Average**: 50-69%
* **Bad**: Below 50%
Each test has a different weight based on its importance to SEO. Priority tests carry more weight than advanced tests.
## Test categories
[](#test-categories)
Results are grouped into three categories:
### Priority
[](#priority)
Critical configuration issues that prevent your site from being indexed or ranked properly.
* **Search Engine Visibility**: Checks if your site is visible to search engines (not blocked by the “Discourage search engines” setting)
* **Permalink Structure**: Verifies you’re using SEO-friendly permalinks with `%postname%`
### Basic
[](#basic)
Content optimization and essential SEO settings.
* **Site Tagline**: Ensures your site has a custom tagline instead of the default WordPress text
* **Focus Keywords**: Checks if published posts have focus keywords set for content analysis
* **Focus Keyword in Titles**: Verifies focus keywords appear in post titles
* **Title & Meta Description Templates**: Confirms custom templates are configured for consistent SEO
* **Static Homepage SEO**: Assesses SEO metadata for static homepages
### Advanced
[](#advanced)
Technical SEO, performance, and advanced configuration.
* **XML Sitemap**: Verifies your sitemap is accessible at `/sitemap.xml`
* **robots.txt**: Checks if a robots.txt file exists and contains valid directives
* **HTTPS / SSL**: Confirms your site uses HTTPS
* **Schema Markup**: Checks if structured data (schema.org) is enabled
* **Open Graph Tags**: Verifies social sharing tags are being output
* **Canonical URLs**: Confirms canonical tags are being generated
* **RSS Feeds**: Checks if RSS feeds are available
* **Server Response Time**: Measures Time To First Byte (TTFB) for performance
* **H1 Heading on Homepage**: Ensures the homepage has exactly one H1 heading
* **Caching Plugin**: Detects if a caching plugin is active
* **WWW Consistency**: Checks if www and non-www versions redirect properly
## Individual test details
[](#individual-test-details)
### Search Engine Visibility
[](#search-engine-visibility)
Checks the `blog_public` option. If “Discourage search engines from indexing this site” is checked in **Settings > Reading**, this test fails.
**Fix:** Go to **Settings > Reading** and uncheck “Discourage search engines from indexing this site.”
### Permalink Structure
[](#permalink-structure)
Verifies your permalink structure includes `%postname%` for SEO-friendly URLs.
**Fix:** Go to **Settings > Permalinks** and select the “Post name” option.
### Site Tagline
[](#site-tagline)
Checks if your site tagline is set and not the default “Just another WordPress site.”
**Fix:** Go to **Settings > General** and set a unique, descriptive tagline that includes your main keyword.
### Focus Keywords
[](#focus-keywords)
Scans published posts to find those without a focus keyword set. Posts set to noindex are excluded.
**Fix:** Edit each post listed and set a focus keyword in the SEOvault AI meta box.
### Focus Keyword in Titles
[](#focus-keyword-in-titles)
Checks if focus keywords appear in post titles for better relevance.
**Fix:** Edit the posts listed and add the focus keyword to the post title.
### Title & Meta Description Templates
[](#title--meta-description-templates)
Verifies custom title and description templates are configured, not using defaults.
**Fix:** Go to **SEOvault AI > General > Templates** and configure your templates.
### Static Homepage SEO
[](#static-homepage-seo)
If you use a static homepage, this test assesses its SEO metadata and runs a page-level SEO assessment. Skipped if your homepage displays latest posts.
**Fix:** Edit your static homepage page and complete its SEOvault AI title, description, keyword, indexing, and canonical settings.
### XML Sitemap
[](#xml-sitemap)
Tests if `sitemap.xml` is accessible and returns HTTP 200.
**Fix:** Ensure the sitemap is enabled in SEOvault AI settings. Verify the sitemap is accessible at `your-site/sitemap.xml`.
### robots.txt
[](#robotstxt)
Checks if `robots.txt` exists and contains valid directives like `User-agent`.
**Fix:** Create or verify a robots.txt file in your site root. Ensure it does not block important pages.
### HTTPS / SSL
[](#https--ssl)
Checks if your site is served over HTTPS.
**Fix:** Install an SSL certificate and force HTTPS via **Settings > General**. Update your site URLs to use `https://`.
### Schema Markup
[](#schema-markup)
Counts enabled schema types in SEOvault AI settings.
**Fix:** Go to **SEOvault AI > General > Schema** and enable at least one schema type (Organization or Website).
### Open Graph Tags
[](#open-graph-tags)
Checks if Open Graph output is enabled and a default social image is set.
**Fix:** Ensure output mode is not Disabled. Set a default social image in **SEOvault AI > General > Social**.
### Canonical URLs
[](#canonical-urls)
Verifies canonical URLs are being output in Auto mode.
**Fix:** Ensure SEOvault AI is in Auto output mode so canonical URLs are automatically generated.
### RSS Feeds
[](#rss-feeds)
Tests if your RSS feed is accessible.
**Fix:** Ensure RSS feeds are not disabled. WordPress generates feeds automatically—check **Settings > Reading**.
### Server Response Time
[](#server-response-time)
Measures Time To First Byte (TTFB) by requesting your homepage.
**Fix:** Use a caching plugin, optimize your database, and consider a CDN. Aim for TTFB under 600ms.
### H1 Heading on Homepage
[](#h1-heading-on-homepage)
Fetches your homepage and counts H1 tags.
**Fix:** Ensure your homepage has exactly one H1 tag. Edit your theme or page builder to add or fix the H1.
### Caching Plugin
[](#caching-plugin)
Detects active caching plugins like WP Rocket, W3 Total Cache, or WP Super Cache.
**Fix:** Install a caching plugin to improve page load speed.
### WWW Consistency
[](#www-consistency)
Tests if the non-preferred domain version (www or non-www) redirects to the preferred one.
**Fix:** Set your preferred domain in **Settings > General** and add a redirect from the non-preferred version.
## Results storage
[](#results-storage)
Analyzer results are stored in WordPress options:
* `seovaultseo_analyzer_results`: The full results array
* `seovaultseo_analyzer_date`: Timestamp of the last run
Results persist until you click **Clear Results** or manually delete the options. This lets you track progress over time without re-running tests.
## Performance considerations
[](#performance-considerations)
The analyzer makes HTTP requests to your own site for some tests (sitemap, robots.txt, homepage H1, response time, www redirect). These are self-requests with a 10-15 second timeout.
If your site uses SSL with a self-signed certificate (common in local development), use the `seovaultseo_analyzer_sslverify` filter to disable SSL verification:
```
add_filter( 'seovaultseo_analyzer_sslverify', '__return_false' );
```
## Extending the analyzer
[](#extending-the-analyzer)
Developers can add custom tests using the `seovaultseo/analyzer/tests` filter. Each test requires:
* `title`: Test name
* `description`: What the test checks
* `how_to_fix`: HTML with fix instructions
* `category`: `priority`, `basic`, or `advanced`
* `callback`: Function that returns `array( 'status' => 'ok|warning|fail', 'message' => '...' )`
* `score`: Weight for the overall score calculation
## Notes and edge cases
[](#notes-and-edge-cases)
* **Permissions**: Only users with `manage_options` capability can run the analyzer
* **Homepage checks**: Tests that fetch the homepage (H1, response time) may fail if your homepage returns HTTP errors or redirects
* **Post type filtering**: Focus keyword and title tests exclude attachments and respect the `seovaultseo_excluded_post_types` filter
* **Static vs blog homepage**: The homepage SEO test only applies when using a static front page
* **Virtual robots.txt**: WordPress generates a virtual robots.txt if no physical file exists. The test warns if this virtual file is used
## Related docs
[](#related-docs)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [XML Sitemaps: How SEOvault AI Uses WordPress Core Sitemaps](/docs/xml-sitemaps-how-seovault-ai-uses-wordpress-core-sitemaps/)
* [Schema Markup Overview](/docs/schema-markup-overview/)
---
## Schema Health: Fix Structured Data Issues in the Editor
URL: https://seovaultai.com/docs/schema-health-fix-structured-data-issues-in-the-editor
Use the Schema Health panel in the post editor to validate structured data, identify incomplete schema setups, and fix issues before publishing.
# Schema Health: Fix Structured Data Issues in the Editor
SEOvault AI includes a Schema Health panel in the post editor that validates your structured data locally and helps you identify and fix issues before the page goes live. The panel shows the status of published schema, unfinished setup items, and provides actionable guidance.
## Where to find Schema Health
[](#where-to-find-schema-health)
Open any post or page in the WordPress editor. The Schema Health panel appears in the sidebar (usually under SEOvault AI meta box). The panel shows:
* **Status indicator** – Healthy, Improvements available, Action required, or No schema detected
* **Emitted entities** – summary of schema types that will be output
* **Unfinished setup** – list of schema instances that need completion
* **Action buttons** – Check schema, Check published page, Add schema, Review schema
## How validation works
[](#how-validation-works)
Schema Health runs two types of validation:
### Local validation
[](#local-validation)
Local validation checks the schema graph that SEOvault AI will output on the frontend. It uses bundled rules based on Schema.org vocabulary and Google Rich Result guidelines. Validation runs:
* **On post save** – after the post meta is saved, the emitted graph is validated and cached
* **On demand** – click “Check schema” to re-run validation with the current editor state
* **In the editor** – as you type in the custom JSON field, the editor previews the graph that would be emitted
Local validation does not guarantee a Google rich result, but it catches common structural issues, missing required fields, and syntax errors.
### Published-page validation
[](#published-page-validation)
Published-page validation fetches the live page HTML and compares the actual JSON-LD output to SEOvault’s expected graph. This helps detect:
* Conflicts with other plugins or theme code
* Caching issues that prevent schema updates
* Missing entities that should be present
* Extra entities from third-party markup
Published-page validation is only available after the post is published and the page is publicly accessible.
## Status states
[](#status-states)
The Schema Health panel shows one of the following states:
* **Healthy (✓)** – No errors or warnings found. The emitted graph passes local validation rules.
* **Improvements available (●)** – Recommendations are available to enhance schema (for example, adding an image to Article markup). These are optional but can improve rich result eligibility.
* **Action required (×)** – Errors or warnings need attention before the schema can be trusted. These issues may prevent the schema from being useful to search engines.
* **No schema detected (—)** – Schema output is disabled globally or no schema is configured for this page.
* **Check unavailable (!)** – SEOvault could not complete the local check. This is not a schema validation result; try again.
## Unfinished setup items
[](#unfinished-setup-items)
The panel lists schema instances that are not ready for output. These include:
### Guided schema instances
[](#guided-schema-instances)
Schema instances added via the guided form may be withheld if required fields are missing. Common reasons:
* **Missing image** – Article, Event, Product, and Recipe types require an image
* **Missing author** – Article and Recipe types require an author
* **Missing dates** – Event and JobPosting require start date or date posted
* **Missing location** – Event and JobPosting require a location or remote designation
* **Incomplete FAQ block** – FAQ blocks need at least one complete question and answer pair
* **Incomplete How-to block** – How-to blocks need a name and at least one complete step
Each setup item shows:
* Schema type
* Status badge (Draft, Needs information, Withheld)
* Summary of what’s missing
* Complete button (focuses the required field)
* Remove button (deletes the instance)
### Custom JSON
[](#custom-json)
If you paste custom JSON-LD in the editor field, it is validated for syntax and structure. Issues include:
* **Invalid JSON syntax** – the JSON cannot be parsed
* **Input too large** – the custom JSON exceeds size limits
* **Invalid structure** – the JSON does not match expected schema.org patterns
Invalid custom JSON is withheld from the published graph and does not suppress foundational schema output.
## Step-by-step: fix schema issues
[](#step-by-step-fix-schema-issues)
1. Open the post in the editor.
2. Look at the Schema Health panel status.
3. If the status is **Action required** or **Improvements available**:
* Review the top actions listed in the panel.
* Click “Review schema” to see detailed issue cards grouped by severity.
4. For **unfinished setup items**:
* Click “Complete” on an item to focus the required field.
* Fill in the missing information.
* The status updates automatically as you complete fields.
5. For **custom JSON issues**:
* Click “Complete” to focus the custom JSON field.
* Fix syntax errors or reduce the size.
* The panel previews the validated graph.
6. Click “Check schema” to re-run validation after making changes.
7. Save or update the post to persist changes.
8. After publishing, click “Check published page” to verify live output.
## Caching behavior
[](#caching-behavior)
Local validation results are cached for up to 7 days. The cache is invalidated when:
* The post is saved
* Schema settings change
* Plugin version updates
* Schema validation ruleset updates
* The custom JSON field changes
Clicking “Check schema” bypasses the cache and runs fresh validation.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Bundled rules only**: Schema Health uses SEOvault’s bundled local rules. Passing validation does not guarantee a Google rich result. Always test with Google’s Rich Results Test.
* **Post type support**: Schema Health is available for all public post types (posts, pages, and custom post types).
* **Autopilot mode only**: Schema output and validation only work when the plugin is in Autopilot output mode.
* **Custom JSON mode**: After migration, invalid custom JSON is withheld but does not block foundational schema. The editor preview shows the generated graph while the custom JSON is invalid.
* **Block-derived schema**: FAQ and HowTo blocks are validated separately. Incomplete blocks are listed in the unfinished setup section.
* **Multiple entities**: The emitted graph can contain multiple entities of the same type. Each entity must have a unique @id.
* **Conflict detection**: If multiple sources define the same @id, the conflict is reported in the Review schema surface.
## Related docs
[](#related-docs)
* [Schema Markup Basics in SEOvault AI](/docs/schema-markup-basics-in-seovault-ai/)
* [Validate Live Schema on Published Pages](/docs/validate-live-schema-on-published-pages/)
* [Add Custom JSON-LD Schema to a Post](/docs/add-custom-json-ld-schema-to-a-post/)
---
## Schema Markup Basics in SEOvault AI
URL: https://seovaultai.com/docs/schema-markup-basics-in-seovault-ai
Understand how SEOvault AI automatically generates structured data (JSON-LD schema) for search engines, including foundational entities, post-level schema, and templates.
# Schema Markup Basics in SEOvault AI
SEOvault AI automatically generates structured data (schema markup) for your WordPress site. Schema markup helps search engines understand your content and can lead to rich results in search listings. The plugin outputs schema as JSON-LD in the `` of your pages.
## Where to find schema settings
[](#where-to-find-schema-settings)
Go to **SEOvault AI > General > Schema** in your WordPress admin. The tab includes the master enable switch, publisher identity settings, and optional automatic component toggles.
## How schema output works
[](#how-schema-output-works)
The plugin outputs schema as a JSON-LD script tag in the `` of your pages. The output is built from multiple sources:
* **Foundational context** – automatic entities like WebSite, Organization or Person, BreadcrumbList, and SearchAction
* **Post-level schema** – custom JSON-LD or guided schema instances added to individual posts
* **Schema templates** – reusable schema configurations with display conditions
* **Block-derived schema** – FAQPage and HowTo nodes from Gutenberg blocks
* **Extension contributions** – schema added by other plugins via the `seovaultseo_set_schema` filter
All sources are merged into a single `@graph` array and rendered as one JSON-LD block.
## Foundational schema
[](#foundational-schema)
Foundational schema is generated automatically for every page on your site. It includes:
* **WebSite** – your site URL, name, and search action
* **Organization or Person** – publisher identity based on your settings
* **BreadcrumbList** – navigation trail for the current page
* **SearchAction** – site search box for rich results
These entities are always output unless schema is disabled globally or the specific component is turned off.
## Publisher identity
[](#publisher-identity)
Choose how your site is represented in schema:
* **Organization** – your site is represented as an Organization entity (default for businesses)
* **Person** – your site is represented as a Person entity (default for personal blogs)
* **Both** – both Organization and Person entities are output
This setting affects the foundational schema and is used when rendering other schema types that reference a publisher.
## Variable replacement
[](#variable-replacement)
Schema field values support dynamic variables that are replaced at render time. Common variables include:
* `%site.url%` – your site homepage URL
* `%site.title%` – your site name
* `%site.description%` – your site tagline
* `%site.logo%` – your site logo URL
* `%post.title%` – current post title
* `%post.excerpt%` – current post excerpt
* `%post.url%` – current post permalink
* `%post.published_date%` – current post publish date (ISO 8601)
* `%post.modified_date%` – current post modified date (ISO 8601)
* `%post.author_name%` – current post author display name
* `%term.name%` – current term name
* `%term.description%` – current term description
* `%author.name%` – current author display name
* `%current.url%` – current page URL
* `%current.title%` – current page title
* `%current.description%` – current page description
* `%current.time%` – current time
* `%current.year%` – current year
* `%current.month%` – current month name
* `%current.day%` – current day of month
* `%current.date%` – current date
Variables use dot notation for nested values. For example, `%schemas.organization%` resolves to the @id of the Organization entity.
## Step-by-step: configure schema settings
[](#step-by-step-configure-schema-settings)
1. Go to **SEOvault AI > General > Schema**.
2. Check **Enable Schema** to turn on schema output (enabled by default).
3. Select a **Publisher Identity**:
* **Organization** – for business sites
* **Person** – for personal blogs
* **Both** – to output both entities
4. Under **Automatic Components**, toggle optional foundational pieces:
* **Breadcrumbs** – include BreadcrumbList schema
* **Search Action** – include SearchAction schema
5. Click **Save Changes**.
## Post-level schema
[](#post-level-schema)
You can add custom schema to individual posts, pages, or terms:
* **Custom JSON-LD** – paste raw JSON-LD in the SEOvault AI meta box for full control
* **Guided schema instances** – use the guided form to build schema with field validation
Post-level schema overrides global defaults for that specific page. If you add custom JSON-LD, it is the only schema output for that page (unless you enable V2 foundational mode, which merges custom with foundational).
## Schema templates
[](#schema-templates)
Schema templates are reusable configurations that apply to multiple pages based on display conditions. For example, you can create an Article template that automatically applies to all blog posts.
Templates are managed from the Schema tab and include:
* **Schema type** – the schema.org type (Article, Event, Product, etc.)
* **Field values** – using variables or static text
* **Display conditions** – rules for when the template applies (post type, taxonomy, etc.)
Templates are merged with foundational schema and post-level schema.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Autopilot mode only**: Schema output is only active when the plugin is in Autopilot output mode. In Manual or Disabled mode, no schema is output.
* **JSON-LD format**: The plugin outputs schema as JSON-LD, which is the recommended format for Google and other search engines.
* **Validation**: The plugin validates schema after post save and shows issues in the Schema Health panel. Invalid custom JSON is withheld from output after migration.
* **Block-derived schema**: FAQ and HowTo blocks automatically generate schema without requiring additional configuration.
* **WooCommerce**: If WooCommerce is installed, the plugin can enhance product schema and remove duplicate breadcrumb schema.
* **Multiple entities**: The @graph can contain multiple entities of the same type. Each entity must have a unique @id.
* **@id references**: Use variables like `%schemas.organization%` to reference other entities in the graph without hardcoding URLs.
## Related docs
[](#related-docs)
* [Schema Health: Fix Structured Data Issues in the Editor](/docs/schema-health-fix-structured-data-issues-in-the-editor/)
* [Validate Live Schema on Published Pages](/docs/validate-live-schema-on-published-pages/)
* [Add Custom JSON-LD Schema to a Post](/docs/add-custom-json-ld-schema-to-a-post/)
* [Global Schema Settings and Schema Templates](/docs/global-schema-settings-and-schema-templates/)
---
## SEO Title and Description Templates (Replace Variables)
URL: https://seovaultai.com/docs/seo-title-and-description-templates-replace-variables
Use template variables to automatically generate SEO titles and descriptions for posts and pages.
# SEO Title and Description Templates (Replace Variables)
Templates let you define a consistent structure for SEO titles and descriptions across your site. Instead of manually entering titles for every post, use replace variables like `%title%`, `%sitename%`, and `%sep%` to auto-generate them from your content.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > Homepage/Templates**. The template section includes:
* **Enable Templates**: Toggle to turn template-based generation on or off
* **Title Separator**: Character used between title parts (default: `-`)
* **Title Template**: Pattern for auto-generated SEO titles
* **Description Template**: Pattern for auto-generated meta descriptions
## How templates work
[](#how-templates-work)
When you enable templates, SEOvault AI applies them to posts and pages that don’t have a custom SEO title or description set in the editor. The template system uses replace variables—placeholders that get swapped with actual content when the page loads.
**Example title template:**
```
%title% %sep% %sitename%
```
**Output for a post titled “Best Coffee Tips”:**
```
Best Coffee Tips - Joe's Coffee Shop
```
**Example description template:**
```
%excerpt%
```
**Output:**
```
Learn the best tips for brewing perfect coffee at home with our expert guide.
```
## Enable or disable templates
[](#enable-or-disable-templates)
The **Enable Templates** checkbox controls whether templates apply automatically:
* **Enabled**: Posts without custom SEO data use templates. This is the default behavior.
* **Disabled**: Posts use raw post titles and auto-generated descriptions from content. Templates are ignored.
Disable templates if you prefer complete manual control over every post’s SEO data, or if you use another plugin for title generation.
## Title separator
[](#title-separator)
The **Title Separator** field sets the character used by the `%sep%` variable. Common choices:
* `-` (hyphen, default)
* `|` (pipe)
* `—` (em dash)
* `»` (right angle quote)
The separator appears between title parts in your template. Change it to match your brand’s style.
## Title template
[](#title-template)
The title template defines the structure of auto-generated SEO titles. The default is:
```
%title% %sep% %sitename%
```
This produces: `Post Title - Site Name`
### Common title templates
[](#common-title-templates)
**Brand-first:**
```
%sitename% %sep% %title%
```
Output: `Joe's Coffee Shop - Best Coffee Tips`
**With category:**
```
%title% %sep% %category% %sep% %sitename%
```
Output: `Best Coffee Tips - Guides - Joe's Coffee Shop`
**Simple title only:**
```
%title%
```
Output: `Best Coffee Tips`
**With focus keyword:**
```
%focuskw% %sep% %title% %sep% %sitename%
```
Output: `Coffee Brewing - Best Coffee Tips - Joe's Coffee Shop`
## Description template
[](#description-template)
The description template defines the structure of auto-generated meta descriptions. The default is:
```
%excerpt%
```
This uses the post excerpt, or auto-generates one from content if the excerpt is empty.
### Common description templates
[](#common-description-templates)
**With category context:**
```
%excerpt% Browse our %category% collection for more %tag% content.
```
**With author:**
```
By %name%: %excerpt%
```
**Custom field integration:**
```
%excerpt% Price: %customfield(price)%
```
## Available replace variables
[](#available-replace-variables)
### Basic variables
[](#basic-variables)
Variable
Description
Example
`%sep%`
Title separator character
`-`
`%sitename%`
Site name from WordPress settings
`Joe's Coffee Shop`
`%sitedesc%`
Site tagline from WordPress settings
`Best coffee since 2010`
`%currentdate%`
Current server date
`January 15, 2025`
`%currentday%`
Current day of month
`15`
`%currentmonth%`
Current month name
`January`
`%currentyear%`
Current year
`2025`
`%currenttime%`
Current server time
`3:45 PM`
`%search_query%`
Search query (on search results only)
`coffee beans`
### Post variables
[](#post-variables)
Variable
Description
Example
`%title%`
Post title
`Best Coffee Tips`
`%parent_title%`
Parent page title (for hierarchical pages)
`Coffee Guides`
`%excerpt%`
Post excerpt (auto-generated if empty)
`Learn the best tips...`
`%excerpt_only%`
Post excerpt without auto-generation
`Learn the best tips...`
`%seo_title%`
Custom SEO title if set, otherwise post title
`Best Coffee Tips`
`%seo_description%`
Custom SEO description if set, otherwise excerpt
`Learn the best tips...`
`%url%`
Post permalink
`https://example.com/best-coffee-tips`
`%post_thumbnail%`
Featured image URL
`https://example.com/image.jpg`
`%date%`
Publication date
`January 15, 2025`
`%modified%`
Last modification date
`January 20, 2025`
`%category%`
First category assigned to post
`Guides`
`%categories%`
All categories (comma-separated)
`Guides, Tips`
`%tag%`
First tag assigned to post
`brewing`
`%tags%`
All tags (comma-separated)
`brewing, beans, equipment`
### Term variables
[](#term-variables)
Variable
Description
Example
`%term%`
Current term name (on taxonomy archives)
`Coffee Equipment`
`%term_description%`
Current term description
`All coffee brewing equipment reviews`
`%customterm(taxonomy)`
Custom term from specific taxonomy
`%customterm(product_cat)`
`%customterm_desc(taxonomy)`
Custom term description from specific taxonomy
`%customterm_desc(product_cat)`
### Author variables
[](#author-variables)
Variable
Description
Example
`%userid%`
Author user ID
`5`
`%name%`
Author display name
`Jane Smith`
`%post_author%`
Author display name (same as `%name%`)
`Jane Smith`
`%user_description%`
Author biographical info
`Coffee enthusiast and barista`
### Advanced variables
[](#advanced-variables)
Variable
Description
Example
`%id%`
Post ID
`123`
`%focuskw%`
Focus keyword set in editor
`coffee brewing`
`%keywords%`
All focus keywords (comma-separated)
`coffee, brewing, tips`
`%customfield(field-name)`
Value from a custom field
`%customfield(price)`
`%page%`
Page number with context (page 2 of 4)
`- Page 2 of 4`
`%pagenumber%`
Current page number
`2`
`%pagetotal%`
Total number of pages
`4`
`%pt_single%`
Post type singular name
`Post`
`%pt_plural%`
Post type plural name
`Posts`
`%filename%`
Image filename (for Image SEO)
`coffee-cup`
## Advanced variable syntax
[](#advanced-variable-syntax)
Some variables accept arguments for customization:
**Date with custom format:**
```
%date(F jS, Y)
```
Output: `January 15th, 2025`
**Time with custom format:**
```
%currenttime(g:i A)
```
Output: `3:45 PM`
**Custom field by name:**
```
%customfield(price)
```
Output: `$19.99`
**Custom term by taxonomy:**
```
%customterm(product_cat)
```
Output: `Coffee Equipment`
## Manual mode behavior
[](#manual-mode-behavior)
If you use Manual output mode, templates still work for posts without custom SEO data. However, no auto-generation occurs if you leave both the template field and the custom SEO field empty.
## Importing from other SEO plugins
[](#importing-from-other-seo-plugins)
When you migrate from Yoast, Rank Math, AIOSEO, or another SEO plugin, SEOvault AI imports your title and description templates automatically. The migration converts the old plugin’s variable syntax to SEOvault AI’s `%variable%` format.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Empty templates**: If you leave a template field empty, the default applies (`%title% %sep% %sitename%` for titles, `%excerpt%` for descriptions)
* **Trailing separator**: SEOvault AI automatically strips trailing `%sep%` to avoid titles like `Post Title -`
* **Duplicate separators**: Consecutive separators collapse into one to prevent `Post Title - - Site Name`
* **Variable availability**: Some variables only work in specific contexts (e.g., `%search_query%` only on search results pages)
* **Custom fields**: Use `%customfield(field-name)` to pull values from ACF, custom post meta, or other field plugins
* **Character limits**: The SERP preview in the editor shows how your template output will appear in search results
## Related docs
[](#related-docs)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [Homepage SEO Settings](/docs/homepage-seo-settings/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
---
## SEOvault AI Dashboard Overview
URL: https://seovaultai.com/docs/seovault-ai-dashboard-overview
The main Dashboard page shows connection status, output mode, content overview, site key, and quick links to important settings and tools.
# SEOvault AI Dashboard Overview
The SEOvault AI Dashboard is your central hub for monitoring plugin status and accessing key features. It shows connection status, output mode, content overview, your site key, and quick links to important settings pages.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > Dashboard**.
## Status strip
[](#status-strip)
The status strip at the top shows three key indicators:
### Connection
[](#connection)
Shows whether your site is connected to the SEOvault AI web app:
* **Connected** — Site key is verified and the connection is active
* **Waiting** — Site key exists but hasn’t been verified yet
Click **Manage** to go to the Connection tab in General Settings to configure or verify your connection.
### Output Mode
[](#output-mode)
Shows the current SEO output mode:
* **Autopilot** — Plugin automatically generates and manages SEO output
* **Manual** — You control all SEO output manually
* **Disabled** — Plugin features are off; another tool handles SEO
Click **Configure** to change the output mode in the Output Mode tab.
### llms.txt
[](#llmstxt)
Shows whether AI visibility is enabled:
* **Enabled** — llms.txt is published and serving
* **Disabled** — llms.txt is not active
Click **Configure** to manage llms.txt settings in the llms.txt tab.
## Content overview
[](#content-overview)
The Content Overview section shows site-wide statistics:
* **Posts with SEO Meta** — Number of posts that have SEO titles, descriptions, or other meta data configured
* **Detected SEO Plugin** — Shows if another SEO plugin is active (Yoast, Rank Math, AIOSEO, etc.) or “None” if SEOvault AI is the only SEO plugin
* **Plugin Version** — Current version of SEOvault AI installed on your site
If another SEO plugin is detected, a warning banner appears at the top of the dashboard recommending you either deactivate the other plugin or switch SEOvault AI to Disabled mode to avoid duplicate SEO meta tags.
## Site key
[](#site-key)
The Site Key section displays your unique site key with security controls:
* **Masked display** — Shows only the first and last few characters of the key
* **Copy button** — Click to copy the full key to your clipboard
* **Show full key** — Click to reveal the complete key for manual copying
Use this key when connecting your site to the SEOvault AI web app. Keep it secure — anyone with the key can access your site’s SEO data via the API.
## Quick links
[](#quick-links)
The Quick Links section provides shortcuts to frequently-used pages:
* **General Settings** — Main settings page with all configuration tabs
* **llms.txt** — AI visibility settings
* **Schema** — Schema markup configuration
* **Import / Export** — Data import, export, and maintenance tools
* **Status** — Detailed status page with connection and health information
* **SEO Analyzer** — Site-wide SEO analysis tool
* **Sitemap** — Opens your XML sitemap in a new tab
* **llms.txt** — Opens your llms.txt file in a new tab
## Competitor plugin warning
[](#competitor-plugin-warning)
If another SEO plugin is detected (Yoast, Rank Math, AIOSEO, Slim SEO, The SEO Framework), a warning banner appears:
> “\[Plugin Name\] is also active. You may get duplicate SEO meta tags. Consider deactivating it or switching SEOvault AI to Disabled mode.”
The banner includes two action buttons:
* **Manage Plugins** — Goes to the Plugins page to deactivate the competing plugin
* **SEOvault Output Mode** — Goes to the Output Mode tab to switch SEOvault AI to Disabled mode
This warning helps prevent duplicate SEO meta tags, which can confuse search engines and hurt your SEO performance.
## Related docs
[](#related-docs)
* [Status Page: Connection, Output Mode, and Site Health Signals](/docs/status-page-connection-output-mode-and-site-health-signals/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
* [Site Key Security: Regenerate, Lockouts, and Scoped API Keys](/docs/site-key-security-regenerate-lockouts-and-scoped-api-keys/)
---
## SEOvault AI Pro: Purchase, License, and Download Troubleshooting
URL: https://seovaultai.com/docs/seovault-ai-pro-purchase-license-download-troubleshooting
Resolve common SEOvault AI Pro purchase, license, download, activation, and renewal problems.
# SEOvault AI Pro: Purchase, License, and Download Troubleshooting
SEOvault AI Pro is a paid WordPress add-on. It is a separate product from the SEOvault AI Web App subscription, so buying Web App credits or a Web App plan does not create a Pro plugin license.
## Start in the right place
[](#start-in-the-right-place)
Use the product-specific settings page for Pro plugin purchases and licenses:
1. Sign in to the SEOvault AI Web App.
2. Open **Settings > SEOvault AI Pro**.
3. Review licenses, choose a Pro plan, download the Pro ZIP, or open subscription management.
The free SEOvault AI SEO Plugin must be installed on your WordPress site before the Pro add-on can be used. See [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/).
## I bought the Web App, but I expected the Pro plugin
[](#i-bought-the-web-app-but-i-expected-the-pro-plugin)
The products have separate checkout paths and entitlements:
* **Web App** — browser-based writing, analysis, and publishing tools.
* **SEOvault AI Pro** — paid WordPress add-on features, site activations, and the Pro plugin download.
Check your receipt and the product name before contacting support. If the receipt is for the Web App, it will not appear as a Pro plugin license.
## I completed payment, but no license is visible
[](#i-completed-payment-but-no-license-is-visible)
Paddle confirmation and license fulfillment can take a few seconds.
1. Stay signed in to the account that completed checkout.
2. Return to **Settings > SEOvault AI Pro**.
3. Wait briefly, then reload the page.
4. Confirm that the license appears under **Your licenses**.
If it still does not appear, verify that:
* You completed the Pro plugin checkout, not the Web App checkout.
* You are signed in with the same account used for the purchase.
* Your account email is verified.
* You did not complete payment in a different browser account or with a different login.
Do not buy again while the first purchase is still being confirmed. Contact support if the payment was captured and the license remains missing after refreshing.
## I bought Pro before the new settings page existed
[](#i-bought-pro-before-the-new-settings-page-existed)
Older purchases may need to be recovered from the checkout email. Sign in with the same verified email address used for the original Pro purchase, then reload **Settings > SEOvault AI Pro**.
An unverified email cannot be used for automatic legacy purchase claiming. Verify the account email first. If the purchase was made with a different email, include the purchase email and receipt details in a support request so the team can review it securely.
## The download button is unavailable
[](#the-download-button-is-unavailable)
The **Download Pro ZIP** button is enabled only when the license is eligible for download and a release is available.
Check the license status:
* **Active** or **Trial** — download should be available.
* **Grace period** — download may remain available while renewal is resolved.
* **Expired**, **Revoked**, or **Inactive** — resolve the subscription or contact support before downloading.
If the button remains disabled for an active license, reload the settings page and try again. Do not share your license key publicly.
## I cannot open subscription management
[](#i-cannot-open-subscription-management)
The **Manage subscription** action opens Paddle’s customer management flow for the selected Pro license. Make sure:
1. You are signed in to the account that owns the license.
2. You select the correct license when you have more than one.
3. Pop-ups are allowed for the SEOvault AI Web App.
If Paddle management still does not open, contact support with the license ID or the email used at checkout. Never include a full payment-card number.
## I reached the activation limit
[](#i-reached-the-activation-limit)
Each Pro plan has its own WordPress site activation limit. The license card shows the current number of activations and the plan limit.
If you have reached the limit:
1. Review the sites using the license.
2. Deactivate the plugin on a site you no longer use, if the plugin provides that option.
3. Return to the Pro settings page and try the activation again.
4. Choose a plan with a larger activation limit if you need more sites.
Do not create duplicate purchases to work around an activation problem. Ask support to review the license when a deactivated site still counts toward the limit.
## Renewal, grace period, or expired status
[](#renewal-grace-period-or-expired-status)
Pro plans use annual billing. The first-year price and renewal price are shown before checkout. A failed renewal can move a license into a grace period and later to expired or inactive status.
Open **Manage subscription** to update the payment method or resolve the renewal. After Paddle confirms the change, reload **Settings > SEOvault AI Pro** and allow a few seconds for the license status to update.
## What to include in a support request
[](#what-to-include-in-a-support-request)
Open the support form from **Settings > Support**. Include:
* The email address used at checkout
* The Pro plan name
* The license ID, if visible
* The Paddle transaction or receipt ID
* The approximate purchase date
* The exact error message
* The WordPress site URL and plugin version, when the issue involves activation
* What you already tried
Do not send passwords, full license keys, or payment-card information.
## Related guides
[](#related-guides)
* [Install and Activate the SEOvault AI SEO Plugin](/docs/install-and-activate-the-seovault-ai-seo-plugin/)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
* [Troubleshooting Web App Connection Failures](/docs/troubleshooting-web-app-connection-failures/)
---
## Set Canonical URLs and Robots Directives Per Post
URL: https://seovaultai.com/docs/set-canonical-urls-and-robots-directives-per-post
Control canonical URLs and robots meta tags (noindex, nofollow) for individual posts and pages in the WordPress editor.
# Set Canonical URLs and Robots Directives Per Post
Canonical URLs and robots directives tell search engines which version of a page to index and how to handle links on your pages. SEOvault AI lets you set these per-post in the editor, with automatic fallbacks when you leave fields empty.
## Where to find it
[](#where-to-find-it)
Edit any post or page, then scroll to the **SEOvault AI** meta box in the right sidebar. Click **Advanced** to expand the section.
## Canonical URLs
[](#canonical-urls)
A canonical URL tells search engines the preferred version of a page when duplicate or similar content exists. Use it to consolidate ranking signals and avoid duplicate content issues.
### How it works
[](#how-it-works)
* **Leave empty**: SEOvault AI uses the post’s permalink as the canonical URL (in Automatic mode)
* **Enter a custom URL**: The canonical tag points to your specified URL
* **Manual mode**: No canonical is output unless you explicitly set one
### When to use a custom canonical
[](#when-to-use-a-custom-canonical)
* You have parameterized URLs (e.g., `?utm_source=`, `?ref=`) that should canonicalize to the clean version
* You syndicate content and want to point to the original source
* You have print-friendly or alternate versions of a page
* You migrated content and want to preserve the old URL’s authority
### How to set a canonical URL
[](#how-to-set-a-canonical-url)
1. Edit your post or page
2. In the **SEOvault AI** meta box, click **Advanced**
3. Enter the full URL in the **Canonical URL** field
4. Update or publish the post
The canonical URL appears in your page’s `` as:
```
```
## Robots Directives
[](#robots-directives)
Robots meta tags control search engine crawling and indexing behavior on a per-page basis. SEOvault AI supports `noindex` and `nofollow` directives per post.
### Noindex
[](#noindex)
Prevents search engines from indexing this specific page. The page remains accessible to visitors but won’t appear in search results.
**Use noindex for:**
* Thank-you pages and form submissions
* Internal admin or utility pages
* Draft or work-in-progress content visible to logged-in users
* Pages with thin or duplicate content you don’t want indexed
### Nofollow
[](#nofollow)
Tells search engines not to follow links on this page. This applies to all outbound links from the page.
**Use nofollow for:**
* Pages with user-generated content you don’t endorse (comments, forum posts)
* Paid or sponsored link sections
* Untrusted external link directories
### How robots directives interact with global settings
[](#how-robots-directives-interact-with-global-settings)
SEOvault AI uses a layered decision engine for robots meta. Per-post settings take precedence:
1. **Per-post override**: If you set `noindex` or `nofollow` on a post, those directives apply regardless of global settings
2. **Post-type defaults**: If per-post settings are absent, post-type noindex rules apply (configured in **General > Schema**)
3. **Global rules**: Site visibility, archive rules, and protection rules apply as fallbacks
This means you can force-index a specific page even if its post type is set to noindex globally, or you can noindex a single page without affecting others of the same type.
### How to set robots directives
[](#how-to-set-robots-directives)
1. Edit your post or page
2. In the **SEOvault AI** meta box, click **Advanced**
3. Check **Noindex this page** to prevent indexing
4. Check **Nofollow this page** to prevent link following
5. Update or publish the post
The robots meta tag appears in your page’s `` as:
```
```
If you check only one directive, the other defaults to its normal behavior (e.g., `noindex, follow` or `index, nofollow`).
## Notes and edge cases
[](#notes-and-edge-cases)
* **Canonical URLs in Manual mode**: If you use Manual output mode, no canonical tag is output unless you explicitly set a custom canonical URL per post
* **Password-protected posts**: These automatically get `noindex` regardless of your per-post setting
* **Comment pagination**: Pages beyond the first comment page automatically get `noindex` to prevent duplicate content issues
* **Imported data**: If you import from another SEO plugin, per-post robots settings are preserved. Blank values from the import do not override post-type defaults
* **Verification**: Use the SEO Assessment panel in the meta box to see how your canonical and robots settings affect your overall SEO score
## Related docs
[](#related-docs)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Homepage SEO Settings](/docs/homepage-seo-settings/)
---
## Show the Frontend SEO Score Badge (and Shortcode)
URL: https://seovaultai.com/docs/show-the-frontend-seo-score-badge-and-shortcode
Display a circular SEO score badge on your posts to show content optimization status to visitors.
# Show the Frontend SEO Score Badge (and Shortcode)
The frontend SEO score badge displays a circular indicator showing the SEO score of your posts. It appears on the frontend of your site, letting visitors see how well-optimized your content is. You can position it automatically or place it manually with a shortcode.
## Where to enable it
[](#where-to-enable-it)
Go to **SEOvault AI > General > Frontend Score**. The settings include:
* **Enable Frontend Score**: Toggle to show or hide the badge globally
* **Position**: Choose where the badge appears (top, bottom, both, or custom)
* **Post Types**: Select which post types display the badge
## Position options
[](#position-options)
The badge can appear in four positions:
* **Top**: Inserts the badge before the post content
* **Bottom**: Inserts the badge after the post content
* **Both**: Shows the badge both before and after the content
* **Custom**: Disables automatic insertion—use the shortcode to place it manually
Choose **Custom** if you want precise control over where the badge appears in your theme templates or page builder layouts.
## Post type selection
[](#post-type-selection)
Select which post types display the badge:
* **Posts**: Blog posts
* **Pages**: Static pages
* **Custom post types**: Products, portfolio items, or any public post type
By default, only posts are enabled. Add additional post types as needed.
## Per-post control
[](#per-post-control)
Hide the badge on individual posts without disabling it globally:
1. Edit the post
2. Scroll to the SEOvault AI meta box
3. Check **Hide Frontend SEO Score**
4. Update the post
This is useful for pages where you don’t want the badge visible, such as landing pages or legal pages.
## Shortcode usage
[](#shortcode-usage)
When position is set to **Custom**, or to place the badge in specific locations, use the shortcode:
```
[seovault_seo_score]
```
The shortcode renders the badge with the class `as-shortcode` for styling. Place it in:
* Page builder text blocks
* Theme template files with `do_shortcode( '[seovault_seo_score]' )`
* Widget areas
* Custom content sections
## How the score is calculated
[](#how-the-score-is-calculated)
The badge displays a score from 0 to 100 based on the same SEO assessment used in the post editor. Each check has a weight based on its importance:
Check
Weight
Title
20
Description
15
Keyword
15
Indexing
20
Redirect
10
Following
5
Canonical
5
Branding
5
**Scoring rules:**
* **Good status**: Full weight (100%)
* **Okay status**: Half weight (50%)
* **Bad or Unknown status**: Zero weight (0%)
The final score is the percentage of earned weight relative to total possible weight.
## Rating system
[](#rating-system)
The badge color changes based on the score:
* **Unknown (gray)**: Score is 0 (no data available)
* **Bad (red)**: Score 0-50
* **Good (yellow)**: Score 51-80
* **Great (green)**: Score 81-100
The rating appears as a CSS class on the badge element: `rating-unknown`, `rating-bad`, `rating-good`, or `rating-great`.
## Badge HTML structure
[](#badge-html-structure)
The badge renders as:
```
```
When using the shortcode, the outer `seovault-seo-score-wrap` div is omitted and the badge has the `as-shortcode` class.
## CSS styling
[](#css-styling)
The badge uses the CSS file at `assets/css/frontend-score.css`. Customize the appearance by:
1. Copying the CSS rules to your theme’s stylesheet
2. Targeting the `.seovault-seo-score` class
3. Overriding colors, sizes, or positioning
Common customizations include changing the rating colors, adjusting the badge size, or hiding the “SEO Score” label.
## When the badge doesn’t appear
[](#when-the-badge-doesnt-appear)
The badge is hidden automatically in these cases:
* Frontend score is disabled in settings
* Current post type is not in the allowed list
* Per-post “Hide Frontend SEO Score” is checked
* Viewing the homepage (front page)
* Not on a singular post (archive pages, search results)
* SEOvault AI output mode is Disabled
* The calculated score is 0 (no assessment data)
## Performance considerations
[](#performance-considerations)
The badge uses per-request caching to avoid recalculating the score multiple times on the same page load. The score is calculated once per post ID and stored in memory for the duration of the request.
CSS is enqueued only when the badge will render, preventing unnecessary stylesheet loading on pages where the feature is disabled.
## Notes and edge cases
[](#notes-and-edge-cases)
* **Homepage**: The badge never appears on the static homepage, even if pages are enabled
* **Archives**: The badge only appears on singular posts, not category or tag archives
* **Noindex posts**: Posts set to noindex still show the badge if enabled
* **Custom queries**: The badge respects the WordPress loop and only appears within the main query
* **Theme compatibility**: The badge inserts via the `the_content` filter, so it works with most themes
## Related docs
[](#related-docs)
* [Use the SERP Preview and SEO Assessment in the Post Editor](/docs/use-the-serp-preview-and-seo-assessment-in-the-post-editor/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
---
## Site Health Monitor Basics
URL: https://seovaultai.com/docs/site-health-monitor-basics
Monitor your WordPress site health with automated error logging, health checks, and real-time alerts for critical issues.
# Site Health Monitor Basics
The Site Health Monitor tracks your WordPress site’s health by logging errors, running automated health checks, and alerting you to critical issues. It captures PHP warnings, notices, and deprecations to your debug.log, runs daily system checks, and can push critical issues to the SEOvault backend for real-time alerts.
## How it works
[](#how-it-works)
The Site Health Monitor initializes when the plugin loads and:
* Registers a custom PHP error handler to capture warnings, notices, and deprecations
* Logs captured errors to your WordPress debug.log file
* Runs 7 automated health checks on your site configuration
* Provides REST API endpoints for accessing logs and health status
* Optionally installs an MU-plugin for fatal error capture
* Schedules daily log cleanup to prevent large log files
* Sends critical issues to the SEOvault backend webhook for alerts
## Health checks
[](#health-checks)
The monitor runs 7 automated health checks and returns an overall status:
### Debug Mode
[](#debug-mode)
Checks if `WP_DEBUG` is enabled. Debug mode should be disabled on production sites for security and performance.
* **Good** — Debug mode is disabled
* **Error** — Debug mode is active (not recommended for production)
### Issue Logging
[](#issue-logging)
Checks if `WP_DEBUG_LOG` is enabled. This is required for the monitor to capture errors.
* **Good** — Issue logging is enabled
* **Error** — Issue logging is disabled (enable WP\_DEBUG\_LOG to capture issues)
### Log File
[](#log-file)
Checks if the debug.log file exists and is writable.
* **Good** — Log file exists and is writable
* **Warning** — Log file exists but is not writable
* **Error** — Log file does not exist
### PHP Version
[](#php-version)
Checks your PHP version against recommended minimums.
* **Good** — PHP 8.0 or higher (recommended)
* **Warning** — PHP 7.4 (below recommended but functional)
* **Error** — PHP below 7.4 (below minimum required)
### Memory Limit
[](#memory-limit)
Checks your PHP memory limit.
* **Good** — 256M or higher
* **Warning** — 128M to 256M (recommended 256M or higher)
* **Error** — Below 128M (minimum 128M required)
### Active Plugins
[](#active-plugins)
Checks the number of active plugins.
* **Good** — 30 or fewer active plugins
* **Warning** — 31 to 60 active plugins (consider reducing for performance)
* **Error** — More than 60 active plugins (may impact performance)
### Health Monitor Plugin
[](#health-monitor-plugin)
Checks if the optional MU-plugin for fatal error capture is installed.
* **Good** — Health monitor plugin is installed
* **Error** — Health monitor plugin is not installed
## Overall status
[](#overall-status)
The monitor returns an overall status based on all checks:
* **Good** — All checks pass
* **Warning** — One or more checks have warnings but no errors
* **Error** — One or more checks have errors
## Error logging
[](#error-logging)
The error handler captures PHP errors that would otherwise be ignored:
* **Warnings** — Runtime warnings that don’t halt execution
* **Notices** — Minor issues that don’t prevent code from running
* **Deprecations** — Use of deprecated functions or syntax
These are logged to your debug.log file with timestamps and context, making it easier to diagnose issues before they become critical.
## Log cleanup
[](#log-cleanup)
The monitor schedules a daily cron event to:
* Archive large debug.log files (when they exceed a size threshold)
* Clean up old archives beyond the retention period
* Prevent log files from growing indefinitely and consuming disk space
The cron is automatically unscheduled when the plugin is deactivated.
## MU-plugin for fatal errors
[](#mu-plugin-for-fatal-errors)
The monitor can install an optional must-use (MU) plugin that captures fatal errors even when WordPress is completely broken. This MU-plugin:
* Loads before regular plugins, so it can catch fatal errors during plugin initialization
* Captures fatal errors and writes them to a dedicated log file
* Provides a recovery page when a fatal error breaks the site
Install the MU-plugin via the REST API endpoint `POST /site-health/mu-plugin/install`. Uninstall it with `POST /site-health/mu-plugin/uninstall`.
## REST API endpoints
[](#rest-api-endpoints)
The monitor provides REST API endpoints under `seovaultai/v1/site-health`:
* **GET /summary** — Get overall health status and summary
* **GET /logs** — Get debug.log entries with pagination and filtering
* **GET /checks** — Run all health checks and return results
* **POST /clear** — Clear all log entries
* **GET /mu-plugin** — Get MU-plugin installation status
* **POST /mu-plugin/install** — Install the fatal error capture MU-plugin
* **POST /mu-plugin/uninstall** — Uninstall the MU-plugin
All endpoints require site key authentication.
## Error reporting
[](#error-reporting)
The monitor can push critical issues to the SEOvault backend webhook for real-time alerts. This uses:
* Per-error rate limiting to prevent spam
* Global rate limiting across all errors
* WordPress transients for rate limit tracking
Critical errors that trigger alerts include fatal errors and certain high-severity warnings.
## Requirements
[](#requirements)
For the Site Health Monitor to work:
* `WP_DEBUG_LOG` must be enabled in wp-config.php
* The debug.log file must be writable by the web server
* The plugin must be active and connected to the SEOvault backend (for webhook alerts)
## Related docs
[](#related-docs)
* [Status Page: Connection, Output Mode, and Site Health Signals](/docs/status-page-connection-output-mode-and-site-health-signals/)
* [SEOvault AI Dashboard Overview](/docs/seovault-ai-dashboard-overview/)
---
## Site Key Security: Regenerate, Lockouts, and Scoped API Keys
URL: https://seovaultai.com/docs/site-key-security-regenerate-lockouts-and-scoped-api-keys
Learn how to manage your SEOvault AI site key, use scoped API keys, handle rate limiting lockouts, and review the audit log.
# Site Key Security: Regenerate, Lockouts, and Scoped API Keys
The SEOvault AI plugin uses a site key for REST API authentication. This guide covers how to manage your site key, generate scoped API keys for granular access, handle rate limiting and lockouts, and review the audit log.
## Your site key
[](#your-site-key)
The site key is a 40-character string generated during plugin activation. It authenticates all REST API requests from the SEOvault AI web app and any other client using the `seovaultai/v1` namespace.
### Where to find it
[](#where-to-find-it)
* **Dashboard**: go to **SEOvault AI** and scroll to the Site Key section. The key is masked by default. Click **Show full key** to reveal it.
* **General Settings**: go to **SEOvault AI > General > Connection**. The key is displayed in the connection section.
* **Onboarding wizard**: step 6 (Connect) displays the key with a copy button.
### How it is stored
[](#how-it-is-stored)
The site key is stored in the WordPress options table under `seovaultseo_site_key` with autoload disabled. It is not exposed in the frontend HTML or in any REST API response except the verify endpoint (which requires the key itself for authentication).
### If you had the connector plugin
[](#if-you-had-the-connector-plugin)
If the separate SEOvault AI connector plugin was previously installed, the full SEO plugin preserves the existing site key during activation. You do not need to regenerate or re-enter the key.
## Regenerate the site key
[](#regenerate-the-site-key)
If you suspect your site key has been compromised, regenerate it:
1. Go to **SEOvault AI > General > Connection**.
2. Scroll to the **Security** section.
3. Click **Regenerate Site Key**.
4. A confirmation dialog appears: “This will disconnect any apps using the current key. Continue?”
5. Click OK to confirm.
When you regenerate:
* A new 40-character key is generated and stored
* The old key immediately stops working
* The connection status is reset to “Waiting” (not verified)
* The `connected_at` timestamp is cleared
* You must update the new key in the SEOvault AI web app to reconnect
The regenerate action requires a nonce-verified POST request, so it cannot be triggered via URL or CSRF attacks.
## Scoped API keys
[](#scoped-api-keys)
In addition to the main site key, the plugin supports two scoped API key types. These are separate keys that grant limited access to the REST API:
### Read-only API key
[](#read-only-api-key)
A read-only key can access GET endpoints only (list posts, read SEO data, check status, etc.). It cannot create, update, or delete anything.
**Generate a read-only key**:
1. Go to **SEOvault AI > General > Security**.
2. Click **Generate Read-Only Key**.
3. The key is displayed once. Copy it immediately – it will not be shown again.
4. Use this key in applications that only need to read data.
### Write-scoped API key
[](#write-scoped-api-key)
A write-scoped key can access both read and write endpoints (create posts, update SEO data, publish llms.txt, etc.). It cannot access site verification or import endpoints.
**Generate a write-scoped key**:
1. Go to **SEOvault AI > General > Security**.
2. Click **Generate Write Key**.
3. The key is displayed once. Copy it immediately – it will not be shown again.
4. Use this key in applications that need to create or update content.
### How scoping works
[](#how-scoping-works)
The plugin uses a capability-based system. Each REST API endpoint maps to a specific capability:
* `site:verify` – verify connection
* `posts:read` – list and get posts
* `posts:write` – create and update posts
* `pages:read` – list and get pages
* `pages:write` – update pages
* `media:read` – list media
* `media:write` – upload media
* `seo:read` – read SEO capabilities
* `seo_import:write` – run migration imports
* `ai_visibility:read` – read llms.txt and robots status
* `ai_visibility:write` – publish llms.txt, apply robots changes
* `indexnow:read` – read IndexNow status
* `indexnow:write` – submit URLs to IndexNow
* `crawler_logs:read` – read crawler logs
* `crawler_logs:write` – enable/disable crawler logging
* `internal_links:read` – read internal linking manifest
* `sitemap:read` – proxy sitemap requests
* `site_health:read` – read site health data
* `site_health:write` – clear site health logs
Key types resolve to capabilities as follows:
* **Legacy (main site key)** – all capabilities (read and write)
* **Read-only key** – only `:read` capabilities and `site:verify`
* **Write key** – only `:write` capabilities and `:read` capabilities
Unknown or unmapped routes default to `connector:write`, the most restrictive write capability.
## Rate limiting
[](#rate-limiting)
The plugin includes multi-layer rate limiting to protect against abuse:
### Pre-authentication rate limiting
[](#pre-authentication-rate-limiting)
* **Failed key attempts**: 20 failed authentication attempts per IP within 15 minutes triggers a hard lockout. A warning is logged at 10 failures.
* **Lockout response**: HTTP 429 with `Retry-After` header. Error code: `seovaultai_auth_lockout`.
* **Global per-IP throttle**: 300 requests per minute per IP for all `seovaultai/v1` namespace requests, including authenticated ones.
### Post-authentication rate limiting
[](#post-authentication-rate-limiting)
After successful authentication, requests are classified into buckets with separate limits:
* **read** – GET requests to read endpoints
* **write** – POST requests to write endpoints
* **import** – migration import requests
* **media** – media upload requests
Each bucket tracks requests per key hash with its own limit and window. Limits are intentionally generous so normal web app and admin traffic is unaffected.
### Exemptions
[](#exemptions)
Rate limiting is skipped for:
* HTTP `OPTIONS` preflight requests (CORS)
* Same-origin admin requests to the import endpoint (when an admin user with `manage_options` capability initiates imports from the WordPress admin)
External clients are never exempted, even on import endpoints.
### Adjusting rate limits
[](#adjusting-rate-limits)
Rate limits are filterable via the `seovaultai_api_rate_limits` WordPress filter. You can override the default limits array in your theme’s `functions.php` or a custom plugin:
```
add_filter( 'seovaultai_api_rate_limits', function( $limits ) { $limits['read'] = array( 'limit' => 200, 'window' => 60 ); return $limits;} );
```
## Clear lockouts
[](#clear-lockouts)
If an IP address gets locked out due to failed authentication attempts:
1. Go to **SEOvault AI > General > Security**.
2. Find the **API Lockouts** section.
3. To clear a specific IP: enter the IP address and click **Clear for this IP**.
4. To clear all lockouts: click **Clear all lockouts**.
Clearing lockouts also resets all rate-limit counters for the affected IP(s). The action is logged in the audit log.
## Audit log
[](#audit-log)
The plugin maintains an audit log of API activity and admin security actions. The log is stored in a custom database table created during activation.
### What is logged
[](#what-is-logged)
* API verify requests (successful and failed)
* Write operations (post creates, updates, deletions)
* Admin actions: key regeneration, scoped key generation, lockout clearing
* Rate limit warnings and lockouts
* Import operations
### View the audit log
[](#view-the-audit-log)
1. Go to **SEOvault AI > General > Security**.
2. Scroll to the **Audit Log** section.
3. The log shows the most recent 50 entries with timestamp, action, IP address, and details.
### Audit log retention
[](#audit-log-retention)
The audit log table grows over time. There is no automatic pruning. If the table becomes large, you can truncate it from the **Tools** tab or via WP-CLI.
## Security best practices
[](#security-best-practices)
* **Regenerate the site key** if you suspect it has been exposed
* **Use scoped keys** for applications that do not need full access – give read-only keys to reporting tools and write keys to content tools
* **Review the audit log** periodically for unexpected activity
* **Clear lockouts** only when you are confident the locked-out IP is legitimate
* **Do not share the main site key** in public repositories, chat messages, or unencrypted channels
* **Use HTTPS** – the web app requires a valid SSL certificate for connection
## Related docs
[](#related-docs)
* [Connect the Plugin to the SEOvault AI Web App](/docs/connect-the-plugin-to-the-seovault-ai-web-app/)
* [What Data Stays on Your WordPress Site (Privacy Overview)](/docs/what-data-stays-on-your-wordpress-site-privacy-overview/)
* [Getting Started with the SEOvault AI WordPress Plugin](/docs/getting-started-with-the-seovault-ai-wordpress-plugin/)
---
## Status Page: Connection, Output Mode, and Site Health Signals
URL: https://seovaultai.com/docs/status-page-connection-output-mode-and-site-health-signals
The Status page shows system health information including active SEO provider, detected plugins, output mode, and compatibility warnings.
# Status Page: Connection, Output Mode, and Site Health Signals
The Status page provides a detailed view of your site’s SEO configuration and health. It shows which SEO plugin is active, whether other SEO plugins are detected, the current output mode, and any compatibility issues that need attention.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > Status**.
## System status indicators
[](#system-status-indicators)
### Active Provider
[](#active-provider)
Shows which SEO plugin is currently configured to output SEO meta tags:
* **SEOvault AI** — SEOvault AI is the active provider (green badge)
* **Other** — Another plugin is handling SEO output (gray badge)
This indicator reflects the plugin that WordPress recognizes as the primary SEO provider based on the `should_output_seo` logic.
### Detected Plugin
[](#detected-plugin)
Shows the specific SEO plugin that the detector identified as active:
* **SEOvault AI** — Only SEOvault AI is detected (green badge)
* **Yoast / Rank Math / AIOSEO / etc.** — Another SEO plugin is detected (yellow badge)
This helps you understand which plugin the system sees as the dominant SEO tool.
### Other SEO Plugins Detected
[](#other-seo-plugins-detected)
Indicates whether any competing SEO plugins are installed and active:
* **No** — No competing SEO plugins detected (green badge with checkmark)
* **Yes** — One or more competing SEO plugins detected (red badge with warning)
When “Yes” is shown, an additional row appears listing all detected SEO plugins by name.
### Installed SEO Plugins
[](#installed-seo-plugins)
When other SEO plugins are detected, this section lists them by name:
* **Yoast SEO**
* **Rank Math**
* **All in One SEO**
* **Slim SEO**
* **The SEO Framework**
* **Other compatible plugins**
Each plugin name appears as a yellow warning badge to indicate potential conflict.
### Should Output SEO
[](#should-output-seo)
Indicates whether SEOvault AI is configured to output SEO meta tags based on the current settings:
* **Yes** — SEOvault AI will output SEO meta tags (green badge)
* **No** — SEOvault AI will not output SEO meta tags (red badge)
This reflects the combined result of output mode, competitor detection, and compatibility settings. If “No”, SEOvault AI is effectively disabled for SEO output.
### Output Mode
[](#output-mode)
Shows the current SEO output mode:
* **Autopilot** — Plugin automatically generates and manages SEO output (green badge)
* **Manual** — You control all SEO output manually (blue badge)
* **Disabled** — Plugin features are off; another tool handles SEO (red badge)
Change the output mode in the Output Mode tab of General Settings.
### Old Connector Active
[](#old-connector-active)
Indicates whether the legacy SEOvault AI connector plugin is still active:
* **No** — Old connector is not active (green badge)
* **Yes** — Old connector is still active (yellow badge)
The old connector is a separate, lightweight plugin used for web app communication. If you’ve upgraded to the full SEO plugin, you should deactivate the old connector to avoid conflicts.
## Troubleshooting status issues
[](#troubleshooting-status-issues)
### Competing SEO plugins detected
[](#competing-seo-plugins-detected)
If the Status page shows other SEO plugins are detected:
1. Review the list of installed SEO plugins
2. Decide which plugin you want to use as your primary SEO tool
3. Deactivate the competing plugins in **Plugins > Installed Plugins**
4. Or switch SEOvault AI to Disabled mode if you prefer to keep the other plugin
### Should Output SEO shows “No”
[](#should-output-seo-shows-no)
If SEOvault AI is not outputting SEO meta tags:
1. Check the Output Mode setting — if set to Disabled, change to Autopilot or Manual
2. Check if a competing SEO plugin is detected and taking precedence
3. Verify the plugin is activated in the Plugins page
4. Review the System Status section for any other issues
### Old connector still active
[](#old-connector-still-active)
If the old connector is detected:
1. Go to **Plugins > Installed Plugins**
2. Find “SEOvault AI Connector” or similar
3. Deactivate it
4. The full SEO plugin handles web app connection and SEO output
## Related docs
[](#related-docs)
* [SEOvault AI Dashboard Overview](/docs/seovault-ai-dashboard-overview/)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?](/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo/)
* [Rank Math / Yoast / AIOSEO Compatibility](/docs/rank-math-yoast-aioseo-compatibility/)
---
## Team Workspace Guide
URL: https://seovaultai.com/docs/team-workspace-guide
Learn how Team Workspace helps SEOVault AI users collaborate with editors, writers, and site operators in the Web App.
# Team Workspace Guide
SEOVault AI is not only built for solo publishers.
The Web App also supports a Team Workspace workflow for users who need to collaborate on content, manage roles, and operate more like a publishing team instead of a single-user tool.
This guide explains what Team Workspace is, who it is for, and how to use it well.
## What Team Workspace Is
[](#what-team-workspace-is)
Team Workspace is the collaboration layer inside the SEOVault AI Web App.
It allows you to bring other people into your publishing workflow so content does not have to live only inside one account or one browser session.
Depending on your current setup, Team Workspace can support actions such as:
* inviting team members
* assigning workspace roles
* collaborating on content
* sharing access to connected workflows
* organizing publishing work more cleanly
This is especially useful when SEOVault AI is used by:
* agencies
* editorial teams
* site operators with assistants or editors
* businesses managing multiple contributors
* publishers who want a more structured workflow than solo drafting
## Where Team Workspace Lives
[](#where-team-workspace-lives)
Team Workspace is part of the Web App workflow.
It is typically managed from the Settings area, where workspace management options may include:
* sending invitations
* reviewing members
* assigning or adjusting roles
* managing access behavior
Because Team Workspace belongs to the Web App, it is most relevant to users who want a centralized publishing environment rather than a purely local browser workflow.
## What Team Workspace Helps Solve
[](#what-team-workspace-helps-solve)
Without a shared workspace, content operations can become messy very quickly.
Common problems include:
* one person controlling everything
* no clean way to involve editors or assistants
* inconsistent publishing workflow
* difficulty coordinating across multiple sites
* unclear access boundaries
* content drafts trapped in one person’s account
* repeated copy-paste handoffs
Team Workspace helps reduce that friction by making SEOVault AI easier to use as a shared system.
## Who Should Use Team Workspace
[](#who-should-use-team-workspace)
Team Workspace is most useful if you are working with other people regularly.
### Good fit for:
[](#good-fit-for)
* agencies managing client content
* content teams with writers and editors
* publishers with virtual assistants
* operators managing multiple WordPress sites with support staff
* businesses that want structured collaboration
* anyone who needs more than a one-person workflow
### Less important for:
[](#less-important-for)
* solo bloggers
* individual users with no collaboration needs
* users who only use the extension for quick in-editor drafting
If you are the only person touching the workflow, Team Workspace may not matter much at first. If more people are involved, it becomes much more valuable.
## Typical Roles in a Team Workspace
[](#typical-roles-in-a-team-workspace)
Depending on your product setup, team members may be invited with role-based permissions such as:
* Owner
* Admin
* Editor
* Viewer
The exact names or permission details may vary, but the idea is the same:
not everyone should have the same level of access.
## What Different Roles Usually Mean
[](#what-different-roles-usually-mean)
### Owner
[](#owner)
The primary account or highest-level workspace controller.
Usually responsible for:
* overall workspace control
* billing ownership
* connected site oversight
* role management
* major account decisions
### Admin
[](#admin)
A trusted team member with elevated workspace control.
Often useful for:
* operational management
* supervising team workflows
* handling setup and configuration tasks
* supporting content operations beyond basic editing
### Editor
[](#editor)
A collaborator focused on content work.
Editors are often the best fit for:
* drafting
* reviewing
* improving content
* participating in the publishing workflow without needing full system-level control
### Viewer
[](#viewer)
A limited-access role for people who need visibility but not active editing power.
Useful for:
* clients
* reviewers
* stakeholders
* team members who should observe rather than manage
Your actual implementation may differ, but role separation is important for keeping the workspace organized and secure.
## How to Invite a Team Member
[](#how-to-invite-a-team-member)
In general, inviting a new member follows this pattern:
1. open the Web App
2. go to Settings
3. find the Team or Workspace area
4. choose the option to invite a member
5. enter the person’s email address
6. assign the appropriate role
7. send the invitation
Once accepted, that user becomes part of the workspace according to the permissions you assigned.
If the invitation is not accepted yet, the member may remain in a pending state until they complete the process.
## How to Choose the Right Role
[](#how-to-choose-the-right-role)
The simplest rule is:
* give the lowest role that still allows the person to do their job
* only give higher permissions when truly necessary
### Good examples:
[](#good-examples)
* a writer usually does not need owner-level control
* an editor usually does not need billing access
* a client usually does not need editing power
* an operations lead may need admin-level access
This reduces mistakes and keeps the workspace cleaner.
## What Team Workspace Makes Easier
[](#what-team-workspace-makes-easier)
### 1\. Shared publishing workflow
[](#1-shared-publishing-workflow)
Content does not have to pass around awkwardly through messages or copied files.
### 2\. Cleaner collaboration
[](#2-cleaner-collaboration)
Writers, editors, and managers can work in a more organized environment.
### 3\. Better scaling across sites
[](#3-better-scaling-across-sites)
If your workflow includes multiple connected WordPress sites, collaboration becomes much easier from a central workspace.
### 4\. More stable operations
[](#4-more-stable-operations)
You are less dependent on one person’s browser, account, or manual process.
### 5\. Better division of responsibility
[](#5-better-division-of-responsibility)
Role-based access lets different people focus on the part of the process they actually own.
## Team Workspace and Multi-Site Publishing
[](#team-workspace-and-multi-site-publishing)
Team Workspace becomes even more valuable when combined with multi-site support.
That is because content operations become more complex when you are managing:
* more than one website
* more than one writer
* more than one editor
* multiple publication targets
* broader internal linking opportunities
* larger archives
In those situations, a centralized team-capable workspace is much more scalable than using only a single-user extension workflow.
## Team Workspace vs the Chrome Extension
[](#team-workspace-vs-the-chrome-extension)
This is an important distinction.
### Chrome Extension
[](#chrome-extension)
The extension is best for:
* fast in-editor work
* solo publishing
* direct WordPress assistance
* browser-based productivity workflows
### Team Workspace in the Web App
[](#team-workspace-in-the-web-app)
The Web App is better for:
* shared workflows
* collaborative operations
* role-based access
* centralized post management
* multi-site organization
If you work alone most of the time, the extension may cover a lot of your daily needs. If you work with a team, the Web App’s Team Workspace becomes much more important.
## Best Practices for Using Team Workspace
[](#best-practices-for-using-team-workspace)
### 1\. Keep roles simple
[](#1-keep-roles-simple)
Do not overcomplicate access if your team is small.
### 2\. Assign access intentionally
[](#2-assign-access-intentionally)
Not everyone needs high-level control.
### 3\. Name roles and responsibilities clearly
[](#3-name-roles-and-responsibilities-clearly)
Even if the software has role labels, your team should still know who is responsible for what.
### 4\. Start small
[](#4-start-small)
If you are moving from a solo workflow, begin by inviting one or two collaborators first.
### 5\. Review access occasionally
[](#5-review-access-occasionally)
If someone changes responsibility or leaves the workflow, update their access.
### 6\. Use the workspace as the system of record
[](#6-use-the-workspace-as-the-system-of-record)
Do not treat the shared workspace as secondary if your team is actively collaborating there.
## Common Use Cases
[](#common-use-cases)
### Agency workflow
[](#agency-workflow)
An agency owner invites editors and writers into the workspace so content can be drafted, reviewed, and managed more centrally.
### Publisher plus assistant workflow
[](#publisher-plus-assistant-workflow)
A site owner brings in a virtual assistant or editor to help with article refinement, workflow support, or publishing preparation.
### Content team workflow
[](#content-team-workflow)
Multiple team members contribute to drafts, revisions, and operational publishing tasks from one shared environment.
### Multi-site portfolio workflow
[](#multi-site-portfolio-workflow)
A portfolio operator uses Team Workspace to coordinate publishing across more than one site with support from collaborators.
## Mistakes to Avoid
[](#mistakes-to-avoid)
### Giving everyone high-level access
[](#giving-everyone-high-level-access)
This creates unnecessary risk and confusion.
### Inviting people before the workflow is clear
[](#inviting-people-before-the-workflow-is-clear)
It helps to know who is doing what before you assign roles.
### Treating the workspace like a casual side tool
[](#treating-the-workspace-like-a-casual-side-tool)
If the team depends on it, it should be managed intentionally.
### Forgetting to remove old access
[](#forgetting-to-remove-old-access)
If someone is no longer involved, review their permissions.
### Using Team Workspace without process clarity
[](#using-team-workspace-without-process-clarity)
The tool works best when your team has some shared understanding of:
* who drafts
* who reviews
* who publishes
* who manages sites
* who handles linking or optimization
## A Practical Team Setup Example
[](#a-practical-team-setup-example)
A simple team setup might look like this:
* Owner -> business owner or lead operator
* Admin -> operations lead or senior editor
* Editors -> writers or content editors
* Viewer -> client or stakeholder who only needs visibility
This kind of setup keeps control organized without making the workflow too rigid.
## Security and Access Awareness
[](#security-and-access-awareness)
Whenever a shared workspace exists, access control matters.
Good practice includes:
* inviting only trusted users
* assigning the right role at the start
* updating permissions when responsibilities change
* avoiding unnecessary admin-level access
* checking who currently has access from time to time
This becomes even more important if the workspace is tied to production publishing workflows or multiple sites.
## When Team Workspace Becomes Worth It
[](#when-team-workspace-becomes-worth-it)
Team Workspace usually becomes clearly worth using when:
* more than one person is actively involved
* content operations start feeling messy
* you want cleaner review and editing coordination
* you manage multiple sites
* you want less dependency on one individual workflow
* you are moving from writing content to running a publishing operation
That shift is where the Web App becomes especially valuable.
## Final Recommendation
[](#final-recommendation)
Use Team Workspace when SEOVault AI is becoming part of a shared publishing system, not just a solo writing tool.
Invite collaborators intentionally. Use role-based access carefully. Keep the workflow clear. Combine it with the Web App when you need centralized operations across people and sites.
For teams, this is one of the strongest reasons to use the Web App rather than relying only on the extension.
## Next Recommended Guides
[](#next-recommended-guides)
After this page, read:
1. [Multi-Site Management Guide](/docs/multi-site-management-guide/)
2. [Connect Your First WordPress Site](/docs/connect-your-first-wordpress-site/)
3. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
4. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
5. [How Credits Work](/docs/how-credits-work/)
## Need Help?
[](#need-help)
If Team Workspace feels confusing at first, review:
* who actually needs access
* what each person should be allowed to do
* whether your team is better served by the Web App than the extension alone
* whether you have a clear content workflow already
* whether access roles are too broad or too narrow
A good team setup should make publishing smoother, not more complicated.
---
## Tools: Import, Export, and Maintenance Actions
URL: https://seovaultai.com/docs/tools-import-export-and-maintenance-actions
Import SEO data from other plugins, manage uninstall cleanup options, and perform maintenance actions from the Tools tab.
# Tools: Import, Export, and Maintenance Actions
The Tools tab provides import functionality for migrating SEO data from other SEO plugins and uninstall cleanup options. Use it to transition from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework to SEOvault AI, and to control what happens when you delete the plugin.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > Tools**.
## Import SEO data from other plugins
[](#import-seo-data-from-other-plugins)
The import tool migrates SEO meta data from supported SEO plugins into SEOvault AI. This lets you switch from another SEO plugin without losing your existing SEO work.
### Supported plugins
[](#supported-plugins)
* Yoast SEO
* Rank Math
* All in One SEO (AIOSEO)
* Slim SEO
* The SEO Framework
### How migration works
[](#how-migration-works)
The import tool:
* Detects which supported SEO plugins are active or have data
* Shows the number of posts and terms with SEO data available for import
* Migrates SEO titles, meta descriptions, and other meta data
* Does not delete the source plugin’s data — your original data stays intact
* Shows progress during migration with a progress bar and log
### Start a migration
[](#start-a-migration)
1. Go to **SEOvault AI > General > Tools**
2. Look for the “Import SEO Data from Other Plugins” section
3. If a supported plugin is detected, it appears with:
* Plugin name
* Total items available for import
* Post count and term count breakdown
4. Click **Start Migration** to begin importing all SEO data
5. Watch the progress bar and log for status updates
### Import global settings
[](#import-global-settings)
Some plugins have global settings (like default title templates, separator characters, etc.). To import these:
1. In the Tools tab, find the plugin you want to import from
2. Click **Import Global Settings** (next to the Start Migration button)
3. Global settings are imported separately from post/term data
### What gets imported
[](#what-gets-imported)
The migration imports:
* SEO titles
* Meta descriptions
* Focus keywords (if supported by the source plugin)
* Canonical URLs
* Noindex/nofollow directives
* Open Graph and Twitter card data
* Schema markup (where compatible)
* Term meta (category and tag SEO data)
### After migration
[](#after-migration)
Once migration completes:
* Your SEO data is now in SEOvault AI
* The source plugin still has its original data
* You can deactivate the source plugin if SEOvault AI is working correctly
* Test a few posts to verify the data migrated correctly before deactivating
### No plugins detected
[](#no-plugins-detected)
If no supported SEO plugins are detected, you’ll see:
> “No supported SEO plugins detected for migration.”
This means either:
* No supported SEO plugins are installed
* The installed plugins have no SEO data to import
* The plugins are not recognized by the migration detector
## Data & Uninstall options
[](#data--uninstall-options)
The Data & Uninstall section controls what happens when you delete the SEOvault AI plugin.
### Default behavior (data preserved)
[](#default-behavior-data-preserved)
By default, when you delete the plugin:
* API credentials and connection secrets are removed for security
* SEO titles, descriptions, and meta data are kept
* Redirects are preserved
* 404 logs remain
* Local SEO locations stay in place
* Schema templates are retained
* Plugin settings are saved
This lets you reinstall the plugin later without losing your SEO work.
### Erase all data on uninstall
[](#erase-all-data-on-uninstall)
To permanently delete all SEOvault AI data when the plugin is deleted:
1. Go to **SEOvault AI > General > Tools**
2. In the “Data & Uninstall” section, check **Erase all data on uninstall**
3. Click **Save Changes**
When this option is enabled and you delete the plugin, the following is removed:
* SEO metadata (titles, descriptions, focus keywords)
* Redirect rules
* 404 log entries
* Local SEO business locations
* Schema templates
* Sitemap cache files
* All plugin settings and options
**Warning:** This action cannot be undone. Only enable this if you want to completely remove SEOvault AI and all its data.
## Related docs
[](#related-docs)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
* [Uninstall Cleanup: What Gets Removed When You Delete the Plugin](/docs/uninstall-cleanup-what-gets-removed-when-you-delete-the-plugin/)
* [Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?](/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo/)
---
## Troubleshooting Duplicate Meta and Schema Conflicts
URL: https://seovaultai.com/docs/troubleshooting-duplicate-meta-and-schema-conflicts
Diagnose and resolve conflicts with other SEO plugins, duplicate meta tags, and schema markup issues.
# Troubleshooting Duplicate Meta and Schema Conflicts
Running multiple SEO plugins simultaneously can cause duplicate meta tags, conflicting schema markup, and unpredictable behavior. This guide helps you identify and resolve these conflicts.
## Detecting conflicts
[](#detecting-conflicts)
### SEO plugin conflict detection
[](#seo-plugin-conflict-detection)
SEOVault AI automatically detects other active SEO plugins and displays them in the dashboard. The plugin checks for:
* Yoast SEO
* Rank Math
* All in One SEO (AIOSEO)
* Slim SEO
* The SEO Framework
**To check for conflicts:**
1. Go to **SEOvault AI > Status**
2. Look under the “SEO Plugin Conflicts” section
3. The dashboard lists any detected competing plugins
### Visual inspection
[](#visual-inspection)
Check your page source for duplicate meta tags:
1. Right-click on a page and select **View Page Source**
2. Search for ` ` section:
1. Press F12 to open developer tools
2. Go to the **Elements** tab
3. Expand the `` section
4. Look for duplicate meta tags or schema blocks
## Common conflict scenarios
[](#common-conflict-scenarios)
### Duplicate meta descriptions
[](#duplicate-meta-descriptions)
**Symptoms:**
* Multiple ` ` tags in page source
* Search engines may display the wrong description
* Inconsistent social sharing previews
**Cause:** Multiple SEO plugins outputting meta descriptions simultaneously.
**Solution:**
1. Deactivate the other SEO plugin, OR
2. Set SEOvault AI to **Manual** mode to disable auto-generation, OR
3. Set SEOvault AI to **Disabled** mode if you prefer the other plugin
### Duplicate canonical URLs
[](#duplicate-canonical-urls)
**Symptoms:**
* Multiple ` ` tags
* Search engines confused about which URL to index
* Potential duplicate content issues
**Cause:** Both SEOvault AI and another plugin outputting canonical tags.
**Solution:**
1. Choose one plugin to handle canonical URLs
2. If using SEOvault AI, ensure the other plugin’s canonical feature is disabled
3. Check both plugins’ settings for canonical URL options
### Duplicate Open Graph tags
[](#duplicate-open-graph-tags)
**Symptoms:**
* Multiple `og:title`, `og:description`, `og:image` tags
* Social media previews showing incorrect data
* Facebook debugger showing warnings
**Cause:** Both plugins outputting Open Graph metadata.
**Solution:**
1. Disable Open Graph in one of the plugins
2. In SEOvault AI, go to **General > Open Graph** and disable if using another plugin
3. Clear any caches after making changes
### Duplicate schema markup
[](#duplicate-schema-markup)
**Symptoms:**
* Multiple `application/ld+json` blocks
* Google Rich Results Test showing warnings
* Structured data validation errors
**Cause:** Both plugins outputting schema markup (e.g., Article, BreadcrumbList, Organization).
**Solution:**
1. Disable schema in one plugin
2. In SEOvault AI, go to **General > Schema** and disable if using another plugin
3. For WooCommerce, SEOvault AI automatically filters duplicate breadcrumb schema
### Duplicate Twitter Card tags
[](#duplicate-twitter-card-tags)
**Symptoms:**
* Multiple `twitter:card`, `twitter:title` tags
* Twitter Card validator showing errors
**Cause:** Both plugins outputting Twitter Card metadata.
**Solution:**
1. Disable Twitter Cards in one plugin
2. In SEOvault AI, go to **General > Twitter Cards** and disable if using another plugin
## Resolving conflicts
[](#resolving-conflicts)
### Option 1: Deactivate the other plugin
[](#option-1-deactivate-the-other-plugin)
If you’re switching to SEOvault AI:
1. Go to **Plugins > Installed Plugins**
2. Deactivate the other SEO plugin
3. Test that SEOvault AI is outputting correctly
4. Optionally delete the other plugin after confirming everything works
### Option 2: Use SEOvault AI in Manual mode
[](#option-2-use-seovault-ai-in-manual-mode)
If you need both plugins active:
1. Go to **SEOvault AI > General > Output Mode**
2. Select **Manual**
3. SEOvault AI will not auto-generate meta tags
4. You can still use specific features like schema or redirects
### Option 3: Disable SEOvault AI output
[](#option-3-disable-seovault-ai-output)
If you prefer the other plugin:
1. Go to **SEOvault AI > General > Output Mode**
2. Select **Disabled**
3. SEOvault AI will not output any SEO tags
4. You can still use the web app integration features
### Option 4: Disable conflicting features
[](#option-4-disable-conflicting-features)
Keep both plugins but disable overlapping features:
**In SEOvault AI:**
* Disable Open Graph if the other plugin handles it
* Disable Schema if the other plugin handles it
* Disable Twitter Cards if the other plugin handles it
**In the other plugin:**
* Disable features that SEOvault AI should handle
* Keep only non-overlapping features
## WooCommerce-specific conflicts
[](#woocommerce-specific-conflicts)
### Duplicate breadcrumb schema
[](#duplicate-breadcrumb-schema)
SEOVault AI automatically filters WooCommerce’s native breadcrumb schema to prevent duplicates. This happens automatically when both plugins are active.
### Product schema conflicts
[](#product-schema-conflicts)
SEOVault AI merges its product schema with WooCommerce’s native structured data, adding:
* Variation images
* Product attributes
* Return policy to organization schema
This integration is automatic and designed to avoid conflicts.
## Testing after resolution
[](#testing-after-resolution)
After resolving conflicts:
1. **Clear all caches**
* Browser cache
* WordPress caching plugin cache
* CDN cache
* Server cache
2. **Check page source**
* Verify only one set of meta tags
* Confirm canonical URL is correct
* Check schema markup is not duplicated
3. **Test with validation tools**
* Google Rich Results Test
* Facebook Sharing Debugger
* Twitter Card Validator
* Schema.org validator
4. **Monitor search console**
* Check for duplicate content warnings
* Monitor indexing status
* Review structured data errors
## Best practices
[](#best-practices)
### Choose one primary SEO plugin
[](#choose-one-primary-seo-plugin)
Running multiple SEO plugins simultaneously is not recommended. Choose one as your primary SEO solution and disable overlapping features in others.
### Use import/export for migration
[](#use-importexport-for-migration)
When switching from another SEO plugin:
1. Use SEOvault AI’s import tool to migrate your data
2. Verify imported data is correct
3. Deactivate the old plugin
4. Test thoroughly before deleting
### Keep plugins updated
[](#keep-plugins-updated)
Outdated plugins may have compatibility issues. Keep both SEOvault AI and any other plugins updated to the latest versions.
### Monitor regularly
[](#monitor-regularly)
Check your pages periodically for:
* Duplicate meta tags
* Conflicting schema
* Unexpected behavior
## When to seek help
[](#when-to-seek-help)
Contact support if:
* Conflicts persist after following this guide
* You need help with migration from another plugin
* You’re unsure which features to disable
* You see unexpected behavior after changes
Include in your support request:
* List of active SEO plugins
* Output mode setting
* Which features are enabled in each plugin
* Page URL where the issue occurs
* Screenshots of duplicate tags
## Related docs
[](#related-docs)
* [Automatic, Manual, and Disabled Modes Explained](/docs/automatic-manual-and-disabled-modes-explained/)
* [Tools: Import, Export, and Maintenance Actions](/docs/tools-import-export-and-maintenance-actions/)
* [Schema Validation and Testing](/docs/schema-validation-and-testing/)
---
## Troubleshooting Web App Connection Failures
URL: https://seovaultai.com/docs/troubleshooting-web-app-connection-failures
Diagnose and resolve connection issues between the SEOvault AI WordPress plugin and the web app.
# Troubleshooting Web App Connection Failures
Connection issues between the SEOvault AI WordPress plugin and the web app can prevent data synchronization and AI features from working. This guide helps you identify and resolve common connection problems.
## Understanding the connection
[](#understanding-the-connection)
The plugin connects to the web app using:
* **Site key** — Authentication credential stored in plugin settings
* **Webhook URL** — Endpoint for site health monitoring
* **REST API** — Endpoint for data synchronization
* **CORS allowlist** — Permitted origins for cross-origin requests
## Checking connection status
[](#checking-connection-status)
### Status page
[](#status-page)
1. Go to **SEOvault AI > Status**
2. Check the **Connection Status** section
3. Look for:
* Connection status (Connected / Not Connected)
* Last connection timestamp
* Site key status
### Connection verification
[](#connection-verification)
The plugin tracks connection verification status:
* **Verified** — Site key successfully authenticated with web app
* **Not verified** — Connection not yet established or failed
## Common connection issues
[](#common-connection-issues)
### Invalid or missing site key
[](#invalid-or-missing-site-key)
**Symptoms:**
* Status shows “Not Connected”
* API requests return 401 or 403 errors
* Web app cannot access your site data
**Causes:**
* Site key not configured
* Site key regenerated but not updated in web app
* Site key corrupted during migration
**Solutions:**
1. **Check site key is configured:**
* Go to **SEOvault AI > Connection**
* Verify the site key field is not empty
2. **Regenerate site key:**
* Go to **SEOvault AI > Connection**
* Click **Regenerate Site Key**
* Copy the new key
* Update it in the SEOvault AI web app
3. **Verify key in web app:**
* Log in to the SEOvault AI web app
* Navigate to site settings
* Ensure the site key matches the plugin
### CORS origin not allowlisted
[](#cors-origin-not-allowlisted)
**Symptoms:**
* Browser console shows CORS errors
* Web app cannot make requests to your site
* Connection fails with network errors
**Causes:**
* Web app domain not in CORS allowlist
* Site URL changed (HTTP to HTTPS, domain change)
* Allowlist cleared or corrupted
**Solutions:**
1. **Check site URL:**
* Go to **Settings > General**
* Verify WordPress Address (URL) and Site Address (URL)
* Ensure they match the URL registered in the web app
2. **Contact support** to add your domain to the CORS allowlist if needed
3. **Clear browser cache** after CORS changes
### Rate limiting or lockout
[](#rate-limiting-or-lockout)
**Symptoms:**
* API requests return 429 (Too Many Requests)
* Connection works intermittently
* Audit log shows rate limit events
**Causes:**
* Exceeded API rate limits
* Multiple failed authentication attempts
* IP locked out due to auth failures
**Solutions:**
1. **Check rate limit status:**
* Go to **SEOvault AI > Status**
* Review the API Activity Logs section
* Look for rate limit or lockout events
2. **Clear API lockouts:**
* Go to **SEOvault AI > Security**
* Click **Clear API Lockouts**
* Choose to clear for a specific IP or all IPs
3. **Wait for rate limit reset:**
* Rate limits reset automatically after their window expires
* Auth lockouts expire after 15 minutes
### Webhook configuration issues
[](#webhook-configuration-issues)
**Symptoms:**
* Site health monitoring not working
* No alerts in web app
* Error logs show webhook failures
**Causes:**
* Webhook URL not configured
* Webhook URL points to wrong endpoint
* HTTPS requirement not met
**Solutions:**
1. **Verify webhook URL:**
* The webhook URL is configured automatically during connection
* Check that it points to the correct SEOvault backend
* Must use HTTPS (except localhost for development)
2. **Check error logs:**
* Enable WordPress debug logging
* Check `debug.log` for webhook errors
* Look for “Site Health Monitor: Webhook push failed”
### SSL/TLS issues
[](#ssltls-issues)
**Symptoms:**
* HTTPS requests fail
* Certificate errors
* Mixed content warnings
**Causes:**
* Invalid SSL certificate
* Expired certificate
* Self-signed certificate (production)
**Solutions:**
1. **Check SSL certificate:**
* Use an SSL checker tool
* Verify certificate is valid and not expired
* Ensure certificate chain is complete
2. **Force HTTPS:**
* Go to **Settings > General**
* Set WordPress Address and Site Address to HTTPS
* Update any hardcoded HTTP URLs
3. **Install SSL certificate:**
* Use Let’s Encrypt (free)
* Contact your hosting provider
* Ensure SSL is properly configured
### Firewall or security plugin blocking
[](#firewall-or-security-plugin-blocking)
**Symptoms:**
* Requests blocked with 403 or 404 errors
* Connection works from some locations but not others
* Security plugin logs show blocked requests
**Causes:**
* Firewall blocking API requests
* Security plugin blocking REST API
* WAF (Web Application Firewall) rules
**Solutions:**
1. **Check firewall rules:**
* Review server firewall configuration
* Ensure REST API endpoints are not blocked
* Allow traffic from SEOvault backend IPs
2. **Configure security plugin:**
* Add SEOvault REST API namespace to allowlist
* Exclude `/wp-json/seovaultai/v1/` from blocking
* Check security plugin logs for blocked requests
3. **Test with security plugin disabled:**
* Temporarily disable security plugin
* Test connection
* If it works, adjust security plugin settings
## Testing the connection
[](#testing-the-connection)
### Manual API test
[](#manual-api-test)
Test the API endpoint directly:
Terminal window
```
curl -X GET https://yoursite.com/wp-json/seovaultai/v1/verify \ -H "X-Site-Key: your-site-key-here"
```
Expected response:
```
{ "status": "connected", "site_key_valid": true}
```
### Browser console test
[](#browser-console-test)
1. Open browser developer tools (F12)
2. Go to the Console tab
3. Run:
```
fetch('https://yoursite.com/wp-json/seovaultai/v1/verify', { headers: { 'X-Site-Key': 'your-site-key-here' }}).then(r => r.json()).then(console.log).catch(console.error)
```
### WordPress REST API test
[](#wordpress-rest-api-test)
1. Go to **SEOvault AI > Status**
2. Look for REST API availability check
3. If failed, check that WordPress REST API is enabled
## Diagnostic information
[](#diagnostic-information)
### Gather diagnostic data
[](#gather-diagnostic-data)
When contacting support, provide:
1. **Connection status:**
* Status page screenshot
* Connection timestamp
* Site key status (configured/empty)
2. **Error logs:**
* WordPress `debug.log` entries
* Browser console errors
* Network request failures
3. **Site information:**
* WordPress version
* Plugin version
* PHP version
* Site URL (HTTP/HTTPS)
4. **Security configuration:**
* Active security plugins
* Firewall rules
* WAF configuration
### Enable debug logging
[](#enable-debug-logging)
Add to `wp-config.php`:
```
define( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );define( 'WP_DEBUG_DISPLAY', false );
```
Check `wp-content/debug.log` for errors.
## Prevention
[](#prevention)
### Keep credentials secure
[](#keep-credentials-secure)
* Never share your site key publicly
* Regenerate site key if compromised
* Use read/write keys instead of legacy key when possible
### Monitor connection status
[](#monitor-connection-status)
* Regularly check the Status page
* Review audit logs for suspicious activity
* Set up alerts for connection failures
### Update regularly
[](#update-regularly)
* Keep plugin updated to latest version
* Update WordPress core
* Update PHP to supported version
## When to contact support
[](#when-to-contact-support)
Contact support if:
* Connection fails after following all troubleshooting steps
* You see unexpected error messages
* Connection works intermittently without clear cause
* You need help with CORS allowlist configuration
* You suspect a security issue
Include in your support request:
* Site URL
* Plugin version
* WordPress version
* PHP version
* Status page screenshot
* Relevant error logs
* Steps you’ve already tried
## Related docs
[](#related-docs)
* [Connector REST API Overview for Developers](/docs/connector-rest-api-overview-for-developers/)
* [CORS, Rate Limits, and API Activity Logs](/docs/cors-rate-limits-and-api-activity-logs/)
* [Status Page: Connection, Output Mode, and Site Health Signals](/docs/status-page-connection-output-mode-and-site-health-signals/)
---
## Turn a 404 Log Entry into a Redirect
URL: https://seovaultai.com/docs/turn-a-404-log-entry-into-a-redirect
Convert a 404 log entry into a redirect rule with one click, then clean up the log entry once the redirect is in place.
# Turn a 404 Log Entry into a Redirect
When you identify a frequently-hit 404 URL in the 404 Monitor, you can convert it directly into a redirect rule. This workflow lets you fix broken links without manually copying URLs between the monitor and the Redirect Manager.
## Where to find it
[](#where-to-find-it)
Go to **SEOvault AI > General > 404 Monitor** and use the **Redirect** button in the Actions column.
## How it works
[](#how-it-works)
Clicking **Redirect** on a 404 log entry opens the Redirect Manager tab with the origin URL pre-filled from the log entry. You then specify the target URL and redirect type, and the plugin creates the redirect rule. The log entry remains in the 404 Monitor after the redirect is created — you can delete it manually once you’ve confirmed the redirect works.
## Convert a 404 log entry to a redirect
[](#convert-a-404-log-entry-to-a-redirect)
1. Go to **SEOvault AI > General > 404 Monitor**
2. Find the 404 entry you want to redirect in the log table
3. Click **Redirect** in the Actions column for that entry
4. The Redirect Manager tab opens with the origin URL pre-filled
5. Enter the **Target (Destination URL)** — where you want to send visitors instead
6. Choose the **Redirect Type** (301 for permanent, 302 for temporary)
7. Choose the **Match Type** (plain or regex)
8. Click **Add Redirect**
The redirect is now active. Test it by opening the origin URL in a browser or using a tool like curl to verify the redirect works.
## Clean up the log entry
[](#clean-up-the-log-entry)
After creating the redirect, the 404 log entry remains in the monitor. This is intentional — it lets you verify the redirect is working before removing the record.
Once you’ve confirmed the redirect works:
1. Go back to **SEOvault AI > General > 404 Monitor**
2. Find the same log entry
3. Click **Delete** in the Actions column
The entry is removed from the log. Future requests to that URL will be handled by the redirect rule and won’t appear in the 404 Monitor.
## When to use this workflow
[](#when-to-use-this-workflow)
Use this workflow when:
* A URL in the 404 log has multiple hits (indicates ongoing traffic)
* You know the correct destination for the missing content
* You want to preserve link equity from inbound links pointing to the old URL
* You’ve restructured your site and need to redirect old paths to new ones
Don’t use this workflow for:
* One-off 404s from bots or random typos (just delete the log entry)
* URLs that should genuinely return 404 (deleted content that won’t return)
* Temporary testing URLs that are no longer relevant
## Redirect type guidance
[](#redirect-type-guidance)
When converting a 404 log entry to a redirect, choose the appropriate type:
* **301 (Moved Permanently)** — Use when the content has permanently moved to a new location. Search engines transfer ranking signals to the new URL. This is the most common choice for fixing broken links.
* **302 (Found / Temporary)** — Use when the redirect is temporary (for example, during a site migration or maintenance period). Search engines keep the original URL indexed.
* **307 (Temporary Redirect)** — Similar to 302 but preserves the request method (POST stays POST). Rarely needed for typical 404 fixes.
* **410 (Gone)** — Use when the content is intentionally removed and won’t return. This tells search engines the URL is permanently gone. The target URL is optional for 410.
* **451 (Unavailable For Legal Reasons)** — Use when content is removed due to legal requirements (DMCA, court orders). The target URL is optional for 451.
## Bulk workflow for multiple 404s
[](#bulk-workflow-for-multiple-404s)
If you have many 404 entries to redirect, the bulk workflow is:
1. Identify the 404 entries you want to redirect
2. For each one, click **Redirect** and create the redirect rule
3. After creating all redirects, select the log entries with checkboxes
4. Choose **Delete** from the bulk actions dropdown
5. Click **Apply**
This removes the log entries in one batch after all redirects are in place.
## Related docs
[](#related-docs)
* [404 Monitor: Find and Fix Missing URLs](/docs/404-monitor-find-and-fix-missing-urls/)
* [Redirect Manager: Create 301 and 302 Redirects](/docs/redirect-manager-create-301-and-302-redirects/)
* [404 Fallback Behavior: Theme 404, Homepage, or Custom URL](/docs/404-fallback-behavior-theme-404-homepage-or-custom-url/)
---
## Ultra Writer Guide
URL: https://seovaultai.com/docs/ultra-writer-guide
Learn how to use Ultra Writer to generate controlled, high-quality long-form articles for WordPress publishing.
# Ultra Writer Guide
Ultra Writer is one of the most powerful features in SEOVault AI.
It is built for users who want more than a basic AI draft. Instead of generating generic content with a simple prompt, Ultra Writer gives you a structured article-building workflow designed for WordPress publishers who care about SEO, clarity, brand voice, and publishing speed.
If Basic Writer is the quick draft tool, Ultra Writer is the full editorial engine.
## What Ultra Writer Does
[](#what-ultra-writer-does)
Ultra Writer helps you generate long-form articles using a more controlled, customizable workflow.
It is designed for users who want to shape the output before generation instead of cleaning up a weak draft later.
With Ultra Writer, you can control things like:
* article language
* article preset
* target length
* tone
* perspective
* audience level
* brand voice behavior through Brand Kit support
This makes it a much better fit for serious publishers than one-size-fits-all AI writing.
## When to Use Ultra Writer
[](#when-to-use-ultra-writer)
Ultra Writer is best when you want:
* a full article, not just a few helper sections
* better control over the output structure and tone
* content that fits a specific article format
* stronger alignment with your brand voice
* a more guided workflow for SEO-focused publishing
* better first-draft quality for important pages
Use Ultra Writer when the article matters enough that you want the AI to write with more direction, more context, and more structure.
## When Basic Writer May Be Enough
[](#when-basic-writer-may-be-enough)
Basic Writer is better when you want speed over precision.
Use Basic Writer if:
* you just want a quick article draft
* you do not need a preset format
* you plan to reshape the article manually anyway
* you want a simpler workflow with fewer choices
A practical way to think about it:
* Basic Writer = faster and simpler
* Ultra Writer = deeper and more controlled
If the article is high-value, Ultra Writer is usually the better choice.
## Ultra Writer Credit Cost
[](#ultra-writer-credit-cost)
Ultra Writer costs 50 credits per article generation.
That makes it one of the most premium actions inside SEOVault AI, which is why it should usually be reserved for content that deserves a stronger workflow.
If you are trying to maximize credits, use Ultra Writer for:
* pillar articles
* high-commercial-intent pages
* important evergreen posts
* high-value refreshes of older content
* pages where tone and structure matter more
For lighter needs, use smaller tools or a standard drafting workflow first.
## Ultra Writer Inputs
[](#ultra-writer-inputs)
Ultra Writer gives you a set of controls before generation. These settings help the AI produce a draft that matches your publishing goals more closely.
### 1\. Article Language
[](#1-article-language)
Choose the language you want the article written in.
Use this when you publish in more than one language or want the draft aligned to the language of your audience from the start.
### 2\. Article Preset
[](#2-article-preset)
This is one of the most important Ultra Writer controls.
Presets tell the AI what kind of article it should create.
Current preset options include:
* News / Trends Summary
* How-To Guide
* Listicle
* Comparison (A vs B)
* Product / Service Review
* Buyer’s Guide
* Explainer
* Opinion / Argument
* Case Study / Story
* Custom Template
* Rewrite Existing Article
* Expert Experience
### 3\. Target Length
[](#3-target-length)
Choose how long the article should be.
This helps shape the depth and scope of the content.
Longer is not always better. The right target length depends on the search intent, SERP expectations, and the type of article you are creating.
### 4\. Tone
[](#4-tone)
Set the writing tone you want.
Examples may include a tone that feels more:
* professional
* conversational
* authoritative
* practical
* persuasive
Tone matters because it changes how the article feels to the reader, even when the topic stays the same.
### 5\. Perspective
[](#5-perspective)
Set the point of view or narrative framing.
This helps control whether the article feels more direct, editorial, expert-led, neutral, or experience-based.
### 6\. Audience Level
[](#6-audience-level)
Choose the experience level of the target reader.
This helps the AI decide whether to keep things simple, go deeper technically, or strike a balance.
### 7\. Brand Kit On / Off
[](#7-brand-kit-on--off)
Brand Kit lets Ultra Writer adapt the output to your voice, positioning, style patterns, and examples.
If your Brand Kit is set up properly, this is one of the strongest reasons to use Ultra Writer instead of a generic AI article tool.
## Article Presets Explained
[](#article-presets-explained)
Presets are a major reason Ultra Writer stands out.
They help the AI match the article to the real publishing format you actually need.
### News / Trends Summary
[](#news--trends-summary)
Best for timely content, updates, launch coverage, and trend recaps.
Use this when you want to summarize what changed, why it matters, and what readers should know now.
### How-To Guide
[](#how-to-guide)
Best for step-by-step educational content.
Use this for process-based content, tutorials, walkthroughs, and practical instructions.
### Listicle
[](#listicle)
Best for numbered lists and scannable article formats.
Use this when the topic works naturally as a list and users expect quick comparison or segmented reading.
### Comparison (A vs B)
[](#comparison-a-vs-b)
Best for side-by-side comparisons.
Use this when users are evaluating options and want clear differences, trade-offs, and recommendations.
### Product / Service Review
[](#product--service-review)
Best for review-style pages.
Use this when you want a more evaluative article with strengths, weaknesses, use cases, and buying context.
### Buyer’s Guide
[](#buyers-guide)
Best for commercial research intent.
Use this when readers are close to making a decision and need selection help, criteria, and recommendations.
### Explainer
[](#explainer)
Best for concept clarification.
Use this when the goal is to explain a topic, system, tool, or process clearly.
### Opinion / Argument
[](#opinion--argument)
Best for editorial-style content.
Use this when you want a stronger point of view, reasoning, and argument-led structure.
### Case Study / Story
[](#case-study--story)
Best for narrative proof and example-based content.
Use this when you want to show what happened, what was tried, what worked, and what readers can learn.
### Custom Template
[](#custom-template)
One of the most flexible preset options.
Use this when your team has a repeatable article framework or brand-specific structure you want to preserve across future content.
This is especially useful if you publish the same content type repeatedly and want more consistency.
### Rewrite Existing Article
[](#rewrite-existing-article)
One of the most valuable presets for WordPress publishers, designed to revive zombie articles and bring them back to life.
Many sites have older posts that are still relevant but outdated, underperforming, or weakly structured. This preset helps you refresh those articles instead of starting from zero.
Rewrite options include:
* Light rewrite: improve clarity and freshness without heavily changing structure
* Medium rewrite: stronger improvements to wording, flow, and optimization
* Heavy rewrite: major reworking for articles that need deeper transformation
This is ideal for:
* zombie posts
* outdated articles
* thin or awkward legacy content
* posts that need a stronger modern structure
### Expert Experience
[](#expert-experience)
This is another standout preset.
It lets you feed in real experience, insights, lessons, observations, or first-hand context so the article feels less generic and more authentic.
This is especially valuable for content that should sound like it came from someone who has actually done the work, tested the process, or learned through experience.
Use this preset when you want stronger E-E-A-T signals and a more original article angle.
## What Makes Ultra Writer Powerful
[](#what-makes-ultra-writer-powerful)
Ultra Writer is not just longer AI writing.
Its value comes from how much better the generation can be shaped before it begins.
### Better structure before generation
[](#better-structure-before-generation)
Instead of fixing structure later, you steer structure from the start.
### Better fit for search intent
[](#better-fit-for-search-intent)
Presets help match the article to the format users are expecting.
### Better fit for brand voice
[](#better-fit-for-brand-voice)
Brand Kit support reduces generic-sounding drafts.
### Better fit for valuable content
[](#better-fit-for-valuable-content)
When you are publishing important posts, a stronger first draft saves real editing time.
### Better for old-content refreshes
[](#better-for-old-content-refreshes)
The Rewrite Existing Article preset makes Ultra Writer especially useful for WordPress sites with large archives.
## How to Use Ultra Writer Well
[](#how-to-use-ultra-writer-well)
Ultra Writer gives you a set of controls before generation. These settings help the AI produce a draft that matches your publishing goals more closely.
### Step 1: Start with the right keyword or topic
[](#step-1-start-with-the-right-keyword-or-topic)
Know what the article is trying to rank for or solve.
A vague topic usually creates a weaker result, no matter how good the tool is.
### Step 2: Pick the right preset
[](#step-2-pick-the-right-preset)
Do not choose a preset based on what sounds good. Choose the one that matches the actual article format and intent.
For example:
* use Buyer’s Guide for commercial comparison intent
* use How-To Guide for instructional queries
* use Rewrite Existing Article when the core asset already exists
* use Expert Experience when your direct experience matters
### Step 3: Set a realistic target length
[](#step-3-set-a-realistic-target-length)
Do not always push for the longest option.
Choose a target length that matches:
* query intent
* SERP depth
* how much unique value you can add
* how readable you want the article to feel
### Step 4: Match the tone to the audience
[](#step-4-match-the-tone-to-the-audience)
A strong tone choice can make the output feel much more usable without heavy editing later.
### Step 5: Turn on Brand Kit when relevant
[](#step-5-turn-on-brand-kit-when-relevant)
If you have already trained your Brand Kit, use it on the content where voice consistency matters most.
### Step 6: Review before publishing
[](#step-6-review-before-publishing)
Even strong AI drafts still need human review.
You should still check:
* accuracy
* structure
* freshness
* claims
* links
* examples
* clarity
* brand fit
Ultra Writer saves time, but it should still support an editorial process.
## Best Use Cases for Ultra Writer
[](#best-use-cases-for-ultra-writer)
Ultra Writer is especially strong for these workflows:
### High-value evergreen content
[](#high-value-evergreen-content)
Posts that matter long-term and deserve a stronger first draft.
### Commercial content
[](#commercial-content)
Buyer’s guides, comparisons, reviews, and money pages.
### Old-content refreshes
[](#old-content-refreshes)
Articles that already exist but need a serious update.
### Portfolio sites
[](#portfolio-sites)
When you need repeatable quality across a group of sites.
### Brand-sensitive content
[](#brand-sensitive-content)
When voice and credibility matter more than just output speed.
### Experience-led content
[](#experience-led-content)
When you want the article to sound grounded in real-world perspective rather than generic summaries.
## Brand Kit and Ultra Writer
[](#brand-kit-and-ultra-writer)
Brand Kit is one of the most important multipliers for Ultra Writer.
Without Brand Kit, Ultra Writer is still powerful. With Brand Kit, it becomes much better aligned to your tone, style, and publishing identity.
Depending on your setup, Brand Kit can be built by:
* manually filling key brand fields
* providing example articles
* letting the system analyze those examples and shape a voice profile
If you care about consistency across a site or portfolio, Brand Kit is worth setting up before you rely heavily on Ultra Writer.
## Rewrite Existing Article: A Special Note
[](#rewrite-existing-article-a-special-note)
This preset deserves extra attention because it is one of the most practical features in the product.
A lot of WordPress publishers already have:
* aging content
* underperforming posts
* outdated structure
* weak intros
* old examples
* thin sections
* articles that are close to useful but not strong enough anymore
Ultra Writer gives you a structured way to refresh those assets instead of throwing them away.
This is often one of the highest-ROI uses of the platform.
Instead of constantly creating from scratch, you can upgrade what already exists.
## Expert Experience: A Special Note
[](#expert-experience-a-special-note)
Expert Experience is powerful because it helps the AI write with more original perspective.
That matters because a lot of AI content feels interchangeable.
When you provide real lessons, examples, observations, or lived experience, the article becomes more credible and more distinct.
This can help with:
* originality
* trust
* reader usefulness
* stronger E-E-A-T feel
* more memorable content
Use it when you want the article to sound like it came from someone who has actually done the work.
## Common Mistakes to Avoid
[](#common-mistakes-to-avoid)
### Choosing the wrong preset
[](#choosing-the-wrong-preset)
The wrong preset can lead to an article that is technically fine but strategically off.
### Going too broad with the topic
[](#going-too-broad-with-the-topic)
Vague topics often create shallow or generic articles.
### Ignoring search intent
[](#ignoring-search-intent)
Even a polished draft can miss the mark if the format does not match what readers want.
### Overusing maximum length
[](#overusing-maximum-length)
Longer content is not automatically better.
### Publishing without review
[](#publishing-without-review)
Ultra Writer is powerful, but it is still part of a workflow, not a replacement for editorial judgment.
### Skipping Brand Kit for important content
[](#skipping-brand-kit-for-important-content)
If voice matters, Brand Kit can make a major difference.
## Ultra Writer vs Other SEOVault AI Tools
[](#ultra-writer-vs-other-seovault-ai-tools)
### Ultra Writer vs Basic Writer
[](#ultra-writer-vs-basic-writer)
* Basic Writer is simpler and faster
* Ultra Writer is deeper and more customizable
### Ultra Writer vs Rewrite tools
[](#ultra-writer-vs-rewrite-tools)
Rewrite features may be part of simpler workflows, but the Rewrite Existing Article preset inside Ultra Writer gives you a stronger, more structured refresh path.
### Ultra Writer vs smaller helper tools
[](#ultra-writer-vs-smaller-helper-tools)
Tools like TL;DR, FAQ generation, and title generation improve parts of a draft. Ultra Writer is for when you need the whole article workflow.
## Final Recommendation
[](#final-recommendation)
Use Ultra Writer when the content matters enough to deserve a guided, high-control generation workflow.
It is best for:
* important articles
* structured article formats
* commercial content
* old-content refreshes
* brand-sensitive publishing
* experience-led writing
If you are publishing seriously in WordPress, Ultra Writer is one of the strongest tools in SEOVault AI.
## Next Recommended Guides
[](#next-recommended-guides)
After this guide, read:
1. [How Credits Work](/docs/how-credits-work/)
2. Rewrite Existing Articles with AI
3. Brand Kit Setup Guide
4. [Extension vs Web App: Which Workflow Should You Use?](/docs/extension-vs-web-app-which-workflow-should-you-use/)
5. [Getting Started with SEOVault AI](/docs/getting-started-with-seovault-ai/)
## Need Help?
[](#need-help)
If Ultra Writer results are not coming out the way you want, the first things to review are:
* your topic clarity
* preset choice
* target length choice
* tone selection
* Brand Kit setup
* how much real context you gave the article
Small input changes often create much better output quality.
---
## Uninstall Cleanup: What Gets Removed When You Delete the Plugin
URL: https://seovaultai.com/docs/uninstall-cleanup-what-gets-removed-when-you-delete-the-plugin
Understand what data is preserved or deleted when you uninstall SEOvault AI, and how to control cleanup behavior.
# Uninstall Cleanup: What Gets Removed When You Delete the Plugin
When you delete the SEOvault AI plugin from WordPress, you can choose whether to keep your SEO data or remove it completely. By default, the plugin preserves your SEO work so you can reinstall later without losing data. You can also enable full cleanup to remove everything.
## Default behavior (data preserved)
[](#default-behavior-data-preserved)
By default, deleting the plugin removes only security-sensitive data:
* **Site key** — Your authentication key for the SEOvault AI web app
* **Connection secrets** — API credentials and encrypted connection data
* **Scoped API keys** — Any custom API keys you created
The following data is **preserved** by default:
* SEO titles and meta descriptions
* Focus keywords
* Canonical URLs
* Noindex/nofollow directives
* Open Graph and Twitter card data
* Schema markup
* Redirect rules
* 404 log entries
* Local SEO business locations
* Schema templates
* Sitemap cache files
* Plugin settings and options
This default behavior lets you:
* Reinstall the plugin later without losing your SEO work
* Switch to another SEO plugin and keep your data intact
* Temporarily deactivate the plugin for testing
## Enable full cleanup
[](#enable-full-cleanup)
To permanently delete all SEOvault AI data when uninstalling:
1. Go to **SEOvault AI > General > Tools**
2. In the “Data & Uninstall” section, check **Erase all data on uninstall**
3. Click **Save Changes**
When this option is enabled and you delete the plugin, the following is removed:
### SEO metadata
[](#seo-metadata)
* SEO titles
* Meta descriptions
* Focus keywords
* Canonical URLs
* Noindex/nofollow directives
* Open Graph and Twitter card data
* Schema markup
### Redirects and 404 data
[](#redirects-and-404-data)
* All redirect rules
* 404 log entries
* Fallback redirect settings
### Local SEO
[](#local-seo)
* Business locations
* Local schema data
### Schema
[](#schema)
* Schema templates
* Custom schema configurations
### Cache and settings
[](#cache-and-settings)
* Sitemap cache files
* All plugin settings and options
* Site key and connection secrets
**Warning:** This action cannot be undone. Only enable this if you want to completely remove SEOvault AI and all its data.
## What happens during uninstall
[](#what-happens-during-uninstall)
When you delete the plugin from **Plugins > Installed Plugins**:
1. WordPress calls the plugin’s uninstall hook
2. If “Erase all data on uninstall” is enabled, the plugin:
* Deletes all custom database tables
* Removes all plugin options from the wp\_options table
* Deletes post meta for SEO data
* Deletes term meta for category/tag SEO
* Removes redirect rules
* Clears 404 logs
* Deletes Local SEO locations
* Removes schema templates
* Clears sitemap cache files
3. If “Erase all data on uninstall” is disabled, the plugin:
* Removes only site key and connection secrets
* Keeps all other data intact
## Reinstalling after uninstall
[](#reinstalling-after-uninstall)
### With data preserved (default)
[](#with-data-preserved-default)
If you reinstall the plugin after uninstalling with the default settings:
* Your SEO data is still in the database
* The plugin recognizes existing data on activation
* No migration or recovery steps needed
* Your SEO titles, descriptions, redirects, and settings work immediately
### With full cleanup enabled
[](#with-full-cleanup-enabled)
If you reinstall after enabling full cleanup:
* All previous data is gone
* The plugin starts fresh with default settings
* You’ll need to reconfigure all settings
* SEO data must be re-entered or re-imported from another plugin
## Switching to another SEO plugin
[](#switching-to-another-seo-plugin)
If you’re switching to another SEO plugin (Yoast, Rank Math, AIOSEO, etc.):
1. Keep “Erase all data on uninstall” **unchecked** (default)
2. Install and configure the new SEO plugin
3. The new plugin may import data from SEOvault AI, or you can manually migrate
4. Once the new plugin is working, you can delete SEOvault AI
5. Your original SEO data remains in the database as a backup
## Temporary deactivation vs uninstall
[](#temporary-deactivation-vs-uninstall)
* **Deactivation** — Turns off the plugin but keeps all data. Use this for testing or temporary changes.
* **Uninstall** — Removes the plugin files. Data cleanup depends on your “Erase all data on uninstall” setting.
If you just want to turn off SEOvault AI temporarily, deactivate it instead of uninstalling.
## Related docs
[](#related-docs)
* [Tools: Import, Export, and Maintenance Actions](/docs/tools-import-export-and-maintenance-actions/)
* [Import SEO Data from Yoast, Rank Math, AIOSEO, Slim SEO, or The SEO Framework](/docs/import-seo-data-from-yoast-rank-math-aioseo-slim-seo-the-seo-framework/)
* [Does SEOvault AI Replace Yoast, Rank Math, or AIOSEO?](/docs/does-seovault-ai-replace-yoast-rank-math-or-aioseo/)
---
## Use SEOvault AI with Elementor
URL: https://seovaultai.com/docs/use-seovault-ai-with-elementor
Manage SEO metadata directly within the Elementor page builder editor.
# Use SEOvault AI with Elementor
SEOVault AI integrates with Elementor to provide SEO metadata editing directly within the Elementor editor. This allows you to manage SEO settings without leaving the page builder interface.
## Integration overview
[](#integration-overview)
The SEOvault AI Elementor integration:
* Adds an SEO panel to the Elementor editor
* Provides compact SEO field controls
* Saves metadata via AJAX without page reload
* Supports Elementor v4 Atomic Editor
* Includes real-time SEO assessment
* Works with all public post types
## Accessing the SEO panel
[](#accessing-the-seo-panel)
The SEOvault AI panel appears in the Elementor editor when:
* Elementor is active
* SEOvault AI is active
* The current user has edit permissions for the post
* The post type is public and not excluded
* SEO output is enabled (not in manual mode with auto-generation disabled)
**To access:**
1. Open a page or post in Elementor editor
2. Click the **SEOvault AI** button in the editor sidebar
3. The SEO panel will slide in with SEO fields
## SEO panel features
[](#seo-panel-features)
The SEO panel provides compact controls for:
### Search appearance
[](#search-appearance)
* **SEO title** — Custom title for search engines
* **SEO description** — Meta description for search results
* **Focus keyword** — Primary keyword for the page
### Canonical URL
[](#canonical-url)
* **Canonical URL** — Specify the canonical URL to prevent duplicate content issues
### Robots directives
[](#robots-directives)
* **Noindex this page** — Prevent search engines from indexing this page
* **Nofollow links on this page** — Tell search engines not to follow links on this page
### Social sharing
[](#social-sharing)
* **Social title** — Custom title for social media shares
* **Social description** — Custom description for social media
* **Social image** — Custom image for social media shares
## Real-time assessment
[](#real-time-assessment)
The SEO panel includes real-time SEO assessment showing:
* **Title length** — Character count with status indicator
* **Description length** — Character count with status indicator
* **Overall status** — Good, Okay, Needs Work, or Unknown
Status indicators help you optimize your content for search engines.
## Using the SEO panel
[](#using-the-seo-panel)
### Setting SEO title
[](#setting-seo-title)
1. Open the SEOvault AI panel
2. Enter your custom SEO title
3. The character count updates in real-time
4. Status indicator shows if the length is optimal
5. Click **Save** to persist changes
### Setting SEO description
[](#setting-seo-description)
1. Open the SEOvault AI panel
2. Enter your meta description
3. The character count updates in real-time
4. Status indicator shows if the length is optimal
5. Click **Save** to persist changes
### Setting focus keyword
[](#setting-focus-keyword)
1. Open the SEOvault AI panel
2. Enter your primary focus keyword
3. Use the keyword naturally in your content
4. Click **Save** to persist changes
### Configuring canonical URL
[](#configuring-canonical-url)
1. Open the SEOvault AI panel
2. Enter the canonical URL
3. Use absolute URLs (e.g., [https://example.com/page](https://example.com/page))
4. Click **Save** to persist changes
### Setting robots directives
[](#setting-robots-directives)
1. Open the SEOvault AI panel
2. Check **Noindex this page** to prevent indexing
3. Check **Nofollow links on this page** to prevent link following
4. Click **Save** to persist changes
### Configuring social sharing
[](#configuring-social-sharing)
1. Open the SEOvault AI panel
2. Enter custom social title and description
3. Select or upload a social image
4. Click **Save** to persist changes
## Elementor v4 Atomic Editor support
[](#elementor-v4-atomic-editor-support)
The integration supports Elementor’s v4 Atomic Editor:
* Automatically detects Atomic Editor mode
* Shows a status indicator when Atomic Editor is active
* Ensures compatibility with both classic and Atomic workflows
* Maintains SEO data across editor modes
## Saving behavior
[](#saving-behavior)
SEO metadata is saved via AJAX:
* Changes are saved without page reload
* Only modified fields are updated
* Partial saves don’t erase existing data
* Save confirmation appears in the panel
### Auto-save
[](#auto-save)
The panel does not auto-save. You must click **Save** to persist changes.
### Returning to Elementor
[](#returning-to-elementor)
Click **Back to Elementor** to close the SEO panel and return to the Elementor editor.
## Template variables
[](#template-variables)
The SEO panel respects your configured template variables:
* Auto-generated titles and descriptions appear as placeholders
* You can override auto-generated values with custom content
* Template variables work the same as in the WordPress admin
## Post type support
[](#post-type-support)
The integration works with all public post types:
* Pages
* Posts
* Custom post types (if public)
* Excludes: attachments and other excluded types
## Permissions
[](#permissions)
The SEO panel only appears for users with:
* `edit_post` capability for the current post
* Access to the Elementor editor
* Appropriate user role permissions
## Troubleshooting
[](#troubleshooting)
### SEO panel not appearing
[](#seo-panel-not-appearing)
If the SEOvault AI panel is not visible in Elementor:
1. Verify Elementor is active
2. Verify SEOvault AI is active
3. Check that you have edit permissions for the post
4. Ensure the post type is public
5. Check that SEO output is enabled (not in manual mode)
6. Clear browser cache and try again
### Changes not saving
[](#changes-not-saving)
If changes are not persisting:
1. Verify you clicked the Save button
2. Check browser console for JavaScript errors
3. Verify your user session is active
4. Check that the post is not locked by another user
5. Try refreshing the editor
### Assessment not updating
[](#assessment-not-updating)
If the SEO assessment is not updating:
1. Verify you have entered content in the fields
2. Check that character counts are within limits
3. Refresh the panel by closing and reopening
4. Clear browser cache
### Panel not loading
[](#panel-not-loading)
If the panel fails to load:
1. Check browser console for errors
2. Verify AJAX endpoint is accessible
3. Check for plugin conflicts
4. Disable other SEO plugins temporarily
5. Verify WordPress REST API is enabled
## Best practices
[](#best-practices)
### Use the panel for quick edits
[](#use-the-panel-for-quick-edits)
The SEO panel is ideal for:
* Quick title and description updates
* Social media optimization
* Canonical URL configuration
* Robots directive changes
### Use WordPress admin for complex tasks
[](#use-wordpress-admin-for-complex-tasks)
For more complex SEO tasks, use the WordPress admin:
* Bulk editing
* Template configuration
* Advanced schema settings
* Integration settings
### Keep titles and descriptions optimal
[](#keep-titles-and-descriptions-optimal)
Follow the guidelines shown in the panel:
* Titles: 50-60 characters
* Descriptions: 150-160 characters
* Use keywords naturally
* Write compelling copy for clicks
### Test your changes
[](#test-your-changes)
After making changes:
* Use the Rich Results Test to verify schema
* Check Google Search Console for indexing
* Preview social shares with social media debuggers
* Monitor search performance
## Related docs
[](#related-docs)
* [SEO Title and Description Templates (Replace Variables)](/docs/seo-title-and-description-templates-replace-variables/)
* [Open Graph and Twitter Card Setup](/docs/open-graph-and-twitter-card-setup/)
* [Canonical URLs: Prevent Duplicate Content](/docs/canonical-urls-prevent-duplicate-content/)
---
## Use the SERP Preview and SEO Assessment in the Post Editor
URL: https://seovaultai.com/docs/use-the-serp-preview-and-seo-assessment-in-the-post-editor
How to read and act on the SERP preview and SEO assessment results in the SEOvault AI meta box.
# Use the SERP Preview and SEO Assessment in the Post Editor
The SEOvault AI meta box includes two tools that help you optimize each post before publishing: a SERP preview that shows how your post will look in Google search results, and an SEO assessment that scores your optimization and gives actionable feedback.
## The SERP preview
[](#the-serp-preview)
The SERP (Search Engine Results Page) preview is a visual mockup of how your post will appear in Google. It sits at the top of the meta box, above the input fields.
### What it shows
[](#what-it-shows)
* **Title** – your custom SEO title, or the auto-generated title if the field is empty. In Automatic mode, the auto-generated title uses your title template (e.g., `%title% | %sitename%`). In Manual mode, it falls back to the post title.
* **URL** – the post’s permalink, displayed with your domain name. This reflects the actual URL search engines will see.
* **Description** – your custom meta description, or the auto-generated description if the field is empty. In Automatic mode, the description is generated from your post excerpt or content.
### How it updates
[](#how-it-updates)
The preview updates live as you type in the SEO title and description fields. You do not need to save the post to see changes. The preview uses AJAX to re-render with your current input values.
### Pixel width and truncation
[](#pixel-width-and-truncation)
Google truncates titles and descriptions based on pixel width, not just character count. The plugin estimates pixel width using an average of 8 pixels per character and a title pixel limit of 580px. If your title is likely to be truncated, the assessment will warn you even if the character count is within range.
For languages with wider characters (e.g., CJK scripts), the plugin applies locale-aware adjustment ratios to provide more accurate truncation estimates.
### Using the preview effectively
[](#using-the-preview-effectively)
* **Check for truncation** – if your title or description appears cut off in the preview, shorten it
* **Check keyword placement** – make sure your focus keyword appears near the beginning of the title
* **Check readability** – read the preview as a searcher would. Does it make them want to click?
* **Check URL structure** – the URL should be clean and contain relevant words, not query parameters
## The SEO assessment
[](#the-seo-assessment)
Below the SERP preview, the assessment panel shows a color-coded score and a list of individual checks. The assessment runs automatically when you enter a focus keyword and updates live as you edit.
### Overall status
[](#overall-status)
The overall status is shown as a colored indicator:
* **Green (Good)** – all checks pass. Your post is well-optimized
* **Orange (Okay)** – some checks need attention. Your post is partially optimized
* **Red (Bad)** – critical checks are failing. Your post needs optimization work
* **Gray (Unknown)** – no focus keyword set, or the post could not be assessed
### Individual checks
[](#individual-checks)
The assessment runs eight checks for each post:
#### 1\. Title check
[](#1-title-check)
Evaluates your SEO title length and quality:
* **Empty** (red) – no title set. Add an SEO title for better search visibility
* **Too short** (red) – under 30 characters. Aim for 50-60 characters
* **Short** (orange) – 30-49 characters. Could use more detail
* **Good** (green) – 50-60 characters. Optimal length
* **Long** (orange) – 61-70 characters. Google may truncate it
* **Too long** (red) – over 70 characters. Google will likely truncate it
The check also reports pixel width and warns if truncation is likely based on pixel estimation, even when the character count is within range.
If you are using the post title as a fallback (no custom SEO title set), the assessment notes this and recommends setting a custom title for more control.
#### 2\. Description check
[](#2-description-check)
Evaluates your meta description length:
* **Empty** (red) – no description set
* **Too short** (red) – under 70 characters
* **Short** (orange) – 70-119 characters
* **Good** (green) – 120-155 characters. Optimal length
* **Long** (orange) – 156-200 characters. May be truncated
* **Too long** (red) – over 200 characters. Will likely be truncated
#### 3\. Keyword check
[](#3-keyword-check)
Checks whether your focus keyword appears in key locations:
* **In the SEO title** – is the keyword present in the title?
* **In the meta description** – is the keyword present in the description?
* **In the content** – does the keyword appear in the post body?
Each sub-check contributes to the overall keyword score. Missing the keyword in the title is flagged as more critical than missing it in the description.
#### 4\. Indexing check
[](#4-indexing-check)
Verifies whether the post is indexable:
* **Good** (green) – post is set to index (noindex is off)
* **Bad** (red) – post is set to noindex. Search engines will not index it
If noindex is on, the overall assessment is downgraded regardless of other check results, because an unindexable post will not appear in search results.
#### 5\. Following check
[](#5-following-check)
Verifies whether links on the post are followable:
* **Good** (green) – links are followable (nofollow is off)
* **Okay** (orange) – nofollow is on. Search engines will not follow links on this page
#### 6\. Canonical check
[](#6-canonical-check)
Checks the canonical URL configuration:
* **Good** (green) – canonical URL is not set (using default permalink) or points to the same URL
* **Okay** (orange) – canonical URL is set to a different URL. This is intentional in some cases (e.g., syndicated content) but should be verified
#### 7\. Branding check
[](#7-branding-check)
Checks whether your site name appears in the title:
* **Good** (green) – site name is present in the title (via template or manual entry)
* **Okay** (orange) – site name is not in the title. Adding your brand name can improve click-through rates
#### 8\. Redirect check
[](#8-redirect-check)
Checks if a redirect URL is configured for this post:
* **Good** (green) – no redirect set. Post is accessible at its normal URL
* **Okay** (orange) – redirect is set. Visitors will be redirected to another URL
## Live assessment via AJAX
[](#live-assessment-via-ajax)
The assessment updates in real time as you edit. When you change the SEO title, description, focus keyword, or other fields, the meta box JavaScript sends an AJAX request to recalculate the assessment without requiring a page reload or post save.
This means you can:
* Type a focus keyword and immediately see which checks pass or fail
* Adjust your title length and watch the status change from red to green
* Toggle noindex and see the overall score update
The live assessment uses the `seovaultseo_live_assessment` AJAX action with a nonce for security.
## The SEO Bar in the posts list
[](#the-seo-bar-in-the-posts-list)
In addition to the meta box, the SEO assessment is shown in the WordPress posts list table as a compact SEO Bar column. Each post shows a colored dot indicating its overall assessment status:
* **Green dot** – good
* **Orange dot** – okay
* **Red dot** – bad
* **Gray dot** – unknown (no keyword set)
Hover over the dot to see a tooltip with the check count. Click the post title to open the editor and see the full assessment details in the meta box.
## Term assessments
[](#term-assessments)
The assessment also runs for taxonomy terms (categories, tags, and custom taxonomies). When you edit a term, the term meta box shows:
* Title check
* Description check
* Indexing check
Term assessments have fewer checks than posts because terms typically have less SEO metadata. The overall status is computed from the available checks.
## How to use the assessment to improve your content
[](#how-to-use-the-assessment-to-improve-your-content)
1. **Set a focus keyword first** – without a keyword, the assessment cannot evaluate keyword placement
2. **Fix red checks before publishing** – red checks indicate critical issues that will hurt your search visibility
3. **Address orange checks when time allows** – orange checks are warnings, not errors, but fixing them improves your optimization
4. **Use the SERP preview as your guide** – if the preview looks good and all checks are green, your post is ready
5. **Re-check after content changes** – if you significantly edit your post content, the keyword checks may change. The live assessment updates automatically.
## Related docs
[](#related-docs)
* [Edit SEO Titles, Meta Descriptions, and Focus Keywords](/docs/edit-seo-titles-meta-descriptions-and-focus-keywords/)
* [Set Canonical URLs and Robots Directives Per Post](/docs/set-canonical-urls-and-robots-directives-per-post/)
* [Quick Edit and Posts List SEO Bar](/docs/quick-edit-and-posts-list-seo-bar/)
* [Homepage SEO Settings](/docs/homepage-seo-settings/)
---
## Validate Live Schema on Published Pages
URL: https://seovaultai.com/docs/validate-live-schema-on-published-pages
Compare the schema output on your published pages to SEOvault's expected graph to detect conflicts, caching issues, or third-party markup interference.
# Validate Live Schema on Published Pages
Published-page validation compares the actual JSON-LD output on your live page to the schema graph that SEOvault AI expects to emit. This helps you detect conflicts with other plugins, caching issues, or unexpected markup that may affect your structured data.
## Where to find published-page validation
[](#where-to-find-published-page-validation)
Open any published post or page in the WordPress editor. In the Schema Health panel, click **Check published page**. The validation runs as an AJAX request and shows the comparison result in the panel.
## How live validation works
[](#how-live-validation-works)
The validation process:
1. **Check eligibility** – the post must be published, publicly accessible, and not password-protected
2. **Build expected graph** – SEOvault builds the schema graph that should be emitted for this post
3. **Fetch live page** – the plugin fetches the published page HTML using a same-site request
4. **Extract JSON-LD** – all `