We have received many tickets regarding Yoast SEO plugin for WordPress lately. To address these concerns, the following information will help you resolve some of the issues and problems you might encounter while installation Yoast in your blog page.

The reported errors says:

A problem occurred when saving the current step, please file a bug report(Opens in a new browser tab) describing what step you are on and which changes you want to make (if any).
Environment

Please specify if your site is under construction or already active.

Choose under construction if you want to keep the site out of the index of search engines. Don't forget to activate it once you're ready to publish your site.
Option A: My site is live and ready to be indexed
Option B: My site is under construction and should not be indexed

The Problem:

For this problem you have to look at your developers console. You will find that the JSON data is being fetched from a file called: wordpress/wp-json/yoast/v1/configurator

Looking at the output o the configurator file, you will find an error message that says:

Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0

Warning: Cannot modify header information - headers already sent in Unknown on line 0
{"environment_type":{"result":true,"data":"production"}}

The Solution:

To fix this you will have to open you php.ini file in your virtual machine or in your development server (Never in your production environment unless you are certain of what you are doing)

php.ini - Find this line:

; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
; to disable this feature and it will be removed in a future version.
; If post reading is disabled through enable_post_data_reading,
; $HTTP_RAW_POST_DATA is *NOT* populated.
; http://php.net/always-populate-raw-post-data
;always_populate_raw_post_data = -1

Uncomment by removing the semi-colon and how it should look like this:

; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
; to disable this feature and it will be removed in a future version.
; If post reading is disabled through enable_post_data_reading,
; $HTTP_RAW_POST_DATA is *NOT* populated.
; http://php.net/always-populate-raw-post-data
always_populate_raw_post_data = -1

Save your changes, restart your HTTP server and refresh your browser, you should not be getting this error anymore and should proceed to step 2. If you continue to get the Yoast error mention on this page, you may have a different error. In any event, the error is caused because NOT the proper JSON format is being fetched from the server.

NOTE: If you are deploying this plugin within a shared hosting environment where you do not have access to the php.ini file, you may have the option to set the initial PHP parameters in the PHP file as:

ini_set('always_populate_raw_post_data', -1);

Hope that helps