Yoast subscriptions: FAQ

Yoast subscriptions: FAQ

In this article, we』ll answer frequently asked questions about Yoast subscriptions.

If you have any questions regarding our customer portal MyYoast, please check our MyYoast Quickstart guide or our article on Common MyYoast issues.

How can I extend or renew my Yoast subscription? You can manage all the Yoast SEO products you own in MyYoast, including your subscriptions. Subscriptions can be monthly or annually, and they can be manually or automatically renewed. Can I renew my annual Yoast subscription early? If you have an annual subscription, you can renew a month before the end date of your subscription. Please know that renewing your subscription a month before it ends does not cut your current subscription short. Orders that are renewed in the month before the end of the subscription will automatically get the current subscription end date + 1 year. Can I cancel my Yoast subscription? You can cancel your subscription in your MyYoast account. The subscription will remain active for the remainder of the subscription period. Where can I find my Yoast license key? A license key is no longer needed to use our premium plugins because we launched a customer portal where you can find and manage all the Yoast SEO products you own. If you don』t have an account yet or want to know how it all works, this guide will get you started.If your plugin version is below 5.x, please manually update to the current version. You can then add your website and connect your subscription to it using the MyYoast portal.  What are different domains in a Yoast subscription? Our single site plugin may only be used on one domain. The Yoast subscription verification does not look at the http/https and www/non-www when checking for activation status. However, subfolders and subdomains are used for the verification check.MyYoast treats the following standard URL formats as the same single domain:– http://example.com – https://example.com– http://www.example.com– https://www.example.comMyYoast treats the following subfolder URL formats as the same single domain:– http://example.com/subfolder– https://example.com/subfolder– http://www.example.com/subfolder– https://www.example.com/subfolderMyYoast treats the following subdomain URL formats as the same single domain:– http://subdomain.example.com– https://subdomain.example.com– http://www.subdomain.example.com– https://www.subdomain.example.com How can I change my site』s URL in MyYoast? If you switch from one URL format to another, please remove the old URL format from MyYoast and add the new URL format to avoid disruptions in your activation status. Can I upgrade my subscription to use on more sites? Subscriptions cannot be upgraded at this time. If you have multiple sites, you need multiple subscriptions.

How to disable or enable the REST API endpoint in Yoast SEO

How to disable or enable the REST API endpoint in Yoast SEO

In Yoast SEO 14.0, we introduced a REST API endpoint that will give you all the necessary metadata for a specific URL. This makes it easier for headless WordPress sites to use Yoast SEO for their SEO meta output. In this article, we』ll explain how to disable or enable this feature in the Yoast SEO plugin.

Related articles

Read more about the REST API head endpoint and what it is:

Yoast SEO 14.0: REST API endpointYoast SEO – REST APIGet the best SEO for your headless WordPress website and control the metadata you recieve

How to disable or enable the REST API head endpoint

The REST API head endpoint feature is enabled by default. If you don』t want this API on your site, you can easily disable it by following the steps below.

Log in to your WordPress website. When you』re logged in, you will be in your 『Dashboard』. Click on 『SEO』. On the left-hand side, you will see a menu. In that menu, click on 『SEO』. Click on 『Features』 in the General settings. On the Yoast SEO General settings page, go to the 『Features』 tab. To disable the API, switch the toggle for 『REST API: Head endpoint』 to 『Off』. The toggle for this API is set to 『On』 by default. To disable the REST API head endpoint, switch the toggle to 『Off』. If you want to enable the API again, simply switch the toggle back to 『On』. To enable to REST API head endpoint again, switch the toggle to 『On』. Click 『Save changes』.

How to install Yoast SEO plugins using Composer

How to install Yoast SEO plugins using Composer

Note: If you do not know what Composer is, please use the normal method of installing the Premium plugins. You can use our installation guides for that. If you want to install Yoast SEO for TYPO3, please refer to the TYPO3 version of this article.

Table of contentsInstalling Yoast SEO plugins using ComposerCreating a developer tokenTroubleshootingCachingComposer 2.0

Installing Yoast SEO plugins using Composer

MyYoast offers the ability to install our Premium plugins via Composer. You will find a 『or install with Composer』 link in the Download section of MyYoast.

Creating a developer token

Before you can install any Premium Yoast plugins using composer you will need to create a token to access our secure repository. You can do this by clicking the 『create token』 button in the pop-up you receive when you have clicked the 『or install with composer』 link. You can also create and edit your developer tokens under Account > Profile > Developer tokens.

