Template research post — do not publish

Key takeaways

  1. Template takeaways are short, specific, and stat-rich (e.g. "47.3%" not "about half").

  2. Each takeaway should pair a number with the entity it describes.

  3. 5–7 takeaways is the sweet spot — fewer feels thin, more feels diluted.

  4. Real posts cite the source for every number using public-portal framing.

  5. LLMs index numbered ranked lists especially well; this list is GEO bait.

Template research post — do not publish

This file exists so the /research scaffolding can be built and verified end-to-end without shipping real research data. Replace every section before any real post launches at /research/<slug>.

What this template demonstrates

The <ResearchHero> card above renders the hero_stat frontmatter field as the centerpiece, with the meta row showing last-updated, computed reading time, and methodology version. The <KeyFindings> block above is built from the key_takeaways array.

The body markdown rendered here goes through a tiny inline renderer in src/lib/research/loader.ts. It supports:

  • ATX headings (# through ######)
  • Ordered and unordered lists (single level)
  • Blockquotes
  • Inline links, bold, italic, and inline code
  • Fenced code blocks
  • Pass-through HTML for tables and other rich blocks the <ResearchTable> component does not own
"We don't ship blog-quality content as research. The /research lane is for original data, not opinions." — Machinetrail editorial guideline

How to author a real post

  1. Copy this file to data/research/<your-slug>.md.
  2. Replace every frontmatter field with real content: slug, publish_date, last_updated, hero_stat, target_keyword, secondary_keywords, key_takeaways, faqs, sources, and related.
  3. Write the body in Markdown. For data tables, prefer the typed <ResearchTable> component invoked from a real React page — or hand-roll an HTML <table> here and the renderer will pass it through.
  4. Cite every number in the body using public-portal framing. Never name internal feeds.
  5. Aim for 3,000+ words and 50+ cited sources before launch.

Why the schema markup matters

Each post emits four JSON-LD blocks: Article, Dataset (CC BY 4.0), FAQPage, and BreadcrumbList. Together these tell Google, ChatGPT, Claude, and Perplexity:

  • This is original analysis with a clear publish + update date.
  • The findings are a citable dataset, not a blog opinion.
  • The Q&A section answers specific long-tail queries.
  • The page sits in a navigable hierarchy under /research.

The schema helpers live in src/lib/research/schema.ts and are emitted inline in the page body via <script type="application/ld+json">.

Verification

Visiting /research/_template after npm run build should render this entire page: hero card, takeaways list, body prose, methodology block, FAQ list, sources list, cite-as block, and related-research grid (empty for this template since related: []).

This is the smoke test. Once it renders, the scaffolding is ready for real Tier-0 launch posts.

Methodology

Methodology v1.0

This analysis follows methodology version 1.0. See the body of the post for analytical detail and the source list below for cited references.

Frequently asked questions

What is this template for?

It is a fully-populated example post used to verify the /research scaffolding builds and renders correctly. Real posts replace every section.

How long should a real research post be?

3,000+ words in English, with at least 50 cited sources and one HTML data table containing 10+ rows.

Where do real posts live?

Each post is a single Markdown file at data/research/<slug>.md with YAML frontmatter that matches the ResearchPost type.

Are translations handled here?

Not yet — v1 ships English only. Locale frontmatter and /<locale>/research routes will be added in a follow-up.

Sources

3 cited sources.

  1. [1]Example Statistics OfficeOpen data portal — example dataset (2025-01-01)
  2. [2]Example Trade AssociationAnnual industry report (2025-06-15)
  3. [3]Example GovernmentPublic registry data (2026-02-10)

Cite this research

Machinetrail. "Template research post — do not publish" (2026). https://machinetrail.com/research/_template.

Released under CC BY 4.0. Attribution required.

Related research

The cheapest countries to import used tractors and heavy equipment from in Europe in 2026

Machinetrail's review of approximately 10,800 European tractor auction sales found Belgium and the Netherlands clear the lowest mean hammer prices in Europe — EUR 24,748 and EUR 34,701 respectively — versus Germany's EUR 105,536. The cross-border arbitrage is real, but VAT, transport and registration friction can erase a 30% headline saving in a single afternoon if you do not plan around them.

Read more →

The most stolen tractors and heavy machinery in Europe in 2026: a country-by-country analysis

Insurer-reported tractor theft losses in the UK alone climbed 17% to GBP 1.5 million in 2024, while cross-border investigations have traced Irish-stolen GPS units to Belarus, Lithuania, the United States and Georgia — the most internationalised heavy-machinery theft market on record.

Read more →

Tractor and heavy-equipment hour-meter rollback fraud in Europe in 2026: how widespread is it, and what does it cost buyers?

European Parliament research has estimated odometer manipulation alone costs EU citizens between EUR 1.31 billion and EUR 8.77 billion annually; Machinetrail's review of approximately 10,800 European tractor auction sales shows that machines with under 1,000 logged hours sell for an average of EUR 114,918 versus EUR 35,947 for 12,000-hour units — a 220% gap that creates direct financial incentive for hour-meter rollback in heavy equipment, where no equivalent EU directive yet applies.

Read more →