Install WP Visibility beside The SEO Framework, open WP Visibility → Settings, scroll to the Import section, choose The SEO Framework under Import from, click Preview changes, read it, then click Import now. The SEO Framework’s rows are read and never changed.
Before you start
- Take a database backup. The import cannot reverse itself.
- Note your category and tag SEO. The SEO Framework keeps term settings in its own term meta, and this import does not read it. Plan to re-enter those values on each term’s edit screen.
- The SEO Framework must have been set up on this site: the import looks for its settings option. It does not need to be active.
- Both plugins print head tags while both are active, so import and deactivate in one sitting, or work on staging.
What comes across
The SEO Framework stores per-post values under names inherited from the Genesis theme. These are read; an empty field is skipped.
| The SEO Framework field | WP Visibility field |
|---|---|
_genesis_title |
Search title |
_genesis_description |
Search description |
_genesis_canonical_uri |
Canonical URL |
_open_graph_title |
Social title |
_open_graph_description |
Social description |
_social_image_id |
Social image |
_twitter_title |
X title |
_twitter_description |
X description |
_genesis_noindex |
Search engine indexing |
_genesis_nofollow |
Link following |
Robots. The SEO Framework uses three states, and so does WP Visibility, so they map straight across: 1 becomes Noindex or Nofollow, -1 becomes an explicit Index or Follow, and 0 writes nothing, so the post keeps inheriting the site policy.
Settings. Three: the title separator, translated from The SEO Framework’s named codes (ndash to an en dash, pipe to |, middot to · and so on; an unknown code keeps your WP Visibility default), the homepage title and the homepage description.
What stays behind
- Category, tag and custom taxonomy SEO.
- A separate X image; X uses the Open Graph image.
- Post type and archive defaults, the title settings beyond the separator, social defaults, schema and knowledge graph settings, verification codes, sitemap and robots settings. Set them in WP Visibility after the import: Set Title and Description Templates.
- Redirects. The SEO Framework does not manage redirect rules; if another plugin does, see Redirect a Changed URL.
Which posts are found
The import looks for posts that have a custom title stored (_genesis_title). A post with only a description, canonical, social field or indexing choice, and no custom title, is not found and keeps WP Visibility’s defaults. Before you deactivate The SEO Framework, open one or two posts you know were set that way and check them in the WP Visibility sidebar; set the value by hand or with wp visibility set <id>.
Preview, then import
From the settings screen: Import from, Preview changes, then Import now. The preview shows how many posts would change and a sample before and after.
From the command line:
wp visibility import tsf --dry-run --user=admin
wp visibility import tsf --user=admin
Over REST, POST /wp-json/wpvis/v1/import/run with source: "tsf" defaults to dry_run: true; send dry_run: false and follow offset until remaining is 0. It needs manage_options and does not pass through the review queue.
The live run works in batches of 200 and applies the three settings on the first batch; the preview covers posts only, so check the separator and homepage afterward. Posts whose values already match are skipped. Running it again after you have edited titles in WP Visibility puts the old values back.
The SEO Framework stores plain text, not template variables, so titles arrive exactly as written.
After the import
- View the source of ten URLs you know and check the title, description, canonical and robots line.
- Re-enter the category and tag SEO you noted.
- Deactivate The SEO Framework. Its data stays in the database.
- Resubmit the sitemap at
/sitemap.xml: Submit Your Sitemap.
Field names checked against the WP Visibility importer in 2.10.3 on September 27, 2026.