How do I deploy a local site? I've been getting mixed messages and there is practically no solid up-to-date documentation, I just want to know the standard procedure for moving a locally developed Drupal 8 site to an online server.

Some say it's as easy as FTP'ing your files over and exporting your local database SQL code over and then connecting to the db via the settings.php, others say to put a fresh installation of Drupal 8 online and then move certain files over while exporting the database using the backup module and then importing it online, others still say I also need to export the local configuration and import it online, still others say I need to update the URL's in some parts of the SQL or configuration exports, etc.

I'm developing with the latest Drupal 8.4 with a custom theme in Windows 10 on XAMPP (I have drush) and migrating to a server subdirectory that my domain points to with php 5.6+ (no drush options online because there's no SSH access).

TLDR: What are the steps to move a locally developed Drupal 8.4 site and database to an online server and get it configured, up and running normally?
There are many ways to migrate a local site to a server. Here are a few of the most common.


SFTP/FTP is one way, you can "manually" move all the files up to the
server and use PHPMyAdmin to import the database. Many hosts will
also have automatic Drupal installs, in which case you can use that,
only upload your theme, files, and modules, and then import database. If you upload via FTP you will need to update settings.php to include the servers SQL log/pass as well as domain url
Set up a git repo which you can pull/push to from your local machine 
and the server is likely a better solution if you plan on making
changes. This allows you to more easily manage the files and is a
"safer" solution. Set settings.php to .gitignore
There are also managed solutions such as Acquia Dev Desktop which
will allow you to push/pull files, code, and database simultaneously 
using a UI.