Developer & Affiliate Setup Guide

Everything you need to customize, extend, and monetize the Best Home Gear Reviews affiliate site.

v1.0 — Last updated: Feb 2026

Project Overview

Best Home Gear Reviews is a single-page affiliate website prototype built with static HTML, CSS, and vanilla JS. It's designed as a "trust-first" editorial review site across 4 categories: Kitchen, Home & Outdoor, Gardening, and Pets.

The site is optimized for:

File Structure

wevsite/
├── index.html            # Main site (all HTML/CSS/JS)
├── guide.html            # This guide
├── CLAUDE.md             # AI assistant instructions
│
└── wp-content/themes/astra-child/   # WordPress migration files
    ├── style.css          # Design system / overrides
    ├── functions.php      # Schema, timestamp, link filters
    ├── js/toc.js          # Table of contents script
    └── blocks/            # Reusable Gutenberg patterns
        ├── comparison-table.html
        ├── verdict-box.html
        ├── pros-cons.html
        └── homepage-template.html
Note

The site currently runs as a static HTML file. The wp-content/ folder contains files for future WordPress migration.

Tech Stack

Layer Technology Notes
HTML Semantic HTML5 Single file, no framework
CSS Custom properties + mobile-first media queries No preprocessor needed
JS Vanilla ES5 (IIFE) ~80 lines, no dependencies
Fonts Google Fonts (Inter + Montserrat) Preconnected for performance
Hosting Vercel (static) Auto-deploys from GitHub
Repo GitHub (TEAHUPOOO/wevsite) Push to deploy

Design Tokens (CSS Custom Properties)

Colors

Token Value Usage
--navy #2C3E50 Headers, dark text, dark backgrounds
--teal #27AE60 Primary accent, CTAs, badges, active states
--orange #E67E22 Secondary CTA, urgency, "cons" sections
--gray-50 #f8f9fa Section backgrounds (alternating)
--gray-200 #e9ecef Borders, dividers
--gray-600 #6c757d Secondary text, labels

Spacing

Token Value Usage
--space-xs .5rem (8px) Tight gaps
--space-sm 1rem (16px) Default padding, card body
--space-md 1.5rem (24px) Container padding, medium spacing
--space-lg 2.5rem (40px) Section padding (mobile)
--space-xl 4rem (64px) Section padding (desktop)

Border Radius

Token Value Usage
--r-md 8px Buttons, inputs, small cards
--r-lg 14px Cards, panels, TOC
--r-xl 20px Hero elements, main product cards

Component Reference

Product Card (.prod-card)

Used in the comparison grid. The .prod-card--top modifier elevates the #1 pick.

<article class="prod-card prod-card--top">
  <span class="prod-card__badge">★ Best Overall</span>
  <div class="prod-card__rank prod-card__rank--top">...</div>
  <div class="prod-card__img-wrap">...</div>
  <div class="prod-card__body">
    <!-- brand, name, rating, specs, price, CTA -->
  </div>
</article>

Category Card (.cat-card)

Used in category grids. Image area uses modifier classes for colors.

<div class="cat-card">
  <div class="cat-card__img cat-card__img--kitchen">
    <span class="cat-card__tag cat-card__tag--top">Top Pick</span>
    🔪
  </div>
  <div class="cat-card__body">...</div>
</div>

Subcategory Chips (.subcat-chip)

Accordion-toggled chip grid under each category. Auto-expands on desktop.

<a href="/kitchen/food-prep-gadgets" class="subcat-chip">
  <span class="subcat-chip__badge">Popular</span>
  Food Prep Gadgets
  <span class="subcat-chip__arrow"></span>
</a>

Verdict Box (.verdict-box)

Dual-column layout: "Who It's For" (left) + "The Bottom Line" (right). Stacks on mobile.

Pros/Cons (.pros-cons)

Side-by-side spec sheet with SVG icons. Stacks on mobile.

Responsive Breakpoints

Breakpoint Target Key Changes
Base (0px+) Mobile phones 1-col layouts, hamburger menu, accordion TOC/subcats
640px Large phones / small tablets 2-col category grids, horizontal hero actions, 4-col category strip
768px Tablets Larger spacing, hero decorations visible, 2-col verdict box
1024px Desktop Full nav bar, 3-col comparison, 4-col grids, sticky TOC sidebar, subcats auto-expanded
1440px Large desktop Wider max-width (1280px), more article/TOC gap
Mobile-First Rule

All CSS is written mobile-first. Base styles are for phones, then @media (min-width: ...) adds enhancements. Never use max-width breakpoints.

Categories & Subcategories

URL Silo Structure

# Category pillar pages
/kitchen/
/home-outdoor/
/gardening/
/pets/

