Search and Generative Engine Strategy

Follio has a national property dataset and the country's biggest property podcast. Neither is reaching a search engine.

An evidence-based SEO and GEO audit of follio.com.au, the competitive set, and the plan to convert an existing content engine into search and AI visibility.

Prepared forFollio
Prepared byPWD Digital Agency
Data snapshot6 August 2026
Pages crawled125 of 125
Domains benchmarked8
StatusClient confidential
01. Executive summary

Five findings that matter

Written to be read on its own in three minutes. Every number below traces to a dated file in the audit data directory.

125/125
pages where the <head> is parsed as <body>
head-parse-defect.json
72%
of pages have zero internal inbound links
onsite-analysis.json
537k
words of podcast transcript not published
podcast-transcript-sample.json
390
estimated monthly organic sessions
DataForSEO, 6 Aug 2026
14
referring domains, three of them active spam
competitor-backlinks.json

Critical1. A tracking pixel has broken the <head> on every page of the site

An <img> pixel and two scripts belonging to outercite.com (the "citetrace" AI-citation tracker) are injected between <html> and <head>. Under the HTML parsing specification, an image before <head> forces the parser to open <body>. Everything after it, including the real <head>, is parsed inside the body.

Evidence. Parsed with a standards-compliant HTML parser: <title>, rel="canonical", meta description and all JSON-LD structured data resolve to BODY, not HEAD, on 125 of 125 pages. Screaming Frog independently reports "Canonicals: Outside <head>", "Page Titles: Outside <head>" and "Directives: Outside <head>" on 100% of the pages it could reach, and reports canonicals as missing.

Google ignores canonical tags, robots directives and meta descriptions placed outside <head>. Follio's are present in source and inert in practice. Of the eight domains benchmarked, Follio is the only one with this defect.

The irony is worth stating: the tool installed to measure AI citations is the single thing most damaging the site's machine-readability.

Fix. Move the outercite snippet inside <head>, or to the footer. One template change. Hours of work, not weeks.

Critical2. Seventy-two percent of the site cannot be reached by following a link

Of 125 URLs in the sitemap, 90 have zero internal inbound links. Screaming Frog, crawling from the homepage the way a search engine does, discovered 31 HTML pages.

Evidence. All 27 research reports are orphaned. All 3 suburb data pages are orphaned. The majority of the 64 podcast pages are orphaned. The economist's work is published, indexable in principle, and unreachable in practice.
Fix. Build hub pages and a real internal linking model. This is the highest-leverage structural change available and it needs no new content.

High3. The podcast is roughly 537,000 words of content that has never been published

104 long-form episodes on YouTube totalling 44.6 hours. Speech rate was measured, not assumed: auto-captions for a 10-episode sample spanning the catalogue, 287.5 minutes and 60,517 words analysed, pooled rate 210.5 words per minute.

Evidence. 563,298 words of transcript available. 25,895 words currently across all 64 episode pages, and that figure includes navigation and footer text. Not one of the 64 pages contains the word "transcript". Net opportunity is roughly 537,000 indexable words, a 21.8x increase in the site's written content, from an asset already produced and paid for.
Fix. Transcribe the back catalogue, publish on-episode pages with PodcastEpisode and VideoObject schema, and move the podcast onto a host that links back.

High4. Follio does not compete in search, and the largest gap is the data it already produces

390 estimated monthly organic sessions. 57 ranking keywords. All three position-one keywords are branded. 14 referring domains, three of which are an active PBN spam cluster that first appeared on 1 August 2026.

Evidence. Against a 69-keyword category gap worth 109,320 monthly searches, the single largest bucket is data and research intent at 51,310 searches a month: city market updates, median prices, rental yields, market forecasts. That is precisely what the in-house economist publishes every Monday and Wednesday, and Follio ranks for none of it.
A second measurement worth noting. SEMrush's organic competitor algorithm cannot identify Follio's competitors. It returns folio.com.au, infolio.com.au, foliobar.com.au and janfolio.com.au: name collisions, not buyers agencies. Follio's keyword footprint has so little overlap with its own category that the algorithm cannot place it.

Good news5. Two things that were expected to be broken are not, and one thing already works

AI crawlers are not blocked. Twenty user agents tested against two URLs. GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Google-Extended, Applebot, CCBot and the rest all receive byte-identical 200 responses (148,181 bytes) to what a browser receives. Cloudflare's default AI blocking is not active. Only Bytespider (ByteDance) is refused.

JavaScript rendering is not a problem. Twenty pages tested raw versus fully rendered: 2.73% of words and 0.00% of links are JavaScript-only. Elementor is server-rendering. Non-rendering AI crawlers see what Googlebot sees.

And the positioning already works in AI. Across nine ChatGPT prompts, Follio was recommended once: for "property portfolio builders Australia", named second after Liviti and ahead of Propertyology. InvestorKit scored zero. Australian Property Scout scored zero. Follio surfaces on the specific language it owns, from a site with 14 referring domains and a broken head.

What this means. The strategy is not to fix a hostile technical environment. It is to remove three cheap blockers, then publish what is already being written. The differentiated positioning is proven; the infrastructure to carry it is missing.
02. Methodology and limitations

What was measured, and what was not

Every figure in this report exists as a dated file in the audit data directory. Where a check failed, it is recorded in errors.log and disclosed here rather than omitted.

Tools and dates

ToolUsed forPulledOutput file
Custom raw crawler (no JS)All 125 sitemap URLs: schema, titles, meta, headings, links, images, word counts6 Aug 2026 00:49Zcrawl-raw.json
Screaming Frog SEO Spider 24.3Independent link-following crawl, 260 URLs, issue classification6 Aug 2026 00:58Zsf-exports/
Chrome headless (--dump-dom)JS-rendered versus raw HTML delta, 20 pages6 Aug 2026 01:12Zrender-diff.csv
Python HTML parserProving where <head> elements actually parse6 Aug 2026 01:00Zhead-parse-defect.json
curl, 20 crawler user agentsAI crawler access matrix6 Aug 2026 00:44Zcrawler-access-matrix.csv
DataForSEO LabsTraffic, ranking keywords, position buckets, all 8 domains6 Aug 2026 00:49 to 01:09Zcompetitor-traffic.json
DataForSEO BacklinksReferring domains, anchors, spam clusters, all 8 domains6 Aug 2026 00:49 to 01:21Zcompetitor-backlinks.json
SEMrushOrganic competitor identification6 Aug 2026 00:50Zrecorded in findings
ChatGPT with live web searchAI visibility, 9 prompts6 Aug 2026 00:53 to 01:18Zai-visibility-matrix.csv
Google PageSpeed InsightsCore Web Vitals, lab and CrUX field, 3 pages6 Aug 2026 01:26Zpagespeed.json
yt-dlpYouTube catalogue, durations, auto-captions6 Aug 2026 01:01 to 01:05Zyoutube-channel.json

Measured versus estimated

Measured directly

  • Every onsite figure: page counts, word counts, schema types, internal links, images, headings, HTTP status
  • Crawler access responses (status code and byte length per user agent)
  • Where <head> elements parse
  • Raw versus rendered content delta
  • YouTube episode count and total duration
  • Podcast speech rate (210.5 wpm, from 10 real caption files)
  • Core Web Vitals

Third-party estimates, labelled as such

  • Organic traffic. DataForSEO's etv is a model built from keyword position and volume. It is not Follio's analytics. It is used only for like-for-like comparison, with the same endpoint, market and date for all eight domains.
  • Keyword volumes and CPC. Google's own ranges as surfaced by DataForSEO.
  • Referring domain counts. Index coverage varies between backlink vendors.
  • Non-branded top-10 counts. Derived, not measured. See the scoring section.
  • Opportunity sizing. A modelled scenario with stated assumptions, not a forecast.

Limitations, stated plainly

