Skip to main content

Collections

Public editorial lists at /collections. Each collection can include any mix of catalog listing types:

TypeExamples in a collection
Mini AppTonkeeper, DeDust
BotNotcoin, Fragment
ChannelTelegram News, TON Community
GroupTON Community Chat

All listings link to their standard catalog page: /apps/{slug}.

Who can create collections?

TG.app operators only. There is no user-facing form to create or edit a collection.

ActionHow
Get listed inside a collectionSubmit your app, bot, channel, or group to the catalog and keep it accurate
Request editorial inclusionContact after your listing is approved
Add or update a collection (team)Edit lib/collections/defaults.ts and run the seed script (below)

User-generated lists (favorites) remain private under Favorites. Collections are separate, SEO-focused editorial pages.

Browse

Only approved slugs render on the detail page. Missing slugs are skipped silently.

Operator workflow

1. Edit defaults

Add or update a row in lib/collections/defaults.ts:

{
slug: 'my-topic',
title: 'My topic',
description: 'Visible intro on the collection page.',
metaDescription: 'Optional SEO meta/OG text (max ~160 chars).',
listingSlugs: ['tonkeeper', 'notcoin', 'ton-community', 'ton-community-chat'],
featured: true,
order: 10,
}

listingSlugs may mix Mini Apps, bots, channels, and groups.

2. Sync to MongoDB

Local:

npm run seed:collections

Production:

vercel env pull .env.production.local --environment=production
npm run seed:collections:production

The seed script reports how many slugs resolved and lists any missing from the approved catalog.

3. Verify

  • /collections and /collections/my-topic
  • /sitemap.xml includes collection URLs
  • Rich results: JSON-LD CollectionPage + ItemList on each detail page

SEO

Each collection has:

  • Title & meta description (optional metaDescription override)
  • Canonical URL (/collections/{slug})
  • Open Graph / Twitter images via /api/og
  • JSON-LD: CollectionPage, ItemList of listings, BreadcrumbList
  • Sitemap entries (app/sitemap.ts)