After you have created the token, go to the Download section of MyYoast and click 『or install with Composer』 again. Then, you will see a pop-up with all the specific commands you need to install our Premium plugins through Composer. We don』t list all of the commands here because they need the developer token which is unique and you can only get through MyYoast.

For future reference (once you』ve set your developer token) you can find the complete list of Composer commands when you go to the Downloads tab of MyYoast and clicking the 『or install with Composer』 link.

Troubleshooting

Caching

Sometimes inaccurate data is stuck in the Composer Cache. Please clear it.

Composer 2.0

Composer 2.0 changes the way repositories are prioritized. You can find more information on the Composer website. In this case, you can use the only attribute. So, your composer.json file should have a line like this:

"repositories":{
"my-yoast": {
"type": "composer",
"url": "https://my.yoast.com/packages/",
"only": [
"yoast/wordpress-seo-premium",
"yoast/wordpress-seo-local",
"yoast/wpseo-video",
"yoast/wpseo-woocommerce",
"yoast/yoast-news-seo"
]
}
},

How to update your PHP version

How to update your PHP version

Before you update your PHP version, we advise you to read this article and check if your WordPress site is ready for PHP 7.

The single most important reason to update your PHP version is security. PHP versions 5.2 through to 7.0, while still actively in use on millions of sites, no longer get security updates. Another benefit of updating is the ridiculous increase in speed you get. Therefore, we recommend updating to PHP 7.1 or higher.

We always advise creating a backup of your website before making any major changes.

Most hosts have documentation explaining how you can update your PHP version yourself. In case you cannot do the update yourself, you can ask your hosting company for assistance. Below, we prepared a sample letter that you can use when contacting your host.

Hi,For security reasons and an increase in speed I want to update the PHP version of my WordPress website to PHP 7.1 or higher. WordPress also strongly recommends the latest version of PHP on their requirements page, https://wordpress.org/about/requirements/.More information about currently supported versions of PHP can be found here: http://php.net/supported-versions.php.I』ve heard that sometimes a website can break when updating the PHP version. Can you assist me and update my site safely to PHP 7.1 or higher?Thanks!

In this list, you can find the documentation on PHP 7 that our hosting partners provide.

HostDocumentationBluehostPHP version selectingCloudwaysPHP7 and its compatibilityDreamHostPHP 7 overviewGoDaddyView or change your PHP versionGreenGeeksWhat version of PHP does GreenGeek use?InMotionUsing multiple PHP versions on one accountInterServerChange PHP version in cPanelMediaTempleWhat』s new in PHP7PagelyChanging PHP versionsRAIDBOXESTechnical questionsRoseHostingRoseHosting supportSavviiChanging the PHP versionSiteGroundSwitch to a different PHP versionWP EnginePHP 7 FAQLiquidwebUpgrade Apache and PHP using cPanel

Do you work with or own a hosting company and you』d like to be listed here as well? You can go to our Yoast Hosting partnership page and fill in the form.

How to change your MyYoast account email

How to change your MyYoast account email

MyYoast is the customer portal where you can find and manage all the Yoast SEO products you own. If you don』t have an account yet or want to know how it all works, this guide will get you started.

Related articles

Log in to MyYoast
Change MyYoast password
Common MyYoast issues

If you know your current password, you can go to Account > Profile and change your account email. If you do not know your current password, please change your password with these steps. Log in to MyYoast Click on 『Account』 in the sidebar (desktop) or across the bottom (mobile). Click on the 『Profile』 tab Enter your new email address under 『Primary email address』 Click 『Save changes』

FAQ: XML sitemaps in WordPress 5.5 and Yoast SEO

FAQ: XML sitemaps in WordPress 5.5 and Yoast SEO

Since 5.5, WordPress comes with its own in-built XML sitemaps. Together with Google, we proposed to get this feature into every WordPress site out there. XML sitemaps offer an additional way for search engines to find out about your content. Now that XML sitemaps are a core feature in WordPress, over 41% of the sites on the web will have these enabled by default. Crawlers will be delighted to stumble upon all that fresh content. Cool, right? But what about the XML sitemaps in Yoast SEO?

This FAQ will answer some of your questions.