AI visibility testing is a dated sample of nine prompts against one engine. Large language model responses are non-deterministic and personalised. The same prompt asked twice can return different brands. Nine prompts is enough to establish that Follio is absent from generic category and geographic recommendations, and enough to establish that it appears for one specific positioning phrase. It is not enough to rank anyone, and it should be re-run monthly rather than treated as a fixed score.

The AI prompt set was partly tool-derived. The testing tool generates its own commercial buyer prompts from the target's category and location. It accepted some supplied prompts and substituted others. The nine prompts recorded in ai-visibility-matrix.csv are the prompts actually run.

Two AI testing calls failed and are logged. A 15-prompt batch and a 3-prompt batch timed out at the MCP layer (60 second ceiling). Recorded in errors.log. The successful runs were rerun in smaller batches.

The first JavaScript rendering run failed and was rebuilt. Chrome headless writes the DOM and then does not exit, so the initial harness stalled on the first two URLs at a 150 second timeout. Recorded in errors.log. The harness was rewritten to read until </html> and terminate, and all 20 pages then completed. The results reported are from the successful run.

Agent-readiness scores come from two different rubrics. The Cloudflare isitagentready.com score of 21 was supplied by Follio as a screenshot and is reproduced as received. The PWD scan score of 40 was run directly. Both are reported rather than picking whichever suited the argument, and the reason they disagree is explained in the GEO section.

PageSpeed sampled 3 pages, not 10. Core Web Vitals proved not to be a material issue on the first three (homepage, a research report, a podcast page), so the sample was not extended. This is disclosed rather than presented as a full sweep.

Google Search Console and Google Analytics were not available. All traffic and ranking figures are third-party estimates. Connecting GSC is the single fastest way to replace estimates with measurement, and is item one in the measurement framework.

Google Business Profile presence could not be verified from outside the account. No local pack analysis is included rather than a guessed one.

Where the discovery brief and the data disagree

FlaggedThe brief described the website as a placeholder with SEO effectively unstarted. That is not quite right, and the difference matters commercially.

The site already carries 64 podcast episode pages, 27 research report pages, 3 suburb data pages and 4 case studies, each with real written content averaging 450 to 500 words. Custom post types for research_reports, suburb_data, videos and case_studies already exist in WordPress.

The assets are built. They are orphaned, unstructured and invisible. That is a substantially cheaper problem to solve than an empty site, and it changes the sequencing: the first phase is repair and connect, not create.

03. Current position

Where Follio actually stands in organic search

DataForSEO Labs, Google Australia, pulled 6 August 2026. Identical endpoint and date for every domain in this report.

390
estimated monthly organic sessions
57
total ranking keywords
7
keywords in the top 10
14
referring domains
0
links from tier-one Australian media

Ranking keywords by position band

Position bandKeywordsShareComment
1 to 335.3%All branded: follio, follio property, lachlan delahunty
4 to 1047.0%Includes "folio" (3,600/mo), a spelling collision, not category intent
11 to 2011.8%"perth property reports", position 11
21 to 503357.9%Effectively zero traffic
51 to 1001628.1%Effectively zero traffic
Total57100%Against 2,856 for the category leader

Branded versus non-branded: the podcast masks the problem

This distinction matters more here than it would for most clients. A business with the number one property podcast in Australia and roughly 500,000 monthly views will generate substantial branded search. That branded search inflates every top-line SEO metric and hides the fact that the business has no category visibility at all.

KeywordVolumePositionClassification
folio3,6007Brand-name collision (unrelated word)
follio4801Branded
lachlan delahunty3201Branded (founder)
follio property901Branded
folio financial services509Brand-name collision
best suburbs to invest in perth 2025505Non-branded, from a podcast page
perth suburb profiles509Non-branded, from a suburb data page
Two of Follio's seven top-10 keywords are non-branded, and both come from content types that are currently orphaned. The content works when Google finds it. Google mostly cannot find it.

Backlink profile

14 referring domains, 39 backlinks, 21% nofollow, DataForSEO domain rank 74. First seen 31 July 2025, so the profile is roughly twelve months old.

TypeDomainsDetailValue
Podcast scraper directories6podtail.nl (15 links, all nofollow, all in nav), poddtoppen.se, radio.net, podchaser.com, apple.com, grep.fmPassive listings. Almost all nofollow.
Australian industry and partner3pipa.asn.au, propertiesandpathways.com.au, walterwakefield.com.auGenuine, and the only genuine links present
Syndication1trendinginrealestate.comLow value
PBN and spam477thhub.asia (spam 20), bazerdaily.com, ggmap.us.com, hostprinter.com (all spam 60)Actively harmful

HighAn active PBN cluster appeared five days before this audit

Three domains (bazerdaily.com, ggmap.us.com, hostprinter.com), all first seen 1 August 2026, all spam score 60, all carrying the anchor text:

High Quality Dofollow Backlinks DA 50 PA 40 Premium PBN Network
Service follio.com.au Rank First Page Google Fast SEO Link Building
Buy Backlinks Online Cheap

This is a link vendor's promotional footprint, not a targeted attack. The same vendor domains (hostprinter.com, bazerdaily.com) also appear in Australian Property Scout's profile in the same window, so the whole category is being sprayed.

Action. Monitor monthly. Do not disavow yet: four spam domains against a clean profile is below the threshold where Google's algorithmic discounting stops handling it. If the cluster grows past roughly 20 domains, disavow. Note this pattern to the team so nobody mistakes it for the work of a previous agency.

Core Web Vitals

Speed is not the problem here. Total Blocking Time is 0 ms on all three pages tested, Cumulative Layout Shift is at or near zero, and desktop performance scores 98 to 100.

PageMobile perfMobile LCPCLSDesktop perfLargest asset
Homepage873,901 ms0.027100377 KB PNG
Investment Report July 2026844,052 ms0.00098509 KB PNG
Podcast episode (Van Onselen)932,702 ms0.00098230 KB PNG

The only Core Web Vitals issue is mobile LCP exceeding the 2.5 second threshold on all three pages, and in every case the cause is a single oversized uncompressed PNG. Convert to WebP and size correctly.

Worth pausing on the second row. The single largest asset on a research report page is a 509 KB PNG screenshot of the report. The economist's data is being published to the web as a picture of a document. No search engine and no answer engine can read a word of it.
04. Onsite health

Prioritised findings, with evidence and fix

125 URLs crawled, all returning 200. Cross-checked against an independent Screaming Frog crawl of 260 URLs.

CriticalOS-01The <head> is parsed as <body> sitewide

Source order on all 125 pages:

<!DOCTYPE html>
<html lang="en">
	<script type="text/rocketlazyloadscript">
  window.citetrace = window.citetrace || { q: [], event: ... };
</script>
	<script ... data-rocket-src="...citetrace.js"></script>
	<img src="https://app.outercite.com/api/v1/citetrace/p.gif?k=..." width="1" height="1" />

<head><meta http-equiv="Content-Type" ...
Parser result. <title> BODY. rel="canonical" BODY. meta description BODY. All JSON-LD BODY. On 125 of 125 pages.
Screaming Frog, independently. Canonicals Outside <head> 100%. Page Titles Outside <head> 100%. Meta Description Outside <head> 100%. Directives Outside <head> 100%. Canonicals Missing 100%. <head> Not First In <html> Element.
Comparative. Follio is the only one of the 8 benchmarked domains with this defect.
Fix. Relocate the outercite/citetrace snippet inside <head> (preferred) or immediately before </body>. Verify with Screaming Frog that "Canonicals: Missing" drops to zero. Effort: 1 to 2 hours. This is the cheapest high-impact fix in the entire report.

CriticalOS-0290 of 125 pages are orphaned

Content typeURLsOrphanedReachable
Research reports27270
Suburb data330
Podcast episodes64~48~16
Pages271215
Case studies404
Total12590 (72%)35
Independent confirmation. Screaming Frog crawling from the homepage and following links found 31 HTML pages. The XML sitemap declares 125. A sitemap tells Google a URL exists; internal links tell Google it matters. Follio is doing the first and not the second.
Fix. Build proper hub and archive pages for research, podcast and suburb data, with pagination. Add contextual cross-links between episodes, reports and commercial pages. Add related-content modules. Target: every page within three clicks of the homepage, minimum three internal inbound links.

