Skip to content

#docs

Guides and documentation

  1. Q4 roadmap: crawlable topics, not more types

    We will SSR more of the topic body. We will not add a Clinic type. Entity overlay covers that graph. Pinned so it stays on the feed through September.

  2. Community guidelines that still work at a university

    The same deploy can be a campus desk, a product forum, or a partner board. Our old guidelines said "ship the feature" on every page. We rewrote them around the actual templates: q...

  3. Time-to-first-accepted-answer as a real SLO

    Support volume looks healthy until you chart hours from question to `is_solved`. Last month p50 was 6 hours and p90 was 3 days — almost all of that p90 was weekend campus tickets...

  4. Generic categories vs industry-named spaces

    A dental clinic asked for a Patients topic type. That would have exploded the type enum and wrecked search filters. We kept the templates (question, event, review) and let them ad...

  5. Importing 18,000 Discourse permalinks without a 404 weekend

    We imported 18_000 Discourse topics. Old `/t/slug/123` links still show up in Google. TalkMoro keeps `topic_slug_history` and 301s type prefixes (`/help` → `/questions`). The re...

  6. Public incident posts that people actually finish reading

    The template we use internally: 1. What members saw. 2. What was actually down (API, search, or uploads). 3. When it started and ended in UTC. 4. What we changed. 5. What we will ...

  7. Closing duplicates without deleting the URL Google already indexed

    Closing a duplicate Issue as `duplicate` keeps the URL live, which is good. Staff sometimes deleted the thread instead, and Google kept the 404. Process now: lock, status=`duplica...

  8. The quiet cost of client-only topic bodies for AI crawlers

    Google can render JavaScript. Many AI crawlers still will not. If the first HTML response is a shell, citations skip you. TalkMoro treats permalinks as the ranking unit. Search result pages stay noindex, follow and never go in the sitemap.

  9. A field guide to schema.org for community products

    Forums are not blogs. DiscussionForumPosting wants real comment nodes. Q&A wants acceptedAnswer only when a human marked it. Do not emit MedicalCondition because a campus clinic uses the software. Put the clinic in entity_type=organization

  10. How TalkMoro thinks about the about graph

    Entity overlay is how a generic platform talks about a specific product. A release note is always a changelog. If entity_type=software , we also emit SoftwareApplication with the version tag. Schools set course . Shops set product . Booksto

  11. Why we keep /search out of the sitemap

    Internal search is a member tool. Indexing ?q= pages creates doorway spam and duplicate titles. robots.txt allows GPTBot and OAI-SearchBot on topics. It does not invite them to rank a SERP of SERPs. The GET form still exists so SearchAction

  12. Designing a composer that does not scare non-engineers

    The old picker said Feature Request and Bug Report. Faculty read that as "this product is for GitHub people". Renaming to Idea and Issue, then adding Article, Guide, Event, and Job, let a registrar post without translating our jargon. We st

  13. Bytes, not binary mebibytes, in product copy

    Upload limits in TalkMoro use decimal bytes: 1 MB = 1_000_000 bytes . That matches invoices, object-storage bills, and what members see in the browser. This piece exists because we kept arguing in stand-up. Putting it in an Article means su

  14. A campus playbook for the first two weeks

    Week 1: seed Questions from last year's FAQ, staff-only Announcements for term dates, one Event for orientation. Week 2: turn on Reviews for dining, keep medical and legal advice off the forum. Templates did more than a custom School type w

  15. Writing changelogs that humans and crawlers both finish

    A good Release has a version, a date, and a list of user-visible changes. Dumping git log into HTML is how you get zero rich results. We ask staff for three bullets max in the excerpt field (300 characters) and leave the rest in the body. V

  16. Moderation queues as a product surface

    Flags are not a failure of the community. They are a queue. We show staff the template type first so an Issue with critical severity is not buried under a Poll. The same queue distinguishes spam from a duplicate permalink we should 301, not

  17. Internationalizing a forum without duplicating URLs

    html lang comes from the site locale. We do not mint /fr/questions/slug copies that compete with the canonical permalink. If a tenant needs a second language, they get a second deploy or a translated body — not a doorway path that splits ra

  18. Ten templates, one entity graph

    Every customer asked for "their" type. Software. Clinic. Course catalog. That is how platforms become unmaintainable and unrankable. Ten core templates plus three optional ones, and one entity graph. This article is the public rationale so

  19. Can a question be about a course without a Course template?

    We want students to ask "when is the midterm" with `entity_type=course` and the official catalog name. Is that enough for Google, or do we also need a HowTo? The midterm itself is...

  20. How do I change a topic from Discussion to Guide after publish?

    I wrote a long how-to as a Discussion by mistake. Admin edit shows the template picker. Will the slug prefix 301 if I switch types, or do I need to recreate the post? I do not wan...

docs

Topics tagged with this keyword.