DOCUMENTATION
Revolutionary SEO Documentation
Score your content live, output valid schema and social cards, ship an XML sitemap, manage redirects, and shape every meta tag from code, all from one lean, privacy-first plugin that never phones home.
Content score
A live 0-100 score and readability grade as you write.
Meta & snippet editor
Control the exact title, description and slug Google shows.
Schema & JSON-LD
Valid structured data output for every post type.
Open Graph & cards
Clean social previews on Facebook, LinkedIn, Slack and X.
XML sitemaps
An auto-updating sitemap that pings search engines for you.
Redirects & 404s
A redirect manager and 404 monitor keep old URLs working.
Introduction
Revolutionary SEO is a complete, privacy-first SEO toolkit for WordPress. It pairs a live content score in the editor with the technical plumbing a site needs to rank: structured data, social cards, an XML sitemap, breadcrumbs and a redirect manager. Everything runs on your own server, with no external API calls, no telemetry and no ads in your admin.
You optimize content the same way every time: set a focus keyphrase, follow the plain-language checklist, and let the plugin write the meta tags, JSON-LD and Open Graph data for you. When you need to go further, a clean set of filters lets you override any output in code.
Tip: Run only one SEO plugin at a time. Two plugins will both emit meta tags and sitemaps, which confuses search engines. Deactivate any existing SEO plugin before activating this one -- the setup wizard can import its data first.
Installation
Revolutionary SEO installs like any standard WordPress plugin, from the bundled .zip archive or directly from the Revolutionary Plugins hub.
- Upload the plugin. Go to Plugins -> Add New -> Upload Plugin and choose
revolutionary-seo.zip. Click Install Now. - Activate. A new SEO menu appears in the admin sidebar and a score panel attaches to your editor.
- Run the setup wizard. The wizard confirms your site name, default share image and post-type defaults, then offers to import titles, descriptions and redirects from a previously active SEO plugin.
- Submit your sitemap. Copy the sitemap URL shown on the final step,
/sitemap.xml, and add it once in Google Search Console. After that it updates and pings automatically.
Heads up: If a previous SEO plugin left meta tags in your theme, or another plugin still active emits them, you may see duplicate tags in your page source. Deactivate the old plugin and clear any page cache so search engines see a single, clean set of tags.
Optimize your first post
Take a post from "published" to "search-ready" in about two minutes. Open any post in the block editor and find the SEO panel.
- Set a focus keyphrase. Type the phrase you want this post to rank for, for example espresso beans. The content score and checklist start updating instantly.
- Work the checklist. Each check is plain English with a fix. Add the keyphrase to your title and first paragraph, tighten the meta description, and give your images alt text.
- Edit the snippet. Open the Snippet editor to write the exact title and description Google will show, with live character counters so nothing gets truncated.
- Confirm the schema. The Schema tab shows the type that will be output (Article by default). Switch it if needed -- the JSON-LD is generated for you.
- Publish. Hit Update. Your meta tags, JSON-LD, Open Graph and Twitter cards are now live, and the post is added to your sitemap automatically.
Content score
The content score is a single 0 to 100 number that reflects how well your post is optimized for its focus keyphrase, paired with a separate readability grade. Both update live as you write, with no save required.
The score is the weighted result of more than twenty individual checks. Each check is one of three states: pass (green), improve (amber) or problem (grey), and each carries a one-line explanation of how to fix it. None of them block publishing -- they are guidance, not gatekeepers.
| Group | What it checks | Why it matters |
|---|---|---|
| Keyphrase | Presence in title, slug, first paragraph, headings, and overall density. | Tells search engines what the page is about without stuffing. |
| Meta | Title and meta description length, keyphrase inclusion, uniqueness. | Controls how your result looks and reads on the results page. |
| Structure | Heading hierarchy, internal and outbound links, image alt text. | Helps crawlers and screen readers understand the page. |
| Readability | Sentence length, paragraph length, passive voice, transition words. | Keeps readers on the page, which search engines reward. |
Meta & snippet editor
The snippet editor controls exactly what a search engine displays for your page: the title tag, the meta description and the slug. A live preview shows how the result looks on desktop and mobile, and character counters warn you before anything gets truncated.
You can write static text or use template variables that resolve at render time, so you can set sensible defaults for an entire post type and only override individual posts when you need to.
// Variables resolve per page at render time
%%title%% %%sep%% %%sitename%%
// A blog example that adds the category
%%title%% %%sep%% %%category%% %%sep%% %%sitename%%
Common variables include %%title%%, %%sitename%%, %%sep%%, %%category%%, %%excerpt%% and %%date%%. Per-post values you type in the snippet editor always win over the post-type template.
Breadcrumbs
Breadcrumbs give visitors a clear path back up your site and feed a BreadcrumbList schema to search engines, which can surface as a breadcrumb trail in the result. Output them with the block, the shortcode, or a template tag.
// Drop breadcrumbs anywhere with the shortcode
[rev_breadcrumbs]
// Optional attributes: custom separator and a "home" label
[rev_breadcrumbs separator="/" home="Start"]
To place breadcrumbs in a theme template, call rev_breadcrumbs() inside your loop. The matching BreadcrumbList JSON-LD is added automatically whenever breadcrumbs render, so you never maintain the schema separately.
Schema & JSON-LD
Revolutionary SEO outputs valid JSON-LD structured data in the page head. It picks a sensible default type from each post type -- Article for posts, WebPage for pages, Product when an eCommerce product is detected -- and you can override the type per post in the Schema tab.
Supported types include Article, WebPage, Product, FAQPage, Recipe, Event, Organization, Person and BreadcrumbList. Here is the kind of markup it emits for a blog post:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Best Espresso Beans 2026",
"author": { "@type": "Person", "name": "Mara Singh" },
"publisher": { "@type": "Organization", "name": "Acme Coffee" }
}
</script>
Use the revseo_schema filter to add or change fields, for example attaching an aggregate rating to product pages.
Validate before you ship: Paste your URL into Google's Rich Results Test after big changes. The default output passes with zero errors -- custom filters are where mistakes usually creep in.
Open Graph & cards
Every page gets Open Graph and Twitter Card tags built from the same title, description and image you already set, so shares on Facebook, LinkedIn, Slack and X render with a clean preview instead of a bare link.
- Share image: uses the post's featured image, then falls back to a per-post override, then a site-wide default you set once.
- Card type: a large summary card by default, configurable per post type.
- Independent copy: optionally write a social-only title and description that differ from the search snippet.
Override any Open Graph value with the revseo_og_image and related filters, handy when you generate dynamic share images.
XML sitemaps
A clean XML sitemap is generated at /sitemap.xml and split into a sitemap index plus per-type sitemaps, so even large sites stay within the 50,000-URL limit per file. It updates the moment you publish and pings search engines for you.
- Index by post type and taxonomy, each in its own sub-sitemap for fast crawling.
- Automatic exclusions, noindexed content, redirects and the items you mark are kept out.
- Image entries, featured and in-content images are listed to help image search.
- Last-modified dates, so crawlers fetch only what actually changed.
Toggle which post types and taxonomies appear under SEO -> Sitemaps. To drop a single post from the sitemap, set it to noindex in its SEO panel -- it is removed automatically.
Redirects & 404s
The redirect manager keeps old URLs working after you rename or delete content. The built-in 404 monitor logs every missing-page hit, then suggests a redirect so you can fix broken links before they cost you traffic.
- 301, 302, 307 and 410 redirect types, plus simple regex matching for patterns.
- Auto-redirect on slug change, rename a post and the old URL is caught for you.
- 404 monitor, logs hits with the referrer so you can see where broken links live.
- Bulk CSV import and export for migrations and audits.
Avoid chains: Point redirects straight at the final URL rather than chaining A to B to C. Long chains slow crawlers and leak ranking signals. The manager warns you when a new rule would create a loop or chain.
Hooks & filters
Developers can reshape nearly every tag the plugin emits. Two of the most common are the title and meta-description filters, both of which receive the resolved value and the current post.
add_filter( 'revseo_title', function( $title, $post ) {
if ( is_archive() ) {
$title .= ' | ' . date( 'Y' );
}
return $title;
}, 10, 2 );
The revseo_meta_description filter works the same way, useful for generating a description from a custom field when none is set. Other useful hooks include revseo_schema, revseo_og_image, revseo_robots, revseo_sitemap_exclude, and the revseo_redirect_matched action.
Privacy & performance
Revolutionary SEO is built to be invisible to your visitors and to the network. It makes no external requests, loads no front-end JavaScript for readers, and stores no analytics. The scoring engine runs only in the editor, in your browser, so the people reading your pages never download a byte of it.
- No telemetry: the plugin never reports usage, content or site data anywhere.
- No account: there is no cloud dashboard to sign up for, everything lives in WordPress.
- Tiny head output: a handful of meta tags and one JSON-LD block, typically under 2KB.
- Cache-friendly: all output is static HTML in the head, fully compatible with page caching and CDNs.
Troubleshooting
Most issues trace back to a second SEO plugin or a stale cache. Work through these first:
- Duplicate meta tags: another SEO plugin or your theme is still emitting tags. Deactivate the other plugin and clear the page cache.
- Score panel missing: confirm the post type has SEO enabled under SEO -> Post types, and that no editor plugin is blocking the sidebar.
- Sitemap returns 404: visit Settings -> Permalinks and click Save once to flush rewrite rules, then reload
/sitemap.xml. - Schema errors in testing tools: usually a custom
revseo_schemafilter. Temporarily remove it and re-test to confirm the default output is clean. - Redirect not firing: check for a conflicting rule in another redirect plugin or in your server config, those run before WordPress and win.
Tip: The SEO -> Tools -> Tag preview screen shows the exact tags, JSON-LD and robots directives rendered for any URL, the fastest way to confirm what search engines actually see.
FAQ
Frequently asked questions
Yes. The setup wizard reads titles, meta descriptions, robots settings and redirects from the popular SEO plugins and recreates them. Run it before deactivating the old plugin so the data is still available to import.
The free version includes live scoring, the meta editor, sitemaps and basic Article and WebPage schema. The full schema set, the redirect manager and per-post index controls are part of the Suite, which also bundles the other 15 plugins.
No, as long as you import your existing titles, descriptions and redirects so the same URLs and meta carry over. The wizard handles that. Search engines see equivalent tags and your rankings stay put.
Fully. All SEO output is static HTML in the page head with no per-request scripts, so it caches cleanly. Clear your cache after editing a post's snippet so the new tags are served.
Content scoring runs entirely in your browser and on your own server. The plugin makes no external API calls, sends no telemetry, and stores no visitor analytics. Nothing about your site or content ever leaves your hosting.
Was this helpful?
Browse the rest of the documentation or see what is included in each plan.
Back to all docs