Add six new product pages with SEO optimization and a shop section

Introduces six new HTML product pages (e.g., rubiks-cube-mug-auf-victim.html) with individual SEO meta tags, Open Graph, Twitter cards, and structured data. Updates index.html to include a new 'Shop' section, adds robots.txt and sitemap.xml, and enhances homepage SEO with a canonical URL, organization schema, and an ItemList schema for products.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: cb7f5886-1e99-485f-ba60-5e1aed72d023
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/z77BLws
Replit-Helium-Checkpoint-Created: true
This commit is contained in:
Replit Agent
2026-07-05 20:18:51 +00:00
parent 0bdc092a05
commit 0f60be4174
12 changed files with 1099 additions and 11 deletions

View File

@@ -4,9 +4,47 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>JustGoodCubing</title>
<title>JustGoodCubing | Rubik's Cube Mugs, T-Shirts, Socks &amp; Cubing Gear</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="JustGoodCubing makes premium Rubik's Cube-inspired merch — mugs, t-shirts, socks, and magnets for speedcubers and puzzle lovers. Shop cubing gear designed by a cuber."/>
<link rel="canonical" href="https://justgoodcuber.com/"/>
<meta property="og:type" content="website"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="JustGoodCubing | Rubik's Cube Mugs, T-Shirts, Socks & Cubing Gear"/>
<meta property="og:description" content="Premium Rubik's Cube-inspired merch — mugs, t-shirts, socks, and magnets for speedcubers and puzzle lovers."/>
<meta property="og:url" content="https://justgoodcuber.com/"/>
<meta property="og:image" content="https://justgoodcuber.com/images/logo.png"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="JustGoodCubing | Rubik's Cube Mugs, T-Shirts, Socks & Cubing Gear"/>
<meta name="twitter:description" content="Premium Rubik's Cube-inspired merch — mugs, t-shirts, socks, and magnets for speedcubers and puzzle lovers."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/logo.png"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "JustGoodCubing",
"url": "https://justgoodcuber.com/",
"logo": "https://justgoodcuber.com/images/logo.png",
"sameAs": ["https://www.youtube.com/@JustGoodCuber"]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "JustGoodCubing Products",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "url": "https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html", "name": "AUF VICTIM +2 Rubik's Cube Mug" },
{ "@type": "ListItem", "position": 2, "url": "https://justgoodcuber.com/rubiks-cube-mug-3-hours-later.html", "name": "3 Hours Later Rubik's Cube Mug" },
{ "@type": "ListItem", "position": 3, "url": "https://justgoodcuber.com/rubiks-cube-tshirt-dnf.html", "name": "DNF Rubik's Cube T-Shirt" },
{ "@type": "ListItem", "position": 4, "url": "https://justgoodcuber.com/rubiks-cube-tshirt-speedcuber.html", "name": "Speedcuber Rubik's Cube T-Shirt" },
{ "@type": "ListItem", "position": 5, "url": "https://justgoodcuber.com/rubiks-cube-socks.html", "name": "Rubik's Cube Socks" },
{ "@type": "ListItem", "position": 6, "url": "https://justgoodcuber.com/rubiks-cube-magnet.html", "name": "I Fell For U Rubik's Cube Magnet" }
]
}
</script>
</head>
<body>
@@ -15,6 +53,7 @@
<a href="#home" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="#home" data-section="home">Home</a></li>
<li><a href="#shop" data-section="shop">Shop</a></li>
<li><a href="#about" data-section="about">About</a></li>
<li><a href="#faq" data-section="faq">FAQ</a></li>
<li><a href="#contact" data-section="contact">Contact</a></li>
@@ -33,6 +72,7 @@
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="#home" class="mobile-nav-link">Home</a>
<a href="#shop" class="mobile-nav-link">Shop</a>
<a href="#about" class="mobile-nav-link">About</a>
<a href="#faq" class="mobile-nav-link">FAQ</a>
<a href="#contact" class="mobile-nav-link">Contact</a>
@@ -92,6 +132,65 @@
<div class="h-rule"></div>
<!-- ═══ SHOP ═══ -->
<section id="shop">
<div class="section-label reveal">The Collection</div>
<h2 class="section-title reveal">Rubik's Cube<br/>Merch.</h2>
<div class="shop-grid reveal">
<a href="rubiks-cube-mug-auf-victim.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">AUF VICTIM +2 Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-3-hours-later.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">3 Hours Later Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ ABOUT ═══ -->
<section id="about">
<div class="section-label reveal">The Story</div>