Install WP Visibility beside SEOPress, open WP Visibility → Settings and scroll to the Import section, choose SEOPress under Import from, click Preview changes, read it, then click Import now. SEOPress’s rows are read and never changed. One thing is different from the Yoast and Rank Math imports: term SEO does not come across, so count your categories and tags with custom titles before you begin.
Before you start
- Take a database backup. The import cannot reverse itself.
- List the terms you will re-enter. SEOPress keeps category and tag SEO as term meta (SEOPress’s field list, checked September 27, 2026), and the import does not read it. Open each category or tag with a custom title or description and note the values, or plan to set them on the term edit screen afterward.
- Export redirects first if you use SEOPress PRO’s redirections, which SEOPress says can be exported to CSV (SEOPress redirects, checked September 27, 2026). The SEO import does not move them.
- Both plugins print head tags while both are active, so import and deactivate in one sitting or work on staging. SEOPress does not need to be active for the import to run.
What comes across
| SEOPress field | WP Visibility field |
|---|---|
_seopress_titles_title |
Search title |
_seopress_titles_desc |
Search description |
_seopress_robots_canonical |
Canonical URL |
_seopress_social_fb_title |
Social title |
_seopress_social_fb_desc |
Social description |
_seopress_social_fb_img |
Social image, when the URL is in your media library |
_seopress_social_twitter_title |
X title |
_seopress_social_twitter_desc |
X description |
_seopress_robots_index |
Search engine indexing |
_seopress_robots_follow |
Link following |
Robots. SEOPress stores its two checkboxes the other way round from their names: yes on the index field means the owner ticked noindex, and yes on the follow field means nofollow (SEOPress’s editor box code, checked September 27, 2026). The import reads them that way. A ticked box becomes Noindex or Nofollow; an unticked one writes nothing, and the post keeps its current WP Visibility setting, which by default inherits the site policy. There is no explicit index override from this source.
Social image. SEOPress stores the Facebook image as a URL (SEOPress REST API guide, checked September 27, 2026). The import looks that URL up in your media library and stores the attachment it finds. An external URL, or one that does not resolve to a library item, is not imported.
Settings. Three: the title separator, the homepage title and the homepage meta description. The templates are translated from the double-percent syntax: %%sitetitle%% and %%sitename%% become {site}, %%tagline%% and %%sitedesc%% become {tagline}, %%post_title%% and %%title%% become {title}, %%sep%% becomes {sep}, %%post_excerpt%% and %%excerpt%% become {excerpt}, and %%currentyear%% becomes {currentyear}. Variables with no equivalent are removed rather than left in a live title. That includes SEOPress’s custom field variable, %%_cf_KEY%% (SEOPress’s variable list, checked September 27, 2026): the import drops it, so re-add it as {custom_field:KEY} wherever you used one. Per-post titles, descriptions and social text go through the same translation.
What stays behind
- Term SEO. Category, tag and custom taxonomy titles, descriptions, canonicals and noindex. Re-enter them on each term’s edit screen, where WP Visibility adds Search title, Search description and Search engine indexing fields. The term screen has no canonical field, so term canonicals cannot be re-entered there.
- Per post type and archive templates, social defaults, schema settings, verification codes, sitemap settings and global robots defaults.
- Content analysis, the SEOPress Insights data, Google Analytics settings, and robots directives beyond noindex and nofollow (SEOPress features, checked September 27, 2026).
- Redirects. SEOPress PRO’s redirections are not part of this import, and the redirect import reads only its own layout and the Redirection and Rank Math exports. Reshape the export into three columns under a
source,target,statusheader, and start each source with/: SEOPress’s CSV guide (checked September 27, 2026) shows source URLs without the leading slash, and the redirect import skips a source that lacks one. Import the file on the Redirects page, which appears once the Redirects module is on (it is off by default): Redirect a Changed URL. Per-post redirects set in SEOPress’s editor box (the_seopress_redirections_*fields in SEOPress’s field list, checked September 27, 2026) are not imported either; re-enter each one in the post’s Redirect (301) to field, which always sends a 301, or as a rule on the Redirects page when you need another status.
Which posts are found
The import looks for posts with a SEOPress title stored. A post with only a description, canonical or robots choice, and no title, is not found and is left as it is in WP Visibility. Check one or two such posts before deactivating SEOPress, and set the value by hand or with wp visibility set <id> --description="...".
Preview, then import
From the settings screen. WP Visibility → Settings, Import section, Import from: SEOPress, Preview changes. The preview shows how many posts would change and, for the first ten, the title and description before and after; nothing is written until Import now. On a large site the preview stops after 5,000 posts and says so; Import now still covers every post.
From the command line.
wp visibility import seopress --dry-run --user=admin
wp visibility import seopress --user=admin
Over REST, POST /wp-json/wpvis/v1/import/run with source: "seopress" defaults to dry_run: true; send dry_run: false, then repeat with offset raised by 200 each call until remaining is 0. Needs manage_options; not routed through the review queue.
The live run processes posts in batches of 200 and applies the three settings on the first batch. Posts whose values already match are skipped. Running it again after editing in WP Visibility puts SEOPress’s values back.
After the import
- Check ten URLs by viewing source: homepage, posts with custom titles, a noindexed page, a page with a custom canonical.
- Re-enter the term SEO from your list, one category or tag at a time.
- Set the templates and defaults: Set Title and Description Templates.
- Deactivate SEOPress. Its deactivation routine also deactivates SEOPress PRO, removes an activation flag, and leaves your SEO data in the database (SEOPress’s code, checked September 27, 2026).
- Clear the cached sitemap with
wp visibility flush, or by saving any post, because the import does not clear it. Then resubmit the sitemap at/sitemap.xml: Submit Your Sitemap.
Field names checked against the WP Visibility importer on September 27, 2026.