9.2 KiB
SEO Setup Guide
Manual setup instructions for search engine optimization of hanzo.ai/templates.
Table of Contents
- Google Search Console Setup
- Bing Webmaster Tools
- Sitemap Submission
- Framer Configuration
- Weekly Monitoring Checklist
Domain Architecture
The templates site is served at https://hanzo.ai/templates/ via Framer Multi-Site rewrite:
- Framer owns
hanzo.aiand serves all marketing pages - Framer rewrites
/templates/*→ the Astro site on Vercel - Visitors see
hanzo.ai/templates/...in the browser (no redirect) - All SEO authority consolidates under
hanzo.ai
The Vercel deployment URL (workflow-templates.vercel.app) returns X-Robots-Tag: noindex to prevent duplicate indexing.
See docs/framer-subpath-plan.md for full architecture details.
Framer Configuration
Multi-Site Rewrite Setup
This is the key manual step that makes the subpath architecture work:
- Go to the Framer dashboard and select the
hanzo.aidomain - Open the Multi Site tab
- Add a rewrite rule:
- Path:
/templates/* - Type: External
- Destination:
https://workflow-templates.vercel.app
- Path:
- Publish the Framer project to apply changes
The Vercel deployment URL can be updated in Framer at any time without code changes.
Internal Linking
Internal links from the main site pass domain authority to the templates subpath. Sitemap discovery alone is insufficient for SEO — search engines weigh internal links heavily.
- Add navigation links from Framer marketing pages to key
/templates/pages - Add footer links to template categories (e.g.,
/templates/?type=image,/templates/?type=video) - Include "Browse Templates" or similar CTA links from relevant pages (e.g., model pages, feature pages)
Verification
After publishing the Framer project:
- Visit
https://hanzo.ai/templates/and confirm the page loads correctly - Check that all assets (CSS, JS, images) load without errors
- Verify the URL bar shows
hanzo.ai/templates/...(not a redirect toworkflow-templates.vercel.app)
Google Search Console Setup
Since the templates site lives under hanzo.ai/templates/, you use the existing hanzo.ai GSC property (or create one if it doesn't exist).
1. Add Property (if needed)
- Go to Google Search Console
- Click Add property
- Choose URL prefix and enter:
https://hanzo.ai - Click Continue
If
hanzo.aiis already verified (likely — it's the main marketing site), you can skip to step 3 (Submit Sitemap).
2. Verification Methods
Choose one of these verification methods:
Option A: DNS Record (Recommended)
- Copy the TXT record provided by Google
- Add it to your domain's DNS settings at your registrar
- Wait for DNS propagation (can take up to 48 hours)
- Click Verify in GSC
Option B: HTML File Upload
- Download the verification file from GSC (e.g.,
google1234567890abcdef.html) - Place it in
site/public/directory - Deploy the site — Framer should pass through the file at
hanzo.ai/templates/google1234567890abcdef.html - Click Verify in GSC
Note: Since the file is served under
/templates/, this method only works if GSC accepts it at a subpath. DNS verification is more reliable for subpath setups.
Option C: HTML Meta Tag
- Copy the meta tag from GSC
- Add to
src/layouts/BaseLayout.astroin the<head>:
<meta name="google-site-verification" content="YOUR_VERIFICATION_CODE" />
3. Submit Sitemap
- In GSC, go to Sitemaps in the left sidebar
- Enter the sitemap URL:
https://hanzo.ai/templates/sitemap-index.xml - Click Submit
4. Set Up Monitoring Alerts
- Go to Settings → Email preferences
- Enable:
- Performance on Search issues
- Coverage issues
- Enhancement issues
- Recommended: Set up weekly email digests
5. Key Metrics to Track
| Metric | What It Measures | Good Target |
|---|---|---|
| Impressions | How often your pages appear in search | Increasing trend |
| Clicks | Visits from search results | Increasing trend |
| CTR | Click-through rate (clicks/impressions) | 2-5% for informational content |
| Position | Average ranking position | <20 for main keywords |
Bing Webmaster Tools
1. Add Site
- Go to Bing Webmaster Tools
- Sign in with Microsoft account
- Click Add a site
2. Import from Google Search Console (Easiest)
- Select Import from GSC
- Authenticate with your Google account
- Select
hanzo.ai - Click Import
This automatically imports your sitemap and verification.
3. Manual Setup (Alternative)
- Enter
https://hanzo.ai - Verify using one of:
- XML file (add to
public/) - Meta tag (add to layout)
- CNAME record
- XML file (add to
- Submit sitemap:
https://hanzo.ai/templates/sitemap-index.xml
Sitemap Submission
Sitemap Location
- Index:
https://hanzo.ai/templates/sitemap-index.xml - Generated automatically by
@astrojs/sitemapduring build - Uses
PUBLIC_SITE_ORIGINenv var (https://hanzo.ai) for canonical URLs - Framer also auto-merges sitemaps from Multi-Site rewrite sources
Direct Submission URLs
Use these URLs to ping search engines after sitemap updates:
# Google
curl "https://www.google.com/ping?sitemap=https://hanzo.ai/templates/sitemap-index.xml"
# Bing
curl "https://www.bing.com/ping?sitemap=https://hanzo.ai/templates/sitemap-index.xml"
Verify Indexing Status
In Google Search Console
- Go to Indexing → Pages
- Check:
- Indexed pages count
- Not indexed pages and reasons
- Crawl issues
In Bing Webmaster Tools
- Go to Configure My Site → Sitemaps
- View submitted URLs vs indexed URLs
URL Inspection
Test specific pages:
- In GSC, use URL Inspection tool
- Enter a page URL (e.g.,
https://hanzo.ai/templates/flux_schnell/) - Check if it's indexed
- Request indexing if needed
Weekly Monitoring Checklist
Quick Health Check (5 min)
- Check GSC for any new errors (red alerts)
- Review indexing coverage (no sudden drops)
- Check for manual actions (should be none)
Performance Review (10 min)
- Compare last 7 days vs previous 7 days:
- Total clicks
- Total impressions
- Average CTR
- Average position
- Identify top 10 queries and pages
- Note any significant changes (±20%)
Technical Check (5 min)
- Core Web Vitals status in GSC
- Mobile usability issues
- Any new crawl errors
Monthly Deep Dive
- Review full indexing report
- Check for pages stuck in "Discovered - not indexed"
- Review backlinks in GSC
- Compare month-over-month trends
Common Issues and Fixes
| Issue | Likely Cause | Fix |
|---|---|---|
| Sudden drop in indexed pages | Sitemap issue, robots.txt change | Check sitemap, verify robots.txt |
| Low CTR | Poor meta descriptions | Improve title/description |
| High impressions, low clicks | Ranking for wrong queries | Review content targeting |
| "Crawled - not indexed" | Low content quality | Improve page content |
| Slow indexing | New site, low authority | Build backlinks, submit in GSC |
| Duplicate content warnings | Vercel URL indexed | Verify X-Robots-Tag: noindex header |
| Pages not found by crawler | Framer rewrite misconfigured | Check Multi-Site rules in Framer |
Performance Benchmarks
For a template/resource site like this:
| Metric | Baseline | Good | Excellent |
|---|---|---|---|
| Pages indexed | 80% of total | 90% | 95%+ |
| Avg CTR | 1% | 3% | 5%+ |
| Avg Position | 30 | 15 | <10 |
| Core Web Vitals | Needs Improvement | Good | All green |
Official Documentation
- Google Search Console Help
- Google SEO Starter Guide
- Bing Webmaster Tools Help
- Sitemaps Protocol
- Framer Multi-Site Docs
Related Files
astro.config.mjs- Sitemap generation config (siteusesPUBLIC_SITE_ORIGIN)src/config/site.ts- Centralized URL helper (SITE_ORIGIN,absoluteUrl())src/pages/robots.txt.ts- Dynamic robots.txt with correct sitemap URLsrc/layouts/BaseLayout.astro- Meta tag placementdocs/framer-subpath-plan.md- Full Framer subpath architecture