I changed the color of a button a few days ago and made it site-wide. However, we are trying to build a new home page in a testing environment (not launched live but within the same domain, and we don't want the changes to appear there). I have now excluded this testing home page's url in the editor for the experiment, but the change is still applied. Should I do anything else besides this?
There are a couple of things you could of course, being the most obvious one that you have to make sure that Optimizely isn't loaded on your testing environment. The second being making sure that you get the URL to work properly so it's excluded. But what sometimes works even better is checking the DOM structure of the new testing homepage to see if there are any other versions out there of that page so you could make sure that your running test is using the right XPATH queries so it won't affect your testing environment.
We typically have two versions of every experiment.
1- "QA - Experiment Name Here"
2- "Experiment Name Here"
For example, if we had a site-wide experiment, the targeting would resemble this:
The QA version of the experiment uses regular expressions to include all URLs containing "test.mydomain.com".
The production version of the same experiment would include all URLs for the domain but exclude all URLs on "test.mydomain.com":
We use two versions of each experiment because we want to set up the experiments in "QA only", then be able to turn them live in Production only after they have gone through our QA test cycle. Then, while the experiment is live in Production, we can turn off the experiment in the QA environment without affecting prodcution.
Ultimately, it comes down to us wanting the flexibitility to control which experiments are live in which environments independently of each other. Depending on your organization's structure, environment structure, and release schedule, this may not be important to you. Only you can determine which approach works best for your situation.
Consider the example where an experiment is successful, you would set the production version to 100% "Variation B" and you want your developers to make the changes to the base version of the page. To verify their changes, you need Optimizely to not affect the version of the page that supposedly has their changes on it.