Website Review
A technical review of the rebuilt website: what is working, what is still broken, and what it takes to put right.
Prepared by Morello Web ยท 8 October 2026
Every page on the website was crawled and tested independently on 8 October 2026. Nothing here is based on what the site looks like from the front.
197
Titles, headings, descriptions, images, links and structured data on every one.
202
Every page that existed before the rebuild, recovered from the web archive and re-tested.
2
Full mobile performance testing on the home page and a suburb page.
All
How ChatGPT, Claude, Perplexity and Google AI are allowed to read the site.
Not covered: Google Search Console data, the Google Ads account and the Google Business Profile. Access to these would complete the picture.
A good deal of search engine optimisation comes down to the judgement of whoever is doing it. Two competent people will structure a site differently, write titles differently, and disagree about tactics. None of that is a fault, and none of it belongs in a review like this.
Nothing in the following pages is a matter of taste.
Every item here is something that can be checked: a page that returns an error, a measured load time, two statements that contradict each other, a file that is missing.
Where the site has been done well, that is recorded too. The aim is an honest picture, not a case against anybody.
Anyone is welcome to re-run these checks and get the same answers.
The landing pages are back and roughly half of them are well written. Five faults are holding the site back, and all five are fixable without another rebuild.
63
Pages that used to rank now show an error. They were rebuilt at a new address and the old one was never pointed at the new one.
72
Suburb pages are the same page with the name swapped. Three of the five page families were copied rather than written, so they compete with each other instead of ranking.
17.8s
To load the main image on a phone. Google wants that under 2.5 seconds. Most people will not wait.
4
Different sets of opening hours are being sent to Google at the same time, and most of them say the business is shut after 5pm.
0
Privacy policies on the site, while session-recording software and ad tracking run on every page.
The name is spelled correctly in all 90,427 places it appears across the site, including every page title, the logo, and the business details sent to Google.
Alternative spellings were also checked and none of them appear anywhere: Morefeild, Morayfeild, Morrayfield, Moreyfield, Morafield, or "Moray field" as two words.
So if the wrong name has been seen somewhere, it is coming from outside the website.
1
The Google Ads account. Ad copy is written separately from the website, so a misspelled headline would show on a search without touching the site.
2
The Google Business Profile. A name edit there, or an accepted suggestion from Google, feeds the map listing.
3
A directory listing. Yellow Pages, Facebook or a data provider carrying a typo can surface as an alternative name.
There is one genuine name fault on the site, on the CCTV pages. It is covered later under template faults.
Critical fault 1
The pages were not deleted. They were rebuilt at a new web address, and the old address was never pointed at the new one.
The old address
/emergency-locksmith-in-caboolture/
Returns an error page
The page that exists now
/emergency-locksmiths-in-caboolture/
Works perfectly
One letter apart. Every ranking, link and bookmark pointing at the old address is landing on an error page instead of the page that replaced it.
Because the fault is mechanical rather than random, the repair is straightforward. Each old address simply needs pointing at the page that replaced it.
| The old address | Pages | What changed |
|---|---|---|
| /emergency-locksmith-in-[suburb]/ | 18 | Became "locksmiths", plural |
| /services/emergency-locksmiths-in-[suburb]/ | 21 | The /services/ part was dropped |
| /services/automotive-locksmith-in-[suburb]/ | 12 | The /services/ part was dropped |
| /services/[suburb]/ | 4 | The /services/ part was dropped |
| /24-7-emergency-locksmith/ and variants | 4 | Merged into the main emergency page |
| Other pages, including the Moreton Bay CCTV page | 4 | Replaced or retired |
A partial repair was already started: 37 old addresses do redirect correctly, and only one sends visitors to the home page. The work was begun and then left unfinished.
A complete list of all 63 addresses and their correct destinations has been prepared and is ready to be applied.
62%
of the broken pages cover emergency and lockout work
Emergency callouts are the highest-value work and the hardest for a competitor to take, because the customer rings whoever appears first.
Someone searching "emergency locksmith Caboolture" today may be sent to an error page, while the page that answers them sits one letter away.
This is the first thing to fix, and it is also the one most likely to show a measurable recovery once it is done.
Critical fault 2
Each family of suburb pages was compared against the others, with the suburb name removed first. Two families are genuinely written per suburb. Three are word-for-word copies.
| Page family | Pages | How alike | Verdict |
|---|---|---|---|
| Mobile locksmith | 24 | 100% identical | Copy and replace |
| Lock rekeying | 24 | 100% identical | Copy and replace |
| CCTV installation | 24 | 99% identical | Copy and replace |
| Automotive locksmith | 27 | 40% alike | Genuinely written |
| Emergency locksmith | 23 | 38% alike | Genuinely written |
Mobile locksmith, Ningi
"...typically arrives within 30-45 minutes across Ningi"
Mobile locksmith, Redcliffe
"...typically arrives within 30-45 minutes across Redcliffe"
Google's spam policy covers pages created at scale with little original value. These pages compete with each other rather than ranking, and they sit alongside 53 pages that were written properly.
Critical fault 3
Measured on a throttled mobile connection, which is the closest match to somebody locked out of their car, on their phone, on mobile data.
| What is measured | Home page | Suburb page | Google's target |
|---|---|---|---|
| Overall speed score | 54 out of 100 | 52 out of 100 | 90 or better |
| Time to show the main image | 17.8 seconds | 12.4 seconds | Under 2.5 seconds |
| Time to show anything at all | 5.2 seconds | 4.1 seconds | Under 1.8 seconds |
| Time until the page responds to a tap | 21.3 seconds | 32.6 seconds | Under 3.8 seconds |
| Page size | 8.4 MB | 7.0 MB | Under 1.6 MB |
| Page stability while loading | Passes | Passes | Passes |
Page speed is a confirmed Google ranking factor, and on emergency searches it is also the difference between a call and a competitor's call.
The server itself is fine. Everything below is weight being loaded into the page, and all of it can be reduced without changing how the site looks.
4.8 MB
An auto-playing background video on the home page. On its own it is more than half the weight of the entire page. It can be compressed to around a tenth of that, or loaded after the page appears.
311 KB
The logo file. It is saved in an outdated format at four times the size it displays at, and it happens to be the exact image Google times. Converting it alone improves the headline number.
1.4 MB
Third-party tracking and widget code. Includes one service called LaunchDarkly, which is developer software with no purpose on a locksmith website and is holding an open connection on every visit.
97
Separate files queued one behind another. The hosting is using an older connection method. Switching it on is a setting change at the host, not a website change.
There is also a live error on every page. Two different speed plugins are installed and are interfering with each other, which breaks one of the scripts. Forms should be retested once that is resolved.
None of these require a redesign. They are configuration and file-size changes.
Critical fault 4
Behind every page sits a block of business details written for search engines. The opening hours are declared four separate times, and they do not agree. On many pages, three of them appear at once.
| What it says | On how many pages | Verdict |
|---|---|---|
| Open 24 hours, seven days | 197 | Closest to correct |
| 8:45am to 4:45pm | 133 | Says you are shut at night |
| 9:00am to 5:00pm, seven days | 43 | Says you are shut at night |
| Workshop weekdays, 24/7 mobile callout | 1 file | Correct, but Google does not read it |
For a business whose best work is after-hours callouts, telling Google it closes at 4:45pm removes it from "open now" searches at exactly the hours when the competition is thinnest.
Quick to fix, but the correct hours need confirming first, and the Google Business Profile needs to match.
Critical fault 5
The website has no privacy policy page. Six standard addresses were checked and none of them exist. There is also no cookie consent notice of any kind.
Meanwhile the site is running this on visitors:
| What is running | What it collects |
|---|---|
| Google Tag Manager | Visitor and conversion data |
| Microsoft Clarity | Session recordings of real visitors |
| Google Ads tracking | Ad click and conversion data |
| Podium and review widgets | Visitor messaging data |
Microsoft Clarity records what visitors do on the site: movement, clicks and scrolling. Microsoft's own terms require the site owner to publish a privacy policy and obtain any consent the law requires.
Google's advertising terms require advertisers to disclose data collection. With money going into Google Ads daily, this is worth closing quickly.
This is a technical observation about vendor requirements, not legal advice. Specific obligations are worth confirming with an adviser.
The tracking setup was read directly from the live tag container. The structure is right: both a form conversion and a phone-call conversion exist, which is what a locksmith needs. Three faults are stopping it working properly.
1
The phone number in the call conversion has a typo.
It is stored as (07) 5495 5000) with a stray bracket on the end. The number on the site is (07) 5495 5000. Call conversions match on that number, so this needs correcting and retesting before any call data can be trusted.
2
One tracking rule points at a page that no longer exists.
The "Thank you clicks" measurement is set to fire on /thank-you/, which is one of the 63 broken addresses. The live page is /thankyou/. That measurement can never record anything.
3
Enhanced conversions is switched off.
It is free, it is a checkbox, and for a business paying for leads it measurably improves how accurately Google attributes them. There is no consent setup either, which is the same gap as the missing privacy policy.
Read from the public tag container. Account access would confirm what each conversion is worth and whether bidding is using the right one.
All 17 carry the same wording: "High Quality Dofollow Backlinks DA 50 PA 40 Premium". That is an advertisement for selling links, not a recommendation of the business.
They began on 3 July 2026 and a new one has arrived roughly weekly since, the most recent on 4 October. They come from unrelated sites: a US real estate page, a pizza shop, a gambling mirror, a podcast.
Spam links like these arrive at most websites uninvited and Google usually ignores them. There is no evidence of who caused them. What matters is that nobody is watching, and the timing is worth asking about.
22
of the 28 new linking websites are rated as spam, most of them heavily
70
linking websites in total, which is low for a business trading since 1994. No directory or citation work has been done.
The overall profile is still rated clean, and the main listings (Yellow Pages, True Local, White Pages) are all intact.
Recommended: keep a disavow file ready and monitor monthly, rather than acting now. Building real citations is the bigger missed opportunity.
None of these alone explains the drop. Together they are the difference between a site that is merely present and one that competes.
| What is wrong | How many | Why it matters |
|---|---|---|
| No description written for search results | 46 pages | Google writes its own, often badly |
| Page title too long | 98 pages | Cut off in search results, usually mid-sentence |
| Two main headings on one page | 40 pages | Google cannot tell what the page is about |
| Images with no description | 80 images | Lost image search traffic and an accessibility fault |
| Headings out of order | 74 pages | Harder for search engines and screen readers to follow |
| Pages nothing links to | 4 pages | Effectively invisible to Google |
| Every page links to every other page | 260 per page | No page is signalled as important, so none stands out |
| Blog posts credited to a developer account | 15 posts | Security advice attributed to "metadev" rather than a real person |
| Sitemap stopped updating on 26 September | 13 posts | Every article published in the last two weeks is missing from the file submitted to Google |
The 80 images cover 2,797 appearances across the site, because the page templates reuse the same files. Fixing 80 fixes all of them.
The suburb pages were produced from a template, with the suburb name dropped into each copy. On the CCTV pages, the space before the suburb name was lost.
Live on the website today
"Can I view myBanksia Beach CCTV installation from my phone?"
It appears on all 23 CCTV suburb pages, each with its own suburb jammed onto the word "my". It shows on the page itself and in the business details sent to Google.
"DonnyBrook" spelled with a capital B in both headings on that suburb's page.
Article titles running into each other with no separator, producing nonsense phrases.
Pages were generated in bulk and published without anyone reading the result.
Quick to correct, because it is one template change rather than 23 separate edits.
More people now ask ChatGPT, Google AI and similar tools for a local tradesperson. This part of the site has been handled well, and that is worth saying plainly.
An AI summary file is published and properly written, listing the services, areas and contact details in the format these tools look for.
The crawler rules are deliberate. ChatGPT, Claude, Perplexity and Google AI are allowed to read and quote the site, while bots that only harvest content for training are blocked.
141 pages carry genuine questions and answers in the format AI tools quote from, and the answers are specific to each suburb.
The AI file contradicts the website. It gives the correct opening hours while the site gives three different wrong ones, so an assistant reading both gets four answers.
The business is described four separate ways in the page code, one of them incorrectly formatted. An assistant cannot tell which description is the real one.
No named expert behind the advice. AI tools favour content with identifiable, credentialed authors when deciding who to quote.
The groundwork is largely done. What remains is the same business-details problem that is hurting ordinary search, so one fix serves both.
A fair review has to say what is right as well as what is wrong. Real ground has been recovered since early September, and the content itself is not the problem.
197 pages now live, covering five services across 25 suburbs. In early September there were two.
The automotive and emergency suburb pages are genuinely written per suburb, with real local detail down to named landmarks. They show the standard the other families should have met.
42 articles, where previously there were none.
No broken pages in the sitemap, nothing accidentally hidden, and no duplicate titles or descriptions anywhere.
Secure and non-secure, with and without "www", all resolve correctly in a single step.
Present on every page rather than just the home page. The issue now is that there is too much of it and it conflicts, which is a better problem than having none.
The visible work has been done. What is missing is the technical discipline that should have come with moving a site to new addresses.
Stage one
Everything here is either costing rankings today or carrying a risk worth closing quickly. This is the stage that should happen first, and on its own it addresses four of the five critical faults.
| The work | Time |
|---|---|
| Point all 63 broken addresses at the right pages and test every one | 2.00 hrs |
| Reduce four conflicting business descriptions to one correct set, and remove the faulty question markup | 5.00 hrs |
| Publish one correct set of opening hours everywhere, matched to the Google listing | 0.75 hrs |
| Compress the video, convert the logo and team photos to modern formats | 3.00 hrs |
| Resolve the two conflicting speed plugins, fix the page error, retest the forms, switch on page pre-loading | 1.50 hrs |
| Privacy policy and cookie consent notice | 2.00 hrs |
| Repair the sitemap so new articles are submitted to Google again | 0.50 hrs |
| Fix the call-conversion phone number, repoint the dead tracking rule, switch on enhanced conversions, retest | 1.50 hrs |
| Stage one total | 16.25 hrs |
The redirect list is already prepared, so the first line can begin immediately.
| The work | Time |
|---|---|
| Write 46 missing search descriptions | 3.00 hrs |
| Shorten 98 over-length page titles | 3.50 hrs |
| Describe 80 images, fixing all 2,797 uses | 1.50 hrs |
| Correct duplicate headings on 40 pages | 1.50 hrs |
| Fix the suburb template fault and spelling errors | 0.75 hrs |
| Replace the developer account as blog author | 2.00 hrs |
| Stage two total | 12.25 hrs |
| The work | Time |
|---|---|
| Rebuild the internal link structure | 5.00 hrs |
| Accessibility fixes, including the call button | 2.50 hrs |
| Remove or reduce third-party tracking code | 2.00 hrs |
| Correct heading order across 74 pages | 2.00 hrs |
| Complete the AI search groundwork | 1.50 hrs |
| Security headers and site hygiene | 1.00 hrs |
| Hosting connection upgrade and address rules | 1.25 hrs |
| Prepare a disavow file and set up link monitoring | 1.50 hrs |
| Stage three total | 16.75 hrs |
Plus independent verification: a full re-crawl, repeat speed testing, retesting all 63 addresses and a written before-and-after.
2.50 hrs
All three stages plus verification: 47.75 hours, plus roughly 28 hours to resolve the duplicated suburb pages. How that is split between a one-off piece of work and the monthly arrangement follows.
Part one, starting now
A single, self-contained piece of work to stop the losses. Nothing here waits for a monthly cycle, and all of it is done inside two weeks.
One-off
$1,950
including GST
Redirects go live in the first 48 hours, because that is the part costing rankings today.
Four of the five critical faults are closed by this stage alone.
Part two, ongoing
$1,825
per month, including GST
Campaign structure, keywords and negatives, ad copy, and keeping the call and form conversions accurate so bidding works off real leads.
Google Business Profile, suburb and service pages, local citations, rankings tracked across the Moreton Bay area.
Keeping the business quotable by ChatGPT, Google AI, Claude and Perplexity as more people search that way.
Updates, backups, security and speed monitoring, and the content and page changes asked for each month.
Titles, descriptions, image text, heading structure, internal linking, accessibility and the duplicate suburb pages are all worked through month by month until the list is clear. Progress is reported against this document, so there is a record of what has been closed off.
No lock-in. Month to month, 30 days notice.
Google ad spend is separate and paid direct to Google, as now.
Slightly less than the current monthly arrangement.
Three things, none of which cost anything. The first two take a couple of minutes each.
1
Workshop hours and emergency callout hours, listed separately. Google is currently being told four different things and most of them say you are shut at night.
2
To correct the call conversion, check every ad headline and landing page, and settle where the wrong business name is coming from.
3
The most important one. It is the only source that shows exactly which pages Google has dropped and what that has cost in traffic, so recovery can be measured rather than assumed.
Once those are in hand, the redirects can be live within 48 hours. That is the part costing rankings today.
Morello Web
richard@morelloweb.com