# Subcategory pages (38 total)
/kitchen/food-prep-gadgets
/kitchen/kitchen-scales-measuring-tools
/kitchen/storage-meal-prep-containers
/kitchen/cookware-bakeware-essentials
/kitchen/coffee-drink-tools
/kitchen/cutting-boards-knife-accessories
/kitchen/air-fryer-small-appliance-accessories
/kitchen/kitchen-organization-tools

/home-outdoor/cleaning-tools-gadgets
/home-outdoor/storage-organization
/home-outdoor/laundry-tools
/home-outdoor/home-safety-maintenance-gadgets
/home-outdoor/bedroom-comfort-essentials
/home-outdoor/patio-cleaning-maintenance-tools
/home-outdoor/outdoor-lighting-solar-gadgets
/home-outdoor/outdoor-storage-utility
/home-outdoor/camping-backyard-utility-tools
/home-outdoor/seasonal-outdoor-essentials

/gardening/hand-tools-for-beginners
/gardening/watering-tools-irrigation
/gardening/pruning-cutting-tools
/gardening/weeding-tools
/gardening/raised-bed-soil-tools
/gardening/plant-support-training
/gardening/seed-starting-indoor-grow
/gardening/garden-storage-tool-organization
/gardening/pest-plant-protection
/gardening/balcony-small-space-gardening

/pets/dog-feeding-watering
/pets/dog-grooming-tools
/pets/dog-walking-gear
/pets/pet-cleaning-odor-control
/pets/cat-litter-litter-box-accessories
/pets/cat-enrichment-toys
/pets/pet-beds-comfort
/pets/travel-car-accessories
/pets/pet-training-aids
/pets/smart-pet-gadgets

How to Add a Product Card

1 Find the .category-grid for the category you want (e.g., Kitchen).

2 Copy an existing .cat-card block.

3 Update the content:

<div class="cat-card">
  <div class="cat-card__img cat-card__img--kitchen">
    <span class="cat-card__tag cat-card__tag--new">New</span>
    🫕  <!-- Replace emoji with product image later -->
  </div>
  <div class="cat-card__body">
    <p class="cat-card__category">YOUR SUBCATEGORY</p>
    <h3 class="cat-card__title">Your Product Title</h3>
    <div class="cat-card__rating">
      <span class="stars">★★★★☆</span>
      <span class="rating-val">4.3</span>
    </div>
    <p class="cat-card__excerpt">Short review summary...</p>
    <a href="/kitchen/your-slug" class="cat-card__link">Read Review →</a>
  </div>
</div>

Tag Variants

How to Add a Subcategory

1 Find the .subcat-chips list for the target category.

2 Add a new <li> with a chip link:

<li>
  <a href="/kitchen/your-new-subcategory" class="subcat-chip">
    Your New Subcategory
    <span class="subcat-chip__arrow" aria-hidden="true"></span>
  </a>
</li>

3 Update the count badge in the toggle button:

<span class="subcat-toggle__count">9</span> <!-- was 8, now 9 -->

4 Optional: Add a "Popular" badge to high-intent subcategories:

<span class="subcat-chip__badge">Popular</span>

How to Add a Review Article

The article section lives inside #article-main. To add new content:

1 Add new <h2 id="your-section"> headings — the TOC auto-populates from these.

2 Use the existing comparison table, verdict box, and pros/cons patterns as templates.

3 Update the .article-meta with correct category, author, and date.

TOC Auto-Build

The JavaScript automatically scans #article-main h2[id] elements and builds TOC links. Just give your h2s an id attribute and they appear in the sidebar TOC.

How to Edit the Comparison Table

The comparison section is in #section-comparison. Key areas to update:

  1. Product names & brands — in .prod-card__brand and .prod-card__name
  2. Specs — in .spec-list rows (key/value pairs)
  3. Prices — in .prod-card__price
  4. CTA links — in .prod-card__cta (update href to real affiliate URL)
  5. Verdict text — in .verdict-summary
  6. Pros/Cons — in .pc-row elements
Important

Always keep rel="nofollow sponsored noopener" and target="_blank" on affiliate links. This is required by FTC and Google guidelines.

All affiliate CTAs currently link to #. To connect real affiliate links:

Find & Replace Pattern

Search for class="prod-card__cta" and class="verdict-cta" — update their href values.

<!-- Before -->
<a href="#" class="prod-card__cta prod-card__cta--primary"
   rel="nofollow sponsored noopener" target="_blank">

<!-- After -->
<a href="https://www.amazon.com/dp/B08HJR9WGX?tag=yourtag-20"
   class="prod-card__cta prod-card__cta--primary"
   rel="nofollow sponsored noopener" target="_blank">

