Skip to main content
Migration guide · SEO

Migrating Yoast and Rank Math SEO data to Shopify.

Years of hand-written titles and meta descriptions live in your SEO plugin, not in WooCommerce itself. A product export does not include them. This guide shows where Yoast SEO and Rank Math keep each field, how to extract the rendered values, what every field becomes on Shopify, and the limits Shopify applies.

70characters in a Shopify SEO title; Shopify suggests staying near 60Shopify Help Center1
320characters in a Shopify SEO description via CSV; 160 is the recommendationShopify Help Center12
512characters of image alt text per product imageShopify CSV reference2
1 callper post gets Yoast's final title and description through the REST APIYoast developer docs3

In brief

  • Yoast SEO stores a post's custom title and description in the WordPress post meta keys _yoast_wpseo_title and _yoast_wpseo_metadesc; Rank Math uses rank_math_title and rank_math_description.45
  • Stored Yoast titles often contain template variables such as %%title%% %%sep%% %%sitename%%; the Yoast REST API's yoast_head_json field returns the final rendered title, description, canonical and robots values, which is what you should migrate.3
  • On Shopify, titles and descriptions map to the SEO title and SEO description fields on products, collections, pages and posts; the product CSV accepts up to 70 and 320 characters respectively, and 512 characters of image alt text.2
  • Shopify has no per-page canonical override and no plain noindex switch; hiding a page from search needs the seo.hidden metafield or a theme code change.6

Where the data lives

WooCommerce's product export contains names, descriptions and attributes, but not the search title or meta description, because those belong to the SEO plugin. Both major plugins store them as post meta in the wp_postmeta table.

FieldYoast SEO meta keyRank Math meta key
SEO title_yoast_wpseo_titlerank_math_title
Meta description_yoast_wpseo_metadescrank_math_description
Focus keyword_yoast_wpseo_focuskwrank_math_focus_keyword
Canonical URL_yoast_wpseo_canonicalrank_math_canonical_url
Robots (noindex etc.)_yoast_wpseo_meta-robots-noindexrank_math_robots

Yoast keys from independent developer documentation of the plugin's post meta;4 Rank Math keys from Rank Math's knowledge base.5

The template trap

A stored Yoast title is frequently a template such as %%title%% %%sep%% %%sitename%%, or empty because the site-wide template applies. If you copy the raw meta value you migrate a placeholder, not a title. Migrate the rendered output instead.

How to extract the rendered values

Yoast SEO: the REST API

Yoast adds two fields to every post, page and product in the WordPress REST API: yoast_head, a ready-made block of meta tags, and yoast_head_json, the same data as key/value pairs including title, description, robots, canonical, Open Graph and Twitter values and schema.3 Because the values are rendered, template variables are already resolved.

GET /wp-json/wc/v3/products?per_page=100&page=1     (with a read-only key)
GET /wp-json/wp/v2/posts?per_page=100
GET /wp-json/wp/v2/pages?per_page=100
→ each item includes "yoast_head_json": { "title": …, "description": …, "canonical": …, "robots": { … } }

Category and tag archives are available the same way through /wp/v2/product_cat and /wp/v2/product_tag, which gives you collection titles and descriptions too.

Rank Math: CSV export

Rank Math includes a CSV export of its metadata under Rank Math SEO → Status & Tools → Import & Export, which is the method it recommends for editing titles and descriptions at scale.5 The export includes the stored values; check any rows that contain template variables and render them from the live page or the REST response.

The safety net: crawl the live site

Whichever plugin you use, a crawl of the live storefront captures the final title, meta description, canonical and robots tags exactly as search engines see them. It is the fastest way to verify the export and catches pages the plugin did not manage.

Field map to Shopify

WordPress / pluginShopifyNotes
SEO titleSEO title on product, collection, page, blog postStore name is appended by many themes; check for duplication.
Meta descriptionSEO descriptionTruncate at 320 characters in the CSV; aim for 160.12
SlugURL handleKeep identical so redirects become a prefix change; see the redirects guide.
Image alt textImage alt text (per image)Up to 512 characters; exported from the media library, not the SEO plugin.2
Category title and descriptionCollection SEO title and descriptionCollections also have a visible description field; keep the two distinct.
Focus keywordNo equivalentAn editorial aid, not output; keep it in your own records.
Canonical URL overrideNo per-page overrideShopify sets canonicals itself; cross-domain canonicals need theme code.
Noindex on a pageseo.hidden metafield or theme codeSet the seo.hidden metafield to 1, or add a noindex tag in theme.liquid for specific handles.6
Open Graph / Twitter title and imageTheme-generated from title and featured imageShopify themes output social tags automatically; custom per-page social titles need metafields.
Schema markupTheme-generatedProduct, Organization and Article schema come from the theme; custom FAQ or HowTo schema needs theme or app work.
Breadcrumb settingsThemeBreadcrumbs are a theme feature on Shopify.
Redirects (Yoast Premium, Rank Math, Redirection)URL redirectsExport and merge into the Shopify redirect import so old sources point straight to the new target.

