How to Make a Website in 5 Steps!

You may be thinking to yourself, “I know I want to be online, but how do I make a website?” “Where do I even start?” What if I told you that it is easier than you think and you don’t even need to be a developer.

Now would it help if you were a developer, sure and for some things you may either need to be one or hire one.

If your primary goal is just to be online with your own website or even Ecommerce site then it is not as difficult as you may think and I am going to show you how.

Step #1: Determine what the goal of your website will be.

Before we jump in head first let’s first step back and do a little bit of planning here and as ourselves what is the goal of our website. Take a moment to ask yourself some of the following questions.

Is it to have a website for our business?

Is it to sale products online from our website?

Is it to just build our personal brand or even to write post on aka a Blog?

Ok now that we have come up with some ideas of what we hope to accomplish what is best going to suit our needs?

Is a free website going to work best?

If this is the case then you can easily sign up for a Wix website. It is simple and easy to use even for beginners, one problem that you might run into later is moving away from it. Or you can also use Tumblr though it is really more for blog posting in a Social Media format and if they chose to no longer allow you to post to it you will be in trouble. Or you can even use Google Sites.

These are are viable ways to give yourself an online presents and make a website for free. However they do have there drawbacks and they really aren’t what you would think of when you think of having a website like your very own .com.

So how do you do that? That we are going to answer in the rest of the steps.

Step #2: Pick a Brand/Domain Name.

Now before you actually pick a domain name, I want you to think about it like it is your own brand. Your very own Amazon so to speak. To expand on this example incase you do not know what a domain name is, it is the .com, .net, .org, etc… so if you notice in the Amazon example is the domain name for the brand Amazon.

As you will also notice the brand and domain name for this personal website is my name.

Take a few minutes to brainstorm and come up with a few brand ideas that you might have, if you already have one is to see if it is available and purchase it.

Now throughout the years I have tried many different places for ordering domains, hosting and the like and when it comes to prices on domain names not only for the initial purchase but also for the yearly renewal NameCheap is cheapest by far and if you purchase your domain with the link below you can get one for $0.99 for the first year.

Just $0.99! Get a popular domain today!

Now NameCheap does offer web hosting as well and we will get into that in the next step, but don’t rush to buy your web hosting there quite yet. You will see why in Step #3.

Step #3: Choosing and getting a web host.

You may have wondered why I said not to rush to buy your web hosting with NameCheap and there is a reason why.

If you plan on having your website run on WordPress or use Woocommerce for your ecommerce solution then when it comes to shared hosting there is only one place to go.

After extensive research and trying many different website host or should I say the place online where your website will essentially live. When it comes to performance with WordPress/WooCommerce SiteGround is the best and fastest place to go.

So why as a developer am I telling you to use WordPress, well it’s quite simple actually. With it having the largest share market of all the websites on the web, there is virtually no limit to the plugins and themes you can find both free and paid to accomplish almost anything that you might be trying to do. With plugins like Elementor it makes it so easy to make your website look just how you want it to without any programming knowledge.

With that said, “how do I get started?”

The following is the step-by-step process to get started with SiteGround.

First by clicking the link below it will take you to SiteGround’s website landing page for WordPress, but don’t worry if you plan on setting up a WooComerce site the hosting is the same.

Get SiteGround Hosting Here

No that you are on the landing page it should look something similar to this but more geared towards WordPress

How To Make a Website: Hosting Step1

If you plan on having more than one website then the middle one is one of your best bets if you don’t want to GoGeek.

Once you select the Plan the next step to this is to choose a domain:

Since we got our domain from NameCheap select “I already have a Domain” then type it in and press “PROCEED”.

How To Make a Website: Hosting Step2

Next is to handle the payment:

How To Make a Website: Hosting Step3

Select the period you want to pay for and any extras you may be interested in, confirm the terms of service and click “PAY NOW”.

Once the payment process is done and you have received all of your confirmation emails it is on to the next step which is actually setting up your website.

Step #4: How to Make Your Website:

Now that your account is setup lets login and get started.

You show see an option to Start New Website or Migrate Website, because we are starting a new one select the Start New Website.

Now it is time to choose an Application and your page should look something like this:

How To Create a Website

If you want just a WordPress site then select that, however if you want an Ecommerce site then select the WooCommerce one.

Either one will have you Set up Login: here is where you enter your email address and the password you want to use to login to your new website.

How To Create a Website

Then you should see a screen to add the Site Scanner if you didn’t chose this when you paid for your hosting.

If your website gets hacked then this will notify you immediately.

How To Create a Website

Add the Site Scanner if you are interested and if not press the “FINISH” button.

Now we just wait for our new site to be created.


Step #5: Point Your Domain to Your Website:

Ok now that our website is up and running you need to set up your domain with NameCheap to point to SiteGround’s name servers.

In your SiteGround’s account panel you should see something like this:

How To Create a Website

The bottom part are your Name Servers, You will want to use this so that your email with SiteGround works.

To change the nameservers for your domain, you will need to do the following:

First sign in to your Namecheap account.

