# Preview your site before pointing DNS
Source: https://docs.webgee.com/en/domains-dns/preview-site-before-dns-change



See how a site looks and behaves on WebGee hosting **before** you point the
domain here. Applies to shared, reseller and Premium hosting.

This is the safe way to run a migration: build the site here, confirm it works,
then change DNS knowing there will be no downtime.

## Use Website Preview [#use-website-preview]

WebGee provides a **Website Preview** plugin in cPanel. It gives your site a
working address on a subdomain of the server hostname — something like
`username.server.example.io` — and serves it exactly as it will be served once
DNS points here.

1. In cPanel, open **Website Preview**.
2. Select the domain you want to preview.
3. Open the preview address it gives you.

Because the preview is a real addon domain, rewrite rules work, SSL works, and
WordPress behaves normally.

## Why not the cPanel preview URL [#why-not-the-cpanel-preview-url]

cPanel has a built-in preview at `http://server-ip/~username`. It exists, but it
breaks in ways that waste time:

* **`.htaccess` rewrites do not work as expected**, which breaks WordPress,
  Joomla and most other applications.
* **WordPress needs its Site URL changed** to display at all through it, which
  you then have to change back.
* **No SSL is possible**, so an `https://` site cannot be previewed.
* **It exposes the server's IP address** in a link you may be sending to a
  client.

## Previewing a WordPress site [#previewing-a-wordpress-site]

WordPress stores its own address, so it will try to redirect a preview visitor
back to the live domain. Website Preview handles this, but if you are testing by
other means you can override it temporarily in `wp-config.php`:

```php
define( 'WP_HOME', 'https://preview-address-here' );
define( 'WP_SITEURL', 'https://preview-address-here' );
```

Remove both lines before going live, or the site will keep pointing at the
preview address.

## When you are ready to go live [#when-you-are-ready-to-go-live]

Point the domain at WebGee — see
[Check what nameservers your domain is using](/en/domains-dns/how-do-i-check-what-nameservers-my-domain-is-using).

Once DNS resolves here, request a certificate:
[Install a free SSL certificate](/en/security-ssl/free-ssl-certificate).

## Related [#related]

* [Migrate a WordPress site from another host](/en/hosting/wordpress/migrating-a-wordpress-site-from-another-host-using-softaculous-remote-import)
* [Direct a domain to an external web service](/en/domains-dns/how-to-direct-a-domain-to-an-external-web-service)
