So you’re trying to copy the website you just developed using the Avada theme to a webserver. Upload done, all you need to do is export the local Avada theme options to a JSON string, and import them again on the server. And then it fails: You land on a 404 page that says that options.php could not be found.

This is the Avada Theme Options import/export screen:

Avada options import screen

What gives? You know that wp-admin/options.php exists. You can visit it in your browser. Now you could copy all options manually, one by one, but recent versions of Avada contain hundreds of options, so that would be a time-consuming, error-prone job. What could break the options import?

The options string is a JSON string. You can examine it in a text editor. There are no line breaks, but you can use an on-line JSON formatter to make things readable (it won’t affect the import process). Next, you can import bits and pieces of it. Importing just a few options works. Importing some more, still works! And then it breaks again. Doing a binary search, it turns out that the following option is the culprit:

  "<div id=\"google_translate_element\"></div><script type=\"text/javascript\">\r\n
  function googleTranslateElementInit() {\r\n  new google.translate.TranslateElement
  ({pageLanguage: 'pt', includedLanguages: 'en', 
  layout: google.translate.TranslateElement.FloatPosition.BOTTOM_RIGHT}, 
  </script><script type=\"text/javascript\" 

It’s a bit of custom HTML, including JavaScript, added under Advanced/Code Fields (Tracking etc.) of the Avada Theme Options.

Since there is no error message, it’s not clear what causes the problem. It might be the presence of script tags, the presence of line breaks, or double quotes. After removing this option from the JSON string, things work fine. You can add the option back afterwards in the Theme Options panel.