Roots Discourse

Trying to connect to Jetpack from a Bedrock install but getting error when connecting to Wordpress.com

I am using a Bedrock install and trying to connect Jetpack to WordPress.com but I’m getting this error:

communicate with your site [HTTP 404]. Ask your web host if they allow
connections from WordPress.com. If you need further assistance, contact Jetpack Support: http://jetpack.me/support/

This is my settings in my .env which are the default settings

WP_ENV=production
WP_HOME=http://example.com
WP_SITEURL=${WP_HOME}/wp

Jetpack uses xmlrpc.php to communicate to the wordpress.com server and it should be in the root directory for it to be able to work. So I tried to transfer the whole contents of the /wp folder to the root url and updated my .env to:

WP_ENV=production
WP_HOME=http://example.com
WP_SITEURL=${WP_HOME}

When I’m visiting http://example.com/xmlrpc.php, it is now giving me the expected return value: " XML-RPC server accepts POST requests only." and I can now connect to wordpress.com via Jetpack without any issues.

What is the proper way to make Jetpack work with the default installation of Bedrock? Can I still take advantage of Bedrock’s feature to put the WP files in a subfolder? :grin:

Could try only moving the xmlrpc.php file as detailed here: https://kovshenin.com/2011/wordpress-subdirectory-xml-rpc/

1 Like

I had this a few months ago and I think it’s a false error message on their side. Even with this message, the Jetpack functions I enabled (related posts, social share, stats, and Photon) all work. Take a look in Wordpress.com or Calyspo and you’ll likely see that the Jetpack servers successfully find/connect to /wp/xmlrpc.php.

When I dug into their plugin code a little, I saw that the plugin reports this error because the UI/plugin interchangeablely uses siteurl and homeurl. When I reported it to them (via support channels, not Github), their response was non existent. I’d love to see this fixed in their plugin.

2 Likes

@swalkinshaw for the suggestion, although a clunky solution, this seemed to work. I have to move xmlrpc.php to the root directory and change line 29 from:

include( dirname( __FILE__ ) . '/wp-load.php' );

to point in the wp directory which is defined in your .env, for this example I’m using /wp:

include( dirname( __FILE__ ) . '/wp/wp-load.php' );

@DavidSchargel I agree, maybe we can try submitting a PR to the core or Jetpack repo that fixes this issue later

1 Like

Any new ways of doing this since three years ago?

Update to the latest version of WordPress + JetPack and it now works! Plus it looks like they improved the load speed of JetPack.