We couldn』t complete the optimization of your SEO data: A technical guide

We couldn』t complete the optimization of your SEO data: A technical guide

To optimize your websites』 SEO data, our plugin keeps a list of relevant data on your site that we can quickly access when needed. We dubbed this data the 「indexables「. Normally, data gets added to the indexables as soon as you create or update a post. But, when you newly install our plugin, or when some data doesn』t get indexed for some reason, we include the option to kickstart the creation of indexables with the SEO data optimization.

If this process fails, you』ll get an error saying: 「Oops, something has gone wrong and we couldn』t complete the optimization of your SEO data.」 This article will describe the most common causes for this error that we see in our support inbox.

Table of contentsWhy did I get an error for the SEO data optimization?Specific error messagesError parsing the response to JSONSpecific status codes

Why did I get an error for the SEO data optimization?

Kickstarting the creation of our indexables can be a taxing process. The larger the site, the longer this process may take. Due to the nature of this process, there are, unfortunately, some ways in which this process may fail. When this happens, for the longest time, we have shown a default error message. Unfortunately, this didn』t help you or our support team to get to the problem. Starting with Yoast 16.9, we now include a technical summary with the error message that may help you figure out what went wrong.

The new 「Oops, something has gone wrong」 error message

Specific error messages

There may be a specific error message related to the SEO data optimization, like the one described below.

Error parsing the response to JSON

Note: having debugging enabled on your website may be the most likely cause of this message. Because debugging will cause any unrelated / less important notices and warnings to interfere with our communication with the website. Please see this WordPress article to learn more about WordPress debugging.

This error most likely means that your website had problems while trying to fulfill the request. When you open op the response in the message, you should find the information that your server sent in response to our request. You can use this information to determine what went wrong.

Specific status codes

You may also get a status code in your error message. What does that code mean?

A specific message with status code 401

Status code 301 / 302

301 and 302 are status codes that indicate that a request is being redirected somewhere else. Something in your site redirects this request away from the WordPress API endpoint where we need to be. See if disabling any redirection plugins fixes this, or maybe your webserver handles this.

Status code 401 / 403

These status codes deal with requests that are blocked or unauthorized. This means that something in or in front of your website is blocking our requests to the WordPress API. We see that some Web Application FireWalls utilize some rules that may block some of these requests. This status code will also show up if you』ve completely disabled the WordPress API.

Status code 500 through 503 and 504

These status codes indicate that something went wrong within your website while processing our optimization. You should be able to get more information from your websites』 PHP error logs. 504 indicates a timeout. This may indicate there』s an endless loop happening or a lot of data is being processed, which can』t finish before your server terminates the process.

Known cases that will give an SEO data optimization error

Whenever we have investigated an error with a cause that happens to multiple users, we will write a summary in this section to help you determine the next steps to take.

Case 1: Web Application Firewalls (WAF) blocking (part of) the endpoint

We have seen users unable to use the SEO optimization tool because of a WAF blocking (part of) the REST requests that our plugin needs to do. You will see the status code of 401 / 403 with a message that you can』t use that endpoint. One specific WAF that blocks part of our requests that we know of is Comodo. So if you experience these issues and use that WAF, you can check if the issue is resolved when (temporarily) disabling the WAF.

Need additional help?

If you could not find the cause of the error with this article, you can always enlist the help of others. Are you are a Premium customer? Then you can contact our support team. If you are a free user, you can ask your question on the free support forums. Whichever method you use, always provide as many details as possible, including the error details.

How to use the Yoast SEO configuration workout

How to use the Yoast SEO configuration workout

You just got Yoast SEO, and you are ready to get the most out of it! Or, have you already been using it for a while and know your way around it? Either way, you should use some essential Yoast SEO settings to let the plugin work at its best. That』s why we』ve created a Yoast SEO configuration workout! In five steps, we guide you in setting up Yoast SEO the right way! Read on to learn more about each step.

Pro tip

Since Yoast SEO 17.7, we』ve replaced the configuration wizard with our new configuration workout. If you haven』t updated to the latest version of our plugin yet, make sure to do so and you』ll be able to do this workout right away! The configuration workout is available in both the free and Premium version of Yoast SEO.

Using the Yoast SEO configuration workout

If you just installed Yoast SEO, you』ll find a link to the workout at the top of your general WordPress Dashboard, as well as on top of all the screens of the Yoast SEO settings (see image). The link takes you to the Workouts screen, where you can find and access the Configuration workout by clicking the Start workout button. If you』ve finished the workout but want to revise some steps, you can find it in the Workouts menu item of the SEO menu (see bottom of image). Now, let』s go through the workout』s steps. Optimize SEO data This step is essential because it allows Yoast SEO to see your site as Google does. That means that it can see the indexable objects on your site and, as a result, it can give you better SEO tips and improve your site』s technical SEO performance. If you have a lot of content, this step may take a while. But, you can safely move on to the next steps while your data is being optimized. If the data optimization is not complete when you are done with the rest of the workout, you will need to wait for it to finish. Site representation. In this step, we ask you to add some information about the type of site you have. We use the data you insert here to inform Google about your site and increase the chance it gets featured in Google』s Knowledge Panel. First, we ask you to tell us if your site represents a person or an organization. What is the difference exactly?OrganizationChoose Organization if you have a professional or a company website. For example, if we were filling in the data for yoast.com, we would choose Organization. You』ll then need to add the Organization』s name, logo, and tagline. A tagline is like a slogan for your brand. For example, Yoast』s tagline is 「SEO for everyone.」 Do you already have a tagline? Then write it here. If you still don』t have one, think about your mission statement and summarize it here in a catchy sentence.PersonIf you have a personal or a portfolio site, choose Person. For instance, the writer David Mitchell has a website. If he were to fill in this workout, he』d need to select Person and add a name, logo, and a tagline. In his case, the tagline on his website is 「New York Times bestselling author of The Bone Clocks and Cloud Atlas.」 Important: If you have 「admin」 as your name, we strongly advise you to create a new user with a different name. Having admin as your publicly displayed name is bad for security and SEO. Social profiles We』ll use the social profiles you add to give Google more context about your site so that it can include them in the Knowledge Panel. Again, the steps are different depending on whether you are filling in the settings for a person or an organization. OrganizationIf you are filling in the workout for your Organization』s site, add the URLs of the Organization』s social profiles in the input fields. PersonIf you are filling in the workout for a personal site, add the social profiles of the Person the site represents. To do that, you should go to the Users screen in a new browser tab. You can access the Users screen by clicking the link in the workout. Then, follow these steps: 1. On the Users page, hover your mouse over the username you want to edit. 2. Click 『Edit』 to access the user』s profile.3. Scroll down to the 『Contact info』 section and4. Fill in the URLs of the personal social profiles you want to add.  5. Click Update user at the bottom of the screen, close the tab and return to the workout. Help us improve Yoast SEO To keep improving the plugin, we need some user data. However, to be able to track your data, we need your permission. You can learn more about the data we track in this usage data help article. Sign up for our newsletter Finally, in the last step, we invite you to sign up for our newsletter. By doing that, you』ll get regular SEO tips and news in your mailbox! So, you』ll always be up-to-date with the latest SEO developments that can help you improve your site. Click the Finish this workout button to finish the workout By clicking the button you will complete the workout, and you』ll be able to leave the screen, or go and do the other workouts available in Yoast SEO Premium! Clicking the View other SEO workouts button will take you to the Workouts settings screen with an overview of the other workouts.