Select Domain List from the left sidebar and click the Manage button next to your domain:

Find the Nameservers section and select your preferred option from the drop-down menu. Click on the green checkmark to save the changes:

You will want to select the Custom DNS.

CustomDNS – if you wish to point your domain to custom nameservers (for example, your Personal DNS servers or third-party hosting nameservers if your domain is hosted with another DNS provider). You will need to fill in your hosting nameservers to the empty lines and click on the green checkmark to save the changes:

Now you will want to replace the area with the left arrow with the Name Servers from SiteGround and then click the check.

Nameservers changes do not propagate instantly. Once your nameservers are changed, it may take up to 24 hours (more, in rare cases) for local ISPs to update their DNS caches so that everyone can see your website.

You can always check your domain name using any Proxy server as Proxy servers do not store cache, thus you can see the non-cached information.

Once your site is completely up after the update to your Name Servers it is time to login to the admin area and get to customizing it to be what you want it to be.


Now that you see how easy it can be to set up your own website and have a real presence online you will not let the fear of the unknown stop you from continuing to reach your goals.

Also if you have any questions or issues feel free to contact me and I will do my best to help.

Was it as hard as you thought it would be?


How can I create a free website?

You can easily sign up for a Wix website. It is simple and easy to use even for beginners, one problem that you might run into later is moving away from it. Or you can also use Tumblr though it is really more for blog posting in a Social Media format and if they chose to no longer allow you to post to it you will be in trouble. Or you can even use Google Sites.

How can we create a website?

Register your domain name. Your domain name should reflect your products or services so that your customers can easily find your business through a search engine. …
Find a web hosting company. …
Prepare your content. …
Build your website.

How do I create a free website on Google?

On a computer, open new Google Sites.
At the top, under “Start a new site,” select a template.
At the top left, enter the name of your site and press Enter.
Add content to your site.
At the top right, click Publish to publish your changes.

How to properly configure your wp config/wp-config

So you got your WordPress website setup but do you have it optimized or secured? Is your wp config/wp-config done right?

Most of what is in this doesn’t require you to have root access (also known as administrator in the Windows world) or even much knowledge about programming for that matter.

All you will need to do to accomplish this is copy the code below and replace the sections with the <> with your information and you will be set to go.

If you don’t have a development environment or even know what that is then don’t worry about the ‘local’ section.

Now I did find this config example in github and I have sense made minor tweaks here and there. Finding it sense on Google has been near impossible.

