Skip to content

SEO Reference

The on-site SEO foundations are shipped. This doc covers (1) what’s already built into the codebase, and (2) the off-site steps you need to do to get listed on Google, Bing, and the rest.

  • <title> + <meta name="description"> on every page, tuned for SERP length (50-60 char titles, 140-160 char descriptions) with target keywords.
  • Canonical URLs (<link rel="canonical">) on every page — set automatically in src/layouts/Layout.astro.
  • robots.txt at /robots.txt — allows crawl of public pages, blocks /api/, /admin/, /sign/, /cert/, /claim/, /docs/, and points to the sitemap.
  • sitemap.xml redirects to sitemap-index.xml, which points to sitemap-0.xml — auto-generated at build time by @astrojs/sitemap. Excludes admin + private flows. Per-page priority + changefreq tuned in astro.config.mjs.
  • <meta name="robots">index,follow,max-image-preview:large,max-snippet:-1 by default. Private tokenized pages (cert / claim / sign) explicitly noindex,nofollow.
  • OpenGraph metaog:type, og:title, og:description, og:url, og:image (1200×630), og:image:alt, og:locale, og:site_name.
  • Twitter Cardsummary_large_image with @techbinbytes attribution.
  • Default OG image/brand/og-image.png (1200×630, “Built To Stick. Made To Last.” with the silver emblem).

Every page emits three site-wide schemas:

  • Organization — name, logo, founders, parent (TechBinBytes), social profiles (Depop, Instagram), contact point.
  • LocalBusiness — name, address (Battle Creek, MI), phone, email, geo coordinates, price range, area served.
  • WebSite — name, description, publisher reference.

Page-specific schemas:

  • /digital-servicesService + OfferCatalog + BreadcrumbList.
  • /brand-activationsService + OfferCatalog (Statement / Atelier / Mural) + BreadcrumbList.
  • /collections/[slug]CollectionPage + ItemList of products + BreadcrumbList.
  • /products/[slug]Product + BreadcrumbList for each product detail page.
  • Skip-to-content link.
  • Image alt attributes on every product.
  • Mobile-friendly responsive layout.
  • WebP product images (smaller, sharper, transparency).
  • Cloudflare edge hosting (sub-100ms global TTFB).

Off-site checklist — what YOU need to do

Section titled “Off-site checklist — what YOU need to do”

1. Google Search Console (highest priority)

Section titled “1. Google Search Console (highest priority)”

This is how Google discovers, indexes, and reports on the site.

  1. Go to https://search.google.com/search-console
  2. Click Add property → choose Domain (preferred) or URL prefix.
    • Domain: enter stateofstick.co. Requires DNS TXT verification — adds a record to Cloudflare DNS. Best because it covers every subdomain + protocol variation.
    • URL prefix: enter https://stateofstick.co. Easier verification (HTML tag), narrower scope.
  3. Verify ownership:
    • DNS method (Domain property): copy the TXT record Google gives you, add it to your Cloudflare DNS for stateofstick.co, click verify.
    • HTML tag method (URL prefix): copy the meta tag. Tell me to add it to src/layouts/Layout.astro and I’ll deploy.
  4. Once verified, go to Sitemaps in the left nav. Submit https://stateofstick.co/sitemap.xml. Google will crawl + index it within hours.
  5. Check Coverage weekly for crawl errors. Check Performance to see what queries you’re ranking for.

Same idea, second-biggest search engine.

  1. Go to https://www.bing.com/webmasters
  2. Sign in with a Microsoft account.
  3. Add https://stateofstick.co.
  4. Quick path: import the site from Google Search Console once Google is set up — Bing pulls everything in one click.
  5. Submit the sitemap: https://stateofstick.co/sitemap.xml.

3. Google Business Profile (LOCAL SEO — critical for Battle Creek discovery)

Section titled “3. Google Business Profile (LOCAL SEO — critical for Battle Creek discovery)”