Do the other Yoast SEO workouts and keep your site SEO fit!

Did you know that in Yoast SEO Premium, there are two more workouts? Make sure to check them out as well! They can help you clean up your site and make your content easier to find. Read more by clicking on these links:

Learn more about the benefits of doing the Yoast SEO workoutsDo the cornerstone approach workout to rank with your best contentDo the orphaned content workout to clean up your site FAQ: the Yoast SEO workouts

Indexed though blocked by robots.txt, what to do?

Indexed though blocked by robots.txt, what to do?

Do you see the following warning in Google Search Console: 「Indexed, though blocked by robot.txt」? This means that Google indexed a URL even though it was blocked by your robots.txt file. Google shows a warning for these URLs because they』re not sure whether you want to have these URLs indexed. What do you do in this situation? And how can Yoast SEO help you fix this? Let』s find out!

Warning in Google Search Console: 「Indexed, though blocked by robots.txt」

How to fix the warning 「Indexed, though blocked by robots.txt」

Google found links to URLs that were blocked by your robots.txt file. So, to fix this, you』ll need to go through those URLs and determine whether you want them indexed or not. Then, you』ll need to edit your robots.txt file accordingly and you can do that in Yoast SEO. Let』s go through the steps you』ll need to take.

In Google Search Console, export the list of URLs. Export the URLs from Google Search Console that are flagged as 「Indexed, though blocked by robots.txt」. Go through the URLs and determine whether you want these URLs indexed or not. Check which URLs you want search engines to index and which ones you don』t want search engines to access. Then, it』s time to edit your robots.txt file. To do that, log in to your WordPress site. You』ll be in the WordPress Dashboard. In the admin menu, go to SEO > Tools. In the admin menu on the left-hand side, click SEO. In the menu that appears, click Tools. In the Tools screen, click File editor. In the File editor, edit your robots.txt file. Update your robots.txt file to allow Google to access the URLs that you do want to have indexed and to disallow Google to access the URLs that you don』t want to have indexed. Read more about how to edit your robots.txt file. Or, read more about robots.txt in our Ultimate guide to robots.txt. Click Save changes to robots.txt to save your changes. Go back to Google Search Console and click Validate fix. Go to the Index Coverage Report, and then to the page that has the issues. There, click the Validate fix button. Then, you』ll send a request to Google to re-evaluate your robots.txt against your URLs.

Read more about robots.txt

Do you want to have more information on robots.txt? Check out the following articles:

Ultimate guide to robots.txt Ultimate guide to the meta robots tagHow to edit robots.txt through Yoast SEO

How to edit robots.txt through Yoast SEO

How to edit robots.txt through Yoast SEO

The robots.txt file tells a search engine where it is allowed to go on your website. You can edit the robots.txt file through Yoast SEO and Yoast SEO Premium. In this article, we』ll show you how to go about this!

If the robots.txt file is not writable or your WordPress install has disabled file editing, the following steps may fail. Optionally, you can edit at the server level.

Do you want to know more about what the robots.txt file is and what it does? Check out our Ultimate guide to robots.txt.

WordPress defaults

By default, WordPress will generate a robots.txt file with the following contents:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

When you create or customize your robots.txt file, this content is replaced.

Create or edit robots.txt in the WordPress Dashboard

The easiest way to create or edit the robots.txt file is through Yoast SEO in the WordPress Dashboard. To do this, follow 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 『Tools』. The 『SEO』 settings will expand providing you with additional options. Click on 『Tools』. Click on 『File Editor』. This menu will not appear if your WordPress install has disabled file editing. Please enable file editing or edit the file through FTP. If you are not sure how to use FTP, your host provider can help. Make the changes to your file. Save your changes.

Learn how to use Yoast SEO to its full extent with the Yoast SEO for WordPress training

Create or edit on your server

If the robots.txt file is not writable or your WordPress install has disabled file editing, creating or editing robots.txt through the WordPress Dashboard may fail. In that case, you can edit at the server level. WordPress generates a virtual robots.txt file if the site root does not contain a physical file. To override the virtual file, please follow these steps to create a physical robots.txt file.

Use your favorite text editor and create a text file.Save the empty file with the name robots.txt.Upload the file to your server. If you』re unsure where on your server to upload the file, please contact your webhost.

If WordPress was blocking access to the virtual file, you should be able to edit the physical file from our plugin. If not, you can always edit the robots.txt directly on your server using FTP or a server file manager.

Please contact your web host for assistance if you have trouble uploading or editing files on your server.

Enhanced Slack sharing

Enhanced Slack sharing

