By the way, cloning your site if you have shell access is very quick if you have given some thought when you set up your server. The production site sits in /mysite. The database that holds the site is named mysite. Set up a subdomain or a regular domain to use for your clone. In the case of subdomain, you can use test.mysite.tld which will point to the directory holding the test site when you set up Apache or Nginx or other webserver. Our clone directory will be mysite_test.
Backup the database of the production site. Create a new database named mysite_test and import the backup of the production site database export/backup you created. now cd to the directory holding /mysite. For example, if mysite is in /var/public_html/mysite then cd to /var/public_html. Issue the command cp -rp mysite mysite_test. Site is cloned. Now go to /mysite_test/inc/header.inc.php and edit the file to use your subdomain and root location of mysite_test and database mysite_test.
You now have a clone site that is identical to your production site for allowing someone to figure out what is wrong. Once they determine what is wrong, they can tell you what they had to do so you can apply it to your production site. When I work on my site, I never work directly on the production site; if I do an oops, then no harm done and I can reclone the site and start over.
As for FTP access, you can chroot them to the /var/putblic_html/mysite_test.