The LocalBusiness JSON-LD is already on the site, but Google’s local pack rankings need an actual Business Profile.

  1. Go to https://www.google.com/business/
  2. Add your business — search “State of Stick” first to make sure no duplicate exists.
  3. Fill in:
    • Business name: State of Stick (or State of Stick, Co.)
    • Category: “Custom label printer” or “Promotional products supplier” or “Manufacturer”
    • Address: Battle Creek, MI workshop address (visible to customers if you want walk-ins, hidden if not)
    • Phone: 269-425-1770
    • Website: https://stateofstick.co
    • Hours: when you’ll respond to inquiries
  4. Verify (postcard, phone, or email — Google picks).
  5. Add photos: workshop, founders, products, displays.
  6. Get reviews from happy customers — this is the local-ranking signal.

Same as Google Business Profile, for Bing. https://www.bingplaces.com/

Google uses social profiles as trust signals via the sameAs JSON-LD field (already wired up). Make sure these are claimed + populated:

  • Depop: https://www.depop.com/techbinbytes/ ✅ already linked
  • Instagram: @techbinbytes ✅ already linked
  • TechBinBytes website: https://techbinbytes.com ✅ already linked
  • Optional: Pinterest (huge for emblem/sticker discovery), TikTok (for drop videos), Facebook Business Page (for older local Michigan audiences)
  • TechBinBytes parent site — link prominently to stateofstick.co
  • Michigan Madehttps://michiganmade.com
  • Pure Michigan business directory
  • Made in USA directories
  • Etsy — set up a shop pointing back to stateofstick.co
  • Local Battle Creek chamber of commerce if you’re a member
  • Press: send drops to local Battle Creek + Michigan press. “Local Michigan brand…” stories land easily.
  • Influencer seeding: send free product to TCG / car / motorcycle / outdoor influencers with a stateofstick.co URL.
  • Guest posts: write about laser-cut emblem manufacturing for maker/laser blogs.
  • Wholesale partners’ websites: every retailer who stocks State of Stick should link to your site from theirs (built into the wholesale program already).
  • Reddit: organic participation in r/somethingimade, r/Michigan, r/TCG, r/motorcycles — never spam, just be present.
  • PageSpeed Insightshttps://pagespeed.web.dev/ — run for the homepage + key pages. Aim for 90+ on mobile.
  • Google Rich Results Testhttps://search.google.com/test/rich-results — paste any page URL and verify the JSON-LD parses + qualifies for rich snippets.
  • Schema.org validatorhttps://validator.schema.org/ — same but more strict.
  • Lighthouse (built into Chrome DevTools) — runs full SEO + performance + accessibility audit.
  • Ahrefs Webmaster Tools (free tier) — backlink monitoring + keyword tracking.

Quick checks you can run right now:

Terminal window
# Robots.txt loads
curl https://stateofstick.co/robots.txt
# Sitemap loads
curl https://stateofstick.co/sitemap.xml
# Per-page meta on home
curl -s https://stateofstick.co/ | grep -oE '<title>[^<]+|description"[^>]+'
# JSON-LD blocks present
curl -s https://stateofstick.co/ | grep -c 'application/ld+json'
# Should print 3+ (Organization, LocalBusiness, WebSite + any page-specific)

Paste any page URL into:


What’s NOT done yet (and is worth doing next)

Section titled “What’s NOT done yet (and is worth doing next)”
  • Blog / drop journal — short posts about new drops, collabs, retailer profiles. Massive long-tail SEO play.
  • FAQ schema — add a FAQPage JSON-LD to wholesale + custom + digital-services pages for “common questions” rich snippets.
  • Customer reviews / testimonialsReview + AggregateRating JSON-LD on collection pages once you have retailer + buyer testimonials.
  • Image sitemap — separately list every emblem image so Google Image Search has a direct manifest.
  • Video content — drop teaser videos with VideoObject JSON-LD for YouTube + on-site embedding.
  • Internal linking audit — make sure related collections cross-link, wholesale → custom → brand-activations form a coherent funnel.
  • Hero image preload<link rel="preload" as="image" href="/brand/sos-silver-emblem-hero.png"> on the home would improve LCP.
  • Critical CSS inlining — Astro does some of this; we could push further.
  • /emblems/ page — the catalog page renders 120+ images. Consider splitting into pagination or virtual scroll to improve initial paint.

Pick any of these and tell me to run with it.