Slack is one of the most popular communication platforms for teams. Businesses and organizations all over the world use it for their internal communication. Because of that URLs from your site might be shared on Slack. Improving how those URLs look when they』re shared on Slack might increase the number of people that click on them. That』s why we』ve created Enhanced Slack sharing.

When you enable the Enhanced Slack sharing feature, Yoast SEO will output two sets of labels + values in each post』s meta data. This will improve the way a URL from your site looks when shared on Slack. Those labels and fields are 「Written by」 and the name of the author, and 「Est. reading time」 and the estimated reading time we』ve calculated for your article. If you have a post with a nice Facebook image and description, it』ll look something like this:

As you can see this enhances the snippet and increases the amount of room your article takes up in Slack. If you don』t want this, simply disable the feature and the Written by and Estimated reading time blocks will be gone.

Enhanced Slack sharing for products

If you run our WooCommerce SEO plugin, your products will look like this when shared on Slack:

How to enable or disable Enhanced Slack sharing?

By default Enhanced Slack sharing is enabled in Yoast SEO. If you don』t want the extra information to show up in Slack you can easily disable the feature: Find SEO in the left-hand menu of your WordPress admin Click on General in the menu that pops up and you』ll land on the Yoast SEO dashboard. Click on the Features tab In the Features tab you can turn many Yoast SEO features on and off: Move the toggle Scroll down until you see Enhanced Slack sharing and move the toggle to the right:

You are not receiving updates or support!

You are not receiving updates or support!

Oops, did you get a notification saying that you』re not receiving updates or support? That means that your subscription is expired or your subscription is not activated (yet). Here』s how to easily solve this and you』ll be able to use all the features of Yoast SEO Premium or one of the add-ons (again) in no time.

What problems does this cause?

If your subscription is expired or not activated, you won』t be able to benefit from regular updates that give you access to new features, help you improve your SEO, and keep up with the latest changes in SEO. Receiving updates also makes you less vulnerable to security issues and improves your site』s performance. And, when you don』t have an active subscription running, you won』t be able to reach out to the Yoast support team for any SEO-related questions.

How can you solve this problem?

Let』s get this fixed as soon as possible! First, choose what situation applies to you:

I have a valid Yoast subscription, but it doesn』t work

In order for your subscription to work, you』ll have to manually activate it. Haven』t done that yet? Make sure to do so in order to use its powerful features as soon as possible. This help article shows what you have to do step by step.

My subscription is expired and I need to renew it

A Yoast subscription is valid for 1 year. So, if you bought a Yoast subscription more than one year ago, you might need to renew it now. Log into your MyYoast account to (re)activate your subscription by clicking 「extend subscription with a year」

Could use some extra help?

If you』re not sure what』s causing this notification on your site, please don』t hesitate to reach out to the Yoast support team. You can do so through the question mark (?) at the bottom right of this page, or by sending the support team an email, or through the support overview.

How do these warnings look in Yoast SEO?

Example 「You are not receiving updates or support!」 errors in the Yoast SEO notification center

Example 「Renew your subscription」 notices for expired Yoast SEO subscriptions in the plugin overview screen.

Example 「Renew your subscription」 notices for expired Yoast SEO subscriptions in the SEO workout overview screen.

Example 「Activate your subscription」 notice in the SEO workout overview screen.

How to activate my premium license

How to activate my premium license

You can activate your license in your MyYoast account, a customer portal where you』ll be able to find and manage all your Yoast SEO products.

If you don』t have an account yet or want to know how it all works, check out the MyYoast Quickstart guide to get you started. You will need to create an account with your purchase email, add your site and then connect the subscription to your site. You can then update your older plugin to the latest version.

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 new My Yoast portal. Good luck!

Configuration guide for Local SEO

Configuration guide for Local SEO

Our Local SEO plugin helps you rank in local search results, Google Maps, and the Knowledge panel. This guide helps you configure your Local SEO plugin correctly.

To give your site an ultimate SEO treatment, you need Yoast SEO Premium! For example, its advanced text analysis helps you write naturally flowing texts. The internal linking tool and the content filters make your posts easy to find. 404 errors become a thing of the past with the redirect manager. And the social previews give you full control of how your posts appear on social media. Get Yoast SEO Premium!

Unsure how to properly represent your company? Google has some great guidelines for representing your business in search results.

Want to learn all about Local SEO and improve your rankings in the local search results? Then check out our Local SEO training now!

Related articles

Install the plugin
Required: Google Maps API browser key
Connect the subscription
Optional: Google Maps API server key
Setting Up Location Landing Pages: Things to Consider

Table of contents

Where to find the Local SEO settings
The Local SEO settings
Business info
Maps settings
API key
Submit your Geo Sitemap to search engines
Using the Store Locator
Widgets
Shortcode Buttons (Classic Editor)
Local SEO Gutenberg Blocks 
Shortcodes
Shipping method settings
New order statuses
New order statuses mails
The checkout process
Developer Filters
Edit Location Archive Template Files
Use a CSV File to Upload Location Data

Where to find the Local SEO settings

When you』ve installed the Local SEO plugin and you』ve activated it, you can find your Local SEO settings by following these steps:

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 『Local SEO』. The 『SEO』 settings will expand providing you additional options. Click on 『Local SEO』.

The Local SEO settings

Once you』ve found the Local SEO settings, it』s time to configure them correctly for your business, so the Local SEO plugin can help you rank better in the local search results.

The Local SEO settings consist of five tabs: Business info, Opening hours, Maps settings, API key, and Advanced settings. We』ll discuss these tabs below.

The Local SEO settings tabs

Business info

In the Business info tab, you can set up the location of your business. This information will be used in the search results and can be used to add blocks with contact information or a map to a page or post on your website.

The number of locations

The first thing you need to do is indicate whether your business has multiple locations, by switching the toggle below.

The Business info settings depend on whether your business has a single location or multiple locations. To continue this configuration guide, please choose between the following options:

My business has a single location
My business has multiple locations
Business Info Details

My business has a single location

If your business only has a single location and you』ve switched the multiple locations toggle to 『no』, you』ll see the settings below.

