1. Docs
  2. Add Ons
  3. Rightmove, OnTheMarket and Boomin Real-Time Data Feed
  4. Troubleshooting

Troubleshooting

I’m seeing cURL related errors in the log

This is quite a broad topic as many things could be causing the issue. The key things to check in this scenario are:

  • cURL is enabled on the server and that PHP is able to make cURL requests
  • The URL’s entered when setting up the portal are correct. Confirm there are no typos, whitespace etc
  • You don’t have a firewall on the server blocking the requests
  • You don't have a security plugin in WordPress blocking the requests. A quick way to test if this is the case is to disable the plugin temporarily.

It’s also possible that Rightmove haven’t updated things their end to allow requests. If you check with them they’ll be able to tell you if the request is being received or not. If it’s not, it’s an error with the server or details entered.

I’m seeing cURL 58 errors in the log

There is a particular cURL error that we see from time to time that looks something like so:

"Error sending cURL request: 58 - could not load PEM client certificate, OpenSSL error error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak, (no key found, wrong pass phrase, or wrong file format?)"

In this scenario there are 2 possible issues and solutions

1) The certificates provided need re-generating. Send them to us and we'll re-generate for them for you.

2) The server doesn't like cURL requests using SHA1 certificates, which Rightmove's are. We've seen this on sites hosted with 1and1/IONOS and Flywheel. We've solved this by editing the file /etc/ssl/openssl.cnf and placing this at the top:

openssl_conf = default_conf

and then this at the bottom:

[openssl_init]
ssl_conf = ssl_sect
 
[ssl_sect]
system_default = system_default_sect
 
[system_default_sect]
CipherString = DEFAULT@SECLEVEL=1

After saving, restart the server.

Rightmove are unable to obtain photos

If properties are being sent successfully but they aren't able to get the photos or other media there is normally one of two causes:

1) You have a security plugin installed.
We've seen security plugins in the past have a feature which for some reason blacklists Rightmove's IP. A quick way to see if this is the cause is to deactivate any security plugins and try sending a property again. If it works successfully reactivate the security plugin and turn off any settings/features that relate to blacklisting.

2) Invalid SSL certificate or TLS version
From Rightmove's documentation:

If using HTTPS when sending media, please ensure that your certificate provider is in Oracle's JRE/JDK verified list. Please also ensure that your server supports TLS v1.0, 1.1 or 1.2 (1.2 is recommended), otherwise we will not be able to download the images.

Your certificate provider and/or hosting company will able to tell you if your certificate/server matches these requirements.

If you continue to experience issues, another option is to send media over HTTP. A snippet like so will achieve this:

add_filter( 'ph_rtdf_send_request_data', 'change_media_to_http', 10, 2 );
function change_media_to_http( $request_data, $post_id )
{
    if ( !empty($request_data['property']['media']) )
    {
        foreach ( $request_data['property']['media'] as $i => $media )
        {
            if ( isset($media['media_url']) )
            {
                $request_data['property']['media'][$i]['media_url'] = str_replace("https://", "http://", $media['media_url']);
            }
        }
    }
    
    return $request_data;
}

Properties are mysteriously disappearing

This is almost always because you have the real-time feed running on two sites. Please ensure it's not running on an old development site or similar.

If you have a staging and live site that are kept in sync automatically, and it's hard to always ensure it's turned off on the staging site, you can ensure requests are only sent from one place using something like so:

add_filter( 'ph_rtdf_perform_request', 'disable_rtdf_requests' );
function disable_rtdf_requests($perform)
{
	if ( $_SERVER['SERVER_ADDR'] != '111.111.111.111' ) // Should contain the IP of the live server
	{
		return false;
	}	
	return $perform;
}

* requires version 1.1.39 of the add on or higher