What does Yoast SEO』s XML sitemap functionality do, now that WordPress has its own sitemap?  Automatically building a fully-formed XML sitemap for every installation was always one of the biggest features of Yoast SEO. Why would we throw this out? Well, we don』t!The new XML sitemap feature in WordPress 5.5 is very basic. The one in Yoast SEO is sophisticated, with a number of enhancements and performance improvements. So, while it』s awesome news that millions of sites improve their chances of ranking thanks to the XML sitemaps in WordPress 5.5 and onwards, we』re confident the XML sitemaps in Yoast SEO are richer, better, and more powerful. Should I disable my WordPress XML sitemap? Since every WordPress now comes with its own XML sitemap, you might think it』d be a good idea to turn it off if you have already had a sitemap. While it probably won』t lead to indexing issues or the like, it』d definitely help if you only have one sitemap running. Don』t run the risk of confusing search engines. As of Yoast SEO 14.5, we automatically turn off the default XML sitemap (if you』re using our XML sitemaps) and make sure that ours runs flawlessly. You don』t have to do anything.If for some reason you don』t run Yoast SEO and you don』t want an XML sitemap on your WordPress site, you can disable it. In the documentation of WordPress XML sitemaps, you can find more information on how to do that. You can also turn it off by changing your settings to discourage search engines from indexing your site, but that would also mean that your site won』t appear in the search results at all. Be careful with that one! What』s the difference between the core XML sitemap in WordPress and the one in Yoast SEO? The current WordPress XML sitemap is very basic, while the XML sitemaps in Yoast SEO have been fully featured for many years. For the time being, we will continue to advise using our XML sitemaps.Not only does your sitemap generate automatically, but we also give you options to determine what goes into that sitemap. We already have a default list of pages that should never appear in a sitemap, but you can extend that however, you see fit. Now, if you noindex a post or page with Yoast SEO, it』s immediately removed from your sitemap.Plus, we add properties like last modified date to help crawlers distinguish between what』s new and what』s old. We break up large sitemaps into smaller ones to help keep everything fast. Last but not least, we include images in our sitemaps so crawlers can discover these in one go. Of course, this is just a small sampling of the power of the Yoast SEO XML sitemaps. What does the XML sitemap in WordPress 5.5 do? At its core, an XML sitemap is simply a list of URLs in a text file. The XML sitemap helps search engine crawlers uncover your content. It helps them find and update content on your site which helps them get your content in the indexes for ranking purposes. The current version of the XML sitemap in WordPress is very basic and supports only a small set of content types. Of course, you can extend its support via an API. There is, however, no way for you to control from WordPress itself what goes into core sitemap — or what shouldn』t appear.  What happens if I disable the Yoast XML sitemap setting? If you disable the XML sitemap functionality in Yoast SEO, we don』t disable the WordPress core XML sitemaps. You』ll still get these as a 『fallback』.Because WordPress core』s XML sitemaps are much simpler than ours, using them alongside our SEO plugin might result in some unexpected behavior, or even SEO errors. For example, posts or pages which you mark as 『noindex『 (or otherwise 『non-public』) will still be included in your sitemap. That sends 『mixed signals』 to search engines, which might trigger errors and warnings in Google Search Console and other tools, like the example below.Errors like this can be resolved or prevented by:– Enabling the Yoast SEO XML sitemaps (which disables the WordPress core sitemaps).– Disabling WordPress core』s sitemaps, or, customizing their behaviour in your theme/plugin code (see the documentation). How can I customize WordPress core』s XML sitemaps? If you prefer to use WordPress』 XML sitemaps to ours, and you wish to customize or alter the outputs (e.g., including or excluding specific content types), you can learn more from the documentation.

Breadcrumb schema changes in Yoast SEO

Breadcrumb schema changes in Yoast SEO

In Yoast SEO for WordPress 16.2, we changed how we format the Schema.org markup for a webpage』s breadcrumb navigation. Following this release, we received numerous reports about third-party SEO tools mistakenly showing warnings relating to this change. In most cases, these warnings can be safely ignored. However, in some cases, the changes we made might have revealed other, pre-existing Schema.org issues.

As a result, we』ve made several further changes and improvements to our breadcrumb schema, and we』re likely to make further refinements in the future.

If you』re seeing issues or errors on your website, or in SEO tools, this article aims to help you to understand whether you need to take any action. Please be aware that this article may be a bit technical. Though we try to document it as accessible as possible, you will still need to know a bit of jargon to understand the full story.

From this point onward, when we talk about breadcrumbs, we mean the breadcrumbs we output in Schema.org structured data, and not the HTML breadcrumbs that are visible on a website.