First, you can set up your company name and logo within the general Search Appearance settings in Yoast SEO, by following the link that』s provided.

Then, you can enter your single location details by filling in the sections. Most of these fields are self-explanatory, like name and address. We』ll discuss some of the other fields below.

My business has multiple locations

If your business has multiple locations, switch the toggle to 『Yes』 and click save. Now, Yoast SEO will automatically create a new Custom Post Type where you can manage your locations.

Setting up a primary location and shared business info

When you switch the multiple locations toggle to Yes, you will see a few additional available options. Firstly, if all you locations are part of the same business, you should switch the toggle to yes. That will reveal the setting for the primary location and the shared business info.

You can set the primary location of your business by choosing the appropriate location from the drop-down menu. Your primary location should be something like your head office, for example. By configuring this setting, you allow the Local SEO plugin to output the correct structured data for your business.

The multiple locations of your business may also have shared business information. For example, you may have the same e-mail address, website, and business type. With Local SEO, you can add shared business information to all locations at once, so you save time, and you give the plugin the correct data.

If most of your business locations share the same information, but there are some that differ, you can also override the shared information for that particular location.

Business info details (single and multiple locations)

Below, we』ll discuss some of the Business info fields. These fields are the same for single and multiple locations.

Business type: enter the business type that best describes your business. If there are no options that best describe your business, we suggest going with 「Local business」. Learn more about different business types.VAT ID/TAX ID/Chamber of Commerce ID: text fields where you can add your company』s IDs, depending on the location of your business.Price range: the price range field has multiple options from $ (cheap) to $$$$$ (expensive). The selection should cover the majority if not all of the products offered by your store or location.Currencies accepted: this field allows you to enter the currencies that are accepted by your company. This is a text field that has no restrictions. The schema documentation recommends using ISO 4217 currency format for best results.Payment methods accepted: this field allows you to enter the payment methods that are accepted by your company. This is a text field that has no restrictions.Area served: this field allows you to enter the geographic area where a service or offered item is provided. This is a text field that has no restrictions. If you enter multiple areas, use a comma to separate them. For example, 「New York, Seattle」, or, 「Germany, France」.

Location coordinates

Here, you can enter the location coordinates of your business (latitude and longitude). When you enter a Google Maps API key (on the API key tab), these coordinates will be automatically calculated.

Address format

Address formats are different in different countries. These settings allow you to select the right address format for your business.

Adding new locations

As we mentioned earlier, when you select multiple locations, the plugin creates a new custom post type that you can use to add new locations. You can find the custom post type in the menu on the left-hand side under the 『Locations』 menu item. To add a new location, click 『New Location』 and enter the details for the location. This will serve as a landing page for the individual location.

You can customize the page with information about your location. There are shortcodes available for your convenience, for the address, map, opening hours and store locator.

By clicking the arrow in the lower right corner (indicated by the pink arrow in the image above), you』ll open the Yoast Local SEO settings. These settings consist of the following tabs: Business info, Opening hours, and Map settings.

Opening hours

The next tab (both for single and multiple locations) is the opening hours tab.

Opening hours for a single locationOpening hours for multiple locations

Opening hours for a single location

For a single location, you can find the opening hours settings in the Local SEO settings. Here, you can indicate whether you want to show or hide the opening hours option. If you choose to show this option, you can enter a custom text to display in the store locator for locations that are closed or open for 24 hours.

You can also indicate whether you want to use the 24h format, whether your business is open 24/7 and whether you have two sets of opening hours per day. Finally, you can enter the opening hours per day.

Location settings for single locations

Opening hours for multiple locations

If your multiple locations have shared opening hours, you can fill in those hours in the Opening Hours tab. To do that, you will need to make sure to toggle the Locations shared opening hours setting to Yes. If the opening hours of some of your locations differ, you can override the shared opening hours settings by editing the opening hours in the Location post type for that location. 

Suppose all your locations have different opening hours. In that case, you can switch the Locations shared opening hours toggle to No and set the individual opening hours in the Opening hours tab in the Locations post type. There, it』s possible to indicate whether you want to use the 24h format, whether this location of your business is open 24/7 and whether you have two sets of opening hours per day. Finally, you can enter the opening hours of this location per day.

Maps settings

The next tab shows the Maps settings. To enable these settings, you』ll first have to set an API key.

The Maps settings allow you to make changes in the maps that appear on your site. You can set which measurement system you want to use, what the default map style should be, and you can set a custom marker.

Measurement system: This option is used to output the measurement system when calculating distance. Choose between kilometers and miles.Default map style: This option specifies the default display of the map. Choose between hybrid, satellite, roadmap, or terrain.Custom marker: This option allows a custom map marker to display instead of the default Google map marker. The custom marker should be 100×100 px.

The Store locator settings allow you to change the number of results shown in the store locator, the primary country that should be used, and to set what should be displayed in the 「Show route」 label.

API key

On the next tab, you can enter your Google Maps API key. You need to set this API key to enable the Maps settings of our Local SEO plugin.

If you want to know more about how to create and set your Google Maps API key, you can check the explanation in this article.

Advanced settings

The last tab shows the Advanced settings. This section comes with permalinks settings, admin label settings, and enhanced search settings.

Permalinks settings allow you to enter custom permalink structures for your locations and location categories. Each location and location category will receive a custom URL. By default, these are /locations/%postname%/ and /locations-category/%category-slug%/.

Admin Label settings allow you to change the title of the menu item in your admin sidebar. By default, this menu item is labeled using the plural term of locations, with every single item being called a location. If you like, you may enter custom single and plural labels to better match your business.

Enhanced search settings allow you to include your business locations in the site-wide search results.

Submit your Geo Sitemap to search engines

You don』t have to submit the geo-sitemap to Google Search Console (former Google Webmaster Tools) yourself. The plugin automatically adds it to sitemap_index.xml, so all you have to do is submit sitemap_index.xml to Google Search Console (former Google Webmaster Tools). Which you probably already did! But if you haven』t, please follow the steps here.

Using the Store Locator

