Complete Deployment Guide for Bell-Torres Family Website
This guide will walk you through deploying your website to GitHub Pages and connecting your custom domain (belltorres.com).
Prerequisites
- GitHub account
- Domain name (belltorres.com) purchased from a domain registrar
- All website files downloaded to your computer
Part 1: GitHub Repository Setup
Step 1: Create a New Repository
- Log in to GitHub
- Click the ”+” icon in the top right corner
- Select “New repository”
- Configure your repository:
- Repository name:
belltorres.com(oryourusername.github.io) - Description: “Bell-Torres Family Website”
- Visibility: Public (required for free GitHub Pages)
- Do NOT check “Initialize this repository with a README”
- Repository name:
- Click “Create repository”
Step 2: Upload Your Files
Option A: Using GitHub Web Interface (Easiest)
- On your new repository page, click “uploading an existing file” link
- Drag and drop ALL files and folders from the
belltorres-websitedirectory - Make sure to include:
- All folders (
_data,_layouts,_includes,_posts,assets,pages) - All files (
index.html,_config.yml,README.md,CNAME, etc.)
- All folders (
- Add commit message: “Initial website setup”
- Click “Commit changes”
⏱️ Wait 5-10 minutes for files to upload if you have many images.
Option B: Using Git Command Line (Advanced)
# Open Terminal (Mac/Linux) or Git Bash (Windows)
# Navigate to where you downloaded the website files
cd path/to/belltorres-website
# Initialize git repository
git init
# Add all files
git add .
# Commit files
git commit -m "Initial website setup"
# Add your GitHub repository as remote (replace with your actual repo URL)
git remote add origin https://github.com/yourusername/belltorres.com.git
# Push to GitHub
git branch -M main
git push -u origin main
Part 2: Enable GitHub Pages
Step 1: Configure GitHub Pages
- In your repository, click “Settings” (top navigation)
- Scroll down and click “Pages” in the left sidebar
- Under “Source”:
- Select “Deploy from a branch”
- Branch: “main”
- Folder: ”/ (root)”
- Click “Save”
Step 2: Wait for Deployment
- GitHub will display a message: “Your site is ready to be published at https://yourusername.github.io”
- Wait 1-2 minutes for the initial build
- Refresh the Settings → Pages screen
- When you see “Your site is live at…”, click the URL to test your site
🎉 Your website is now live at https://yourusername.github.io!
Part 3: Connect Custom Domain (belltorres.com)
Step 1: Configure DNS Records at Your Domain Registrar
You need to add DNS records at wherever you purchased belltorres.com (e.g., GoDaddy, Namecheap, Google Domains, Cloudflare, etc.).
Find Your DNS Settings
Each registrar is different, but look for:
- “DNS Management”
- “DNS Settings”
- “Nameservers and DNS”
- “Advanced DNS”
- “Domain Settings”
Add These DNS Records
For Root Domain (belltorres.com):
Add FOUR A records pointing to GitHub’s IP addresses:
| Type | Name/Host | Value/Points To | TTL |
|---|---|---|---|
| A | @ | 185.199.108.153 | 3600 |
| A | @ | 185.199.109.153 | 3600 |
| A | @ | 185.199.110.153 | 3600 |
| A | @ | 185.199.111.153 | 3600 |
For WWW Subdomain (www.belltorres.com):
Add ONE CNAME record:
| Type | Name/Host | Value/Points To | TTL |
|---|---|---|---|
| CNAME | www | yourusername.github.io | 3600 |
Replace yourusername with your actual GitHub username!
Common Registrar-Specific Instructions
GoDaddy
1. Log in to GoDaddy 2. Go to "My Products" → "Domains" 3. Click the three dots next to your domain → "Manage DNS" 4. Scroll to "Records" section 5. Click "Add" for each record 6. Fill in Type, Name, Value, TTL 7. Click "Save"Namecheap
1. Log in to Namecheap 2. Go to "Domain List" → Click "Manage" next to your domain 3. Click "Advanced DNS" tab 4. Click "Add New Record" 5. Add each DNS record 6. Click the green checkmark to saveGoogle Domains
1. Log in to Google Domains 2. Click your domain 3. Click "DNS" in left menu 4. Scroll to "Custom records" 5. Click "Manage custom records" 6. Add each record 7. Click "Save"Cloudflare
1. Log in to Cloudflare 2. Select your domain 3. Go to "DNS" section 4. Click "Add record" 5. Add each record 6. Make sure the proxy status (cloud icon) is orange (proxied) or gray (DNS only)—both work 7. Click "Save"Step 2: Configure Custom Domain in GitHub
- Go back to your repository Settings → Pages
- Under “Custom domain”, enter:
belltorres.com - Click “Save”
- Wait for DNS check (may show “DNS check unsuccessful” initially—this is normal)
- After 24-48 hours, check the box “Enforce HTTPS” (you might need to wait for this option to become available)
Step 3: Wait for DNS Propagation
⏱️ DNS changes take time to propagate:
- Minimum: 15 minutes to 1 hour
- Typical: 4-8 hours
- Maximum: 24-48 hours
Check DNS propagation status:
- Visit DNS Checker
- Enter
belltorres.com - Select “A” record type
- You should see the four GitHub IP addresses
Step 4: Verify Your Domain Works
After DNS propagates, test these URLs:
- ✅
http://belltorres.com - ✅
https://belltorres.com - ✅
http://www.belltorres.com - ✅
https://www.belltorres.com
All should redirect to the secure HTTPS version of your site.
Part 4: Troubleshooting
Site Not Loading
Check:
- Are your files uploaded to GitHub? Check the repository file list.
- Is GitHub Pages enabled? Check Settings → Pages.
- Is the site built successfully? Check Actions tab for any errors.
- Wait 5 minutes and refresh—sometimes takes time.
Custom Domain Not Working
Check:
- Are DNS records correct? Double-check all IP addresses.
- Did you enter the domain correctly in GitHub (no
https://or trailing slash)? - Has enough time passed for DNS propagation? Wait 24-48 hours.
- Use DNS Checker to verify DNS records are live globally.
- Try clearing your browser cache or using incognito mode.
Images Not Showing
Check:
- Are images uploaded to the correct folder? (
assets/images/) - Are the file paths in YAML files correct?
- Are filenames exact matches? (Case-sensitive!)
- Check browser console (F12) for 404 errors.
Site Looks Broken
Check:
- Did you upload ALL files and folders?
- Is the
_config.ymlfile present? - Check the Actions tab for build errors.
- Look at browser console (F12) for CSS or JavaScript errors.
“HTTPS Not Available” or SSL Errors
Fix:
- Make sure DNS is fully propagated (wait 24-48 hours)
- In Settings → Pages, uncheck then recheck “Enforce HTTPS”
- Wait 10 minutes and try again
- Clear browser cache
GitHub Pages Not Building
Check:
- Go to repository → Actions tab
- Look for failed builds (red X)
- Click on the failed build for error details
- Common issues:
- Syntax error in
_config.yml - Missing dependencies in
Gemfile - Liquid syntax errors in HTML files
- Syntax error in
Part 5: Maintenance and Updates
How to Update Content
Method 1: Edit on GitHub (Easiest)
- Go to your repository on GitHub
- Navigate to the file you want to edit
- Click the pencil icon (Edit)
- Make your changes
- Scroll down → Add commit message
- Click “Commit changes”
- Wait 1-2 minutes for site to rebuild
Method 2: Upload New Files
- Go to the appropriate folder in your repository
- Click “Add file” → “Upload files”
- Drag and drop your files
- Click “Commit changes”
Method 3: Git Command Line
# Pull latest changes
git pull origin main
# Make your changes to files
# Stage changes
git add .
# Commit with a message
git commit -m "Updated blog post"
# Push to GitHub
git push origin main
Common Updates
Add a Blog Post:
- Create new file in
_posts/folder - Name it:
YYYY-MM-DD-title-of-post.md - Use the blog post template from README
Add Photos:
- Upload to
assets/images/gallery/ - Update
_data/gallery.ymlwith new photo info
Update Family Info:
- Edit
_data/family.yml
Change Colors:
- Edit
_config.yml(color variables at top)
Part 6: Advanced Features (Optional)
Enable Google Analytics
- Create Google Analytics account
- Get your tracking ID (format: UA-XXXXXXXXX-X or G-XXXXXXXXXX)
- Edit
_config.yml:google_analytics: "YOUR-TRACKING-ID"
Add Social Media Links
- Edit
_config.ymlundersocial:section - Add your handles/URLs
- Links will automatically appear in footer
Install Locally for Testing (Advanced)
# Install Ruby and Jekyll (see jekyllrb.com/docs/installation/)
# In your website directory:
bundle install
# Run local server:
bundle exec jekyll serve
# View at: http://localhost:4000
Need Help?
Resources
- GitHub Pages Documentation
- Jekyll Documentation
- DNS Checker Tool
- Website README - Full editing guide
Common Issues & Solutions
Issue found? Check the main README.md file’s Troubleshooting section.
Checklist: Complete Setup
- GitHub repository created
- All files uploaded to GitHub
- GitHub Pages enabled
- Site accessible at yourusername.github.io
- DNS records added at domain registrar
- Custom domain configured in GitHub
- DNS propagated (checked with DNS Checker)
- Site accessible at belltorres.com
- HTTPS enforced
- All pages loading correctly
- Images displaying
- Navigation working
- Mobile responsive
- Social links added (optional)
- Google Analytics added (optional)
🎉 Congratulations! Your website is live!
Last Updated: November 2025