AUCTION VALUATIONS (Transparent): - All auctions now include real-time valuation from ValuationService - Shows: estimated_value, value_ratio, potential_profit, confidence - Displays exact formula: "$50 × Length × TLD × Keyword × Brand" - value_ratio helps identify undervalued domains (> 1.0 = opportunity) - Added valuation_note in API response explaining methodology VALUATION FORMULA EXPLAINED: Value = $50 × Length_Factor × TLD_Factor × Keyword_Factor × Brand_Factor Examples from API response: - healthtech.app: $50 × 1.0 × 0.45 × 1.3 × 1.32 = $40 - blockchain.tech: $50 × 1.0 × 0.35 × 3.0 × 1.12 = $60 - metaverse.ai: $50 × 1.6 × 1.2 × 3.0 × 1.1 = $315 SEO OPTIMIZATIONS: - Root layout: Full Metadata with OpenGraph, Twitter Cards, JSON-LD - JSON-LD Schema: Organization, WebSite, WebApplication with SearchAction - robots.txt: Allows all crawlers including GPTBot, Claude, ChatGPT - sitemap.ts: Dynamic sitemap with all pages + popular TLD pages - Auctions layout: Page-specific meta + ItemList schema - TLD Pricing layout: Product comparison schema LLM OPTIMIZATION: - robots.txt explicitly allows AI crawlers (GPTBot, Anthropic-AI, Claude-Web) - Semantic HTML structure with proper headings - JSON-LD structured data for rich snippets - Descriptive meta descriptions optimized for AI summarization FILES ADDED: - frontend/src/lib/seo.ts - SEO configuration & helpers - frontend/src/app/sitemap.ts - Dynamic sitemap generation - frontend/src/app/auctions/layout.tsx - Auctions SEO - frontend/src/app/tld-pricing/layout.tsx - TLD Pricing SEO - frontend/public/robots.txt - Crawler directives
107 lines
2.7 KiB
TypeScript
107 lines
2.7 KiB
TypeScript
import { Metadata } from 'next'
|
|
|
|
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://pounce.ch'
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Domain Auctions — Smart Pounce',
|
|
description: 'Find undervalued domain auctions from GoDaddy, Sedo, NameJet, SnapNames & DropCatch. Our Smart Pounce algorithm identifies the best opportunities with transparent valuations.',
|
|
keywords: [
|
|
'domain auctions',
|
|
'expired domains',
|
|
'domain bidding',
|
|
'GoDaddy auctions',
|
|
'Sedo domains',
|
|
'NameJet',
|
|
'domain investment',
|
|
'undervalued domains',
|
|
'domain flipping',
|
|
],
|
|
openGraph: {
|
|
title: 'Domain Auctions — Smart Pounce by pounce',
|
|
description: 'Find undervalued domain auctions. Transparent valuations, multiple platforms, no payment handling.',
|
|
url: `${siteUrl}/auctions`,
|
|
type: 'website',
|
|
images: [
|
|
{
|
|
url: `${siteUrl}/og-auctions.png`,
|
|
width: 1200,
|
|
height: 630,
|
|
alt: 'Smart Pounce - Domain Auction Aggregator',
|
|
},
|
|
],
|
|
},
|
|
twitter: {
|
|
card: 'summary_large_image',
|
|
title: 'Domain Auctions — Smart Pounce',
|
|
description: 'Find undervalued domain auctions from GoDaddy, Sedo, NameJet & more.',
|
|
},
|
|
alternates: {
|
|
canonical: `${siteUrl}/auctions`,
|
|
},
|
|
}
|
|
|
|
// JSON-LD for Auctions page
|
|
const jsonLd = {
|
|
'@context': 'https://schema.org',
|
|
'@type': 'WebPage',
|
|
name: 'Domain Auctions — Smart Pounce',
|
|
description: 'Aggregated domain auctions from multiple platforms with transparent algorithmic valuations.',
|
|
url: `${siteUrl}/auctions`,
|
|
isPartOf: {
|
|
'@type': 'WebSite',
|
|
name: 'pounce',
|
|
url: siteUrl,
|
|
},
|
|
about: {
|
|
'@type': 'Service',
|
|
name: 'Smart Pounce',
|
|
description: 'Domain auction aggregation and opportunity analysis',
|
|
provider: {
|
|
'@type': 'Organization',
|
|
name: 'pounce',
|
|
},
|
|
},
|
|
mainEntity: {
|
|
'@type': 'ItemList',
|
|
name: 'Domain Auctions',
|
|
description: 'Live domain auctions from GoDaddy, Sedo, NameJet, SnapNames, and DropCatch',
|
|
itemListElement: [
|
|
{
|
|
'@type': 'ListItem',
|
|
position: 1,
|
|
name: 'GoDaddy Auctions',
|
|
url: 'https://auctions.godaddy.com',
|
|
},
|
|
{
|
|
'@type': 'ListItem',
|
|
position: 2,
|
|
name: 'Sedo',
|
|
url: 'https://sedo.com',
|
|
},
|
|
{
|
|
'@type': 'ListItem',
|
|
position: 3,
|
|
name: 'NameJet',
|
|
url: 'https://namejet.com',
|
|
},
|
|
],
|
|
},
|
|
}
|
|
|
|
export default function AuctionsLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode
|
|
}) {
|
|
return (
|
|
<>
|
|
<script
|
|
type="application/ld+json"
|
|
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
|
|
/>
|
|
{children}
|
|
</>
|
|
)
|
|
}
|
|
|