Enabling XML-RPC Accross 500 blogs

Short of logging into all the database servers remotely and updating the enable_xmlrpc option, you’re looking at a lot of work.

But, I suspect you want XMLRPC to always be on. If that’s the case, create an mu-plugins folder in wp-content. Create a php file (enable-xmlrpc.php or whatever you like, it doesn’t matter), and drop this line in it:

<?php
add_filter( 'pre_option_enable_xmlrpc', '__return_true' );

XMLRPC will be enabled all the time for any site with that must use plugin.

You can probably automate uploading the file via FTP, just collect all the FTP info into some sort of structured file. Overly simple (and untested) Python ftplib example:

>>> import ftplib
>>> to_send = open('enable-xmlrpc.php', 'rb')
>>> # maybe use the csv module?
>>> with open('site_data.csv') as f:
...     for line in f:
...         host, user, pw = [i.strip() for i in line.strip().split(',')]
...         try:
...             s = ftplib.FTP(host, user, pw)
...             s.login()
...             # Switch to wp-content/mu-plugins
...             s.cwd('wp-content/mu-plugins')
...             # You probably need to change the following line, untested
...             s.storbinary('STOR enable-xmlrpc.php', to_send)
...         finally:
...             s.quit()
>>> to_send.close()