Title: MSH SEO
Author: Techno Believe Solutions
Published: <strong>September 19, 2026</strong>
Last modified: September 19, 2026

---

Search plugins

![](https://ps.w.org/msh-seo/assets/banner-772x250.png?rev=3703253)

![](https://ps.w.org/msh-seo/assets/icon-256x256.png?rev=3703253)

# MSH SEO

 By [Techno Believe Solutions](https://profiles.wordpress.org/technobelievesolutions/)

[Download](https://downloads.wordpress.org/plugin/msh-seo.1.5.4.zip)

 * [Details](https://wordpress.org/plugins/msh-seo/#description)
 * [Reviews](https://wordpress.org/plugins/msh-seo/#reviews)
 *  [Installation](https://wordpress.org/plugins/msh-seo/#installation)
 * [Development](https://wordpress.org/plugins/msh-seo/#developers)

 [Support](https://wordpress.org/support/plugin/msh-seo/)

## Description

MSH SEO is an on-page SEO toolkit for WordPress. Everything in the first list below
runs inside your site and needs no account. The features in the second list use 
the Marketing So High service and only work after you connect the plugin with an
API key.

#### Works without an account

**SEO analysis in the editor**
 * SEO score from 14 on-page checks, calculated in
your browser and on your server * Focus keyword, keyword density, readability and
heading checks * Internal and external link counts, image alt text checks

**Meta tags and social previews**
 * Meta title and description editor with a live
search result preview * Open Graph and Twitter Card tags * Facebook, LinkedIn and
X preview panel

**Schema markup**
 * JSON-LD structured data (Article, FAQ, HowTo and more), with
a per-post schema type selector * WooCommerce Product schema with GTIN, MPN and 
brand fields, including variable products

**Technical SEO**
 * XML sitemaps * 301 and 302 redirect manager with a 404 log *
Noindex controls for date archives, tags and author pages * Breadcrumbs with JSON-
LD (shortcode: [msh_seo_breadcrumbs]) * Image SEO: descriptive file names and alt
text on upload * llms.txt and llms-full.txt, and robots.txt rules for AI crawlers*
Checks under Tools > Site Health for the redirect engine and plugin conflicts

**Content tools**
 * Weekly content freshness scan with a badge in the Posts list*
Answer engine (AEO) score: 11 checks for how citable a post is * Import titles and
descriptions from Yoast SEO, Rank Math and All in One SEO, without touching their
data * SEO overview page and dashboard widget

**Instant indexing (sends data to IndexNow)**
 * When a post is published or updated,
its URL is submitted to IndexNow so Bing, Yandex, Seznam, Naver and other participating
search engines can find it quickly. This is on by default and can be switched off
under MSH SEO > Settings. See External services below.

**Google Analytics tag (optional)**
 * Enter your GA4 measurement id under MSH SEO
> Settings and the plugin adds Google’s standard tag to your pages. Nothing loads
until you do. See External services below.

#### Needs a Marketing So High account

These features send data to Marketing So High and only work once you enter an API
key under MSH SEO > Settings. A free plan includes 50 AI operations a month.

 * AI analysis of the post you are editing, with suggested fixes
 * AI-generated meta titles and descriptions
 * Keyword data for your focus keyword
 * Internal link suggestions drawn from your own published posts
 * Automatic repair of broken links: 404s are matched to the right page and redirects
   are created for you
 * Smart call-to-action blocks, with conversion tracking
 * Sending a post to the social channels connected in your MSH account
 * Publishing articles written in the MSH dashboard straight to WordPress, and refreshing
   older posts from it (Autopilot)

#### Source code and build tools

The editor sidebar is written in React and compiled with @wordpress/scripts. The
human-readable source is included in the plugin’s `src` folder and published at 
https://github.com/sroay/msh-seo-plugin. To rebuild `build/index.js`, run `npm install`
and then `npm run build` in the plugin folder.

### External services

MSH SEO connects to the services below. Each entry says what is sent, when, and 
whether you can turn it off. The plugin also makes requests to your own site, for
example to confirm the IndexNow key file is reachable; those stay between your server
and your site.

**1. IndexNow (api.indexnow.org)**

Used to tell search engines about new and updated posts. When a post is published
or updated, the plugin sends your site’s hostname, the post’s URL, your sitemap 
URL, and a key the plugin generates for your site. The key is also served at yoursite.
com/KEY.txt so the search engines can confirm the submission came from your site.
IndexNow shares each submission with the participating search engines, including
Bing, Yandex, Seznam and Naver. No account is needed. This is on by default and 
can be switched off under MSH SEO > Settings > IndexNow.

Terms of Service: https://www.indexnow.org/terms
 Microsoft Privacy Statement: https://
privacy.microsoft.com/privacystatement Yandex Privacy Policy: https://yandex.com/
legal/confidential/ Seznam Privacy Policy: https://o-seznam.cz/pravni-informace/
ochrana-udaju/ Naver Privacy Policy: https://www.naver.com/policy/privacy

**2. Google Analytics (www.googletagmanager.com)**

Off until you enter a GA4 measurement id under MSH SEO > Settings > Google Analytics(
a connected Marketing So High dashboard can fill it in for you). Once an id is set,
every front-end page loads Google’s gtag.js and your visitors’ page views are reported
to your own Google Analytics property. Because this sends visitor data to Google
under your account, your privacy policy should mention it and any consent tool you
use should cover it. Clear the field to stop the tag loading.

Terms of Service: https://marketingplatform.google.com/about/analytics/terms/us/

Privacy Policy: https://policies.google.com/privacy

**3. Google Indexing API (oauth2.googleapis.com, indexing.googleapis.com)**

Off unless you paste your own Google Cloud service-account key under MSH SEO > Settings
> Google Indexing API. When a post is published or updated, the plugin sends the
post’s URL to Google, authenticated with your key.

Terms of Service: https://policies.google.com/terms
 Privacy Policy: https://policies.
google.com/privacy

**4. Marketing So High (app.marketingsohigh.com)**

Provides the features listed under “Needs a Marketing So High account”. Nothing 
is sent until you enter an API key under MSH SEO > Settings. After that:

 * Daily health report: your site URL; the plugin, WordPress and PHP versions; whether
   each feature is working; the number of redirect rules; the URLs in your 404 log
   with their hit counts, referrers and user agents; and the URLs and titles of 
   your published posts and pages, so broken links can be matched to the right page.
 * Weekly content reports: for each published post, its title, URL, slug, publish
   and modified dates, word count, and counts of headings, links and images; plus
   a summary of how many posts are fresh or stale, with the stale ones listed.
 * When you use an AI feature in the editor: the post’s title, content, focus keyword
   and URL; for internal link suggestions, also the titles and URLs of your recent
   published posts and pages.
 * Smart call-to-action blocks: the plugin fetches their wording from Marketing 
   So High, and forwards which block a visitor saw or clicked and on which page.
   No visitor identity is sent.
 * Sending a post to your social channels: the post’s title, excerpt, text, URL,
   featured image URL and the channels you picked.
 * Newsletter form: shown under posts only if your Marketing So High account has
   a newsletter. A visitor who fills it in sends their email address and the site’s
   hostname from their own browser to the newsletter’s double opt-in endpoint, and
   is not subscribed until they confirm by email.
 * When the dashboard publishes an article to your site, the plugin downloads the
   article’s featured image from the address the dashboard supplies.

No user accounts, passwords or comment content are sent.

Terms of Service: https://marketingsohigh.com/terms
 Privacy Policy: https://marketingsohigh.
com/privacy

## Screenshots

[⌊The MSH SEO panel in the block editor: focus keyword and an SEO score from 14 
on-page checks⌉⌊The MSH SEO panel in the block editor: focus keyword and an SEO 
score from 14 on-page checks⌉[

The MSH SEO panel in the block editor: focus keyword and an SEO score from 14 on-
page checks

[⌊Meta title and description with a live search result preview and character counts⌉⌊
Meta title and description with a live search result preview and character counts⌉[

Meta title and description with a live search result preview and character counts

[⌊Social preview for Facebook, LinkedIn and X, and the per-post schema type selector⌉⌊
Social preview for Facebook, LinkedIn and X, and the per-post schema type selector⌉[

Social preview for Facebook, LinkedIn and X, and the per-post schema type selector

[⌊The SEO overview: site score, issues sorted by impact, and one-click fixes⌉⌊The
SEO overview: site score, issues sorted by impact, and one-click fixes⌉[

The SEO overview: site score, issues sorted by impact, and one-click fixes

[⌊The redirect manager with the 404 log underneath⌉⌊The redirect manager with the
404 log underneath⌉[

The redirect manager with the 404 log underneath

[⌊Settings: feature status, indexing, and the optional Marketing So High connection⌉⌊
Settings: feature status, indexing, and the optional Marketing So High connection⌉[

Settings: feature status, indexing, and the optional Marketing So High connection

## Blocks

This plugin provides 2 blocks.

 *   Cta
 *   Answer

## Installation

 1. Upload the `msh-seo` folder to the `/wp-content/plugins/` directory, or install
    the plugin from the Plugins screen.
 2. Activate the plugin through the Plugins menu in WordPress.
 3. Open any post in the block editor to see the MSH SEO sidebar.
 4. Optional: go to MSH SEO > Settings and enter a Marketing So High API key to turn
    on the AI features.

## FAQ

### Do I need a Marketing So High account?

No. Everything listed under “Works without an account” runs without one. An account
is only needed for the features listed under “Needs a Marketing So High account”.

### Does the plugin send any data without an account?

Only in two cases, both described in External services below. IndexNow submissions
send the URL of a post when it is published or updated; this is on by default and
can be switched off under MSH SEO > Settings. The Google Analytics tag loads only
if you enter a measurement id. Nothing is sent to Marketing So High until you enter
an API key.

### Is there a free plan?

Yes. The free Marketing So High plan includes 50 AI operations a month. When they
are used up the AI features pause until the next month; nothing else stops working.

### Does this conflict with other SEO plugins?

If Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework or Slim SEO
is active, MSH SEO detects it and stops printing meta tags, schema and sitemaps,
so pages never get duplicates. A notice tells you when this happens. Redirects, 
the 404 log, Site Health checks and the AI features keep working.

To switch over completely, use MSH SEO > Import SEO to copy your titles and descriptions
from Yoast SEO or Rank Math, then deactivate the old plugin.

### How do I check whether the plugin is working?

Go to Tools > Site Health. MSH SEO adds checks for its connection, its redirect 
engine and plugin conflicts. The Info tab has an MSH SEO section to paste into a
support request.

### The plugin’s scheduled tasks do not seem to run

WordPress runs scheduled tasks when someone visits the site, so a site with very
little traffic can go a long time without them. Your host may offer a real system
cron, which is more reliable.

### How do I remove it completely?

Deactivate and delete the plugin. To also remove its data, drop the database tables
ending in msh_seo_redirects and msh_seo_404_log, and delete the options whose names
begin with msh_seo_.

### What is IndexNow?

IndexNow is an open protocol that lets a site tell search engines a page has been
added or changed, instead of waiting for them to crawl it. It is supported by Bing,
Yandex, Seznam, Naver and others.

### Does it work with WooCommerce?

Yes. When WooCommerce is active, MSH SEO adds Product schema, GTIN, MPN and brand
fields, and product-specific SEO checks.

### What is AEO?

Answer Engine Optimization is about making content easy for AI search tools such
as Google AI Overviews, ChatGPT and Perplexity to cite. MSH SEO scores posts on 
11 checks for this.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“MSH SEO” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Techno Believe Solutions ](https://profiles.wordpress.org/technobelievesolutions/)

[Translate “MSH SEO” into your language.](https://translate.wordpress.org/projects/wp-plugins/msh-seo)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/msh-seo/), check out
the [SVN repository](https://plugins.svn.wordpress.org/msh-seo/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/msh-seo/) by [RSS](https://plugins.trac.wordpress.org/log/msh-seo/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.5.4

 * Security: automatic image renaming on upload now uses the post only when the 
   upload carries WordPress’s upload nonce and you can edit that post.
 * Security: the bulk re-indexing notice checks a nonce before showing its count.
 * Improved: the settings page script and the answer-box and call-to-action styles
   now load from files instead of inline code, and connection messages are shown
   as plain text.

#### 1.5.3

 * Fixed: on a site installed in a subfolder (example.com/blog), /blog/sitemap.xml
   returned a 404. Sitemap addresses are now matched relative to where WordPress
   is installed.
 * Fixed: the sitemap is also served at /wp-sitemap.xml, WordPress’s own sitemap
   address, so links and search console submissions made before installing the plugin
   keep working.
 * Fixed: WordPress’s core sitemap was switched off even when another SEO plugin
   was active and MSH SEO was not serving a sitemap.

#### 1.5.2

 * Added: the daily health report now says whether search engines can read the site’s
   IndexNow key file. On sites whose front end does not serve WordPress’s files,
   submissions were being ignored without any warning.

#### 1.5.1

 * Fixed: a redirect MSH created automatically for a broken link could hide a post
   published later at the same address, sending every visitor elsewhere. Automatic
   redirects now apply only while the address is still a 404, and new ones are not
   created for addresses that already have a published post or page. Redirects you
   add yourself are unchanged.

#### 1.5.0

 * Changed: every option, post meta key, database table, transient, AJAX action,
   nonce and class now uses the msh_seo prefix, as WordPress.org requires. Existing
   data is moved to the new names automatically on the first page load after the
   update, including redirect rules, the 404 log and focus keywords.
 * Changed: all CSS and JavaScript is loaded with wp_enqueue_style and wp_enqueue_script
   from files in the assets folder. Nothing is printed inline any more.
 * Security: JSON-LD is encoded with JSON_HEX_TAG, so text containing a closing 
   script tag cannot break out of the schema block.
 * Security: SEO meta fields and the local analysis and link suggestion endpoints
   now check that the user may edit the specific post, not just posts in general.
 * Fixed: sitemap requests no longer switch page caching off for every URL on the
   site.
 * Removed: the Google and Bing sitemap pings. Both endpoints were retired by the
   search engines and did nothing; IndexNow covers the same need.
 * New: settings to switch IndexNow off and to enter or remove a Google Analytics
   measurement id.
 * New: the source for the editor sidebar ships in the src folder, with build instructions
   in this readme.

#### 1.4.1

 * Fixed: on a headless site, IndexNow was told about WordPress’s permalink (example.
   com/my-post/) instead of the address the front end serves (example.com/blog/my-
   post), so search engines were handed a redirect. Before submitting, the plugin
   now follows redirects on the live site and sends the address that answers. A 
   bulk re-submit learns the pattern from one post of each type rather than checking
   every URL. Anything uncertain keeps the permalink.
 * Fixed: IndexNow answers 200 before it verifies the key, then drops the URLs if
   the key file cannot be fetched. The submission log recorded those as successes.
   The plugin now checks that the key file is reachable at the key location and 
   marks the submission failed, with the reason, when it is not.

#### 1.4.0

 * New: an author box under every post with the founder’s name, role, a one-line
   bio and profile links, delivered by the MSH dashboard. Readers and answer engines
   see who is speaking. Turn off with the msh_seo_author_box_enabled option.
 * New: a newsletter signup form under every post that posts to the MSH newsletter’s
   double-opt-in endpoint. Only appears on sites whose organisation owns a newsletter.
   Turn off with the msh_seo_newsletter_enabled option.
 * New: Bing Webmaster Tools verification tag, delivered from the dashboard like
   the Google one.

For releases before 1.3.0, see [changelog.txt](https://plugins.svn.wordpress.org/msh-seo/trunk/changelog.txt).

## Meta

 *  Version **1.5.4**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [meta description](https://wordpress.org/plugins/tags/meta-description/)[redirects](https://wordpress.org/plugins/tags/redirects/)
   [schema](https://wordpress.org/plugins/tags/schema/)[seo](https://wordpress.org/plugins/tags/seo/)
   [xml sitemap](https://wordpress.org/plugins/tags/xml-sitemap/)
 *  [Advanced View](https://wordpress.org/plugins/msh-seo/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/msh-seo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/msh-seo/reviews/)

## Contributors

 *   [ Techno Believe Solutions ](https://profiles.wordpress.org/technobelievesolutions/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/msh-seo/)