Required Attributes on Every Affiliate Link

Attribute Value Why
rel nofollow sponsored noopener Google & FTC compliance
target _blank Opens in new tab (keeps user on your site)

Amazon Associates Setup

1 Sign up at affiliate-program.amazon.com

2 Get your tracking tag — it looks like yoursitename-20

3 Build affiliate links using the format:

https://www.amazon.com/dp/PRODUCT_ASIN?tag=yourtag-20

4 Replace placeholder links in index.html

Finding ASINs

The ASIN is in every Amazon product URL: amazon.com/dp/B08HJR9WGX. You can also find it in the "Product Information" section of any listing.

Other Affiliate Networks

Network Good For Commission
Amazon Associates Everything (broadest catalog) 1-4%
ShareASale Home, garden, specialty brands 5-20%
Impact DTC brands, premium products 8-15%
CJ Affiliate Large retailers (Home Depot, Lowe's) 2-8%
Skimlinks Auto-affiliate all merchant links Varies

Link Tracking & Attribution

Option A: Amazon's Built-in Tracking

Amazon automatically tracks clicks through your ?tag= parameter. View reports in the Associates dashboard.

Option B: UTM Parameters (for analytics)

Add UTM params to track which sections/pages convert best:

https://amazon.com/dp/B08HJR9WGX?tag=yourtag-20&utm_source=besthomegearreviews&utm_medium=comparison&utm_campaign=drills-2025

Option C: Link Management Plugin (WordPress)

When you migrate to WordPress, use Pretty Links or ThirstyAffiliates to:

FTC Disclosure Requirements

The site already includes an affiliate disclosure banner above the comparison section. Here's what's required:

  1. Visible disclosure — near the first affiliate link on every page (already done)
  2. Dedicated disclosure page — linked from footer (create /affiliate-disclosure/)
  3. Clear language — "We earn a commission from qualifying purchases" (avoid vague wording)
  4. "Sponsored" rel attribute — on all affiliate links (already implemented)
FTC Requirement

The disclosure must be visible before the user encounters affiliate links — not hidden in the footer. The current placement above the comparison section satisfies this.

Deploy to Vercel

The site auto-deploys to Vercel when you push to GitHub. Manual steps:

1 Make changes to index.html

2 Commit and push:

git add index.html
git commit -m "Update product links"
git push

3 Vercel auto-deploys within ~60 seconds.

Vercel Settings

Setting Value
Framework Preset Other (static)
Build Command (leave empty)
Output Directory ./ (root)
Root Directory ./

Migrate to WordPress

When you're ready to scale beyond a single page:

1 Get hosting — Bluehost, SiteGround, or Cloudways

2 Install WordPress + Astra theme

3 Upload the child theme from wp-content/themes/astra-child/

4 Create pages matching the silo structure:

# WordPress pages to create:
Homepage        → Use homepage-template.html as Gutenberg layout
/kitchen/       → Category pillar page
/kitchen/food-prep-gadgets  → Subcategory page
/kitchen/best-chefs-knives  → Individual review post

5 Install key plugins:

6 Use the child theme files:

Custom Domain Setup

1 Buy a domain (Namecheap, Cloudflare, Google Domains)

2 In Vercel: Settings → Domains → Add your domain

3 Add DNS records as Vercel instructs (usually CNAME or A record)

4 Update <link rel="canonical"> and Open Graph URLs in index.html

5 SSL is automatic with Vercel

SEO Launch Checklist

Item Status Notes
Single <h1> per page Done Hero headline is the h1
Meta description Done In <head>
Canonical URL Update Change to your real domain
Open Graph tags Done Add OG image when available
JSON-LD (Organization) Done
JSON-LD (WebSite + Search) Done
JSON-LD (ItemList) Done Top 5 products
JSON-LD (FAQ) Done 2 questions implemented
Semantic heading hierarchy Done h1 → h2 → h3 proper nesting
Image alt text Pending Add when replacing emoji with real images
Sitemap.xml Pending Create when building subcategory pages
Robots.txt Pending Create before launch
Page speed (mobile) Fast No images, minimal JS, inline CSS
Affiliate disclosure Done Above comparison section
Affiliate link rel attrs Done nofollow sponsored noopener
Mobile responsive Done Mobile-first CSS, tested 320px+
Accessibility Done ARIA, focus-visible, skip link, landmarks
Before Going Live

1. Replace all # placeholder links with real URLs
2. Update canonical URL to your domain
3. Add robots.txt and sitemap.xml
4. Replace emoji placeholders with real product images
5. Submit to Google Search Console



— End of Guide —