--- import Layout from '../layouts/Layout.astro'; import { getProductCount, getShopCount } from '../lib/products'; const title = 'Methodologie — Hoe SneakerPicks prijzen verzamelt | SneakerPicks'; const description = 'Hoe wij sneaker-prijzen verzamelen en actueel houden: bronnen, update-frequentie, affiliate-model en datalimitaties. Volledig transparant.'; const canonical = 'https://sneakerpicks.nl/methodologie'; const totalProducts = await getProductCount(); const totalShops = await getShopCount(); const lastUpdated = new Date().toISOString().split('T')[0]; const articleLd = { '@context': 'https://schema.org', '@type': 'Article', inLanguage: 'nl-NL', headline: 'Hoe SneakerPicks prijzen verzamelt', description, author: { '@type': 'Organization', name: 'SneakerPicks', url: 'https://sneakerpicks.nl' }, publisher: { '@type': 'Organization', name: 'SneakerPicks', url: 'https://sneakerpicks.nl', logo: { '@type': 'ImageObject', url: 'https://sneakerpicks.nl/logo.svg' }, }, datePublished: '2026-04-21', dateModified: lastUpdated, mainEntityOfPage: canonical, }; const breadcrumbLd = { '@context': 'https://schema.org', '@type': 'BreadcrumbList', inLanguage: 'nl-NL', itemListElement: [ { '@type': 'ListItem', position: 1, name: 'Home', item: 'https://sneakerpicks.nl/' }, { '@type': 'ListItem', position: 2, name: 'Methodologie', item: canonical }, ], }; ---