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

@@ -0,0 +1,148 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>AUF VICTIM +2 Rubik's Cube Mug | Funny Speedcuber Coffee Mug JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="Shop the AUF VICTIM +2 Rubik's Cube mug — a funny speedcubing-inspired coffee mug for cubers who know the pain of a +2 penalty. Ceramic, 11oz/15oz, made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="AUF VICTIM +2 Rubik's Cube Mug | Funny Speedcuber Coffee Mug"/>
<meta property="og:description" content="A funny speedcubing-inspired coffee mug for cubers who know the pain of a +2 penalty. Ceramic, 11oz/15oz, made to order."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/ceramic-mug-11oz-15oz.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="AUF VICTIM +2 Rubik's Cube Mug"/>
<meta name="twitter:description" content="A funny speedcubing-inspired coffee mug for cubers who know the pain of a +2 penalty."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/ceramic-mug-11oz-15oz.jpg"/>
<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": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "AUF VICTIM +2 Rubik's Cube Mug", "item": "https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "AUF VICTIM +2 Rubik's Cube Mug",
"image": "https://justgoodcuber.com/images/ceramic-mug-11oz-15oz.jpg",
"description": "A funny speedcubing-inspired ceramic coffee mug for cubers who know the pain of a +2 penalty.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube Mug"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / AUF VICTIM +2 Mug</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug funny speedcubing coffee mug" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube Mug</div>
<h1 class="product-title">AUF VICTIM +2 Rubik's Cube Mug</h1>
<div class="product-price" id="productPrice"></div>
<div class="product-description" id="productDescription"></div>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<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-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>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 JustGoodCubing. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>