The plugin comes with a built-in Store Locator that allows your customers to easily find your store. Check out this article to learn how to set it up; https://yoast.com/help/store-locator/

Widgets

You can view the widgets by going to Appearance->Widgets. These widgets may be used to display to address details or a map (we』re using Google Maps for this).

Show Address Widget
Show Map Widget
Show Opening Hours Widget
Store Locator Form Widget

Note: The location dropdown list will only be visible if you』ve set more than one location.

Show Address Widget

You will need to select a location from the drop-down menu.The map widget allows complete customization. By selecting the boxes you can customize what exactly is displayed. The options listed in the location widget are self-explanatory.

The extra comment section about the bottom may be useful if you have unique information about your business your customers need to know such as parking, gate entrances, or a door buzzing procedure.

Back End

Front End

Show Map Widget

The map widget controls how the map is displayed.

If you have multiple locations Be sure to select a location from the drop-down menu

All Locations By selecting 「Show all Locations」, the map will show all your locations rather than the one specified in the drop-down menu. Map Dimensions The dimensions of the map are controlled by the height and width options Zoom Level Zoom level controls how the map is viewed. 1 is the farthest away and 21 is the closest. Show State, Country, URL Enabling 「Show State, Show Country, and Show URL」 in the info-window provides some additional information for users when they click on the map marker. The default info-window displays the address, city, and zip/post code. Route Planner Enabling Show Route Planner displays a route tool that users can use to help plan their trip

Default Info-Window Settings

Enabling Show State, Show Country, Show URL in info-window

Map Widget with Show Route Planner enabled

Show Openings Hours Widget

This widget shows your opening hours.

If you use multiple locations be sure to select your locationSelect the days you want to showHide Closed Days should be enabled if you had set your opening hours to be closed. If you have this option will not show those daysExtra Comment is useful for displaying extra information about your hours such as extended hours, special hours, closing early etc.

Back End

To set your hours to be closed navigate to the location and change the hours in the drop-down menu

Front End

Widgets with page builders

With some page builders you may be able to embed a Local SEO widget instead of using a shortcode or a button. Consult your page builder』s plugin or theme authors for more information on how to embed a widget.

Local SEO Gutenberg Blocks 

With the Gutenberg Editor you can add Local SEO blocks by clicking on the + plus sign and searching for the blocks or scrolling down and clicking on the Yoast Structured Data Block Section. Then Insert the block. You can find the following blocks: Map, Address, Opening Hours and Store locator. These blocks are also available as shortcodes or buttons. You can find out more about them in the next sections.

Search for Local SEO Gutenberg Block

Yoast Structured Data Section

ShortCode Buttons

Map, Address, Opening Hours and Store locator information can be added through the use of a button. These buttons will appear across all posts, pages, and custom post types in the Classic editor.

Map button
Address button
Opening hours button
Store locator button

Map Button

When clicking the 『Map』 shortcode button the following popup will appear. If using blocks with Gutenberg the configuration options will appear on the sidebar.

If you use multiple locations be sure to select the right one from the drop-down box.

As you can see, this is really easy to use! Just select and set everything the way you want! And this map is actually responsive as well, meaning it will resize based on your browser/screen size! If you want to see what they look like live, you can see them on our Local SEO demo site: https://local.yoast.com/maps-examples/ You can also add the map using non-button shortcodes too.

Address Button

When clicking the 『Address』 shortcode button it will show this popup. If using the Gutenberg block the configuration options will appear on the sidebar. You can also add the the address shortcode using a non-button shortcode too. If you use multiple locations be sure to select the right one from the drop-down box. You can also customize it to display the kinds of information useful for your customers.

Opening Hours Button

When clicking the 「Opening hours」 short code button it will show this popup. If using the Gutenberg block the configuration options will appear on the sidebar. You can also add the opening hours using a non-button shortcode too. If you use multiple locations be sure to select the right one from the drop-down box.

Shortcodes

Actual shortcodes may still be used. Here are the shortcodes you can use:

Address shortcode
Map shortcode
Opening Hours shortcode
Store Locator shortcode

Address shortcode

Enter this in the content of your post or page: [wpseo_address]

You can use the following options:

id: the ID of your location. Only use this attribute when you have multiple locations and/or you』re using this shortcode on another page than the location page itself (for example your contact page)oneline: true/false. Whether to have address all on one line.show_state: true/false. Default to true. Whether to show the State/Region or not.show_country: true/false. Default to true. Whether to show the Country or not.show_phone: true/false. Default to true. Whether to show the Phone number or not.show_phone_2: true/false. Whether to show another phone number or not.show_fax: true/false. Whether to show a fax number or not.show_email: true/false. Whether to show an email or notshow_email: true/false. Whether to show an email address or not.show_url: true/false. Whether to show a url or not.show_vat: true/false. Whether to show a vat number or not.show_tax: true/false. Whether to show a tax number or not.show_coc: true/false. Whether to show a Chamber of Commerce ID number or not.show_logo: true/false. Whether to show a logo or not.hide_closed: true/false. Whether you want to hide your closed days or not.comment: Need to enter information. Any information entered between the 」 」 will be displayed.show_opening_hours: true/false. Default to false. Whether to show the opening hours or not. When the opening hours are not filled in it will show 12:00 AM as default text.oneline: true/false. Default to false. Whether to show the address information in one line (true), or one line per address part (false).

Two other parameters if used will result in the business name and the business address from not displaying.

hide_name: true/false. Whether to display the business name or not.hide_address: true/false. Whether to display the business address or not.

Full example using all parameters: Using a one 「1」 or the word 「true」 makes the parameter appear. Using a zero 「0」 or the word 「false」 makes the parameter not appear. Hiding Business Name and Address are not shown in this example.

[wpseo_address id="237"  oneline="1" show_state="1" show_country="1" show_phone="1" show_phone_2="1" show_fax="1" show_email="1" show_url="1" show_vat="1" show_tax="1" show_coc="1" show_logo="1" show_opening_hours="1" hide_closed="1" comment="Extra Comment"]

