{"id":338228,"date":"2026-07-21T08:23:17","date_gmt":"2026-07-21T08:23:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mitch-seo\/"},"modified":"2026-10-08T18:59:57","modified_gmt":"2026-10-08T18:59:57","slug":"mitch-seo","status":"publish","type":"plugin","link":"https:\/\/kaa.wordpress.org\/plugins\/mitch-seo\/","author":23530369,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.7","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Mitch SEO","header_author":"Mitch","header_description":"Lets Mitch apply approved SEO fixes (title, meta description, JSON-LD) via the WordPress REST API, rendered through whichever SEO plugin is active - Yoast, Rank Math, AIOSEO, SEOPress, or standalone if none. Changes are non-destructive and fully reversible.","assets_banners_color":"fa9954","last_updated":"2026-10-08 18:59:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/getmitch.ai","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":267,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"getmitch","date":"2026-07-21 08:34:07","revision":3616700},"1.1.0":{"tag":"1.1.0","author":"getmitch","date":"2026-10-08 18:59:57","revision":3735374}},"upgrade_notice":{"1.1.0":"<p>Lets Mitch link your new blog posts from related pages, with automatic undo if a check fails.<\/p>","1.0.2":"<p>Removes a discouraged function call flagged by Plugin Check - no functional change.<\/p>","1.0.1":"<p>Security hardening for JSON-LD and meta sanitization - recommended update.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3616686,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3616686,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3616686,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3616686,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2516,5777,23853,1117,186],"plugin_category":[55],"plugin_contributors":[272581],"plugin_business_model":[],"class_list":["post-338228","plugin","type-plugin","status-publish","hentry","plugin_tags-json-ld","plugin_tags-meta-description","plugin_tags-rest-api","plugin_tags-schema","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-getmitch","plugin_committers-getmitch"],"banners":{"banner":"https:\/\/ps.w.org\/mitch-seo\/assets\/banner-772x250.png?rev=3616686","banner_2x":"https:\/\/ps.w.org\/mitch-seo\/assets\/banner-1544x500.png?rev=3616686","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/mitch-seo\/assets\/icon-128x128.png?rev=3616686","icon_2x":"https:\/\/ps.w.org\/mitch-seo\/assets\/icon-256x256.png?rev=3616686","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Mitch SEO is a small companion plugin for customers of getmitch.ai. It does three\nthings:<\/p>\n\n<ol>\n<li>Registers three post-meta keys (<code>_mitch_seo_title<\/code>, <code>_mitch_seo_metadesc<\/code>,\n   _mitch_jsonld) for the WordPress REST API so Mitch can write approved SEO\nfixes to your pages. WordPress silently ignores writes to unregistered meta,\nso this registration is required.<\/li>\n<li>Renders those values through your active SEO plugin's own output (Yoast,\nRank Math, All in One SEO, SEOPress) - or standalone if you have no SEO\nplugin. It never overwrites your SEO plugin's own fields, so any change Mitch\nmakes is fully reversible from the Mitch dashboard.<\/li>\n<li>Adds internal links to your existing pages when Mitch publishes a new blog\npost, so the post is linked from related pages on your site. It wraps a\nphrase that is already in the page's body text in a link to the new post,\nnever rewrites any other text, saves an exact copy of the original first,\nchecks the result, and restores the original automatically if anything\nother than the new link changed. Works with Elementor text widgets and\nclassic or block-editor content; pages built with other page builders are\nleft untouched.<\/li>\n<\/ol>\n\n<p>Mitch SEO requires a getmitch.ai account. To sign up, go to\n<a href=\"https:\/\/www.getmitch.ai\/?utm_source=wordpress&amp;utm_medium=plugin&amp;utm_campaign=mitch-seo\">https:\/\/www.getmitch.ai<\/a>\nand create your account, then connect your site from the dashboard.<\/p>\n\n<p>All REST access requires an authenticated user (WordPress Application Password)\nwith permission to edit the post. No endpoint is public.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin is a companion to the getmitch.ai SEO service. It does not connect\nto any external service on its own - it only responds to authenticated REST API\nrequests made by your own getmitch.ai account.<\/p>\n\n<p>What is sent, and when: when you approve an SEO fix in your getmitch.ai\ndashboard, getmitch.ai's servers send a single authenticated REST API request\nto your own WordPress site (using the WordPress Application Password you\ncreated when connecting) to read or write that page's title, meta description,\nand JSON-LD structured data.<\/p>\n\n<p>When a blog post you approved in your getmitch.ai dashboard is published,\ngetmitch.ai may also request the rendered body of a few related pages on your\nsite, add one link to the new post in each page's body text, and undo that\nedit if its checks fail. No other data is read or transmitted, and no request\nhappens unless you have connected your site.<\/p>\n\n<p>This plugin itself never initiates an outbound request to getmitch.ai or any\nother server - it only exposes authenticated REST endpoints (status, and the\ninternal-link insert\/rollback\/render endpoints under <code>wp-json\/mitch-seo\/v1<\/code>)\nand REST-writable post meta, all of which require a logged-in WordPress user\ncapable of editing the relevant post.<\/p>\n\n<p>Terms of Service: https:\/\/getmitch.ai\/terms\nPrivacy Policy: https:\/\/getmitch.ai\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/mitch-seo<\/code>, or install it\nthrough the WordPress Plugins screen (Plugins -&gt; Add New -&gt; Upload Plugin).<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>In your getmitch.ai dashboard, go to Settings -&gt; WordPress and connect your\nsite using a WordPress Application Password (create one under Users -&gt;\nProfile -&gt; Application Passwords on your WordPress site).<\/li>\n<li>Once connected, SEO fixes approved in your getmitch.ai dashboard will apply\nto the pages you choose.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20getmitch.ai%20account%3F\"><h3>Do I need a getmitch.ai account?<\/h3><\/dt>\n<dd><p>Yes. This plugin only makes SEO fixes possible on your site - the fixes\nthemselves are generated and approved from your getmitch.ai dashboard. Sign up\nat <a href=\"https:\/\/www.getmitch.ai\/?utm_source=wordpress&amp;utm_medium=plugin&amp;utm_campaign=mitch-seo\">https:\/\/www.getmitch.ai<\/a>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20seo%20plugin%3F\"><h3>Does it work with my SEO plugin?<\/h3><\/dt>\n<dd><p>Yes. Mitch SEO renders through Yoast SEO, Rank Math, All in One SEO, and\nSEOPress automatically, or on its own if you don't use an SEO plugin. It never\noverwrites your SEO plugin's own stored fields.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20send%20data%20to%20getmitch.ai%20on%20its%20own%3F\"><h3>Does this plugin send data to getmitch.ai on its own?<\/h3><\/dt>\n<dd><p>No. It never initiates outbound requests. It only responds to authenticated\nrequests that your own getmitch.ai account makes to your site. See \"External\nservices\" below for details.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens if I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Your SEO plugin (or WordPress core) goes back to rendering its own title and\ndescription immediately. The meta values Mitch wrote are preserved, so nothing\nis lost, but Mitch's overrides no longer render.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added authenticated endpoints for internal links: insert-link wraps the first\nplain body-text occurrence of a phrase in a link (Elementor text widgets or\nclassic\/block content; headings, buttons and existing links are skipped),\nrollback restores the exact original from a stored snapshot, and render\nreturns the server-rendered body for verification.<\/li>\n<li>Status endpoint now reports capabilities and is also served at\n  mitch-seo\/v1\/status.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Removed the manual translation-loading call - WordPress.org already loads\ntranslations for this slug automatically, and Plugin Check flags a manual\nload_plugin_textdomain() call as discouraged.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Hardened JSON-LD output escaping and added sanitize_callback to all\nREST-registered post meta.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: REST-registered meta bridge, plugin-agnostic rendering,\nauthenticated status endpoint.<\/li>\n<\/ul>","raw_excerpt":"Lets Mitch apply approved SEO fixes (title, meta description, JSON-LD) via the REST API, rendered through whichever SEO plugin is active.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/338228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=338228"}],"author":[{"embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/getmitch"}],"wp:attachment":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=338228"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=338228"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=338228"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=338228"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=338228"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=338228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}