HighOS-03No content schema anywhere on the site

Present (Yoast defaults, all 125 pages)

OrganizationWebSiteWebPageBreadcrumbListImageObjectSearchActionReadActionListItemEntryPoint

Plus ContactPage on 2 URLs and AboutPage on 1. Nothing was configured; this is what the plugin emits out of the box.

Absent sitewide

ArticleNewsArticlePodcastEpisodePodcastSeriesVideoObjectDatasetFAQPagePersonLocalBusinessServiceReviewAggregateRatingItemListSpeakableSpecification

64 podcast episode pages carry no PodcastEpisode and no VideoObject. 27 research reports carry no Article and no Dataset. Neither the founder nor the economist has Person schema anywhere on the site. By comparison Henderson runs FAQPage, Question, Answer, RealEstateAgent and GeoCoordinates; InvestorKit runs LocalBusiness, AggregateRating and SpeakableSpecification.
Fix. Template-level schema per content type. Detailed specification in the content engine section.

HighOS-04All 125 pages share one meta description

Every page on the site returns: Build the portfolio of tomorrow. (31 characters). Zero pages have a unique description. Screaming Frog: "Meta Description: Duplicate" 100%, "Below 70 Characters" 100%, "Multiple" 90.3%.
Fix. Template patterns per content type, then hand-write the 20 commercially important pages. Note this only starts working once OS-01 is fixed, because Google currently ignores these tags entirely.

MediumOS-05Heading structure, images and broken links

IssueCountDetail
Pages with multiple H147Screaming Frog: 51.6% of pages it reached
Pages with no H14Includes /the-follio-property-podcast-2/, the podcast landing page
Non-sequential H2 structure12Heading hierarchy skips levels
Images missing alt text842 of 99484.7%
Images over 100 KB60Driving the mobile LCP failures
Malformed internal links5https://follio.com.auharry@follio.com.au and three similar, plus https:/follio.com.au
Internal 4xx URLs9Screaming Frog
Test and duplicate pages live and indexable5/testt/, /investment-report-2/, /value-add-strategy-2/, /portfolio-management-2/, /contact-us-copy-smsf/
Fix. Correct the mailto template bug (4 broken links from one template). Delete or noindex the 5 test pages. Alt text pass on the top 30 pages, then a policy going forward. Convert oversized PNGs to WebP.

MediumOS-06Content-to-markup ratio is 3.02%

Average HTML payload 110.5 KB per page. Average readable text 3.02% of that payload. Elementor's markup outweighs the content roughly 33 to 1.

This is not fatal (Googlebot and the major AI crawlers handle it) but it compounds with thin content. A 450-word podcast page inside 110 KB of markup is a weak signal. The fix is not to rebuild the site; it is to put considerably more content on each page, which the transcript programme does directly.

Verified cleanOS-07Checks that passed

  • Indexability. Zero noindex tags. Zero canonical conflicts. All 125 URLs return 200. All canonicals are self-referencing (though currently inert, per OS-01).
  • Canonicalisation. http to https 301. www to non-www 301. Trailing slash consistent and enforced. Custom 404 returns a correct 404 status.
  • JavaScript rendering. 2.73% of words JavaScript-only across 20 pages, 0.00% of links. Not a problem.
  • Redirect chains and loops. None found (Screaming Frog redirect chains report empty).
  • Hreflang and pagination. Not present, and not required for a single-market site.
  • Core Web Vitals. TBT 0 ms, CLS at or near 0, desktop 98 to 100.
05. GEO and AI readiness

Can answer engines reach, read and use this site?

Reach: yes. Read: yes. Use: almost never, because the content is not in a format answer engines extract.

Crawler access matrix

Twenty user agents, two URLs each, 6 August 2026. Full response matrix in crawler-access-matrix.csv.

CrawlerHomepagerobots.txtBytes servedVerdict
Chrome (baseline)200200148,181Reference
GPTBot200200148,181Identical to browser
OAI-SearchBot200200148,181Identical
ChatGPT-User200200148,181Identical
ClaudeBot200200148,181Identical
Claude-User200200148,181Identical
Claude-SearchBot200200148,181Identical
anthropic-ai200200148,181Identical
PerplexityBot200200148,181Identical
Perplexity-User200200148,181Identical
Googlebot200200148,181Identical
Google-Extended200200148,181Identical
Bingbot200200148,181Identical
Applebot200200148,181Identical
Amazonbot200200148,181Identical
meta-externalagent200200148,181Identical
CCBot (Common Crawl)200200148,181Identical
DuckAssistBot200200148,181Identical
MistralAI-User200200148,181Identical
Bytespider (ByteDance)4034034,543Blocked by Cloudflare

VerifiedCloudflare AI blocking is not active on this domain

Follio sits behind Cloudflare in front of WP Engine, so this was the first thing checked. Every AI crawler receives a byte-identical response to a browser. There is no cloaking, no challenge page, no 403. The only refusal is Bytespider, which is ByteDance's crawler and of negligible value to an Australian buyers agency.

This is a genuinely good result and it removes what would otherwise have been the single fastest available fix. It is reported as a negative finding because it was tested and found clean, not because it was assumed.

MediumGEO-01robots.txt blocks every research PDF, and says nothing about AI

