01Fix the duplicate page template across the whole site
Every URL we fetched (homepage, /residential, /commercial, all 9 commercial size pages, 12 industry pages, and every suburb page) returns the same 87-char title, the same 9-char meta description 'Melbourne', no H1, and roughly 13 words of body content. This is the single reason 31 ranked keywords are all stuck on page 3+. Generate unique title, meta, H1, and 500+ words per page from the URL slug. Suburb pages need '{Suburb} Solar Installation | Ezy Green Energy' style titles; commercial size pages need '{Size}kW Commercial Solar System Melbourne'.
02Add LocalBusiness and Service schema
Zero schema markup detected across all 60+ fetched pages. For a Melbourne service business with suburb-level landing pages, LocalBusiness schema with serviceArea per suburb, plus Service schema on the residential/commercial pages, is table stakes. Without it you forfeit rich results and the local pack.
03Write real meta descriptions
A 9-character meta description that says 'Melbourne' on every URL is actively bad. Google will rewrite them, badly, hurting CTR even when you do rank. Write 140-160 char descriptions per page that name the suburb or system size and a price cue or CTA.
04Push the solar panel efficiency post from position 95 to page 1
/blog/understanding-solar-panel-efficiency is the one piece of content that ranks for anything (it owns all 31 ranked keywords). 'efficiency of a solar panel' (4,400/mo) sits at position 95 and 'how efficient is solar panels' (1,600/mo) at 91. Expand this post to 2,500+ words, add an FAQ block, internal-link from /residential and /commercial size pages, and target the related 'high efficiency solar panel' (1,300/mo, KD 12).
05Build authority before scaling content (Australian solar niche)
Backlink data is unavailable, but the ranking pattern (31 keywords, all page 3+) is consistent with a domain Google doesn't trust yet. For an AU local trades business, the right sources are: Australian business directories (True Local, Hotfrog AU, Yellow Pages AU, StartLocal), Clean Energy Council installer listings (you should already be CEC-accredited for STC rebates anyway), SolarQuotes installer profile, and local Melbourne chamber listings. Start with our free directory at https://www.theseoagent.ai/free-backlinks for the general business sources. For the solar-specific and Melbourne-local sources the generic directory doesn't cover, our done-for-you service hand-picks and submits for $299: https://www.theseoagent.ai/services/done-for-you-backlinks.
06Truncate and fix the site-wide title tag
The current title is cut off mid-word at 'Commercia' (87 chars, over Google's ~60 char display limit). Even if you keep a templated brand suffix, lead with the page-specific keyword first, e.g. 'Solar Installation Frankston | Ezy Green Energy'.
07Add internal links between residential, commercial, industry and suburb pages
Every fetched page returned 0 internal links. Suburb pages should link to the residential and commercial system size pages and to the relevant blog content. Industry pages (e.g. /industries/winery-solar) should cross-link to /commercial/50kw or /commercial/100kw. Without internal linking, PageRank doesn't flow and Google can't infer topical clusters.
08Build out the suburb pages with actual content
Suburb landing pages are currently 13 words each. To rank for '{suburb} solar' searches, each needs 600+ words: local install examples, suburb-specific roof orientation/shading notes, postcode-level rebate info, nearby completed jobs, and a unique H1 and meta. Otherwise these get treated as doorway pages.