Product schema
The label stripProduct, Offer and BreadcrumbList JSON-LD on every template page: name, price in AUD, availability, format, jurisdiction and a stable SKU. Validated weekly in Search Console.
A fictional business. The figures are a modelled scenario, not a client result.
Clauseway · Online legal template store · Sydney
+196%
organic revenue in 10 months, from the same 400 documents.
Press a letter on the machine. Each row is one category of the store: its product count, keywords won and the conversion rate in the coin slot.
Coin slot · conversion
01The challenge
Clauseway's templates were listed as PDFs with no product data, so they never appeared in Shopping results or rich snippets.
The documents were good: drafted by lawyers, kept current, priced fairly. But to Google each one was a loose PDF file, not a product with a price, a format and a jurisdiction. Searches like “lease agreement template NSW” went to competitors with thinner documents and better pages, and the Sydney team had no way to tell which categories earned money, because checkout ran on an untracked subdomain.
Before · “employment contract template”
Template – Clauseway
EMPLOYMENT CONTRACT THIS AGREEMENT is made on the ____ day of ____ between ____ (the Employer)…
Position 38 · page 4 · no price, no product
After · same search
Employment contract (full-time)
A$79.00
Clauseway · Instant download
Shareholders agreement
A$149.00
Clauseway · Instant download
Employment Contract Template (Full-Time) · NSW, VIC, QLD · Word & PDF
A$79.00 · In stock · Instant download · Updated for the 2026 Fair Work changes
Position 2 · Shopping + product snippet
02Diagnosis
Seven faults across technical SEO, the product feed, site structure and copy. Jammed means it blocked revenue outright.
400 templates served as bare /files/*.pdf links. Google indexed the PDFs, not a page anyone could buy from.
No Product, Offer or BreadcrumbList structured data anywhere. Zero rich-result eligibility.
No Merchant Center account and no product feed, so Shopping and free listings were impossible.
One flat 'Templates' page listed all 400 documents. No category pages to rank for 'lease agreement template'.
Average of 38 words per listing. 212 titles read 'Template – Clauseway'.
No state or jurisdiction on pages, so 'NSW', 'VIC' and 'QLD' searches went to competitors.
Checkout on a separate subdomain with no cross-domain tracking. Revenue was invisible to analytics.
03The strategy
Four tactics, each one a working part of the store. The programme ran on our Commerce SEO plan.
Product, Offer and BreadcrumbList JSON-LD on every template page: name, price in AUD, availability, format, jurisdiction and a stable SKU. Validated weekly in Search Console.
One flat list became six categories and 24 sub-categories, each a hub page with a comparison table. Every template has one canonical URL, two clicks from home.
A feed generated from the product catalogue, with titles built as Document · State · Format and a custom label per category, so free Shopping listings could pick each one up.
Copy that answers the buyer’s questions: what it covers, who should not use it, which states it suits, what is in the download, plus a two-page preview image.
04Month by month
Crawled 400 PDFs and 61 blog posts. Mapped each document to a buyer intent and a category.
Six categories, 24 sub-categories, one canonical product URL per template.
First 64 templates moved from PDF links to real product pages with price and format.
Product and Offer markup sitewide. Merchant Center feed approved for 188 items.
Rewrote 120 product pages: what it covers, who it is for, which state it suits.
Category pages became guides with comparison tables and internal links to every template.
Titles rebuilt as 'Document · State · Format'. Disapprovals cut from 31 to 2.
Remaining 280 pages rewritten. FAQ and preview images added to the top 100 sellers.
Starter kits per category added as their own products, with their own feed entries.
Retired 18 near-duplicates with redirects. Revenue reporting split by category.
05Results
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
0 · 0 · 64 · 188 · 296 · 371 · 398 · 405 · 410 · 411 · 412
Employment
84 products · +44 top-5
1.6% → 2.9%
Business & startup
96 products · +52 top-5
1.5% → 2.8%
Leases & property
72 products · +38 top-5
1.3% → 2.5%
Privacy & website
56 products · +30 top-5
1.2% → 2.4%
Wills & estates
48 products · +22 top-5
1.4% → 2.3%
Debt & finance
56 products · +24 top-5
1.1% → 2.2%
| Keyword | Row | Searches/mo | Before | After |
|---|---|---|---|---|
| employment contract template | A | 5,400 | 38 | 2 |
| shareholders agreement template australia | B | 1,900 | — | 1 |
| residential lease agreement nsw | C | 2,900 | 61 | 4 |
| privacy policy template australia | D | 3,600 | 27 | 3 |
| will kit australia | E | 2,400 | — | 5 |
| loan agreement template | F | 4,400 | 44 | 4 |
| contractor agreement template | A | 2,900 | 52 | 3 |
| non disclosure agreement template | B | 6,600 | 19 | 2 |
| commercial lease template | C | 1,600 | — | 4 |
If your catalogue is full but Google can’t read it, we’ll map every product to a page, a schema block and a feed entry.
← Back to all case studies