I had a similar issue and we found the source of the problem: the serialised string stored in the posts_meta table in the database. When we changed the domain name from our holding to our live site, the character number was different – this means it’s pulling an invalid string when looking for the file location.
i.e. http://test.example.com/filepath.pdf is 35 characters, and http://www.example.com/filepath.pdf is 34 characters. Adjusting the serialised string to fit fixed our problem.
Should just note that I had to add it to my functions.php like so:
// Move Yoast to bottom
function yoasttobottom() {
return 'low';
}
add_filter( 'wpseo_metabox_prio', 'yoasttobottom');
Works perfectly though.