Switching SEO plugins guide
Audit the Sitewide SEO Defaults a Metadata Import Leaves Behind
Record the old plugin's templates, archive rules, social defaults, and verification codes, give each one a destination, and check one page of every type afterward.
On this page
A metadata import moves per-post values, for some sources term values, and, at most, a few site settings. Every other sitewide choice in the old plugin, from archive title templates to verification codes, needs a written decision: set it again, accept the new default, or drop it. Record the old settings before you switch, assign each one a destination, and then check one page of every type.
Matching post titles after an import do not show that settings match, because archives, and posts without a title of their own, render from templates and defaults. Variable translation inside titles has its own guide, Translate SEO Title Variables.
What the import carries
WP Visibility 2.10.3 imports three settings from four sources and none from the fifth:
| Source | Title separator | Homepage title | Homepage description | Other settings |
|---|---|---|---|---|
| Yoast SEO | Yes, from its separator code | Yes | Yes | No |
| Rank Math | Yes | Yes | Yes | No |
| SEOPress | Yes | Yes | Yes | No |
| The SEO Framework | Yes, from its named code | Yes | Yes | No |
| All in One SEO | No | No | No | No |
An unrecognized separator code is skipped and your current WP Visibility separator stays. The three settings are written on the first batch of the live import, and the preview does not show them. Each source doc lists what stays behind, for example Migrate from Yoast SEO and Migrate from All in One SEO.
Vendor settings exports are no shortcut here. Rank Math’s settings import and export guide, checked September 27, 2026, says its export format is not universal for SEO plugins and that settings exported from Rank Math cannot be imported into other SEO plugins. It is still useful as a dated record of what was set.
Record the source defaults
While the old plugin is active, save three things:
- Screenshots of every settings screen that affects output: titles and meta for each content type and archive, social, schema or knowledge graph, sitemaps, robots and indexing, verification, and breadcrumbs.
- The raw options, where you know their names. For the four sources whose settings options WP Visibility reads:
wp option get wpseo_titles --format=json > yoast-titles.json
wp option get rank-math-options-titles --format=json > rankmath-titles.json
wp option get seopress_titles_option_name --format=json > seopress-titles.json
wp option get autodescription-site-settings --format=json > tsf-settings.json
- The rendered head of one URL per page type, listed under Verify representative archive output below. This is what you will compare against.
Assign each setting a destination
Build a worklist with one row per source setting and one of four outcomes: imported, set by hand, no equivalent, or intentionally dropped. This table maps common settings to WP Visibility’s settings screen:
| Source setting | Where it goes in WP Visibility | Note |
|---|---|---|
| Title separator | General → Title separator | Imported for four sources; confirm it |
| Homepage title and description | General | Imported for four sources |
| Title and description template per post type | Titles & descriptions → Post & page title template and Post & page description template | One shared template each; use {post_type_singular} or per-post overrides to tell types apart |
| Taxonomy, post type archive, and date archive templates | Archive title template, Archive description template | One shared title template; the description template covers taxonomy archives only |
| Author, search, and 404 title templates | Their own title templates | These page types print no description |
| Noindex rules for types, taxonomies, authors, dates, paged archives | Indexing | See the robots guide below |
| Snippet and image preview limits | Indexing | Printed on indexable pages |
| Default social image, X handle, card type | Social | Set a Default Social Image |
| Organization or person, logo, profiles | Schema | Set Your Site Identity |
| Google, Bing, Pinterest, Yandex verification codes | Site verification | See below |
| Sitemap contents | Sitemaps and Indexing | Served at /sitemap.xml, which may be a new address |
| Redirects | The Redirects page, once the Redirects module is on | A separate job: Convert Redirect Exports |
| Breadcrumb settings | No settings section; the trail follows the separator | Add a Visible Breadcrumb Trail |
| Local SEO, analytics, rank tracking, content scores | No equivalent | Record and decide |
The templates themselves are explained in Set Title and Description Templates. Indexing rules have their own procedure in Check Noindex and Inherited Defaults After an SEO Plugin Switch.
Give verification codes priority. If the old plugin printed the Search Console tag, it stops when the plugin is deactivated. Google’s verification help, checked September 27, 2026, says Search Console periodically checks that the verification token is still present, and that permissions expire after a grace period if it cannot be confirmed. Paste the codes into Site verification before you deactivate the old plugin, or verify by DNS instead.
Know the defaults that differ
Where you accept a WP Visibility default instead of copying the old setting, know what that default is:
| Setting | WP Visibility starts with |
|---|---|
| Post and page title | {title} {sep} {site} |
| Archive title | {term_title} {sep} {site} |
| Homepage title | {site} {sep} {tagline}, unless a homepage title is set |
| Post description | {excerpt}, which falls back to the content |
| Page 2 and later | The separator and “Page 2” are appended to the title automatically |
| Noindexed by default | Search results, date archives, post format archives |
| Indexable by default | Author archives, paged archives, all other types and taxonomies; attachment pages redirect to the file instead |
Two differences catch people out. There is no separate template per post type, so a store that used a different product title pattern gets one shared pattern: add {post_type_singular} to name the type, or set overrides on individual products. And search results, 404, date, author, and post type archive pages print no meta description.
Verify representative archive output
Check one URL of every page type the site has. An illustrative sample for garden.example:
| Page type | Example URL |
|---|---|
| Homepage | / |
| Post | /how-to-prune/ |
| Page | /about/ |
| Custom post type entry | /courses/rose-care/ |
| Category, tag, custom taxonomy | /category/pruning/, /tag/seasonal/, /plant-type/roses/ |
| Post type archive | /courses/ |
| Author and date archives | /author/sam/, /2026/05/ |
| Paged archive | /category/pruning/page/2/ |
| Search and 404 | /?s=compost, /no-such-page/ |
Capture the head on the baseline and on staging after the import and your settings changes, with the old plugin deactivated on staging:
while read -r path; do
echo "== $path"
curl -s "https://staging.garden.example$path" | grep -Eio '<title>[^<]*</title>|<meta name="description"[^>]*>|<link rel="canonical"[^>]*>|<meta name=.robots[^>]*>|<meta property="og:image"[^>]*>'
done < sample-paths.txt > defaults-after.txt
Compare with the baseline and mark each difference as intended or a fix. A different wording that you chose is fine; a missing description on a page type that used to have one, or an archive that changed from indexable to noindex, is a worklist item. When staging is set to discourage search engines, WP Visibility leaves the robots tag to WordPress and prints no snippet limits there, so check robots output on the live site after the switch.
Checklist
- Old settings screenshotted and options saved, with the date.
- Every setting given an outcome: imported, set by hand, no equivalent, or dropped.
- Verification codes in place before the old plugin is deactivated.
- One URL per page type compared, including a paged archive.
- Sitemap resubmitted if its address changed; see Submit Your Sitemap.
