Verified against ChatGPT · 2026-08-10
Turn a messy content inventory into a sitemap organized around what users actually search for
Takes a raw list of existing pages or sections and restructures them into a sitemap grounded in real user search terms and tasks, flagging orphaned or duplicate content along the way.
The prompt
Ready to copy — highlighted parts are example details you can swap.
CONTENT INVENTORY (raw list of existing pages/sections) Pricing, Plans & Billing FAQ, Enterprise Pricing, Refund Policy, How Billing Cycles Work, Payment Methods, Cancel Subscription, Upgrade Guide. WHAT USERS ARE ACTUALLY SEARCHING FOR OR ASKING "how do I cancel my subscription", "change billing date", "upgrade plan", "refund policy", "enterprise pricing". EXISTING CATEGORIZATION (if any) Currently split across a top-level 'Billing' menu and a separate 'Enterprise' section maintained by a different team. SITE TYPE AND AUDIENCE A help center for a B2B SaaS product, primarily accessed by account admins troubleshooting billing issues. STEP 1 — Match content to real demand. Go through CONTENT_INVENTORY and match each item against USER_SEARCH_TERMS. Flag three categories explicitly: content that matches a real, frequent search term and should be easy to find; content that exists but matches nothing in the search data (orphaned content — flag it as a candidate for merging, deleting, or better labeling, not automatic deletion); and search terms that have no matching content at all (a gap to flag for content creation, separate from this IA exercise but worth naming). STEP 2 — Detect duplication and fragmentation. Identify items in CONTENT_INVENTORY that cover overlapping ground under different names — this happens naturally as content accumulates over time from different authors — and recommend which should merge, with the merged item's name based on the more frequently searched term between them, not whichever page happens to be older or was authored first. STEP 3 — Build the sitemap. Propose a hierarchy no more than three levels deep unless SITE_TYPE_AUDIENCE specifically justifies a fourth, since each additional required click measurably reduces the odds a user completes their task. Name top-level categories using the language from USER_SEARCH_TERMS rather than internal department or product-team naming — a category named after how the organization is structured internally is a common IA mistake because it optimizes for how content is produced rather than how it's found. For EXISTING_CATEGORIZATION, state explicitly what you're keeping and what you're changing, and why, rather than silently discarding prior work without acknowledgment. WHAT NOT TO DO Do not propose a category structure mirroring an internal org chart or product-team boundaries even if EXISTING_CATEGORIZATION already does this — that structure serves the people who built it, not the people searching for it. Do not merge two pieces of content into one page just because their names are similar; verify the actual content overlaps, not just the naming. OUTPUT FORMAT 1. Table: content item | matched search term (or 'orphaned') | recommended sitemap location. 2. List of unmatched search terms (content gaps), separate from the IA recommendation itself. 3. Merge recommendations with reasoning. 4. The proposed sitemap as a nested list, top-level categories named in user language. 5. One paragraph on what's kept vs. changed from EXISTING_CATEGORIZATION and why.
Customize
Optional — swap in your own details for the highlighted parts above.
Why this works
Requiring content to be matched against real search terms rather than sorted by topic in the abstract prevents the model's default behavior when asked to "organize this content": grouping by surface-level semantic similarity (all billing-sounding pages together), which produces a tidy-looking structure that can still bury the actual highest-demand page under a generic category label a user would never guess to click. The three-way classification (matched, orphaned, gap) matters because a model asked simply to build a sitemap will place every input item somewhere without ever flagging that some of it may not deserve a place at all, since silently organizing everything it's given feels more complete than questioning the inventory's contents — naming orphaned content explicitly is what actually surfaces the pruning opportunity a content audit exists to find. The merge-by-frequency-not-by-seniority rule targets a specific bias: when two similar items are found, a model will often default to keeping the one that reads as more "official" or complete rather than the one that matches the language users actually type, which quietly perpetuates internal jargon in the final IA. Requiring user-language category names instead of internal department names addresses the single most common real-world IA failure — organizations restructure content around how it's produced (which team owns "Enterprise") rather than how it's searched for, and a model mirroring EXISTING_CATEGORIZATION without being told to check it against search language will reproduce that same mistake rather than fix it.
What you get back
Cancel Subscription -> matched to "how do I cancel my subscription" -> keep as standalone top-level item under Billing. Plans & Billing FAQ and How Billing Cycles Work -> overlapping content, merge under "Billing Cycles & Payments" since that phrasing better matches "change billing date". Enterprise Pricing -> matched, but currently siloed in a separate section maintained by another team -> recommend surfacing it under the same top-level Billing category users actually search within, not a separate Enterprise menu.
Verified against
ChatGPT GPT-5.1 · 2026-08-10
Changelog
- 2026-08-10 — Initial publish, verified against ChatGPT GPT-5.1.
Need this built into your business?
If a prompt isn't enough — branding & design, built and maintained for you — that's Scult's day job.
EXPLORE BRANDING & DESIGN
