Setting Up a Custom Domain

When you create a free Teachable school, you can customize the subdomain part of your site URL, following the format http://yoursite.teachable.com. However, the root domain will remain teachable.com. While this is a great starting point, you may already have an existing domain that you want to have your school point to. On our Basic plan and up, you can have a root domain of your choice point directly to your Teachable school, or you can add a subdomain that will point to it.

Buying a Domain or Subdomain

To buy a domain name, you have to register the name you want with an organization called the Internet Corporation for Assigned Names and Numbers (ICANN), going through a domain name registrar (like GoDaddy or Namecheap).

For example, if you choose a name like "example.com," you will have to go to a registrar, and pay a registration fee for that name. That will give you the right to that name for a year; to keep it after that, you will have to renew it annually.

First, perform a search to make sure that the domain name you’d like to purchase is available. You’ll then be able to choose between domain extensions like .com, .net, .biz, and so on (you may want to purchase more than one). Decide whether you want to purchase domain privacy, which protects your name, phone number, and address from going on public record. Finally, before checking out, you may be given the option to own the domain for more than a year, if you don’t want to worry about renewing annually.

Adding a Domain to the Teachable Admin Area

In order to have your personal domain point to your Teachable school, you need to add the domain to your Teachable account. Note that in order to set a custom domain name, you’ll need to create a CNAME record at the root level, which is discussed further in the next section.

  1. Log into your Teachable account.
  2. Select Site from the admin sidebar.
  3. Choose Domains from the submenu.
  4. If you have not yet verified your original Teachable subdomain, you'll see this screen, where you can confirm the standard subdomain or add the custom domain instead. (We recommend that you confirm the standard free .teachable.com subdomain first and then add a custom domain using the process in steps 5-7, as you'll need a Teachable subdomain to connect certain programs like Zapier.)admin-site-domains-custom_domain.png
  5. Otherwise, if you have already verified your original subdomain, click the New Domain button. new domain
  6. Enter the domain of your choice using the format mysite.com or courses.mysite.com.

    NOTE: You don't need to enter www. or http:// here.

  7. Click the Add Domain button and you will see your newly created domain added to the list of domains. add new domain

Creating a New DNS Record to a Root Domain

Now that you've added the domain name to your Teachable account, you'll need to create a new DNS record wherever you registered your domain. This DNS record will route requests from your custom domain to your Teachable course.

TIP: Several Teachable schools choose to set up a root (naked) domain as their custom domain. Some examples of such Teachable schools are http://bitfountain.io, http://learntoprogram.tv, and http://knowledge.ly.

In order to set a custom domain name, you need to create a CNAME record at the root level.

Most domain providers do not let you create a CNAME record at root. Luckily, Cloudflare lets you use their DNS completely free and allows you to create a CNAME record at the root level. To do so, follow these steps:

  1. Create a free CloudFlare account.
  2. Transfer your domain’s DNS over to CloudFlare.
    • Go to http://cloudflare.com and click the Sign Up link. sign up for cloudflare
    • Enter the domain name that you want to use for your Teachable school without the www.
    • Click the Scan DNS Records button. scan DNS records
    • Click the Continue button.
    • If there are any additional records you'd like to add, you can add them here. After you've reviewed your DNS records, click Continue.
    • Choose the Free plan, leave the other settings the same, and click Continue. free website cloudflare plan
    • Copy the names of the two nameservers listed. copy nameservers from cloudflare
    • Update your domain registrar’s nameservers with the two names you copied from CloudFlare.
  3. Set up your Teachable school domain in CloudFlare.
    • Within CloudFlare, select your domain.
    • Choose the DNS icon from the top menu bar. dns
    • If there's an A record with your domain in it, delete that A record. delete A record

      NOTE: Deleting the A record will produce a warning—don't worry! You want to delete the A record since you're about to add a CNAME at root pointing to your Teachable school.

    • Create a CNAME record pointing to your school URL on Teachable.
    • Click Add Record. add CNAME record

NOTE: This process often takes 24-48 hours to fully process.

Creating a New DNS Record to a Subdomain

Now that you've added the domain name to your Teachable account, you'll need to create a new DNS record wherever you registered your domain. This DNS record will route requests from your custom subdomain to your Teachable course.

  1. Go to your domain registrar.
  2. Create a CNAME record for your desired subdomain.
  3. Point it to your Teachable school URL.

NOTE: This process often takes 24-48 hours to fully process.

Making the New Domain your Primary Domain

  1. Log into your Teachable account.
  2. Select Site from the admin sidebar.
  3. Choose Domains from the submenu.
  4. Verify that the new domain name works by clicking the Check Domain button. If your domain name works, you will see a Verified message next to your domain.

    CAUTION: Do not set your new domain as Primary in Teachable until you know the transfer is complete. If you have set your new domain as the Primary too early, you will be unable to log into your school.

    check domain
  5. Click the Make Primary button next to your new domain. make primary

Understanding Internationalized Domain Names

Some users with schools in other languages encounter problems setting up domain names with foreign-language-specific scripts (aka internationalized domain names).

To avoid this issue, simply convert the domain to Punycode and set that as your primary domain. You can keep the original version and set it to redirect to the Punycode domain.

In the example below, the first domain name is in Punycode, while the second is the original internationalized version.

thanks_illustration

Can't find what you're looking for?

Contact us
thanks_illustration