Crawl-delay: 10          <- orphaned directive, no User-agent group above it
# START YOAST BLOCK
User-agent: *
Disallow: /wp-content/uploads/*.pdf
Sitemap: https://follio.com.au/sitemap_index.xml

Two problems. The Disallow blocks all PDFs in the media library from every crawler, including four PDFs linked from live pages: the April 2026 Investment Report, the Portfolio Builder case study, the First Time Investor case study and the B2B flyer. And the leading Crawl-delay: 10 sits above any User-agent group, so most parsers ignore it (Googlebot ignores Crawl-delay entirely).

There are no AI crawler directives at all: no allow, no disallow, no Google-Extended opt-out. The file is silent on the question.

Fix. Remove the PDF disallow. Remove the orphaned Crawl-delay. Add explicit allow directives for the AI crawlers you want (this is a positive signal, not a neutral one) and add the llms.txt reference.

HighGEO-02The research is published as pictures behind a form

All 27 research report pages exist as HTML and all 27 reference a HubSpot form. Median on-page length is 502 words, and that includes navigation and footer. The structure is: short summary, then a "Download The Investment Report" HubSpot CTA. The 14-page synopsis itself never reaches the page.

On /research-reports/investment-report-july-2026/ the largest asset is a 509 KB PNG screenshot of the report. Every figure in it (Perth 24% annual growth, Brisbane 16%, Adelaide 12%, Sydney flat, Melbourne negative, headline inflation 4.0%, trimmed mean 3.6%, unemployment 4.4%) is inside an image. No search engine and no answer engine can read any of it.

This is the core GEO failure. Answer engines cite text they can parse and attribute. Follio publishes numbers as pixels.

HighGEO-03Zero transcripts across 64 podcast pages

MeasureValueSource
Long-form episodes on YouTube104yt-dlp channel dump
YouTube Shorts367yt-dlp
Total long-form duration44.6 hoursyt-dlp (2,676 minutes)
Median episode length27.0 minyt-dlp
Episode pages on follio.com.au64sitemap crawl
Episodes with no page at all40104 minus 64
Pages containing the word "transcript"0full-text crawl of all 64
Measured speech rate210.5 wpm10-episode caption sample, 287.5 min, 60,517 words
Words currently on all 64 pages (incl. chrome)25,895crawl-raw.json
Words available from transcribing 104 episodes563,2982,676 min x 210.5 wpm
Net new indexable words~537,00021.8x the site's current written content

The word rate was measured rather than assumed. Auto-captions were pulled for ten episodes spread across the catalogue, rolling-caption duplicates removed, giving a pooled 210.5 wpm (mean 209.4, median 209.7, range 189.9 to 218.8). Sample data in podcast-transcript-sample.json.

HighGEO-04The site has almost none of the formats answer engines extract

FormatPages (of 125)Why it matters
HTML <table>1Comparison and data tables are the highest-extraction format for answer engines
Ordered list <ol>1Step and ranking content
FAQ block3 mentions, 0 schemaDirect question-answer pairs
Attributed statistic block0A number plus its source is what gets cited
Definition block0"What is X" answers
Author byline with credentials0Establishes the economist as a citable entity

A firm that publishes weekly statistics across eight capital cities has one table on its entire website.

MediumGEO-05Entity clarity is weak and the economist does not exist online

Organization schema is present but there is no Person schema for anyone, no sameAs author links, no credentialed byline on any research report, and no author archive. The in-house economist who produces the national dataset is not established as an entity anywhere on the site.

Outbound citations are limited to instagram.com, linkedin.com, pipa.asn.au, youtube.com and podcast platforms. There is not one outbound link to a data source (ABS, Cotality, SQM Research, RBA). Answer engines weigh source attribution heavily, and a data publisher that cites nothing reads as an opinion site.

MediumGEO-06No llms.txt, and nobody else has one either

/llms.txt, /llms-full.txt and /ai.txt all return 404 on follio.com.au. They also return 404 on all seven competitor domains tested.

Fix. This is uncontested. Publishing a curated llms.txt that points answer engines at the data hub, the methodology page, the expert bios and the sentiment index costs a day and puts Follio first in the category. Low certainty of impact, near-zero cost, and it signals intent to the people who matter.

Agent readiness: two independent scans

Follio supplied a Cloudflare isitagentready.com result during this engagement. It was re-run through PWD's own agent-readiness scan on 6 August 2026 so the finding is sourced, not taken on trust. The two use different rubrics and produce different numbers. They agree on every missing control.

ScanScoreTierCategory detail
isitagentready.com (Cloudflare)21 / 100Level 1: Basic Web PresenceDiscoverability 50 (2 of 4), Content 0 (0 of 1), Bot Access Control 50 (1 of 2), API/Auth/MCP/Skill Discovery 0 (0 of 7)
PWD agent-readiness scan40 / 100FindableDiscoverability 57, Content 40, Bot policy 36, Discovery 25

Passed

  • robots.txt present, sitemap reachable
  • AI crawlers not blanket-blocked
  • Content readable without JavaScript (~6,523 characters)
  • No bot-wall on the homepage
  • A .well-known endpoint responds (/.well-known/oauth-authorization-server)

Failed or partial

  • llms.txt absent (weight 3)
  • Markdown content negotiation absent (weight 3)
  • Content-Signal directive absent (weight 3)
  • Explicit AI-bot policy only partial: robots.txt has generic User-agent: * groups and names no AI bot (weight 3)
  • No OpenAPI spec, no MCP server advertised, no agentic-commerce signals (weight 3 each)
  • No RSS or Atom feed advertised

Read thisBoth automated scans gave Follio a pass on the one thing that is actually broken

Both scanners marked "semantic page basics" and "structured data present" as PASS. Both are HTTP-only probes: they pattern-match for a <title>, an <h1>, a meta description and a JSON-LD block appearing anywhere in the document. Neither parses the document to check where those elements actually resolve.

This audit's parser test shows all four resolve inside <body>, not <head>, on 125 of 125 pages (finding OS-01). Both agent-readiness scores are therefore flattering Follio on the most damaging technical defect on the site.

The scores are still worth tracking as a trend, and the missing controls they identify are all real and all on the roadmap. But an automated agent-readiness score is a starting point, not a diagnosis, and in this case a 21 and a 40 are both more generous than the site deserves.

06. AI visibility results

What ChatGPT recommends when nobody says the brand name

Nine prompts, ChatGPT with live web search, 6 August 2026. A dated sample, not a ranking. Full matrix in ai-visibility-matrix.csv.

Share of voice

Propertybuyer
33.3%
Search Property
33.3%
Henderson Advocacy
22.2%
Follio
11.1%
Metropole
11.1%
Propertyology
11.1%
InvestorKit
0%
Aus Property Scout
0%

Results by prompt category

CategoryPromptsFollio namedPrompts run
Category, unbranded, national30best buyers agency in Australia; property investment advice Australia; buyers agent for investment property Australia
Geographic (Perth)30best buyers agent in Perth; buyers agent near Perth WA; property investment advisor Perth
Commercial investigation31best property investment advisors in Australia; property portfolio builders Australia; investment property buyers agent Australia

ImportantThe one prompt Follio wins is the most interesting data point in this report

For "property portfolio builders Australia", ChatGPT named Follio second, after Liviti and ahead of Propertyology, Empower Wealth, Momentum Wealth and Positive Real Estate.

Follio has 14 referring domains, 390 estimated monthly sessions, no content schema and a broken <head>. InvestorKit, doing 50 to 60 deals a month with 271 referring domains, was named in zero of nine. Australian Property Scout, the closest podcast-led analogue, was named in zero of nine.

Follio surfaces on the exact positioning language it already uses. "Portfolio builder" is not a generic category term, and that is why it works. The lesson is not to chase "best buyers agent Sydney" against agencies with ten times the link equity. It is to own the language of portfolio building, which almost nobody else is using.

MediumWho ChatGPT actually recommends is not who the founder named

Across the nine prompts, the most frequently recommended brands were Auswide Buyers Agency (3 of 9), Performance Property (3), BuyersAgent.com.au (3), OpenCorp (2), Freedom Property Investors (2) and Empower Wealth (2). Of the three competitors named in the discovery call, only Henderson Advocacy appeared more than once.

This is the expected pattern. Founders name the competitors they see on social media and in deal negotiations. Answer engines surface whoever has the strongest text-based footprint across the web, which is a different population.

HighThe citation gap is directories, and Follio is on none of them

The recommendation surface across all nine prompts was dominated by aggregator and directory-style brands: BuyersAgent.com.au, Buyers Agents Australia, Buyers Agency Australia. Propertybuyer's own backlink profile shows toptenbuyersagents.au linking to it 17 times.

Fix. Directory and comparison-site placement is unglamorous and it is where the citations come from. Target: the buyers agent directories, PIPA's member directory (Follio already holds one pipa.asn.au link), and the AU property trade press listing pages.

Method limitations for this section specifically

One engine (ChatGPT with live web search) and nine prompts. Large language model responses are non-deterministic and personalised: the same prompt asked twice can return a different set of brands. Two larger batch runs timed out at the tooling layer and are recorded in errors.log. The prompt set was partly generated by the testing tool rather than fixed in advance, and the nine prompts recorded are the prompts actually run. This section establishes presence and absence at a point in time. It should be re-run monthly with the same prompts to create a trend, and that is in the measurement framework.

07. Competitive landscape

The market leader, picked by the numbers

Eight domains. Identical tools, identical market, identical date. Scoring rubric published below and applied without adjustment.

How the set was built

Seeds from the discovery call: Henderson Advocacy, Search Property, InvestorKit. Expanded using brands actually cited in the AI testing, plus the research-led and content-led players that own the data queries Follio should own: Metropole, Propertyology, Propertybuyer, Australian Property Scout.

Dashdot was pulled and then excluded. It ranks number one for "dashdot liquidation" (1,300 searches a month) on a /farewell/ page. The business appears to have ceased trading. Its data is retained in competitor-traffic.json for transparency and excluded from scoring.

Headline metrics, all pulled 6 August 2026

DomainEst. sessions/moKeywordsTop 10Ref. domainsSitemap URLsAI SoV
propertybuyer.com.au60,8312,8564573693,26033.3%
metropole.com.au9,0561,11212574335311.1%
henderson.com.au3,789377452931,10322.2%
investorkit.com.au2,8611,2482142717410%
searchproperty.com.au2,7971,13115249757433.3%
australianpropertyscout.com.au1,389301395600%
propertyology.com.au1,1544386225466811.1%
follio.com.au3905771412511.1%

Scoring rubric

CriterionWeightMeasurement
Estimated organic traffic20%DataForSEO etv, log10 scaled
Non-branded top-10 visibility20%Top-10 count x measured non-branded share of top-25 keywords, log10 scaled
AI visibility share of voice20%Mentions across 9 ChatGPT prompts
Referring domain quality and count15%DataForSEO referring domains, log10 scaled
Content depth15%Indexable URL count from sitemaps, log10 scaled
Technical and schema health10%4 pts head parses correctly, 3 pts content schema beyond CMS defaults, 3 pts inverse spam score

Four criteria are log10-scaled before min-max normalisation because the range spans three orders of magnitude (390 to 60,831 sessions). On a linear scale every domain except Propertybuyer would score zero and the matrix would carry no information. Non-branded share is a derived figure, not a measured one: it applies each domain's hand-classified non-branded proportion of its top-25 keywords to its measured top-10 count.

Scoring matrix

RankDomainTraffic
20%
Non-brand
20%
AI SoV
20%
Links
15%
Depth
15%
Tech
10%
Total
1propertybuyer.com.au10.0010.0010.008.2410.005.729.31
2searchproperty.com.au3.908.1910.008.995.656.857.30
3metropole.com.au6.237.873.3310.004.445.286.18
4henderson.com.au4.502.906.677.667.299.335.99
5investorkit.com.au3.958.720.007.466.299.475.54
6propertyology.com.au2.156.703.337.306.036.405.08
7australianpropertyscout.com.au2.520.000.004.820.005.801.81
8follio.com.au0.001.163.330.001.842.401.41

Read this before acting on the rankingPropertybuyer wins the matrix, and it is the wrong model to copy

Propertybuyer's 60,831 monthly sessions are not buyers agency traffic. Its top keywords are suburb-name navigational queries: "kogarah 2217" (110,000/mo), "revesby 2212" (90,500/mo), "pymble 2073" (40,500/mo), served by a 3,260-URL suburb-profile page farm. That is real scale, and it is people looking up a postcode.

The matrix answers the question honestly: Propertybuyer is the biggest player in this category's search results. The more useful question is which competitor to copy for each specific capability, and the answers differ.

What each leader does that Follio does not

Copy thisMetropole: the evergreen city hub. The single most relevant model in this report.

KeywordVolumePositionURL
sydney housing market3,6005/sydney-housing-market-update/
melbourne property market4,4008/melbourne-housing-market-update/
brisbane property market brisbane2,4008/brisbane-housing-market-update/
sydney house prices4,40017/sydney-housing-market-update/ (same URL)
melbourne house prices4,40018/melbourne-housing-market-update/ (same URL)

One permanent URL per city, updated in place, accruing authority for years. Metropole is not publishing a new report every month at a new address. It is updating the same page.

Follio publishes deeper data on more cities more often than Metropole does, and captures none of it, because every Follio report gets a new orphaned URL that nobody links to and that goes stale in three days.

Copy thisInvestorKit: podcast infrastructure that earns links

InvestorKit's podcast links

  • omny.fm: 566 backlinks, dofollow
  • iheart.com: 137 backlinks, dofollow
  • player.fm: 18
  • snipd.com: 17
  • /youtube landing URL: 223 backlinks
  • smartpropertyinvestment.com.au: 27, editorial
  • brokernews.com.au: 11, editorial

Follio's podcast links

  • podtail.nl: 15 backlinks, all nofollow, all in nav
  • poddtoppen.se: 2
  • podchaser.com: 2
  • apple.com: 1
  • radio.net: 1, nofollow
  • grep.fm: 1, nofollow
  • Trade press: none
Follio's podcast is bigger than InvestorKit's and earns a fraction of the links. The difference is not audience. It is that InvestorKit hosts on a podcast host that links back and runs a dedicated landing URL. Follio publishes to YouTube and Spotify and collects nofollow scraper listings.

Copy thisPropertyology: the named analyst as a link magnet

254 referring domains, and the cleanest editorial profile in the entire set:

Referring domainBacklinksType
realty.com.au339Australian property portal, editorial, in-article
yourinvestmentpropertymag.com.au131Trade press, editorial
smartpropertyinvestment.com.au95Trade press, editorial
bmtqs.com.au5224 links carry rel="author" for Simon Pressley
apartments.com.au34Portal, editorial
eliteagent.com23Industry news
brokernews.com.au9Trade press

The anchor text "Simon Pressley" appears on 54 backlinks. A named analyst, quoted repeatedly, generates links to the firm. Propertyology also ranks number one for "fastest growing cities australia" off a single named research asset at /30-fastest-growing-australian-cities/.

This is exactly the AFR commentator play Follio has planned. Propertyology has already proven it works in this market, with an economist who is less prolific than Follio's.

Copy the schema, not the linksHenderson Advocacy

Copy: the richest structured data in the set (FAQPage, Question, Answer, RealEstateAgent, GeoCoordinates, OpeningHoursSpecification, PostalAddress, ContactPoint) and the /suburb-city/ location page structure that ranks for "buyers agent inner west" (260/mo, position 7).

Do not copy: the links. Exact-match anchors "buyers agent" (448 backlinks), "buyers agent Perth" (198) and "buyers agent Brisbane" (195) coming from unrelated US home-improvement and real-estate blogs: home-sol.com, tiffanycitylighting.com, dublinhomes247.com, browardconcreteservices.com. 2,990 of Henderson's 3,841 backlinks are already broken. This is a purchased profile with a short half-life.

InstructiveAustralian Property Scout: proof that a podcast alone does nothing

The closest structural analogue to Follio: podcast-led, founder-fronted, national buyers agency. 30 ranking keywords in total, every one of them brand or founder terms ("australian property scout", "sam gordon", "scouting australia"). 60 URLs in the sitemap. Zero of nine AI prompts. Scored 1.81 against Follio's 1.41.

Australian Property Scout has been running its podcast longer than Follio and sits in essentially the same position. A podcast builds brand demand. It does not build category search visibility unless the content is published as text on a site that is structured to hold it.

08. Gap analysis and opportunity

Where the traffic is, and what it is worth

69 keywords where a competitor ranks in the top 20 and Follio does not rank at all. Full list with volumes, positions and ranking URLs in keyword-universe.csv.

69
gap keywords
109,320
combined monthly searches
51,310
of that in data and research intent
0
of the 69 that Follio ranks for

Gap by intent bucket

Data and research
51,310
Investor intent
34,940
Core commercial
11,420
Informational
9,200
Tools
2,400

Monthly search volume, Google Australia, DataForSEO, 6 August 2026.

The largest bucket by a distance is data and research intent: 51,310 monthly searches for city market updates, house prices, rental yields and forecasts. That is exactly what the in-house economist produces every Monday and Wednesday. Follio is already doing the expensive part.

Highest-value gaps that map directly to existing output

KeywordVolumeWho owns it nowTheir positionFollio already produces this
melbourne property market4,400metropole.com.au8Yes, weekly
melbourne house prices4,400metropole.com.au18Yes, weekly
sydney house prices4,400metropole.com.au17Yes, weekly
sydney housing market3,600metropole.com.au5Yes, weekly
sydney property market3,600metropole.com.au10Yes, weekly
brisbane house prices2,900metropole.com.au15Yes, weekly
brisbane property market2,400metropole.com.au13Yes, weekly
australian housing market 2026 forecast1,900propertyology.com.au15Yes, Wednesday report
gold coast property market1,600investorkit.com.au14Partially
melbourne property prices1,300metropole.com.au16Yes, weekly
average rent in sydney720propertyology.com.au17Yes, rental yields weekly
darwin property market480propertyology.com.au11Yes, all 8 capitals
buying agent6,600investorkit.com.au8No, needs writing
real property investments3,600investorkit.com.au10No, needs writing
buyer agent sydney2,400searchproperty.com.au8No, needs a location page
rentvesting2,400investorkit.com.au5Yes, podcast episode exists
negative gearing meaning2,400investorkit.com.au20Yes, multiple episodes
negative gearing explained1,900investorkit.com.au19Yes, multiple episodes

Note the pattern in the right-hand column. Most of the highest-volume gaps are not content Follio needs to create. They are content Follio has already created and has not published in a form a search engine can use.

Link gap: domains linking to two or more competitors but not to Follio

DomainLinks toRoute in
smartpropertyinvestment.com.auInvestorKit, Propertyology, Aus Property ScoutExpert commentary, data contribution
yourinvestmentpropertymag.com.auMetropole, Propertyology, PropertybuyerExpert commentary, research citation
realty.com.auMetropole, Propertyology, PropertybuyerResearch citation, in-article
brokernews.com.auInvestorKit, PropertyologyBorrowing capacity and lending commentary
apartments.com.auPropertyology, PropertybuyerMarket data citation
omny.fmInvestorKit, Aus Property ScoutMove podcast hosting. Direct, no outreach needed.
snipd.comInvestorKit, Aus Property ScoutFollows automatically from proper podcast hosting
player.fm, ivy.fm, podbean.comInvestorKit, Aus Property ScoutFollows automatically from proper podcast hosting
iheart.comInvestorKitPodcast distribution
eliteagent.comPropertyologyIndustry news
toptenbuyersagents.auPropertybuyerDirectory listing

Four of these need no outreach at all. They are automatic consequences of hosting the podcast properly. That is the cheapest link acquisition available to this business.

Opportunity sizing

Modelled scenario, not a forecast

Assumptions, stated so they can be argued with:

  • Target the data and research bucket only: 51,310 monthly searches. This is where Follio has a real content advantage and where difficulty is lowest.
  • Applied CTR by position band using published industry averages, not Follio's own data: positions 1 to 3 at 15%, positions 4 to 10 at 4%.
  • Assumed 24-month outcome distribution: 15% of captured volume reaches positions 1 to 3, 45% reaches positions 4 to 10, 40% does not rank.
Result: approximately 2,075 incremental monthly organic sessions.
(51,310 x 0.15 x 0.15) + (51,310 x 0.45 x 0.04) = 1,155 + 924 = 2,079

Against a current measured 390 estimated monthly sessions, that is a 5.3x increase in organic traffic, from content that is already being written and paid for.

Leads are deliberately not modelled. Follio's site conversion rate was not supplied and cannot be measured from outside. Any lead figure would be invented, and this engagement does not permit that. Once Google Analytics and HubSpot conversion data are available, this model can be extended in one afternoon.

09. Content engine strategy

Turning four assets a week into a compounding search asset

Follio already produces more publishable material per week than any competitor in this set. The problem is entirely architectural.

1. The weekly economist data: build a permanent data hub

Eight capital cities every Monday, plus supply, demand, migration and affordability every Wednesday, from a named in-house economist. Nobody else in this category has that cadence. It currently expires in three days because each report gets a new orphaned URL.

URL architecture

/property-market/                                  Hub. All cities, current headline figures, one table.
/property-market/perth/                            PERMANENT. Updated in place every Monday.
/property-market/sydney/                           Same. One URL per capital, forever.
/property-market/melbourne/  (+ brisbane, adelaide, hobart, darwin, canberra)

/property-market/perth/2026-08/                    Dated archive snapshot, created on update.
/property-market/archive/                          Archive index, paginated.

/research/                                         Research hub.
/research/supply-and-demand/                       Wednesday report, permanent URL.
/research/methodology/                             How the data is produced. Cited by everyone.
/research/data/                                    Machine-readable downloads (CSV + JSON).

How the weekly update works without creating thin or duplicate pages. The city page is the canonical, permanent asset. Every Monday the economist's figures replace the current numbers in place, the dateModified updates, and a dated snapshot is written to the archive path. The archive snapshot carries a canonical pointing to itself (it is genuinely different content), is linked from the city page's "previous updates" module, and is excluded from the primary sitemap after 24 months. The city page keeps its accumulated authority. This is the Metropole model, applied to eight cities instead of three and updated weekly instead of monthly.

Schema per page type

Page typeSchemaKey properties
City market pageDataset + Article + BreadcrumbListtemporalCoverage, spatialCoverage, variableMeasured (median price, rental yield, clearance rate, listing volume), dateModified, creator pointing to the economist's Person, distribution pointing to the CSV
Research hubCollectionPage + ItemListOrdered list of every city page and report
Methodology pageArticle + Datasetcitation to ABS, Cotality, SQM, RBA. This is the page journalists check before quoting you.
Podcast episodePodcastEpisode + VideoObjecttranscript, partOfSeries, duration, datePublished, actor/guest as Person
Expert bioPersonjobTitle, alumniOf, knowsAbout, sameAs to LinkedIn and published work
Service pagesService + FAQPageareaServed, provider, Question/Answer pairs
Organisation (sitewide)Organization + LocalBusinesssameAs, founder, employee, consistent NAP, AggregateRating once reviews are structured

Internal linking model

The data hub is the top of the funnel and it must feed the commercial pages, not sit beside them. Every city page carries: a contextual link to the relevant service page ("planning to buy in Perth? see portfolio builder"), links to the three most recent podcast episodes discussing that city, a link to the methodology page, and a link to the archive. The hub links to all eight cities. The homepage links to the hub. Result: every research asset within two clicks of the homepage, and every research asset passing equity to a commercial page. That single change resolves finding OS-02.

2. The gating decision: ungate the research. This is not a close call.

RecommendationUngate all 27 research reports and publish the full text as HTML

The trade currently being made is: a HubSpot form capture, versus every ranking, citation and link the research could earn. Three things make that trade indefensible now.

  • PropStack is the lead funnel. The founder has already said the research no longer needs to carry lead capture. A free portfolio tracking product with an off-market listings portal is a dramatically stronger magnet than a PDF, and it captures a more qualified user.
  • The gated asset is not what is ranking anyway. The research pages already exist as HTML and already have summaries public. What is gated is the substance: the tables, the figures, the city-by-city detail. That is precisely the material that would get cited.
  • Nothing can find the reports regardless. All 27 are orphaned. The form is not protecting a lead source; it is sitting behind a door nobody can reach.

Recommended structure. Full report text public as HTML, with real tables and attributed figures. PropStack waitlist as a contextual inline CTA, not a gate. The PDF remains available as a formatted download for people who want it, and it is unblocked in robots.txt. An optional email capture offers the weekly update by email, positioned as a subscription rather than a toll.

What is being given up. Some volume of form fills from people who would have downloaded a PDF. What is being gained. 51,310 monthly searches of addressable data intent, a citable source for AI answer engines, and the earned-link surface that Propertyology has built its entire authority on.

3. The podcast back catalogue

ComponentSpecificationIndexable words added
Full transcriptsSpeaker-labelled, timestamped, paragraphed, on-page (not in a collapsed accordion that hides text from extraction)~537,000
Chaptered summariesH2 per chapter with a 2 to 3 sentence summary above the transcript, so the answer sits in the first 50 words of each section~31,000 (104 x ~300)
Extracted Q&A blocks3 to 5 real questions per episode with direct answers, marked up as FAQPage~52,000
Guest biosPerson schema per guest, linked to an author archive~10,000
40 missing episode pages104 episodes exist, 64 have pagesincluded above

Sequencing. Do not transcribe all 104 at once. Start with the 20 episodes whose topics map to the highest-volume gap keywords (negative gearing, rentvesting, capital gains tax, the 2026 budget changes, city market updates). Measure. Then run the rest.

Podcast hosting. Move to a host that provides a linking episode page (Omny, Buzzsprout, Transistor or similar). InvestorKit gets 566 dofollow backlinks from omny.fm alone. This requires no outreach, no content and no negotiation. It is a hosting decision.

Also fix: /the-follio-property-podcast-2/ has no H1 and sits on a URL with a -2 suffix, which means the original was never cleaned up.

4. The AFR journalist and PR play

The plan to respond to AFR property journalists on the podcast is sound, and Propertyology has already proven the model works in this market. But journalists cannot cite what they cannot verify, and right now there is nothing on the site for them to land on. Four things need to exist first.

A newsroom or media page

/media/. Recent commentary, contact details for media enquiries, high-resolution headshots, and the one-paragraph company description you want quoted verbatim.

Expert bios with credentials

/about/team/[name]/ with Person schema, qualifications, areas of expertise, and sameAs links. The economist needs to be a named, verifiable entity. Right now they are anonymous.

A data press kit

/research/data/. Downloadable CSV and JSON of the weekly figures, with a clear citation line and a permissive reuse policy. Make it trivially easy to quote the numbers correctly.

A methodology page

/research/methodology/. Sources, definitions, update cadence, limitations. This is what a journalist and an answer engine both check before treating you as a source.

Then the podcast response mechanism works: an AFR article appears, Follio records a response episode within 48 hours, publishes it with a full transcript and the relevant data pulled from the hub, and pitches the economist as a named source for the follow-up. The transcript is the citable artefact. Without it, a podcast response is invisible to everyone except existing listeners.

5. The Follio investor sentiment index

Highest-ceiling asset in the plan

Five questions asked monthly inside PropStack, aggregated into an index. The differentiator is real and defensible: this measures investors specifically, not general consumer confidence. No such index exists in Australia. Westpac-Melbourne Institute measures consumers. NAB measures business. Nobody measures property investors.

DecisionRecommendationReason
NameFollio Investor Sentiment Index (FISI)Brand in the name so every citation is a branded mention. An acronym makes it quotable in copy.
URL/research/investor-sentiment-index/ permanent, /research/investor-sentiment-index/2026-09/ per releaseSame permanent-plus-archive pattern as the city pages
CadenceMonthly, same business day each month, published to a schedule announced in advanceJournalists diarise predictable releases. Irregular ones get missed.
Methodology pageSeparate, permanent, linked from every releaseNon-negotiable for media citation and for AI source trust
SchemaDataset with temporalCoverage, variableMeasured, distribution to CSV, creator as the economist's PersonMakes the index machine-readable, which is the whole point
FormatHeadline number, direction of change, one table, one chart, three-sentence interpretation, downloadable CSVEvery element is separately extractable by an answer engine
DistributionMedia list on release day, LinkedIn post from the economist, podcast segment, email to the PropStack baseRecurring indices become citation habits once journalists know the date

Sequencing note. The index needs a credible sample size before launch. Publishing an index built on a few hundred responses invites the first sceptical journalist to dismantle it. Build the PropStack base first, launch the index in month four to six, and state the sample size on every release.

6. Off-site inference building

Targeted at the specific domains that appeared as citation and link sources in this audit, not at a generic list.

SurfaceActionPriority
Podcast hosts (omny.fm, player.fm, snipd, podbean)Move hosting. Links follow automatically.Do first
smartpropertyinvestment.com.auPitch the economist as a data source. Links to three competitors, not Follio.High
yourinvestmentpropertymag.com.au, realty.com.auResearch citation pitch, monthly data releaseHigh
brokernews.com.auBorrowing capacity and lending commentary. Follio already has episodes on this.High
Buyers agent directories, toptenbuyersagents.au, PIPA member directoryListings. These are what AI answer engines read when asked "best buyers agent".High
YouTube descriptionsLink every episode description to its on-site transcript page. 104 episodes, currently linking mostly to the homepage or nothing.High
Reddit (r/AusFinance, r/AusProperty, r/fiaustralia)Participate genuinely with data, do not promote. These subreddits are disproportionately cited by answer engines.Medium
LinkedIn (economist and founder)Publish the weekly figures as native LinkedIn articles linking to the city pagesMedium
WikipediaDo not attempt a company page. Contribute sourced data to existing Australian housing articles instead.Low
10. Roadmap

Sequenced by leverage per hour spent

Every item traces to a numbered finding in this report. Effort is indicative developer or content days.

Phase 1: weeks 1 to 4. Unblock and repair.

Nothing in this phase requires new content. All of it makes existing content work.

ActionFindingEffortImpactOwnerDepends on
Move the outercite/citetrace pixel inside <head>OS-010.25 dCritical Restores canonical, robots, meta and all schema sitewideAgencyNone
Remove Disallow: /wp-content/uploads/*.pdf and the orphaned Crawl-delayGEO-010.25 dHigh Unblocks 4 linked PDFsAgencyNone
Fix the mailto template bug (4 broken internal links)OS-050.25 dMediumAgencyNone
Delete or noindex the 5 test and duplicate pagesOS-050.25 dMedium Cleans the indexable setAgencyNone
Build research, podcast and suburb hub pages with pagination; connect all 90 orphansOS-024 dCritical Makes 72% of the site reachableAgencyNone
Template meta descriptions per content type, hand-write the top 20OS-041.5 dHighAgencyOS-01 fixed
Deploy Article, PodcastEpisode, VideoObject, Person, Service, FAQPage, LocalBusiness schema at template levelOS-033 dHighAgencyOS-01 fixed
Fix multiple and missing H1s across 51 pagesOS-051 dMediumAgencyNone
Convert oversized PNGs to WebP, correct sizing on the top 30 pagesOS-051 dMedium Resolves mobile LCPAgencyNone
Ungate all 27 research reports, publish full text as HTML tablesGEO-023 dCritical Makes the data readable and citableFollio + AgencyFounder sign-off
Move podcast hosting to a host that links backLink gap0.5 dHigh Automatic dofollow links, no outreachFollioNone
Publish llms.txt and llms-full.txtGEO-060.5 dLow Uncontested in the categoryAgencyHub pages exist
Connect Google Search Console and Analytics, set up rank trackingMeasurement0.5 dHigh Replaces estimates with measurementFollioNone

Phase 2: months 2 to 3. Build the architecture.

ActionFindingEffortImpactOwnerDepends on
Build /property-market/[city]/ for all 8 capitals with Dataset schema and the update-in-place workflowGap: 51,310/mo8 dCritical The single largest opportunity in this reportAgency + economistPhase 1
Build /research/methodology/ and /research/data/ (CSV and JSON)GEO-052 dHigh Prerequisite for media citationAgency + economistCity pages
Build the archive pattern and dated snapshotsOS-022 dMedium Prevents duplication as data updatesAgencyCity pages
Transcribe and publish the first 20 podcast episodes with chaptered summaries and Q&A blocksGEO-036 dCritical ~103,000 indexable wordsAgencySchema deployed
Create the 40 missing episode pagesGEO-033 dHighAgencyPodcast template
Build expert bio pages with Person schema for the founder and economistGEO-051.5 dHigh Entity establishmentFollio + AgencyNone
Build /media/ newsroom with press kit and headshotsPR play2 dHigh Prerequisite for the AFR strategyAgencyBios
Rebuild commercial service pages with Service and FAQPage schema; add FAQ blocksGEO-044 dHigh Answer-engine formatsAgencyPhase 1
Build city and state location landing pages for commercial intentGap: 11,420/mo4 dMediumAgencyService pages
Update all 104 YouTube descriptions to link the on-site transcript pageLink gap1 dMediumFollioTranscripts live

Phase 3: months 4 to 6. Authority and distribution.

ActionFindingEffortImpactOwnerDepends on
Launch the Follio Investor Sentiment Index with methodology page and CSVIP play6 dCritical Highest ceiling asset. Recurring citation magnet.Follio + AgencyPropStack sample size
Transcribe the remaining 84 episodesGEO-0310 dHigh Completes the ~537,000 wordsAgencyPhase 2 measured
Journalist and trade press outreach: smartpropertyinvestment, yourinvestmentpropertymag, realty.com.au, brokernews, eliteagentLink gapOngoingHigh Each links to 2+ competitors, none to FollioAgency + economistMedia page, methodology page
AFR response-episode mechanism: 48-hour turnaround, transcript, data pull, named-source pitchPR playOngoingHighFollioNewsroom, transcripts
Directory and comparison-site placementAI citation gap2 dHigh Directories dominate AI recommendationsAgencyNone
Build informational and definitional content for the investor-intent gap (34,940/mo)Gap analysis10 dMedium Largely repurposed from transcriptsAgencyTranscripts
Reddit and LinkedIn programmeOff-siteOngoingMediumFollioData hub live
Backlink spam monitoring; disavow if the PBN cluster exceeds ~20 domainsBacklink profileMonthlyLowAgencyNone

Ongoing

11. Measurement framework

Leading indicators move months before rankings do

The mistake with a programme like this is judging it on organic sessions in month two. Organic sessions are the last thing to move. Here is what to watch instead, and in what order it should move.

MetricSourceFrequencyBaseline (6 Aug 2026)Expect movement
Leading indicators: weeks 1 to 8
Pages indexedSearch ConsoleWeeklyNot available (GSC not connected)Weeks 2 to 4
Pages crawled per daySearch Console crawl statsWeeklyNot availableWeeks 1 to 3
Pages with zero internal inlinksScreaming FrogMonthly90 of 125Week 4
Canonicals detected in <head>Screaming FrogOn deploy0 of 125Week 1
Pages with content schemaScreaming FrogMonthly0 of 125Week 4
Total indexable words on siteCrawlMonthly~67,600Month 2
Mid indicators: months 2 to 5
Total ranking keywordsDataForSEOMonthly57Month 2
Non-branded keywords in top 20DataForSEOMonthly3Month 3
Impressions (non-branded)Search ConsoleWeeklyNot availableMonth 2
Average position, data-hub keywordsRank trackingWeeklyNot rankingMonth 3
Referring domainsDataForSEOMonthly14Month 2 (podcast hosting)
AI share of voice, same 9 promptsChatGPT re-testMonthly11.1% (1 of 9)Month 3 to 4
Citations in AI answers with a URLManual logMonthly0Month 4
Lagging indicators: months 5 to 12
Organic sessionsAnalyticsMonthly390 (estimated)Month 5
Organic sessions, non-brandedSearch Console + AnalyticsMonthlyNot availableMonth 5
Organic-attributed enquiriesHubSpotMonthlyNot suppliedMonth 6
Earned media mentionsManual logMonthly0 tier-oneMonth 4

First actionConnect Search Console and Analytics before anything else ships

Eight rows in the table above read "not available". Every traffic and ranking figure in this report is a third-party estimate, because Google Search Console and Google Analytics were not accessible during the audit. That is a fair basis for competitive comparison and a poor basis for measuring your own progress.

Connecting both takes under an hour and converts most of this framework from estimated to measured. It also backfills up to 16 months of history, which means the baseline can be set properly rather than from today.

What good looks like at month 6

12. Appendix

Data files and full tables

Every figure in this report traces to one of these files. All pulled 6 August 2026 unless stated.

Data inventory

FileContents
crawl-raw.json / .csvFull raw-HTML crawl of all 125 sitemap URLs: schema, titles, meta, headings, internal and external links, images, word counts, HubSpot references, full text
onsite-analysis.json / .txtDerived onsite analysis: orphans, duplicates, schema coverage, content ratios, answer-format signals
head-parse-defect.jsonHTML parser output proving head elements resolve to body, on 125 of 125 pages
render-diff.json / .csvRaw versus Chrome-rendered word, link and schema counts for 20 pages
crawler-access-matrix.csv / crawler-access-raw.txt20 user agents against 2 URLs: status codes, byte lengths, response bodies
competitor-traffic.jsonDataForSEO position buckets, ETV and top keywords for all 8 domains
competitor-backlinks.jsonReferring domains, anchors and spam clusters for all 8 domains
competitor-onsite.jsonIdentical-method sitemap counts, schema, llms.txt and head-defect check for all 8 domains
keyword-universe.csv69 gap keywords with volume, CPC, intent bucket, observed SERP owner, owner position and URL
ai-visibility-matrix.csv9 ChatGPT prompts: every business named, Follio presence, tracked competitors
scoring-matrix.jsonWeights, method, per-criterion scores and weighted totals
podcast-transcript-sample.json10-episode caption sample: durations, word counts, measured words per minute
youtube-channel.json, yt_videos.jsonl, yt_shorts.jsonlFull YouTube catalogue with durations
pagespeed.jsonCore Web Vitals, mobile and desktop, lab and field, 3 pages
agent-readiness.jsonBoth agent-readiness scans, per-check pass/fail/partial detail, and the note on why both scored the head defect as a pass
sf-exports/Screaming Frog crawl overview, issues overview, orphan and redirect reports
robots.txt, sitemap_*.xml, all-urls-raw.tsvSource infrastructure files and full URL inventory
errors.logEvery failed check, with timestamp and reason

Full URL inventory by type

Content typeURLsMedian wordsTotal wordsOrphanedSchema present
Podcast episodes (/videos/)6444725,895~48Yoast defaults only
Research reports (/research-reports/)2750216,62827Yoast defaults only
Pages2755621,55412Yoast + 2 ContactPage, 1 AboutPage
Case studies (/case-studies/)44672,2490Yoast defaults only
Suburb data (/suburb-data/)34281,2923Yoast defaults only
Total125-67,61890No content schema anywhere

Word counts are from raw HTML body text and include navigation and footer chrome (the smallest page on the site is 37 words, which sets the boilerplate floor). Actual article-body content is lower.

Follio's complete top-10 keyword set

KeywordVolumePositionCPC (AUD)Ranking URLType
folio3,60071.60/Name collision
follio48010.84/Branded
lachlan delahunty32019.07/about/Branded
follio property901-/Branded
best suburbs to invest in perth 2025505-/videos/best-suburbs-to-invest-in-perth-2025-our-top-picks/Non-branded
folio financial services509-/Name collision
perth suburb profiles509-/suburb-data/perth-suburb-report/Non-branded
perth property reports50114.93/research-reports/perth-property-market-update/Non-branded, striking distance

This is the complete list. Follio has 57 ranking keywords in total; the remaining 49 sit at position 21 or worse and generate no meaningful traffic.

Screaming Frog issue summary (independent crawl, 260 URLs)

PriorityIssueURLs% of crawled
HighPage Titles: Outside <head>31100%
HighCanonicals: Outside <head>31100%
HighValidation: <head> Not First In <html> Element3115.5%
HighDirectives: Outside <head>3116.7%
HighResponse Codes: Internal Client Error (4xx)93.5%
HighResponse Codes: Internal Blocked by Robots.txt31.2%
MediumCanonicals: Missing31100%
MediumMeta Description: Outside <head>31100%
MediumMeta Description: Multiple2890.3%
MediumH1: Multiple1651.6%
MediumImages: Over 100 kB6042.3%
MediumPage Titles: Below 30 Characters1238.7%
LowMeta Description: Duplicate31100%
LowLinks: Internal Outlinks With No Anchor Text31100%
LowSecurity: Missing HSTS Header18693.0%
LowSecurity: Missing Content-Security-Policy Header18693.0%
LowSecurity: Missing X-Frame-Options Header18592.5%
LowImages: Missing Alt Text9466.2%
LowH2: Multiple2993.6%
LowH2: Non-Sequential1238.7%

Screaming Frog crawled 260 URLs by following links from the homepage and found only 31 HTML pages. The percentages above are against its own crawl set, which is itself the evidence for finding OS-02.

Raw versus JavaScript-rendered content, 20 pages

MeasureRaw (no JS)RenderedJS-only
Words16,44116,902461 (2.73%)
Links7907900 (0.00%)

The one page where JavaScript matters is /propstac-waitlist/: 81 raw words against 458 rendered, 82.3% JavaScript-only, because the page is a HubSpot form embed. Everywhere else Elementor server-renders and non-rendering AI crawlers see the same content Googlebot sees.

The content is already being made. Let's make it count.

Follio publishes more original property data each week than any competitor in this report, and captures none of it. The first four weeks of work are repair, not creation.