{"id":383986,"date":"2026-10-12T16:44:19","date_gmt":"2026-10-12T16:44:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/metashift-bulk-seo-manager-for-rank-math\/"},"modified":"2026-10-13T12:08:08","modified_gmt":"2026-10-13T12:08:08","slug":"metashift","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/metashift\/","author":23583403,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.0","stable_tag":"1.7.0","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"MetaShift \u2013 Bulk SEO Manager for Rank Math","header_author":"Muhammad Irtaza","header_description":"Bulk export and import slugs, titles, meta titles, descriptions and content for any post type or taxonomy via CSV \u2014 with preview and undo.","assets_banners_color":"8f8ddd","last_updated":"2026-10-13 12:08:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/mirtaza.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":76,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.6.0":{"tag":"1.6.0","author":"irtazacodes","date":"2026-10-12 16:43:58","revision":3742175},"1.7.0":{"tag":"1.7.0","author":"irtazacodes","date":"2026-10-13 12:08:08","revision":3743849}},"upgrade_notice":{"1.7.0":"<p>Adds Find &amp; Replace and Quick fix in the SEO health report.<\/p>","1.6.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3743772,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3743772,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3743772,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3743772,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.6.0","1.7.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3743772,"resolution":"1","location":"assets","locale":"","width":1234,"height":1172},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3743772,"resolution":"2","location":"assets","locale":"","width":1234,"height":1085},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3743772,"resolution":"3","location":"assets","locale":"","width":1234,"height":1224},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3743772,"resolution":"4","location":"assets","locale":"","width":1234,"height":916}},"screenshots":{"1":"Overview \u2013 SEO coverage for every post type and taxonomy.","2":"Export \u2013 all items or hand-picked items, with Shift + click range selection.","3":"Import preview \u2013 every change as old \u2192 new before anything is saved.","4":"History \u2013 reports and one-click undo for every import."}},"plugin_section":[],"plugin_tags":[11143,567,5777,174175,186],"plugin_category":[55],"plugin_contributors":[286230],"plugin_business_model":[],"class_list":["post-383986","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-edit","plugin_tags-csv","plugin_tags-meta-description","plugin_tags-rank-math","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-irtazacodes","plugin_committers-irtazacodes"],"banners":{"banner":"https:\/\/ps.w.org\/metashift\/assets\/banner-772x250.png?rev=3743772","banner_2x":"https:\/\/ps.w.org\/metashift\/assets\/banner-1544x500.png?rev=3743772","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/metashift\/assets\/icon-128x128.png?rev=3743772","icon_2x":"https:\/\/ps.w.org\/metashift\/assets\/icon-256x256.png?rev=3743772","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/metashift\/assets\/screenshot-1.png?rev=3743772","caption":"Overview \u2013 SEO coverage for every post type and taxonomy."},{"src":"https:\/\/ps.w.org\/metashift\/assets\/screenshot-2.png?rev=3743772","caption":"Export \u2013 all items or hand-picked items, with Shift + click range selection."},{"src":"https:\/\/ps.w.org\/metashift\/assets\/screenshot-3.png?rev=3743772","caption":"Import preview \u2013 every change as old \u2192 new before anything is saved."},{"src":"https:\/\/ps.w.org\/metashift\/assets\/screenshot-4.png?rev=3743772","caption":"History \u2013 reports and one-click undo for every import."}],"raw_content":"<!--section=description-->\n<p><strong>MetaShift<\/strong> lets you edit the SEO of hundreds or thousands of pages, posts, products, categories and tags in Excel or Google Sheets \u2014 and bring the changes back into WordPress safely.<\/p>\n\n<p>Export a CSV, edit meta titles, meta descriptions, slugs, titles or content, import it back, review a full preview of every change, and apply it. If anything is wrong, undo the whole import with one click.<\/p>\n\n<h4>What makes MetaShift different<\/h4>\n\n<ul>\n<li><strong>Preview before saving<\/strong> \u2013 every change is shown as <em>old \u2192 new<\/em>, checked against Rank Math's limits (meta title 60 characters \/ 580 px, meta description 160 characters \/ 920 px, slug 75 characters), with warnings and errors. Nothing is saved until you confirm, and you can untick individual changes (Shift + click selects a range).<\/li>\n<li><strong>One-click undo<\/strong> \u2013 every import keeps a backup of the previous values, including slugs, content and redirects.<\/li>\n<li><strong>Safe slug changes<\/strong> \u2013 slugs are made unique exactly like WordPress does, and a 301 redirect from the old URL is created in Rank Math Redirections automatically (without duplicates or redirect loops).<\/li>\n<li><strong>Choose exactly what to export<\/strong> \u2013 all items, or only the items you pick from a searchable list.<\/li>\n<li><strong>Post types and taxonomies<\/strong> \u2013 posts, pages, products, custom post types, media, categories, tags, product categories and custom taxonomies.<\/li>\n<li><strong>SEO health report<\/strong> \u2013 the Overview shows every item that breaks Rank Math's recommendations: meta titles over 60 characters \/ 580 px, descriptions over 160 characters \/ 920 px, slugs over 75 characters, duplicate titles and descriptions, images without alt text and items without a custom title or description. Expand any issue to see exactly which posts, pages or products are affected, worst first, and export just those items to fix them.<\/li>\n<li><strong>Find &amp; Replace<\/strong> \u2013 change text in meta titles, descriptions, page titles, focus keywords and social titles across hundreds of items at once (for example 2025 \u2192 2026 or an old brand name), with match-case and whole-word options, a full preview and one-click undo.<\/li>\n<li><strong>Quick fix<\/strong> \u2013 fix a too-long or duplicate meta title, meta description or slug right inside the SEO health report, with live character and pixel counters. Every quick fix is saved in History and can be undone.<\/li>\n<li><strong>Images &amp; alt text<\/strong> \u2013 export every featured image, product gallery image, category image and image inside your page content \u2013 block editor, classic editor, HTML, Elementor, Beaver Builder, Bricks, WPBakery, Divi and lazy-loaded images \u2013 with its alt text, edit the alt text in your spreadsheet and import it back (with preview and undo).<\/li>\n<li><strong>Content import that keeps your layout<\/strong> \u2013 edit content as plain text, clean HTML or raw. Only items you really changed are updated; unchanged blocks (images, embeds, columns\u2026) are kept exactly, and edited HTML becomes valid block-editor blocks.<\/li>\n<\/ul>\n\n<h4>Fields<\/h4>\n\n<ul>\n<li>Slug, Page Title (or term Name), Meta Title, Meta Description<\/li>\n<li>Optional: Focus Keyword, Canonical URL, Robots Meta, Social (Open Graph) Title and Description<\/li>\n<li>Optional: Content, Excerpt, Word Count (export only)<\/li>\n<\/ul>\n\n<p>Values are written to Rank Math's own fields, so changes appear in Rank Math and on your site immediately. Rank Math variables such as <code>%title%<\/code>, <code>%sep%<\/code> and <code>%sitename%<\/code> are preserved.<\/p>\n\n<h4>Export<\/h4>\n\n<ul>\n<li>One post type or taxonomy per file \u2013 all items or a hand-picked selection.<\/li>\n<li>Filters: published only (default) or any status, items missing a meta title \/ description \/ focus keyword, titles over 60 or descriptions over 160 characters.<\/li>\n<li>Choose your columns, delimiter (comma, semicolon, tab) and an Excel-friendly UTF-8 file.<\/li>\n<li>Content as plain text, clean HTML or raw, with optional protection against Excel's 32,767-character cell limit.<\/li>\n<li>Download a sample CSV for any post type or taxonomy.<\/li>\n<\/ul>\n\n<h4>Import<\/h4>\n\n<ul>\n<li>Match rows by ID or URL (URL matching also works with staging URLs and Screaming Frog exports).<\/li>\n<li>Smart column detection: \"Meta Description\" always wins over a generic \"Description\" column; Excel's invisible characters and small typos in headers are handled; the preview warns when an important column is missing.<\/li>\n<li>Empty cells are skipped (or, optionally, clear SEO fields so Rank Math uses its template). Slugs, titles and content are never cleared from an empty cell.<\/li>\n<li>Every meta write is verified against the database.<\/li>\n<li>Large files are processed in small batches; an interrupted import can be resumed.<\/li>\n<li>A downloadable report and a history of every import.<\/li>\n<\/ul>\n\n<h4>Safety for page builders<\/h4>\n\n<p>Pages built with Elementor, Beaver Builder or Bricks keep their content in the builder, so MetaShift never overwrites it. Divi, WPBakery and Avada pages only accept content exported in Raw format.<\/p>\n\n<h4>Exact meta titles<\/h4>\n\n<p>Some themes add \"| Site Name\" after every title. MetaShift outputs the page title exactly as written in your meta title, so what you import is what visitors and search engines see. Developers can turn this off with the <code>mibs_exact_title_enabled<\/code> filter.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>MetaShift does not connect to any external service and does not collect any data. Uploaded CSV files and import reports are stored in a protected folder inside your uploads directory and cleaned up automatically.<\/p>\n\n<h4>Disclaimer<\/h4>\n\n<p>MetaShift is an independent plugin and is not affiliated with or endorsed by Rank Math. \"Rank Math\" is a trademark of its respective owner.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>Rank Math SEO<\/strong> (required).<\/li>\n<li>In WordPress go to Plugins \u2192 Add New, search for \"MetaShift\", then install and activate it.<\/li>\n<li>Open <strong>MetaShift<\/strong> in the admin menu.<\/li>\n<li>Export a CSV, edit it, and import it back on the Import tab.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20columns%20does%20a%20csv%20need%3F\"><h3>Which columns does a CSV need?<\/h3><\/dt>\n<dd><p>An <code>ID<\/code> column (recommended) or a <code>URL<\/code> column, plus at least one column to update, such as <code>Slug<\/code>, <code>Page Title<\/code>, <code>Meta Title<\/code> or <code>Meta Description<\/code>. Download the sample CSV from the Export or Import tab to see the format.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20an%20import%3F\"><h3>Can I undo an import?<\/h3><\/dt>\n<dd><p>Yes. Open the History tab and click Undo. All values changed by that import are restored, including slugs, content and redirects.<\/p><\/dd>\n<dt id=\"an%20exported%20meta%20title%20is%20empty.%20why%3F\"><h3>An exported meta title is empty. Why?<\/h3><\/dt>\n<dd><p>The item has no custom meta title, so Rank Math uses the template from Rank Math \u2192 Titles &amp; Meta.<\/p><\/dd>\n<dt id=\"why%20is%20a%20post%20type%20or%20taxonomy%20missing%3F\"><h3>Why is a post type or taxonomy missing?<\/h3><\/dt>\n<dd><p>By default only post types and taxonomies where at least one item has Rank Math SEO data are listed. Click \"Show all post types &amp; taxonomies\" on the Overview tab to list everything.<\/p><\/dd>\n<dt id=\"will%20editing%20content%20as%20plain%20text%20remove%20my%20formatting%3F\"><h3>Will editing content as plain text remove my formatting?<\/h3><\/dt>\n<dd><p>Only for items whose content you change. Plain text turns into simple paragraphs and lists. To keep headings, links and images while editing, export the content as Clean HTML or Raw. Unchanged items are never touched.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20change%20a%20slug%3F\"><h3>What happens when I change a slug?<\/h3><\/dt>\n<dd><p>WordPress-style unique slugs are used, and a 301 redirect from the old URL to the new one is created in Rank Math Redirections (when that module is active).<\/p><\/dd>\n<dt id=\"who%20can%20use%20metashift%3F\"><h3>Who can use MetaShift?<\/h3><\/dt>\n<dd><p>Administrators (users with the <code>manage_options<\/code> capability). Developers can change this with the <code>mibs_capability<\/code> filter.<\/p><\/dd>\n<dt id=\"how%20do%20i%20edit%20image%20alt%20text%20in%20bulk%3F\"><h3>How do I edit image alt text in bulk?<\/h3><\/dt>\n<dd><p>On the Export tab choose \"Images &amp; alt text\", pick a post type and export. The CSV has one row per image (featured image, product gallery, category image or image inside the content). Change the Alt Text column and import the file on the Import tab \u2014 MetaShift recognises an images file automatically. Featured, gallery and category images are updated in the Media Library; images inside content are updated inside that post. Every change can be undone from History.<\/p><\/dd>\n<dt id=\"does%20metashift%20work%20with%20woocommerce%3F\"><h3>Does MetaShift work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Products, product categories and product tags are supported like any other post type or taxonomy.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>New: Find &amp; Replace \u2013 bulk change text in meta titles, meta descriptions, page titles, focus keywords and social titles, with preview, match case, whole words and undo.<\/li>\n<li>New: Quick fix \u2013 edit meta titles, meta descriptions and slugs straight from the SEO health report, with live character and pixel counters, saved to History with undo.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>First public release on WordPress.org.<\/li>\n<li>Bulk export and import of slugs, titles, Rank Math meta titles and descriptions, focus keywords, canonical URLs, robots meta and social titles\/descriptions.<\/li>\n<li>Post types and taxonomies, all items or hand-picked items.<\/li>\n<li>Content and excerpt export\/import (plain text, clean HTML, raw) with block-editor support and page-builder protection.<\/li>\n<li>SEO health report on the Overview tab with expandable details per issue.<\/li>\n<li>Images &amp; alt text export and import (featured, gallery, category and content images).<\/li>\n<li>Preview with selectable changes, one-click undo, resumable imports, reports and history.<\/li>\n<li>Automatic 301 redirects in Rank Math Redirections for changed slugs.<\/li>\n<li>Exact meta titles on the front end (no site name added by the theme).<\/li>\n<\/ul>","raw_excerpt":"Bulk edit Rank Math meta titles, descriptions, slugs and content in a spreadsheet. Preview every change before saving and undo any import.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=383986"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/irtazacodes"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383986"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383986"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383986"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383986"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383986"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}