Note: you can also call this function directly in your PHP code. The code below will work if multiple locations have NOT been enabled.:

if( function_exists( 'wpseo_local_show_address' ) ) {
wpseo_local_show_address( array( 'echo' => 'true' ) );
}

You can use the same attributes as described by the shortcode. Therefore you need to pass them as an array, like this:

if( function_exists( 'wpseo_local_show_address' ) ) {
$params = array(
'echo' => true,
'id' => 237,
'show_state' => true,
'show_country' => true,
'show_phone' => true,
'oneline' => false,
);
wpseo_local_show_address( $params );
}

Map shortcode

Enter this in the content of your post or page: [wpseo_map]

You can use the following options:

id: the ID of your location. To show all of your locations (if you have multiple locations of course) use all as value. To show only some locations you can use a comma separated list of location id』s (i.e. id=」58067,51589″)width: number in pixels. Default is 400.height: number in pixels. Default is 300.zoom: number of zoom level. Default is 12. Higher number means more zoomed in.map_style: Describes the kind of map available. Four options are available: roadmap: Shows the Google roadmap hybrid: Shows a hybrid map satellite: Shows a satellite map terrain: Shows a terrain mapscrollable: true/false. Whether to make the map scrollable or not.draggable: true/false. Whether to make the map draggable or not.show_route: true/false. Default to true. Whether to show a form field for using a route planner.Show_state: true/false. Whether to show the state in the info window or not.show_country: true/false. Whether to show the country in the info window or not.show_url: true/false. Whether to show the url in the info window or not.show_email: true/false. Whether to show the email in the info window or not.show_phone: true/false. Shows the primary phone number.show_phone_2: true/false. shows a secondary phone number.show_fax: true/false. Shows the fax numbermarker_clustering: Shows the number of locations in an area when more than 1 location is in close proximity.default_show_infowindow: true/false. Whether to show the info window automatically or not.term_id: the ID of your locations category. This can be used to display all locations from a category in the map.

Full example using all the Map shortcode parameters:Using a one 「1」 or the word 「true」 makes the parameter appear. Using a zero 「0」 or the word 「false」 makes the parameter not appear.

Use the shortcode below as an example

[wpseo_map id="237"  width="400" height="300" zoom="-1" map_style="hybrid" scrollable="1" draggable="1" show_route="1" show_state="1" show_country="1" show_url="1" show_email="1" default_show_infowindow="1"]

Note: you can also call this function directly in your PHP code:

if( function_exists( 'wpseo_local_show_map' ) ) {
wpseo_local_show_map();
}

You can use the same attributes as described by the shortcode. Therefore you need to pass them as an array, like this:

if( function_exists( 'wpseo_local_show_map' ) ) {
$params = array(
'echo' => true,
'id' => 347,
'width' => 800,
'height' => 600,
'zoom' => 5,
'show_route' => true
);
wpseo_local_show_map( $params );
}

Opening Hours shortcode

Enter this in the content of your post or page: [wpseo_opening_hours]

You can use the following options:

id: the ID of your location. Only use this attribute when you have multiple locations and/or you』re using this shortcode on another page than the location page itself (for example your contactpage)hide_closed: Whether or not to hide days you are closed. Defaults to 0 which shows closed days. Change to 1 to hide closed days.show_days: Determines which day(s) are displayed. Defaults to all days of the week. Customize by entering the preferred days in a comma separated list. Use lowercase for name of days.comment: Adds a comment to the output. This comment is visible on the front end of your site. Defaults to empty.

Full example:

[wpseo_opening_hours id="43" hide_closed="0" show_days="sunday,monday,tuesday,wednesday,thursday,friday,saturday" comment=""]

Note: you can also call this function directly in your PHP code:

if( function_exists( 'wpseo_local_show_opening_hours' ) ) {
wpseo_local_show_opening_hours( array( 'echo' => true ) );
}

You can use the same attributes as described by the shortcode. Therefore you need to pass them as an array, like this:

if ( function_exists( 'wpseo_local_show_opening_hours' ) ) {
$params = array(
'id' => 237,
'hide_closed' => false,
'echo'=> true,
'comment' => ''
);
wpseo_local_show_opening_hours( $params );
}

Shipping method settings

You can find the shipping method settings by going to:WooCommerce -> Settings -> Shipping (tab) -> Local Store Pickup

Single LocationMultiple LocationsWooCommerce own 「Local pickup」

Single Location

If you have configured only one location in your Local SEO configuration the screen looks like this:

Enable/Disable: let』s you activate or deactivate this shipping method.Checkout text: is a text that is shown during the checkout process. It could provide some information for your customers on the process after the order has been completed. Like: 』You will be notified when your order is ready for pickup』.Local pickup costs: Sets the costs ( if any ) for shipping the order tot hat specific location. Use a positive floating or integer value without taxes here.

Multiple Locations

If you have configured multiple locations and possibly some location categories in your Local SEO configuration the screen looks like this:

Enable/Disable: let』s you activate or de-activate this shipping methodCheckout text: is a text that is shown during the checkout process. It could provide some information for your customers on the process after the order has been completed. Like: 』You will be notified when your order is ready for pickup』.Costs per category: enables you to activate and set the costs for all locations inside a specific location category.Costs per location: enables you to activate and set the costs for specific locations.

Important: Your location specific setting will always override the category specific settings for that location.

WooCommerce』s 「Local pickup」 shipping method

This plugin makes WooCommerce』s Local pickup shipping method superfluous. If you already configured WooCommerce to use it, you will be prompted to disable it when you have enabled Local Store Pickup shipping method.

If you hadn』t configured WooCommerce to use it we disabled the visibility of that shipping method for you and you can』t configure it anymore until you disable Local Store Pickup as a shipping method.

New order statuses

In order to manage your WooCommerce orders properly we created a couple of new order statuses:

Transporting: means that your order has been shipped and is currently in transport tot he local store.Ready for pickup: means that the order has arrived at the local pickup store and can now be picked up by the customers.

To manage this flow we created the Transport overview. You can find it here:

