Information For Building A Site
How to Build a SmartsiteSite Build Checklist
NESTHUB ACCOUNT CONFIGURATION
- Create account (if needed)
- Create Site
- Create Blog and Authors
- Import Blog Posts
- Set Up Listings
- Test listings to ensure all the buttons are showing properly, and the functionality is working. Test the property page as well to ensure functionality is there and expected Application, Showing Provider, etc. is showing.
- Add user to NestHub account to post blogs & view forms post launch
- Add temp URL to Monday
WEBSITE FORMS
- Replicate or Create New Forms, if needed
- Set Correct Temp Success URL for services form: /success
- Set correct email address for forms including adding any additional emails or LeadSimple connections
- Test forms
- Delete any unused forms
BUILD CHECKLIST
- Check if we have domain access. If so, please check to make sure the DNS records are able to be seen in the account, otherwise we need the client to provide access or provide a copy of the records.
- If we don’t have access or cannot see DNS records, we need to notify the client right away so we can give them enough time to get us that info.
- Ensure the content worksheet is locked so the client can no longer make updates until review
- Add logo -- optimize and resize no wider than 350px
- Make sure to set "full" template as the default by right clicking and choosing "Make Default"
- Add Favicon -- both favicon.png and favicon.ico
- Update ALL Snippets
- Update robots.txt file
- Include the full URL with https and www in the domain to the sitemap line
- Update file names with market-1 (market-property-management & market-homes-for-rent)
- Go through page by page for content
- Delete any pages that aren't being used
- Add colors to match the client's brand and ensure everything is ADA Compliant
- Add images if they gave any
- If doing a Smartsite, update home banner image
- Optimize and resize to 2000px for desktops & create a small one for mobile. Ensure file is a webp
- Add social-sharing.jpg image & check open graph is working
- Optimize and resize to be 1200px x 628px
- Ensure there is an image on the home page somewhere that says city-name-property-managers.webp and has an alt tag of “City Name Property Managers” or a variation of this like property-managers-cityname.webp and so on. This should be the case on the home page and PM Services pages.
- If they don’t do residential property management, then make the keyword relevant to what their primary service is.
- Make sure logo is repsonsive for screen sizes and scroll (affix header)
- Check site on mobile device(s)
- Add advanced features, if needed
- Make sure to leave notes to add the client as a user when launching – don’t give clients access pre-launch unless they specifically request it.
- For LiveChat, let Mikayla know when you are launching the site so the Credit Card can be added then.
- Test all Advanced Features to make sure they are working:
- ***Please see individual pages for Advanced Features for more detailed setup notes
- Test AMP to ensure it's working properly
- Test the CallRail number by calling it to ensure it's tracking properly in the backend of the sitemap. Make sure call tracking number is swapping properly and was set up with numbers only and no special characters. I dial using *67 before the client's number so they don't have our phone number :)
- Ensure Grade.us is set up properly and is linking to the correct review site when using the funnel
- Ensure LiveChat is lazyloading properly
- Test any calculators set up to ensure they are working correctly
- Once complete add site to Pastel for Review https://usepastel.com/dashboard and add to Build Review in Monday
- If anything is missing due to client content make notes in Pastel & Monday
- If we are migrating the site, please copy over all tracking information from the old site to the new site.
- Make sure every page has a title tag and meta description. Make sure there are no exact duplicates.
- Image Guidelines:
- Ensure all images used are webp (the only exception is for the AMP logo, that one should always be png or jpg)
- Any background images that are full width should be a max of 1920px wide
- Logos should be a max of 350px wide
- About Us page images max of 400px wide (give or take depending on the design)
- Blog images should be a max of 1000px wide
ADDITIONAL BUILD CHECKLIST FOR CUSTOMS
- Ensure you are creating everything according to the Figma canvas at 1920px wide. Font sizes should be the same, all spacing should be exact. As the screen gets smaller, please ensure everything is responsive.
- Check/add template animations
- Run CSS through Auto Prefixer for better compatibility https://autoprefixer.github.io/
BEFORE SENDING FOR REVIEW
- Use chrome extension to check if any links are broken (https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf?hl=en) this again will only check if a link goes nowhere on the site.
- Make sure tenant/owner/app logins work and go to the correct login pages
- Check Wave on every page for ADA compliance
- Make sure site looks good and functions properly on Safari, Chrome, Firefox, Edge
- Check responsiveness for all screen sizes starting at 1920px and going all the way down to mobile. Also check for large screens 1920px and greater to ensure it looks good on all.
- Redirects
- If the original source url ends in / when you upload drop that as our system automatically drops it so the redirect actually doesnt work. If you leave the ending / in there, please setup a second one without it. Screamimg frog will pull the list of urls with the ending / so its a manual update on each row or doing double the redirects.
- Delete unused forms
- Make /index the start page, if not already
- Use PageSpeed Insights or Chrome Lighthouse to check page speed to ensure everything is up to our standards
- Make sure you are testing open graph on blogs & properties to make sure they are populating the correct image & open graph
Launching Site Checklist
- Make sure all landing pages are added
- Start by setting up 5 landing pages (if the client services less than 5 cities, just set up with the cities provided). We give clients up to 10 landing pages for free, but typically only launch with 5 to start. We let clients know it's best to start with 5 and add the remainder over time as it's best for their SEO.
- If a client already has a site with us, we need to build out all landing pages that they had on their previous site. If they do not service one of those areas anymore, delete the page and make sure to redirect it back to the main PM page. The 10 landing page limit does not apply in this case if they had the pages previously.
- Make sure all advanced features are added. You must send out email from donotreply@kohva.com account in regards to their Advanced Features or package.
- Make sure open graph is added and working properly here: https://www.opengraph.xyz/
- Add redirects
- Add main contact as a user to Nesthub
- Make sure to add the username/email & password to Monday for client's Nesthub access
- Check to make sure domain is properly set in Monday for when auto email gets sent out -- No “/” at the end of the domain, otherwise the link getting sent out to the client to log into their backend will be wrong.
- Get domain logins, or delegate access if you do not have it already
- Once logged into their Domain Registrar:
- Add the domain(s) to Nesthub under Domains --> DNS by putting the non-www version of the domain in
- Ensure the www domain is set as the primary domain for whichever domain they want the site to live on under Domains --> Site Domains
- If they want to use multiple domains, we either need to forward them within the domain registar, or in most cases, pull them into Nesthub and under Domains --> Site Domains, you will need to edit and set the redirect type appropriately to ensure ALL DOMAINS forward to the www version of their primary domain.
- Copy over all the DNS records into Nesthub. Also put a copy in their Nesthub notes just in case we need to refer back to them
- Always leave the default CNAME www record that is generated in Nesthub when you add the domain to DNS. If there is another one in the records you are pulling over, don't pull that over into our system, but keep a note of it with the others in the nesthub notes.
- Look them up on MXToolbox to ensure nothing is being missed and check where their nameservers are currently
- Go back to the registrar and update the nameservers
- Once MXToolbox shows our nameservers under "DNS Check", you can go back into Nesthub and apply for the SSL using the www and non-www domains (and any other domains you needed to pull in). DO NOT apply for SSL until you see the nameservers change in MXToolbox.
- Change Monday status to SSL to trigger the “Your Site Is Almost Ready” email to the client so they know the website will show not secured for a few hours until SSL is deployed
- Keep an eye on the SSL. If after 15 minutes you don't see it switch over to "Created" something is wrong. Please let Mikayla know.
- Once the SSL shows "Deployed" go into the domains you applied for it for and check "Enable https". DO NOT do this before the domain is deployed.
- Once SSL is applied in Nesthub, set the Launch status in Monday to “Done”.
- Change ownership in Pastel to the support team – mitch@kohva.com
- If you are changing url on launch, make a note for Reporting to add a Search Console property for both domains, old & new
- If you are migrating a site, please make sure that old pages are either updated to the proper template, or make sure that you delete them and redirect them accordingly
- If it was a pleasant experience with the client, upload their contact info into Grade.us to trigger drip campaigns for PMW reviews
CHECKLIST WHEN MIGRATING A SITE FOR LAUNCH
- Create a backup of the old website
- Ensure the emails on the forms of the old site match the ones on the new site unless specified otherwise by the client
- Ensure you have redirects done. If there are old pages we are not keeping, they need to be redirected and deleted to not clutter the site.
- Start by deleting all old templates
- Then delete old snippets
- Now you can delete old pages
- Ensure you have copied over items that you set up this new site and transfer them over to the old site (which will now become the new live site). This includes:
- AMP
- Blogs, authors, blog posts
- Forms
- Any property plugins, pages, or widgets that were set up
- Users
- Copy over all tracking information from the old site to the new site.
DNS
Glossary of Terms
- Nameserver: A nameserver is a server on the Internet that answers DNS queries. A nameserver may be authoritative (providing answers) or recursive (asked questions on behalf of a third-party). A domain may be delegated to authoritative
DNS servers that are subordinates to that domain. Nesthub nameservers are the following
- ns1.nesthubdns.com
- ns2.nesthubdns.com
- ns3.nesthubdns.com
- ns4.nesthubdns.com
- Canonical Name (CNAME): A resource record in the DNS that specifies a domain name is an alias for another domain name and not for an IP address. For instance, [blog.cira.ca CNAME dog. cira.ca]. It allows the running of multiple services (i.e. web server and FTP server) on different ports but sharing the same IP address.
- A Record: A resource record in the DNS that specifies a domain name is an alias for an IP address.
- MX Record (Mail Exchange): Resource record(s) used to connect the domain to a specific email provider (Google, Outlook, Godaddy, etc.)
- TXT Record: The DNS ‘text’ (TXT) record lets a domain administrator enter text into the Domain Name System (DNS). The TXT record was originally intended as a place for human-readable notes. However, now it is also possible to put some
machine-readable data into TXT records. One domain can have many TXT records. Common types of TXT records are as follows:
- SPF records: SPF TXT records list all the servers that are authorized to send email messages from a domain.
- DKIM records: DKIM works by digitally signing each email using a public-private key pair. This helps verify that the email is actually from the domain it claims to be from. The public key is hosted in a TXT record associated with the domain. (Learn more about public key encryption.)
- DMARC records: A DMARC TXT record references the domain's SPF and DKIM policies. It should be stored under the title _dmarc.example.com. with 'example.com' replaced with the actual domain name. The 'value' of the record is the domain's DMARC policy (a guide to creating one can be found here).
- Hostname: Also known as the subdomain of the DNS record. Example www. is used as a host record on most websites.
If a new client DNS records should be provided by their old provider, if email is set up after the site is launched the client will need to provide all the DNS records (MX, CNAME, and TXT/SPF) from their email provider.
Example of Records
Please note these are examples and they should not be used directly on the site, but used as a guide
Google Apps for Business
MX Records
Name/Host/Alias | Time to Live (TTL*) | Record Type | Priority | Value/Answer/Destination |
---|---|---|---|---|
Blank or @ | 3600 | MX | 1 | ASPMX.L.GOOGLE.COM |
Blank or @ | 3600 | MX | 5 | ALT1.ASPMX.L.GOOGLE.COM |
Blank or @ | 3600 | MX | 5 | ALT2.ASPMX.L.GOOGLE.COM |
Blank or @ | 3600 | MX | 10 | ALT3.ASPMX.L.GOOGLE.COM |
Blank or @ | 3600 | MX | 10 | ALT4.ASPMX.L.GOOGLE.COM |
TXT/SPF Record
Name/Host/Alias | Time to Live (TTL*) | Record Type | Priority | Value/Answer/Destination |
---|---|---|---|---|
Blank or @ | 3600 | TXT | 0 | v=spf1 include:_spf.google.com ~all |
Common CNAME Records
Name/Host/Alias | Time to Live (TTL*) | Record Type | Priority | Value/Answer/Destination |
---|---|---|---|---|
calendar | 3600 | CNAME | 0 | ghs.googlehosted.com. |
drive | 3600 | CNAME | 0 | ghs.googlehosted.com. |
3600 | CNAME | 0 | ghs.googlehosted.com. |
Microsoft Outlook/GoDaddy Email
MX Records
Name/Host/Alias | Time to Live (TTL*) | Record Type | Priority | Value/Answer/Destination |
---|---|---|---|---|
Blank or @ | 3600 | MX | 0 | domainname-com.mail.protection.outlook.com |
TXT Records
Name/Host/Alias | Time to Live (TTL*) | Record Type | Priority | Value/Answer/Destination |
---|---|---|---|---|
Blank or @ | 3600 | TXT | 0 | MS=ms######## (unique ID from the admin center) |
Blank or @ | 3600 | TXT | 0 | v=spf1 include:spf.protection.outlook.com -all |
SRV Records
Some hosting providers impose restrictions on field values within SRV records. Here are some common workarounds for these restrictions.
Name
If your hosting provider doesn't allow setting this field to @, leave it blank. Use this approach only when your hosting provider has separate fields for the Service and Protocol values. Otherwise, see the Service and Protocol notes below.
Service and Protocol
If your hosting provider doesn't provide these fields for SRV records, you must specify the Service and Protocol values in the record's Name field. (Note: Depending on your hosting provider, the Name field might be called something else, like: Host, Hostname, or Subdomain.) To add these values, you create a single string, separating the values with a dot.
Example: _sip._tls
Priority, Weight, and Port
If your hosting provider doesn't provide these fields for SRV records, you must specify them in the record's Target field. (Note: Depending on your hosting provider, the Target field might be called something else, like: Content, IP Address, or Target Host.)
To add these values, create a single string, separating the values with spaces and sometimes ending with a dot (check with your provider if you are unsure). The values must be included in this order: Priority, Weight, Port, Target.
- Example:
100 1 443 sipdir.online.lync.com
Subdomains
Launching a site on a subdomain that has a domain that IS hosted with us:
- On the main site, add a DNS record as follows:
- Record Type: CNAME
- Host: whatever you need the subdomain to be. Example: if you want it to be ads.customersite.com then add "ads" to that field
- Value: @
- On the site that will be living on the subdomain:
- Go to Domains --> Site Domains --> Add Site Domain
- Add your full subdomain -- Ex. ads.customersite.com and set as primary domain
- Create an SSL certificate for just the subdomain: ads.customersite.com. Once SSL is deployed, mark as https
Launching a site on a subdomain that has a domain that ISN'T hosted with us:
- Log into the domain registrar and point subdomain CNAME record to our load balancer: slb1.nesthubdns.com
- Go into the backend of the site in Nesthub and add a site domain using the full subdomain
- ex. ads.mywebsite.com
- Add the full subdomain to apply for the SSL
![Load Balancer CNAME](/images/load-balancer-cname.png)