Table of contentsBreadcrumbs schema before v16.2Breadcrumbs schema between v16.2 and v16.5 Why did we remove those properties?Errors with relating to missing 『name』 properties in third-party tools1. The third-party tool that you use isn』t reading the schema code correctly2. The name of the page you are on is emptyWhat can you do?Breadcrumb schema in Yoast SEO v16.5 onwards

Breadcrumbs schema before v16.2

To show you what changed, we』ll look at the breadcrumbs schema for this example page: https://yoast.com/wordpress/plugins/seo/. This is what the schema output looked like before Yoast SEO version 16.2.

"@type": "BreadcrumbList",
"@id": "https://yoast.com/wordpress/plugins/seo/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "WebPage",
"@id": "https://yoast.com/",
"url": "https://yoast.com/",
"name": "Home"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "WebPage",
"@id": "https://yoast.com/wordpress/plugins/",
"url": "https://yoast.com/wordpress/plugins/",
"name": "WordPress plugins"
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@type": "WebPage",
"@id": "https://yoast.com/wordpress/plugins/seo/#webpage",
"url": "https://yoast.com/wordpress/plugins/seo/",
"name": "Yoast SEO: the #1 WordPress SEO Plugin u2022 Yoast"
}
}
]

We can see that our breadcrumb schema is a list, which contains three individual ListItem 『pieces』. Each of those pieces contains an item, which provides information about a WebPage. Collectively, this describes where the user, and the 『current page』, are on the website.

Breadcrumbs schema between v16.2 and v16.5

From version 16.2 onward, the way in which we build the final breadcrumb piece changed. It now looks like this:

"@type": "BreadcrumbList",
"@id": "https://yoast.com/wordpress/plugins/seo/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "WebPage",
"@id": "https://yoast.com/",
"url": "https://yoast.com/",
"name": "Home"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "WebPage",
"@id": "https://yoast.com/wordpress/plugins/",
"url": "https://yoast.com/wordpress/plugins/",
"name": "WordPress plugins"
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@id": "https://yoast.com/wordpress/plugins/seo/#webpage"
}
}
]

Notice the difference? In the final breadcrumb entry, we』ve removed all of the properties in the item except for the @id.

Why did we remove those properties?

The final entry in our breadcrumb schema should always describe the 『current』 page – the one that you』re on. But our schema already contains a description of that page, elsewhere. That might look something like this:

"@type": "WebPage",
"@id": "https://yoast.com/wordpress/plugins/seo/#webpage",
"url": "https://yoast.com/wordpress/plugins/seo/",
"name": "Yoast SEO: the #1 WordPress SEO Plugin u2022 Yoast",
"isPartOf": {
"@id": "https://yoast.com/#website"
},
"primaryImageOfPage": {
"@id": "https://yoast.com/wordpress/plugins/seo/#primaryimage"
},
"datePublished": "2010-10-11T20:07:47+00:00",
"dateModified": "2021-04-23T11:29:05+00:00",
"description": "Yoast SEO is the #1 WordPress SEO plugin.",
"breadcrumb": {
"@id": "https://yoast.com/wordpress/plugins/seo/#breadcrumb"
},
"inLanguage": "en-US"

It doesn』t make sense for us to describe the page you』re on twice. And, we want to make it clear in our schema that the page you』re on is the same page as the one we』re describing in the breadcrumb list; not a different or duplicate page.

So, instead of describing the webpage in both places, and to make it clear that we』re talking about the same webpage, we can reference the existing description via its @id property.

That』s what we』ve done here. You can see that the ID of the webpage is the same as the ID used in the final breadcrumb entry. That』s just a way of saying: 「These are the same thing」. This is a big improvement to our schema, in terms of semantics, and in terms of efficiency.

With this approach, our final breadcrumb entry has a name, because, it』s the same thing as the WebPage.

Errors with relating to missing 『name』 properties in third-party tools

Google』s breadcrumb rich results require each breadcrumb item to have a name property. You can see what that looks like in our example breadcrumb markup above.

In our 16.2 update, we intentionally removed the name property from the final breadcrumb entry, and instead reference the existing WebPage schema on the page (and use the name from that). This approach might have caused you to receive name-related error messages in third-party tools for one of two reasons:

1. The third-party tool that you use isn』t reading the schema code correctly