This overview shows a list of all orders that need to be shipped to a local store and has either one of the following statuses: 「Processing」, 「Transporting」 or 「Ready for pickup」.

From this overview you can update the status of a specific order to one of the following statuses: 「Processing」, 「Transporting」, 「Ready for pickup」 or 「Completed」.

Once a customer has pick up his order from the local store you can set the status to 「Completed」 and the order will disappear from this overview.

New order statuses mails

Along with the new order statuses we created a couple of extra e-mails in the order process. So we can notify customers when a status has been changed. We created e-mails for when the status changes:

From 「Processing」 to 「Transporting」From 「Transporting」 to 「Ready for Pickup」

You can configure WooCommerce e-mails settings here:WooCommerce -> Settings -> Email (tab)

The checkout process

If you have enabled and configured the locations and the shipping method correctly The location will appear as a shipping option during the checkout process.

We have altered the regular checkout process when using a local store pickup to make it more logical for our purpose.

We adjusted the following items:

We removed the 「Shipping address」 from the overview. We don』t need it anymore since we are shipping to a local store.We added the checkout text which you can configure in the shipping methodWe changed the taxable address and thus the tax calculation to the address of the local store

Example:

[wpseo_address id=」237″ oneline=」1″ show_state=」1″ show_country=」1″ show_phone=」1″ show_phone_2=」1″ show_fax=」1″ show_email=」1″ show_url=」1″ show_vat=」1″ show_tax=」1″ show_coc=」1″ show_logo=」1″ show_opening_hours=」1″ hide_closed=」1″ comment=」Extra Comment」]

Developer filters

Remove Locations from the Permalink This filter goes into the functions.php and will remove the Locations word from the permalink. If the new permalink returns a 404, please go to Admin > Settings > Permalinks and click save without altering anything. ( How to Guide available here.)

If you are not sure how to use the code or add it to your site, you may wish to use a Yoast Partner who can help. As a best practice we recommend taking a back-up of the site prior to making any changes on it. If you are not sure how to take a back-up, your host provider can help.

add_filter( 'post_type_link', 'remove_cpt_slug', 10, 3 );
function remove_cpt_slug( $post_link, $post, $leavename ) {
$options = get_option('wpseo_local');
$slug = ! empty( $options['locations_slug'] ) ?
$options['locations_slug'] : 'locations';
if ( ! in_array( $post->post_type, array( 'wpseo_locations' ) ) && ( 'publish' != $post->post_status || 'draft' != $post->post_status ) ) {
return $post_link;
}
$post_link = str_replace( '/' .$slug . '/', '/', $post_link );
return $post_link;
};

Without Filter see the Locations word in permalink

With filter see the Locations word removed from permalink

Show Route Filter You can adjust the size of the Route title name that appears beneath the Google Map. By default it is set to an h3 title tag. You can change it by entering the following filter in your functions.php. Change the h3 to an h1 or h2 etc. to adjust the size.

apply_filters( 'wpseo_local_location_route_title_name', 'h3' );

That』s it! Of course, if you have company videos, you should be optimizing those with our Video SEO plugin!

Filter to change business details labels
This is an example on how to change the name of a label for the contact details.

add_filter( 'wpseo_local_contact_details', 'wpseo_local_alter_contact_details', 10, 1 );
function wpseo_local_alter_contact_details( $business_contact_details ) {
foreach( $business_contact_details as $order => $details ) {
if( 'phone_2' === $details['key'] ) {
$business_contact_details[$order]['label'] = 'My new 2nd phone number label';
}
}

return $business_contact_details;
}

Edit Google Map Information and Details

Changing the Location URL in Google Maps

To change the Location URL in Google Maps, you can use the following filter tag.

yoast_seo_local_change_map_location_url

For more information, please refer to this guide: Changing the Location URL in Google Maps.

Edit Location Archive Template Files

Use this guide here.

Is Yoast SEO compatible with visual page builders?

Is Yoast SEO compatible with visual page builders?

This article discusses the compatibility of the Yoast SEO plugin with visual page builder plugins. In short: we』ve integrated Yoast SEO in Elementor, but the plugin is not yet compatible by default with other page builders.

Elementor

As of Yoast SEO version 15.4, the plugin is fully compatible with the page builder plugin Elementor. The Yoast SEO Elementor integration is fully-featured and free to use for everyone, no Premium required. You can find all your favorite tools in the Elementor sidebar. It』s available for you on the left-hand side of your screen. You can read more about how to use Yoast SEO in Elementor here.

Other page builders

For other page builders, our plugin does not analyze content that is outside of the main content box of a page or post. Some visual composer developers have modified their code to add compatibility with our plugins while others have not.

How can I make Yoast SEO scan page builder modules for content?

If you are using a plugin or theme or have certain modules that do not send their content to our page analysis, please reach out the developer and ask them about adding the functionality to their visual builder. They may need to use the developer process described here to parse their content and push it into our analysis.

Please note that some features, like the readability markers, may be disabled when using page builders.

How can I make Yoast SEO scan page builder modules in order to output images on the sitemap?

We have a guide that outlines a filter you need to implement here. 

Why are other page builders not included by Yoast?

A while back, we tried to parse shortcodes and other plugin』s content but the outcome was a broken SEO plugin on a large number of sites. We reverted the changes and added a process for developers to parse their own content and push it into our content analysis in order to improve compatibility.

Common installation and update errors

Common installation and update errors

Premium updates require an active subscription. If the subscription is not active, please check for common activation issues.

In rare cases, you will receive an error message when installing or updating Yoast SEO for WordPress. Below, we list the errors that you may encounter. 

If you can』t cope with your SEO work anymore, consider Yoast SEO Premium. Tasks that would normally take a lot of time and cause the same amount of frustration, become manageable again with tools for redirects and internal links. Check this page to see whether Yoast SEO Premium fits your needs.

Could not create directory or folderDestination folder already existsUploaded file exceeds the upload_max_filesizeAllowed memory exhaustedDownload Failed. Server Certificate Verification FailedcURL errorsFatal error: Cannot instantiate abstract class WPSEO_Redirect_ManagerWhite screen

