IMO creating the physical files for each user is the wrong way, the only way you should do this is by utilising a database to store the detail and generating pages dynamically.
For SEO purposes you need to make use of a .htaccess file and http rewrite rules
Wordpress does this very well, a typical WP htaccess file:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Essentially you have a single index.php file that all requests are redirected to by the htaccess file and it handles the database requests and delivers data to the browser
Eg;
www.mydomain.com/this-business/
The htaccess file will rewrite the traffic to the index.php page and include a get variable with the value 'this-business' you then get the data from the db for the slug 'this-business' and dynamically display the page
research how wordpress does it and you'll find the best way IMHO