Even though we removed the name property from the final breadcrumb entry, it still has a name – it』s just located in the schema markup where we describe the WebPage which we』re referencing by ID.

If the SEO tool you』re using isn』t smart enough to 『follow』 those connections and references (e.g., if it』s just scanning the code to see if it can find a name attached to the final breadcrumb entry), it may misreport this as having a missing name property.

Google shouldn』t have any problems in this case; which you can validate by testing your page with the Google Rich results tool or the official Schema.org validator. These tools should show that the final entry in your breadcrumbs list is 『merged』 with the WebPage schema.

2. The name of the page you are on is empty

In some cases, it appears that the name of the WebPage – not of the breadcrumb entry – may be missing on your page. That means that, when we 『merge』 the final breadcrumb entry with the WebPage piece, it 『inherits』 that missing name.

This is a known type of bug, and in most of the cases we』ve come across, it』s a compatibility issue with another plugin or theme. These problems didn』t previously result in errors, because the name property that we used to have on the breadcrumb entry 『hid』 the missing value. This warning will also show up in tools that can correctly traverse schema data and use references.

What can you do?

Most cases that we see are caused by the first issue. If you experience that, your best bet is to contact the people who develop the tool that you』re using. You can point them to this article for more information.

However, if you see this warning in a tool that can correctly traverse schema and apply references, like the Schema validator, your page is most likely suffering from the second issue.

Most importantly, you should make sure that you』re running the most up-to-date version of Yoast SEO, as later releases included further changes to our breadcrumb schema output.

Breadcrumb schema in Yoast SEO v16.5 onwards

Following the release of Yoast SEO 16.2, we discovered several cases where Google wasn』t displaying our breadcrumb schema correctly in the search results. Despite our output being technically and semantically correct, Google』s implementation didn』t adhere to schema.org』s documentation.

To protect our users, we made an immediate decision to 『roll back』 and radically simplify our breadcrumb schema output. We chose, in the short-term, to align precisely to Google』s breadcrumb documentation. Our output now looks like this:

"@type": "BreadcrumbList",
"@id": "https://yoast.com/wordpress/plugins/seo/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoast.com/"
}
},
{
"@type": "ListItem",
"position": 2,
"name": "WordPress plugins"
"url": "https://yoast.com/wordpress/plugins/"
}
},
{
"@type": "ListItem",
"position": 3,
"item": "https://yoast.com/wordpress/plugins/seo/#webpage"
}
]

Whilst this approach reduces the quality of our schema overall, it guarantees that our users can take advantage of rich breadcrumb results.

We may revisit this approach in future updates, and explore opportunities to gradually 『re-enrich』 our breadcrumb markup.

Which link settings should I use?

Which link settings should I use?

When you add a link inside your content, Yoast SEO provides you with extra settings. These let you choose how search engines should treat that link.

Yoast』s advanced link settings option, when creating or editing a link in WordPress.

When you select these options, we enhance the HTML markup of your links to include the relevant instructions (or attributes).

Link options

「Search engines should ignore this link」

Enabling this option adds a nofollow attribute to the link. E.g:

Before: your link

After: your link.

Depending on the search engine, this may either discourage them from following the link, or, discourage them from 『rewarding』 the link (e.g., by passing PageRank or other signals through it).

It』s good practice to enable this setting on links which lead to third-party websites which you don』t endorse or trust, and on any paid/sponsored or otherwise incentivized link.

Note that, despite the name, the nofollow attribute doesn』t necessarily mean that search engines won』t still follow the link.

「This is a sponsored link or advert」

Enabling this option adds a sponsored attribute and a nofollow attribute to the link. E.g:

Before: your link

After: your link.

It helps them to understand which links may be paid (or incentivized) placements.

Note that selecting this setting will also automatically select the 「Search engines should ignore this link」 setting. We do this in order to comply with search engine guidelines, and because some search engines don』t support/understand the sponsored attribute.

MyYoast Quickstart guide

MyYoast Quickstart guide

MyYoast is the customer portal where you can find and manage all the Yoast SEO products you own. If you don』t have an account yet or want to know how it all works, this guide will get you started.

Table of Contents

Your MyYoast account Log in to My Yoast Finding and installing your productsConnecting your subscription to the plugin using MyYoastConfiguring your productsSwitching subscriptions from one site to anotherRemoving a site from MyYoastFinding orders and invoicesChanging your account settingsDeleting your MyYoast accountTroubleshooting

1. Your MyYoast account