Shopify's limits

FieldHard limitShopify's recommendation
SEO title70 charactersUp to 60, to avoid truncation in results1
SEO description320 characters (CSV)160 characters12
Image alt text512 charactersDescribe the image; alt text is not a keyword field2

Yoast and Rank Math both allow longer values than Shopify's title limit, so a migration must decide what to do with titles above 70 characters: trim at a word boundary, or rewrite the longest ones by hand. The checker below shows which is which.

Length checker

Paste a title and description to see how they sit against Shopify's limits and how they might render in a search result. Nothing you type leaves this page.

Limit 70 · recommended 600
Limit 320 · recommended 1600
yourstore.com › products › linen-shirt

What has no equivalent on Shopify

  • Per-page canonical overrides. Shopify generates canonical tags itself. If you used Yoast canonicals to consolidate duplicate WooCommerce pages, resolve the duplicates during migration instead, with one Shopify page and a redirect.
  • Noindex as a checkbox. Use the seo.hidden metafield, or a conditional noindex tag in the theme for specific handles.6 Products can also be set to unlisted.
  • Custom social titles and descriptions. Shopify's Open Graph tags come from the page title and image; per-page overrides need metafields and a small theme change.
  • Plugin-generated schema. Recipe, FAQ, HowTo or review schema from your SEO plugin does not migrate. Shopify themes emit product and organisation schema; anything else is theme work.

Step by step

  1. Export rendered values for products, categories, tags, pages and posts through the REST API or Rank Math's CSV, and keep the WordPress ID and slug on every row.
  2. Crawl the live site and compare; the crawl wins where the two differ, because it is what search engines indexed.
  3. Normalise. Strip the appended site name if your Shopify theme adds it, trim titles above 70 characters at a word boundary, and flag descriptions above 160 for review.
  4. Load into Shopify through the product CSV columns SEO title, SEO description and Image alt text, or through the Admin API for collections, pages and articles.2
  5. Spot-check 20 pages in the search engine listing preview and with a crawl of the new store before launch.
  6. Handle the exceptions: noindex pages, canonical consolidations and custom schema, each with a deliberate decision rather than a silent loss.

We carry SEO fields over as part of every migration.

  • Rendered titles and descriptions, not templates
  • Collection SEO fields from category archives
  • Image alt text kept per image
  • Titles above the limit flagged for review
  • Redirect map built at the same time
  • Preview before you pay
Scan my store freeThe scan detects your SEO plugin automatically.

Frequently asked questions

Does the WooCommerce product export include Yoast titles and descriptions?

No. The product export contains product data only. Search titles and meta descriptions are stored by the SEO plugin as post meta and must be exported separately, for example through the Yoast REST API fields or Rank Math's CSV export.

What is the character limit for Shopify SEO titles and descriptions?

Shopify allows up to 70 characters in the SEO title and recommends around 60. The product CSV accepts up to 320 characters in the SEO description, and Shopify recommends about 160.

Can I set a canonical URL on a Shopify page?

Not through the admin. Shopify generates canonical tags automatically. Cross-domain or custom canonicals require a theme code change.

How do I noindex a page on Shopify?

Set the seo.hidden metafield to 1 on the product, page or post, or add a conditional noindex meta tag to theme.liquid for specific handles, as Shopify's help centre describes. Products can also be made unlisted.

Should I migrate the focus keyword?

There is nowhere to put it on Shopify and it is not output to search engines. Keep it in your own content records if it guides future writing.

Sources

  1. Shopify. Adding keywords for SEO to your Shopify store, Shopify Help Center: title up to 70 characters, 60 suggested; 160-character description recommendation.
  2. Shopify. Using CSV files to import and export products: SEO title up to 70, SEO description up to 320, image alt text up to 512 characters.
  3. Yoast. Yoast SEO REST API: the yoast_head and yoast_head_json fields.
  4. Bill Erickson. Yoast SEO title and description in site search results: the _yoast_wpseo_title and _yoast_wpseo_metadesc post meta keys. independent developer
  5. Rank Math. Editing meta title and descriptions at scale: rank_math_title, rank_math_description and the CSV export and import.
  6. Shopify. Hiding a page from search engines: the seo.hidden metafield and the theme.liquid noindex method.
  7. Yoast. Yoast SEO Metadata API: the title, description, canonical, robots, Open Graph and Twitter values Yoast outputs.

Mufatech Studio migrates stores to Shopify. Limits are quoted from Shopify's documentation as of September 2026; plugin meta keys from the plugins' own or independent developer documentation.