With my background in Software I'm a big fan of keeping a separation of concerns. So when it comes to email hosting I would prefer not to be tied down to my registrar or hosting provider. Let them do what they do, and let the guys that specialize in mail do what they do best. Thats why I decided to host our email in G-Suite. Its a per user fee with no minimums, setting up new domains is a breeze, it gives our users an interface they are used to dealing with (gmail), and you don't need a certification to manage it (eghmmm .. ms exchange).
The first thing you are going to want to do once you decide you are going to move forwar with G-Suite / Google Apps for business is to configure your domain so that google can start handling your mail for you.
First we are going to need to browse to our admin console... you can get there by browsing to https://admin.google.com.
If you haven't already setup an account you can sign up for a free trial here
Once you are logged in you will be presented with the following admin dashboard.
from here you have a couple options. One of the REALLY nice features about using g-suite is that it offers the familiar google search box, and no one does search better than google.
From here you can either enter in "domains" to the search box.
or you can click on the more controls box at the bottom of the page.
I'm guessing that Google has this hidden on purpose since adding domains isn't something that you are going to be doing as regularly as other management functions.
If you would like it to be visible on your dash board without having to google how to find it each time you need to do this (personal experience ), you can drag it into the primary view section, and it will be added to your dashboard view.
once you are in the domain management section you will have the ability to add or remove domains and domain aliases.
Now you will have to choose whether or not you want to create a domain or a domain alias.
Use cases for creating A Domain
Use Cases for Creating a Domain Alias
In this example I'm want to be able to provide my users with email addresses for a new domain we are launching a product on. So I will choose the "Add a domain alias of ____" option.
Now we will have to prove that we own the domain.
The recommended verification method is to add a txt record to your dns. Here they say that you need to choose your domain name provider, which is a touch misleading. If you have read some of our other posts you know that we use cloudflare for all of our dns, and what google is looking for here is for you to add a txt record to your domains dns. In the drop down you will only find Registrars though. Since we understand how DNS works though we can just choose whatever registrar we want in the list, knowing that we are going to make the updates in cloudflare.
*if you aren't using cloudflare, you will need to go to the DNS management section of whoever is managing your DNS and follow the appropriate steps for adding an additional dns txt record.
As you can see here I have chosen namecheap, although it doesn't really matter. No matter which provide you choose its going to give you the same instructions.
Now we will pop over to cloudflare, and browse to the DNS tab of your site.
For a txt record we choose the TXT option from the drop down, and then in the name field we are going to put in an @ symbol, like you see in the screenshot.
now when we click on the "click to configure" text box we are going to copy and paste the google site verification text that google gave us.
after we click save we will have a completed txt record, and we just need to click the "add record" button for it to be added to our DNS records.
Now we can go back to the google verification page, and we can click verify. Google will look at your DNS records, and can now verify that you have the site verification record.
After we have verified the site, we can set up our MX records which will tell email servers where to connect to in order to deliver mail.
All we need from google here is the MX server addresses and the priority in which they should be configured. As you can see in the screenshot below there are 5 different servers, so we will need to create 5 different mx records in cloudflare.
This is actually a very similar process as when we created the txt record.
In cloudflare we will choose MX from the new record field, and then once again we will enter an @ sign into the name field. Then we will click into the "click to configure" input field.
Now we are presented with two input fields
In the server field we will put the server that is listed with the lowest priority (lowest = first choice in this case), and then we will set the priority.
Once you click save, you can add the record.
You will repeat the process for all 5 of the mail servers google provides.
Once you are finished your dns recods should look something like this.
Now we can pop back over to our google admin tab, and click the I have completed these steps button.
Now your mail is set up to be delivered for your new domain!
Since we created this as an alias domain, our users will automatically have email aliases created for them for all of there existing email addresses.
Now that we have our new email alias set up we are probably going to want to be able to send mail in gmail from the new address right?
Well this is how your users can configure gmail so that when they are sending a new email they can choose which email it will send from.
First we are going to select the cog in the upper right hand corner.
From there we will select the settings option in the context menu.
In settings we are going to choose the "Accounts" tab. This will show us our "Send mail as" option. You will click the "Add another email address" option, and make sure you ahve the "reply from the same address" check box selected so that you don't have to look up which email address you should be replying from.
Once you click that you will be presented with a form where you can put in the "Name" which is what people who you email will see, and the new email address.
As long as we configured everything correctly when setting up the domain, you should now be able to open up a new email, click in the from tab and be presented with the new email address!
Having your own custom domain name in your email can lend a lot of credibility to your business. Hopefully this tutorial has helped you see that the process of setting up your domain in g-suite is really quite simple process. You can quite literally have a new email address on your own custom domain setup in just a few minutes!
Let me tell you a story and see if you this resonates with you, if so then missinglettr might just be the perfect fit.
You come up with a new idea for a site, and you are super excited. You knock out the design and get the site up and running. You build out your social profiles, and make sure they are all filled out, start creating some great content for your site, and then on to your link building strategy...
Fast forward a couple months, and those social profiles that you built out look like this ...
Being able to correlate ranking shifts with both on site and off site changes that you have made is one of the pillars of being a successful SEO. So having a rank tracker that you depend on and knowing how to use it the RIGHT way is paramount. In this post we do an in depth review of Serpbook its features, and how we at mrktr.io set up our rank tracking...
Whether you are new to the IM space or you are a veteran you probably know that building your email list is a HUGE key to your ongoing success. One way to do this is by proactively prompting users to join your email list, and typically with that request you give them some sort of legal "bribe". This is often referred to as a lead magnet. The opt in service that I have been using for the past year or so and am a big fan of is OptInMonster. Below you will find a comprehensive otpinmonster review as well as tutorial on how we create and configure campaigns the we run on our network of sites.
If you have already read my understand dns then you know that I use cloudflare on all of my sites. The reason that I like cloudflare so much is that they are so much more than a DNS provider. Not only do they provide a ton more value than typical DNS providers, they also have a free plan that includes about 95% of the features that you could ever want. Here is a list of functionality that I think makes Cloudflare a no brainer:
Cloudflare approached solving the problem of slow websites from a whole different vantage point, and it was a stroke of genius. When content delivery networks first came out implementation was a huge PITA.
There were so many barriers to entry.
How did you get your latest content (images, code, etc) up to them, during your publishing process.
If you figured that out then how did you get your site to reference a different subdomain, where you would have to host your files?
Most of the time a relative path is used when it comes to images which will not work if you are trying to reference images hosted on a subdomain. Along comes Cloudflare and they decide to attack the problem at the DNS level... GENIUS!
Cloudflare has an intuitive user friendly process for setting up new sites. They will ask you to enter in your site's domain. Then they go out to scan existing DNS servers attempting to find your existing records. This makes migration from a different provider much easier.
If you are migrating though you need to make sure you double and then triple check the records that Cloudflare finds. There is no guarantee that they will find everything, and missing a record could cause you lot of potential problematic issues such as:
The list goes on, but I think you get the point. Migrating your DNS is typically a pretty simple process, but it does need to be thoroughly thought out, and not just performed all willy-nilly.
Content delivery networks allow your content to be served to a visitor from the nearest location to where they are making the request. This means if I have my server located in the US in say San Francisco, and a user makes a request from Japan, if I don't have a CDN its just a matter of physics of how quickly my content will be able to be delivered to that user. Now if I have a CDN set up, and have one of their servers in japan as well, now they can receive my content from a server that is MUCH closer to them. Thus increasing the speed at which they can view it, making for a better user experience.
This also helps with bandwidth considerations at your hosting provider. If you have a limited amount of bandwidth or have to pay for the bandwidth you use this can potentially save you a significant amount of money.
If you aren't familiar with what a DDOS attack is you can read more about it here. DDOS stands for Distributed Denial of Service. In essence, a DDOS attack is just a very large volumne of request that are sent to your server in an attempt to overload it, preventing real traffic from getting to your site.
In this day and age, whether its a competitor trying to bring down your site, or a script kiddie just being a jerk, the opportunity for someone to conduct or just pay someone to perform a DDOS attack on your site is WAY too easy. For as little as $20 bucks, you can literally get someone to kick off one of these attacks for you. So don't get caught with your pants down. Make sure you use a service like Cloudflare to protect your sites!
This feature is a by product of handling all incoming request. Since Cloudflare is going to potentially serve your visitors cached content, all requests that are made will go through one of their load balancers. To do this it needs to resolve to an IP that one of their load balancers is hosted on. Due to this, a Cloudflare IP will be returned instead of the hosts actual IP, when you have Cloudflare's content delivery service enabled. This is great for protecting the privacy of your servers IP address.
There are a few reasons you would want to hide your servers IP address:
Whatever your reason is, having your site behind Cloudflare load balancers and IP's provides great privacy and protection.
As I stated before if you are in the SEO space, then you are aware that if you are going to try and rank a money site, you should have it on https. Once again since Cloudflare gets in between the client request and your server, they are able to provide you with whats called a "flexible SSL". This means that the traffic is secure/encrypted between the visitor and Cloudflare's servers, but then they send the request to your server over http (port 80) which is insecure. While this doesn't guarantee 100% secure communication. The good thing is that most of the time the man in the middle type attack occurs by a hacker intercepting the data going to and from the client. Not data that is being transferred from server to server.
Here is a diagram of how flexible SSL works
*this is also why you don't want to set your sites location as https:// if you are using Cloudflare flexible SSL. Traffic is still flowing off port: 80 to your server not port: 443. Once you have this configured you will need to install a plugin on WordPress that Cloudflare developed because of a redirect loop that occurs. You can find it here.
Now that we understand all of the features Cloudflare offers lets go over step by step how to add your site to Cloudflare, and how to configure it.
*Pro Tip: Each ACCOUNT is given its own set of nameservers. So if you are using this for PBN's, you will want to have a separate Cloudflare account for each or else you risk creating a very large footprint.
Once you click signup you will be prompted to enter in a unique email address to create your new account, as well as a password of your choosing. Since this is a DNS provider, and this could be a brand new domain, they will NOT make you verify your email address before you can set up the account. So the email address you enter does not have to actually exist.
*Think PBN, and not wanting to have to set up an email service
Next you will be prompted to enter in your domain name. You will want to enter in your root domain (example.com instead of www.example.com), and then Cloudflare will start to scan your current nameservers for DNS records.
*Hacker Tip: Want to know all of the DNS records of one of your competitor's sites, to see if there is any additional info you can learn? Put in your competitor's site here, and they will perform the scan as if you were going to manage their DNS. Then you will have a list of all the DNS records Cloudflare could find.
Cloudflare will show you a quick video going over how their system works, and after that you can continue on to the setup process.
*I have tried to get around this wait period by browsing directly to the account setup page to avoid the extra 60 seconds or so, but it appears they have some sort of flag set not to allow you to move forward until the scan is complete.
As you can see below Cloudflare has found a bunch of the DNS records that namecheap defaults when you purchase a domain. Now if I want Cloudflare to keep my email forwarding at namecheap, then I will leave all of the MX records. If not, you can purge them. You will need to either update or remove the A record, and the CNAME record so that they point to your server, load balancer, etc.
If you purged the records, and are going to use CNAMES, as I recommend, then you will need to create at least 2 CNAMErecords. One for the root domain, and one for the www version of the site. Even if you do not plan to use the www sub domain, it's good practice to have it in place just in case someone types it in manually since its been pretty standard over the years to place www in front of your domain.
For the root domain you will put in the @ symbol for the name and then the location where you want it to point.
The www record you will put "www" without quotes into the name field and then the target hostname.
Automatic TTL stands for how quickly the DNS provider will look to push out changes to your DNS. This has to deal with DNS propagation, and how quickly they will push out new information. Leaving this at automatic is usually fine.
The Cloudflare cloud icon can be toggled on or off here. If you want Cloudflare to act as a proxy for all your traffic and perform the features we discussed above then this should be turned on (orange). If for some reason you do not want Cloudflare to act as a proxy then this should be turned off.
*There are certain instances when you do not want Cloudflare to serve as a proxy. If you are doing any IP based authentication, in your application, or something where a proxy service will screw up the routing then have this turned off. When in doubt if a site isn't rendering and you feel like you did everything right, turn this off to eliminate the possibility that it is the proxying of your traffic that is causing the issue.
Here is an example of a new site with three different CNAME records.
The root domain, the www, and a CDN record for images hosted in AWS.
If you are getting started on a brand new site, I think the free plan is more than sufficient. If on the other hand you are migrating to Cloudflare with a high traffic moneysite, then it may be worth your while to pay the monthly fee for some of the more advanced features that are provided.
Once you hit continue you will be given your new nameservers.
They will follow this convention:
Here is an interesting post on why they landed on using names.
Now you will need to go back to your registrar, and update your nameservers.
Below is what it will look like if you are doing it in namecheap.
No matter what registrar you are using, you should just look for the DNS section, and then find where you need to update your nameservers.
On namecheap make sure you click the green checkbox or your changes won't take.
*Gotcha : Make sure you check that you don't have any trailing spaces or errant characters when you paste these in to your registrar. At least with namecheap it doesn't appear that they do any trimming of the input fields so I have accidentally pasted in a trailing space which caused the update to fail.
Once this is done you can go back to your Cloudflare account, and you should be able to recheck your nameservers. The clicking of this button will schedule a recheck. Cloudflare will do this automatically after a certain amount of time, but I'm impatient 🙂
Now that Cloudflare is set up to start handling our traffic there are a few changes we need to make.
If you are planning on using the Flexible SSL service, then you will need to browse to the Crypto section.
I've found that on some of the new accounts I set up that "Full" SSL is selected by default, which will keep your site from rendering. So make sure you choose Fexible, or Off here.
Once you have updated this it takes a bit of time for Cloudflare to update their configuration settings so if you try browsing to your site on https:// immediately you may get this:
Don't worry about it. It just takes some time. Go grab some coffee, and by the time your back it should have updated.
Next we are going to add some custom page rules.
These are rules that I setup for new sites, that don't have any links, traffic etc. This isn't "required", but I like to take care of it at the DNS level so I don't have to depend on WordPress or my hosting provider to handle it.
As you can see from the message you recieve 3 custom page rules on your free account.
The first one we are going to setup is a redirect from www to the root and/or visa versa. This depends on where you want your main site to be.
So if we are going to want visitors to go to https://mysite.com then we would setup a redirect from www.mysite.com to mysite.com.
So in the first field we are going to enter in www.mysite.com/*
This tells Cloudflare that any traffic that comes in on www.mysite.com to redirect it to mysite.com.
Next you choose the "forwarding url" rule, and select 301 as the http response type.
Now we are going to enter the destination that we want the traffic to go to which will be https://mysite.com/.
If you have any other rules created then you will need to select the order in which you want this rule evaluated. Remember we are dealing with routing here, and routing rules are always followed in a top down order. So the first rule that matches will be used.
Next we will turn on the Always Use HTTPS rule. This ensures that Cloudflare redirects all traffic to the https version of your site.
*Pro Tip: If you have just finished updating your crypto settings this rule will not always be present. It takes a bit of time for the changes to make their way into the rules view, so if its not there don't freak out. Give it some time and it will be an option shortly.
You can verify that these rules are working correctly by opening up a terminal or cmd prompt and running a curl -I mydomain.com request.
This will give you the http response code, as well as the new destination of a 301 if it is set up correctly.
Along with the Cloudflare free website plan you still get some pretty cool and useful reporting. Here are a few screenshots of some of the information you can get.
This site servers dynamic local content, so there isn't a whole lot of opportunity for caching... as you'll see in the content distribution graph.
Security report of threats they protected you from, as well as the traffic distribution of http vs https:
And thats all she wrote! Now you have a site that is set up behind Cloudflare's system that will help increase site speed, protect you from a DDOS attack, as well as make your life easier when it comes to DNS management.
I hope this was helpful!