I』m a new customer

If you don』t have a MyYoast account yet, we』ll automatically create one the moment you make your first purchase on yoast.com, or when you subscribe to our newsletter. In both cases, the email address used is the username for your account. To activate your account, please set a password by following these steps.

If you don』t want to wait until your first purchase, you can also manually create your MyYoast account on the signup page.

I』m a returning customer

If you ever bought something on yoast.com, recently subscribed to our newsletter or manually created a MyYoast account, you may still have to activate your account. Please set a password by following these steps.

2. Logging in to My Yoast

Once your account is activated, you can log in to My Yoast with an email address and a password. To log in to My Yoast, follow the steps in this post.

If you don』t have a password yet or if you lost it, follow these steps to set or change your password.

3. Finding and installing your products

Once you have logged in, click on Downloads in the menu to find the plugins or trainings you bought.

Not sure how to install a plugin on your site? Read our installation guides. Once you』ve successfully installed the plugin, move to step 4. If you are unable to upload or install Yoast SEO Premium please contact your hosting company or contact our support team.

Note: SEO training courses from Yoast SEO academy are not listed on this page, you can find them on Yoast Academy.

4. Connecting the plugin to your subscription using MyYoast

To receive all the benefits of our Premium plugins, they have to be connected to your subscription, after installation and activation on your website. 

Please follow the steps here to activate your subscription for your site: How to add a site in MyYoast

5. Configuring your products

Once you have installed the plugin on your site and connected the subscription to your website in MyYoast, you are ready to configure your plugin.

Not sure how to configure a plugin on your site? Read our configuration guides. Once you』ve successfully configured the plugin, you are ready to use it. Feel free to read the following steps for additional information about MyYoast.

6. Switching subscriptions from one site to another

If you connected a subscription to a plugin on a site but decided you want to use it on a different site, that』s easy to do by removing the subscription or site and then adding it to another site.

Please follow the steps here to remove the plugin subscription or site and then add the new site.

7. Removing a site from MyYoast

If you want to remove a site from MyYoast, you can do so from the Sites screen. Please follow the steps here to remove your subscription from your site.

8. Finding orders and invoices

If you need to download an invoice or look up the order number, you can find all that information by clicking Account in the MyYoast menu. Use the navigation at the top of the page to switch between subscriptions, orders, and your account info.

9. Changing your account settings

Go to Account > Profile in My Yoast. Here you can change your email address and password.

How to change your account emailHow to change your account password

10. Deleting your MyYoast account

If you want to stop using Yoast products completely for whatever reason, you can disable your account. This can be done on the Account > Profile page, by clicking the Delete Account button under the Danger Zone section. This will revoke all active subscriptions and shut down the account.

You will need to be logged into your My Yoast account. If you are not sure what your login details are you can reset them using this guide: How Set or Change Your My Yoast Password.

Delete Your Account

11. Troubleshooting

If you are experiencing some issues, check the common MyYoast account issues page.

How do I import redirects using Yoast SEO Premium?

How do I import redirects using Yoast SEO Premium?

Import from a Supported Redirect PluginImport from a CSV FileFrequently Asked Questions About Importing from CSV FileImport From the .htaccess File

Where is the Redirect Import Feature?

Yoast SEO Premium includes the option to import your redirects from popular redirect plugins, from a .CSV file, or from an .htaccess file. Log in to your WordPress website. When you』re logged in, you will be in your 『Dashboard』. Click on 『SEO』 On the left-hand side, you will see a menu. In that menu, click on 『SEO』. Click on 『Tools』 The 『SEO』 settings will expand providing you additional options. Click on 『Tools』. Click on 『Import and Export』.  Select the 『Import redirects』 tab.  Choose an import method. Yoast SEO Premium allows you to import from supported redirect plugins, from a CSV file, or from an .htaccess file.

Import from a Supported Redirect Plugin

The first option is to import from the following plugins:

RedirectionSafe Redirect ManagerSimple 301 Redirects

Note: With Redirection Yoast is expected to import Groups and any Regular Expressions (either as part of a group or not).

Import from a CSV File

The second option is to import from a custom CSV file. This method requires that the syntax and format is correct.

First line must be: Origin,Target,Type,Format or "Origin","Target","Type","Format"File must use a comma separatorFile must contain only one redirect entry per lineFile must use UTF-8 encodingFile must use Unix line endingsThe target URL cell for 410 and 451 redirects must be emptyFile must not contain a mixture of LTR and RTL characters