Error: Could not create directory or folder

CauseThis error appears when your server does not have the correct permission set on one or more of the files or folders listed after the error. 

SolutionPlease make sure that the full path, including any files and folders, is writeable. You can do that over FTP.

If you don』t know how to check or change permissions, please contact your web host for assistance.

Windows ServerIn some cases, a Windows server will display this error due to a filename character limit or other server limitations. If you receive this error on a Windows server, please manually install the plugin.

Error: Destination folder already exists

CauseThis error can occur if you already have the plugin installed, or if you have renamed the wp-content folder of the plugin. In rare cases, something may go wrong during the installation process, which causes the folder to be created, but its files are missing or corrupt. 

SolutionIf you are running WordPress 5.5 or higher, you should see the option to automatically overwrite the existing installation with the uploaded ZIP file. Choose to overwrite the current version with the uploaded version. If you are running an older WordPress version, you can either upgrade to the latest WordPress version or manually delete the plugin directory first and then upload it again through your WordPress dashboard.

Error: Uploaded file exceeds the upload_max_filesize directive in php.ini.

Cause This error appears when your web host or server limits the upload file size.

SolutionIn order to fix the error, you』ll need to increase the uploaded maximum file size limit by reaching out to your web hosting provider.

If you』re familiar with server management, you can change the upload_max_filesize value directly from the php.ini file. You can read more about it in this guide. The other option is to manually install the plugin using File Transfer Protocol (FTP). Learn how to do that in this guide: Manually update/install the premium plugin.

Fatal error: Allowed memory exhausted

The full text of this error is: 

Fatal error: Allowed memory size of #### bytes exhausted (tried to allocate #### bytes) in /PATH_TO_WORDPRESS/wp-content/PATH_TO_PROBLEM/FILE.php on line ###

The plugin or theme causing the error is usually found after the /wp-content/ part of the error.

Cause The error occurs when your server runs out of memory to complete the task at hand. 

SolutionIncreasing the memory or decreasing the number of tasks will fix the issue.

To increase the server』s memory, use these steps: 

Add this line to your wp-config.php file:define('WP_MEMORY_LIMIT', '256M');Change this line in your server』s PHP.ini file:memory_limit = 256M;Add this to your .htaccess file:php_value memory_limit 256M 

You can also always contact your host and ask for assistance in increasing the server memory. 

To decrease the number of tasks, use these steps: 

Deactivate and remove plugins you no longer use. That may free up the right amount of memory needed to complete the tasks.Reduce the number of tasks running at once or temporarily deactivate non-critical plugins.

Error: Download failed. server certificate verification failed

The full text of the error reads: 

Download failed. server certificate verification failed. CAfile: [Path_to_Certificate] CRLfile: none

CauseYour website doesn』t recognize the SSL certificate on yoast.com.

SolutionYou need to contact your web host and ask them to add our certificate to their list of trusted certificates. Once they do that, you will again have access to automatic updates. In the meantime, please manually update your plugin using the steps found here: How can I manually update my premium plugin.

cURL errors

When you are updating the plugin, you may get one of the following errors: 

Download failed. SSL: certificate subject name 『*.mycloudproxy.com』 does not match target host name 『yoast.com』

Request error: 「cURL error 35: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version」

Download failed. cURL error 51: SSL: no alternative certificate subject name matches target host name 『yoast.com』

Request error: 「cURL error 35: Peer reports incompatible or unsupported protocol version.」

Request error: 「cURL error 35: SSL connect error

CauseTo receive update notifications for premium plugins, your host must meet our plugin requirements. The errors above indicate that the server you』re hosted on uses an old version of cURL, TLS and / or OpenSSL, the library used to connect to other servers. When you send an update request to our servers, we do that over a secure connection. The reason behind that is that the request contains information about your site as well as your license key.

All our connections run through Sucuri』s Website Application Firewall, which keeps us safe from so-called DDOS attacks. To be able to do that, we use a system called Server Name Indication (SNI). Every browser after IE6 supports this, and every major CURL version released after March 2008 supports this. Unfortunately, it seems your server is using software older than that.

SolutionSince this is a problem on your host』s side, you will need to contact them and report the issue. Meanwhile, please manually update your plugin using the steps found here: How can I manually update my premium plugin.

What to do if your host doesn』t want to fix the issue?|Using old software is a security threat. If your host refuses to solve the issue, it is advisable to look for a new one. If you need help in choosing a new host, you can find a list of trusted hosts here. We checked all the common issues with Yoast SEO and other plugins and made sure the hosts in the list prevent them. 

Fatal error: Cannot instantiate abstract class WPSEO_Redirect_Manager

The full text of the error appears like this:

Fatal error: Cannot instantiate abstract class WPSEO_Redirect_Manager in /PATH_TO_WORDPRESS/wp-content/plugins/wordpress-seo-premium/PATH_TO/FILE.php on line ##

Cause This error occurs when previously entered redirects fail to update to the new format or when the update is not applied due to a cache conflict, particularly when using Opcode cache.

SolutionThere are a few steps you need to take to solve this issue:

Firstly, if you are not running the latest version of Yoast SEO, please update as soon as possible. How To Guide Available Here Please, clear all of your cache tools and recheck for the error. It』s possible that it could be hung up in server-level cache, especially Opcode cache. So, please ask your web host to clear any server cache modules, as well. In rare cases, you may need to disable your cache plugin for a short period of time until the error no longer displays. If all else fails, deactivate Yoast SEO Premium. Then, temporarily install and activate Yoast SEO (free), and delete Yoast SEO Premium. Once the error no longer displays (may take up to a couple of minutes), install a new copy of Yoast SEO Premium.Please empty the transient cache for the wpseo_premium_version option in your WordPress dashboard to trigger our redirect upgrade routine to run again. To empty this cache, you can use a Transients Manager. There are several available in the WordPress plugin repository.

White screen

Cause A white screen happens when plugins and/or themes conflict during the activation of a plugin or theme. 

SolutionTo solve this issue, follow the steps in this article.