// The Main Switch:
define('CURRENT_SERVER','live'); // Set for Production
/*  ------------------------ YOUR SERVER CONFIGURATIONS --------------------- */
case 'local': // Mainly used for Development
define('WP_DEBUG', true);
define('SAVEQUERIES', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', true);
The SAVEQUERIES definition saves the database queries to an array to help analyze those queries.
See on how to use it.
define( 'SCRIPT_DEBUG', true );
define( 'CONCATENATE_SCRIPTS', false );
define('DB_NAME', <DBNAME>);
define('DB_USER', <DBUSER>);
define('DB_HOST', 'localhost');
define('PROTOCOL', 'http://');
define('DOMAIN_NAME', '');
define('PATH_TO_WP', '/'); // if your WordPress is in a subdirectory.
define('WP_HOME', WP_SITEURL . PATH_TO_WP); // root of your WordPress install
case 'live':
define('WP_DEBUG', false);
define('SAVEQUERIES', false);
define( 'SCRIPT_DEBUG', false);
// log errors in a file (wp-content/debug.log), don't show them to end-users.
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
/* Compression */
define( 'COMPRESS_CSS',        true );
define( 'COMPRESS_SCRIPTS',    true );
define( 'CONCATENATE_SCRIPTS', true );
define( 'ENFORCE_GZIP',        true );
define('DB_NAME', <DBNAME>);
define('DB_USER', <DBUSER>);
define('DB_HOST', 'localhost');
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
define('FS_METHOD', 'direct');
define('PROTOCOL', 'https://');
define('PATH_TO_WP', '/'); // if your WordPress is in a subdirectory.
define('WP_HOME', WP_SITEURL . PATH_TO_WP); // root of your WordPress install
// Using subdomains to serve static content (CDN) ? 
// To prevent WordPress cookies from being sent with each request to static content on your subdomain, set the cookie domain to your non-static domain only.
// FTP: On some webhosting configurations, WordPress automatic updates fail. Try the FTP method. If still a no-go, see: for alternative methods. */
define('FS_METHOD', 'ftpext');
define('FTP_HOST', 'YOUR FTP HOST (without http:// or ftp://)');
define('FTP_SSL', false);
/*  ------------------------ SETTINGS COMMON TO ALL SERVERS  --------------------- */
define('TABLE_PREFIX', <YOUR_PREFIX>);  // Something else than the default wp_. Only numbers, letters, and underscores.
define('WP_POST_REVISIONS', 5 ); // How many revisions to keep at max.
define('AUTOSAVE_INTERVAL', 120); // in seconds
define('EMPTY_TRASH_DAYS', 7); // in days (use 0 to disable trash)
// WORDPRESS' LANGUAGE _ Default is 'en_EN'
define('WPLANG', 'en_EN');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('WP_ALLOW_REPAIR', false); // Set to true to have WP repairs its database tables, refresh page, set back to false.
// make it less obvious that your site is using wordpress.
// rename wp-content folder
// define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content' );
// define( 'WP_CONTENT_URL', WP_SITEURL.'/wp-content');
// rename uploads folder
// define( 'UPLOADS', '/wp-content/uploads' );
// rename plugins folder
// define( 'WP_PLUGIN_DIR', dirname(__FILE__)  . '/wp-content/plugins' );
// define( 'WP_PLUGIN_URL', WP_SITEURL.'/wp-content/plugins');
// You cannot move the Themes folder, but your can register an additional theme directory
// register_theme_directory( dirname( __FILE__ ) . '/themes-dev' );
// Prevent users from editing themes and plugins via the UI
define( 'DISALLOW_FILE_MODS', false ); // Warning: this hides access to "add new plugins" functionality
define( 'DISALLOW_FILE_EDIT', true );
// Cron system
define( 'DISABLE_WP_CRON', true ); // If you can, disable wp_cron: use a real cronjob to trigger /wp-cron.php
// SSL
if (PROTOCOL === 'https://'){
define( 'FORCE_SSL_LOGIN', true );
define( 'FORCE_SSL_ADMIN', true );
// If you don't plan to post via email, decrease this
define('WP_MAIL_INTERVAL', 86400); // 1 day (instead of 5 minutes)
* Authentication Unique Keys and Salts.
* Change these to different unique phrases!
* You can generate these using the {@link secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
* @since 2.6.0
define( 'AUTH_KEY',         <REPLACE> );
define( 'SECURE_AUTH_KEY',  <REPLACE> );
define( 'LOGGED_IN_KEY',    <REPLACE> );
define( 'NONCE_KEY',        <REPLACE> );
define( 'AUTH_SALT',        <REPLACE> );
define( 'LOGGED_IN_SALT',   <REPLACE> );
define( 'NONCE_SALT',       <REPLACE> );
/*  ------------------------  MULTISITE MODE  --------------------- */
define( 'WP_ALLOW_MULTISITE', true ); // Enable multisite mode. 
define('SUBDOMAIN_INSTALL', false); //  Leave false to use subdirectories
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
// Must-use Plugins. These plugins are loaded by default before any other plugins.
// define( 'WPMU_PLUGIN_DIR', dirname(__FILE__) . '/extensions/builtin' );
// define( 'WPMU_PLUGIN_URL', '' );
// Where to redirect users stumbling on a 404 website
define( 'NOBLOGREDIRECT', '' );
/*  ------------------------ OTHER CONSTANTS YOU COULD NEED  --------------------- */
/* IF YOU ARE DOING AJAX, This line tells WordPress to load as little as possible */
// define( 'SHORTINIT', true );
define('WP_MEMORY_LIMIT', '128M');
define('WP_MAX_MEMORY_LIMIT', '256M');  // Admin area specifically
//define('WP_DEFAULT_THEME', 'twentyeleven'); // Custom Default Theme
// Custom Database Table for Users
//define( 'CUSTOM_USER_TABLE', $table_prefix.'peeps' );
//define( 'CUSTOM_USER_META_TABLE', $table_prefix.'peepmeta' );
// More Cron
//define( 'WP_CRON_LOCK_TIMEOUT', 120 ); // cron repeat interval
//define( 'ALTERNATE_WP_CRON', true ); // Issues with cron? Try this setting as a last resort.
// Auto-updates
//define( 'AUTOMATIC_UPDATER_DISABLED', true );  // Disable all automatic updates
//define( 'WP_AUTO_UPDATE_CORE', false ); // Disable all core updates
//define( 'WP_AUTO_UPDATE_CORE', true ); // Enable all core updates, including minor and major
//define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // Enable core updates for minor releases (default)
//define( 'DO_NOT_UPGRADE_GLOBAL_TABLES', true ); // Disable DB Tables auto-update
/*  -------------------------- STOP EDITING PAST THIS POINT  --------------------- */
$table_prefix = TABLE_PREFIX;
// Adapt your servers to the chosen locale.
setlocale(LC_ALL, WPLANG);
// For compatibility with old plugins
if (defined('WP_PLUGIN_DIR')) define( 'PLUGINDIR',  WP_PLUGIN_DIR );
/** Absolute path to WordPress. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . PATH_TO_WP);
require_once(ABSPATH . 'wp-settings.php');

Note: if you only have shared hosting you might want to lower the following lines:

define('WP_MEMORY_LIMIT', '128M');
define('WP_MAX_MEMORY_LIMIT', '256M');  // Admin area specifically

The rest of it you can leave except for updating the <> stuff to match yours.

Now if you are doing Multisite or stuff like that you need to uncomment those sections, but leave that to your developers of course unless you want to learn. 🙂

Do you have any tweaks to the wp config/wp-config that you like to do?