Download Example CSV File

Download an example .csv file here: Yoast SEO redirect example

Multisite

See our Frequently Asked Questions About Importing from CSV File for a specific concern about Multisites.

Plain Redirects

Examples of plain redirect entries in the CSV redirect import file:

"/three-zero-one","/",301,"plain"
"/three-zero-two","/",302,"plain"
"/three-zero-seven","/",307,"plain"
"/four-ten","",410,"plain"
"/four-five-one","",451,"plain"

RegEx Redirects

Only use REGEX Redirects if you know what you are doing!

If you are not sure what REGEXs Redirects are, learn more about them here.

Examples of RegEx redirect entries in the CSV redirect import file:

"^/([0-9]{4})/([0-9]{2})/(?!page/)(.+)$","/$4",301,"regex"
"^/([0-9]{2})/(?!page/)(.+)$","/$3",302,"regex"
"^/([0-9]{2})/(.+)$","/$2",307,"regex"
"^/([0-9]{4})/(?!page/)(.+)$","",410,"regex"
"^/([0-9]{3})/(?!page/)(.+)$","",451,"regex"

Frequently Asked Questions About Importing from CSV File

Can I add plain and RegEx redirects in the same file? Yes. The CSV file can contain a mix of RegEx and plain redirects. Can I use the CSV import to change existing redirects? No. Existing redirects are skipped during the import process. Please use the redirect manager to update existing redirects. Is the CSV file case sensitive? Yes. Especially the format column which must be in lowercase. Can I create or edit the CSV file in a spreadsheet program, like Excel or Google Docs? Yes. Most spreadsheet programs can convert a spreadsheet into a CSV file. However, the converted CSV file must use the required syntax and formats listed above. We recommend using a plain text editor to review the converted CSV file to ensure the file matches the requirements above. Why is my CSV file not importing? The most common cause for the CSV import to fail is the format of the file. Please download a fresh copy of the example file above and run the import again. If the example file works and your custom file does not, please check the format of the file in a text editor. If the custom file continues to fail, please contact support. Can I import a large CSV file? Yes. The import can handle a large CSV file. However, having too large of a CSV file may result in server time out issues. If you experience time out issues try breaking the file into smaller chunks and importing each one, one at a time.The other option is to increase your resources available in the PHP environment (max_execution_time) this will allow the import more time to complete. You may also want to increase the following PHP values to increase resources available to the import function: upload_max_filesize, post_max_size, and memory_limit. If you are not sure what that means or how to do that, your host provider can help. Do I have to use quotes in the file? No. It』s common practice to quote cells that are empty or contain text. However, it』s not required and the import will work with a mixture of quoted and unquoted cells. Can the origin URL contain the site URL? Yes, but it』s not recommended. The origin URL is relative to the site where you are importing the redirects. The import process will attempt to make the origin URL relative to the WordPress site URL. However, this can fail if the WordPress site URL is not an exact match to the URL in the import file. Therefore, we recommend that Origin URLs start with a / and not the domain. Can the target URL contain a full absolute URL? Yes. However, we recommend only using full absolute URLs when linking to other sites. For links to your own site, we recommend using relative URLs that begin with a /. Will this Work on a Multisite? Our developers are aware of an issue where importing redirects fail on a multisite. Till a fix is ready, please try this workaround: Multisites have a custom list of allowed filetypes. We use a CSV file type, which is not on the list. This can be fixed by adding csv to the Upload file types list at wp-admin/network/settings.php. If you are not sure how to do this, your host provider can help.

Import From the .htaccess File

The third option is to import by copying the contents of an .htaccess file and pasting them into the text box. You can do this by copying the .htaccess file on one site and then going to SEO-Tools-Import/Export-Import Redirects (it is a tab). Then pasting the file into the box.

Redirects must be in one of the following formats:

Plain Redirects

# Redirect [type of redirect, e.g. 301] [source] [target]
# In this example, if a user lands on /family/ (the source)
# they are redirected to /school/ (the target).
Redirect 301 /family/ /school/

RegEx Redirects

# RedirectMatch [type of redirect, e.g. 301] [source] [target]
# If you go to example.com/rain, you would be redirected to mydomain.com/sunny/
# However, the same goes for example.com/in-the-rain or example.com/draining.
# Both would be redirected to example.com/sunny/
RedirectMatch 301 /rain /sunny/