Access All Areas Training is a registered training organisation delivering RSA, food safety and compliance courses across every Australian state. In May 2025 its organic traffic fell sharply. The cause was structural rather than editorial: the Next.js application was serving empty HTML shells to crawlers, so Google was indexing pages with almost no content on them. Underneath that sat a harder problem. Compliance training is a market where trust is the product — course requirements differ by state and change without notice, advertising claims are constrained by RTO guidelines, and buyers are choosing between providers whose sites look broadly identical. Competing on price was not an option: the most aggressive competitor in the category sells at roughly 40% of AAAT’s price point.
We fixed the rendering failure first — every page now returns complete, crawlable HTML on the first server response — then rebuilt the site around the one thing a genuinely accredited provider can prove and a discount competitor cannot: verifiable credentials. RTO number, ASQA registration, the NSW Food Authority provider number and a direct training.gov.au verification link were placed on every course page, not buried in a footer. Named employer clients were surfaced as evidence of real-world use. Every course page carries state-specific regulatory content naming the actual authority for that jurisdiction, and a plain regulatory disclaimer telling students requirements can change and to verify before enrolling — which is both honest and, in Google’s framework, exactly the trust signal that separates a credentialled provider from an aggregator. We then benchmarked the whole market to find out whether it was working.
Next.js server-side rendering restored across the full page estate · JSON-LD Course, Article, Organization, WebSite and BreadcrumbList schema · llms.txt for AI crawlers · self-referencing canonicals and clean sitemap · robots.txt scoped to public paths only · E-E-A-T credential blocks server-rendered site-wide · state-segmented Google Ads and Meta campaigns inside RTO advertising guidelines · call tracking into CRM with GA4 attribution across form and phone enquiries.
The site is built to be read by machines as well as people. Course schema is server-rendered on every course page, Article and BreadcrumbList schema on every blog article, and an llms.txt file at the domain root identifies the brand and its primary pages for language models. Long-form decision-guide content — comparison and “which certificate do I need” formats — is written specifically to be quotable by AI answer engines, which increasingly sit between a student and a provider. The competitive benchmark itself was run as a live technical crawl with every claim independently verifiable, including the findings that went against the client.
AggregateRating schema so the review rating shows in search results — the single largest remaining gap against competitors, and a short developer task. Then FAQPage schema on course pages, where the existing FAQ content is already visible and no competitor in the category has implemented it.
