This is annoyingly well built. We looked hard for problems and came back mostly empty handed.
- The template is still wearing its price tag.
- Fill in the blank. Which blank? Good question.
- Some links are just... there. Silent. Unnamed.
The 3 worst offenders
Placeholder text left on the live siteHigh−6.4 pts“The template is still wearing its price tag.”
What's wrong
Template filler text is still on the page.
Why it matters
"Lorem ipsum" or "Just another WordPress site" tells every visitor nobody finished the job.
How to fix it
Search the whole site for the phrase below and replace it with real copy.
Evidence
Found: "Lorem ipsum"
Form fields without labelsLow−1.7 pts“Fill in the blank. Which blank? Good question.”
What's wrong
2 form field(s) have no label.
Why it matters
A field with only placeholder text becomes a mystery box once someone starts typing, and screen readers cannot name it at all.
How to fix it
Give every field a <label for="..."> (it can be visually hidden) or an aria-label.
Evidence
2 field(s) with no label or aria-label.
Links with no nameLow−1.3 pts“Some links are just... there. Silent. Unnamed.”
What's wrong
14 link(s) have nothing a screen reader can say.
Why it matters
Icon-only links (social icons, a logo) with no text or label read as "link, link, link" to a screen reader.
How to fix it
Add aria-label="Facebook" (and so on) to every icon-only link.
Evidence
14 link(s) with no text, alt or aria-label.
Where the points went
Each category is scored out of 100. The categories are weighted into the overall score, and the weakest one counts extra. The badge on each problem is what it costs the overall score.
Needs a Google PageSpeed key (see setup).
22% of the score · 0 issues · 2 passed
Needs the AI judge switched on (see setup).
Needs the AI judge switched on (see setup).
33% of the score · 0 issues · 4 passed
27% of the score · 0 issues · 13 passed
18% of the score · 3 issues · 10 passed
3 things to deal with
Speednot measured
Main content load time: not measured on this scanNot measured
Google's speed test did not run on this scan
Headline visible on first load: not measured on this scanNot measured
no load breakdown on this scan
Responsiveness while loading: not measured on this scanNot measured
Google's speed test did not run on this scan
Layout stability: not measured on this scanNot measured
Google's speed test did not run on this scan
Page weight: not measured on this scanNot measured
Google's speed test did not run on this scan
Image formats: not measured on this scanNot measured
Google's speed test did not run on this scan
Text compression: not measured on this scanNot measured
Google's speed test did not run on this scan
Server response time: not measured on this scanNot measured
Google's speed test did not run on this scan
Mobile100/100
Set up for phonesPassed“Thumb-friendly. Nice.”
viewport: width=device-width, initial-scale=1, shrink-to-fit=no
Without a mobile viewport a phone shows a shrunken desktop page that needs pinching and zooming. Most local visitors are on a phone.
Visitors can zoomPassed“Works on a phone, like it should.”
Zoom is allowed.
Anyone with less than perfect eyesight zooms to read small print. Blocking it locks them out, and it fails accessibility rules.
Phone layout: not measured on this scanNot measured
the AI judge did not run on this scan
Looksnot measured
Headline up top: not measured on this scanNot measured
the AI judge did not run on this scan
Button in the first screen: not measured on this scanNot measured
the AI judge did not run on this scan
Spacing and clutter: not measured on this scanNot measured
the AI judge did not run on this scan
How current the design looks: not measured on this scanNot measured
the AI judge did not run on this scan
Readability: not measured on this scanNot measured
the AI judge did not run on this scan
Photo quality: not measured on this scanNot measured
the AI judge did not run on this scan
Alignment and overlap: not measured on this scanNot measured
the AI judge did not run on this scan
Finish and polish: not measured on this scanNot measured
the AI judge did not run on this scan
Wordsnot measured
Says what the business does: not measured on this scanNot measured
the AI judge did not run on this scan
Says where and for whom: not measured on this scanNot measured
the AI judge did not run on this scan
Headline clarity: not measured on this scanNot measured
the AI judge did not run on this scan
Specific headings: not measured on this scanNot measured
the AI judge did not run on this scan
Proof in the words: not measured on this scanNot measured
the AI judge did not run on this scan
Typos: not measured on this scanNot measured
the AI judge did not run on this scan
Conversion100/100
Visitors can get in touchPassed“The door is open and clearly marked.”
1 phone link(s), 0 email link(s), 2 form(s).
A visitor ready to buy looks for a phone number, an email or a form. If none is clickable, they go back to Google and pick the next result.
Tap-to-call worksPassed“Easy to reach. Customers approve.”
1 tap-to-call link(s).
On a phone, one tap should ring you. A number in plain text makes people copy it, switch apps and type it, and some never finish.
There is a clear call to actionPassed“The door is open and clearly marked.”
8 button-style links, plus tap-to-call.
People do what the page asks them to do. If it asks nothing, they do nothing.
The form is shortPassed“Easy to reach. Customers approve.”
The largest form asks 1 question(s).
Every extra question quietly loses people. Ask for what you need to reply, get the rest on the call.
Contact form delivery: not measured on this scanNot measured
the form posts to a service or route we do not test
Reviews on the website: not measured on this scanNot measured
no Google Business match on this scan
Findability100/100
Google is allowed to list the pagePassed“Tidy. The robots are pleased.”
No noindex instruction.
A noindex tag removes the page from Google entirely. It is usually a leftover from when the site was being built.
robots.txt lets search engines inPassed“Google knows exactly what this is.”
Crawlers are allowed in.
Disallow: / for every crawler means Google is told not to read any page. Another classic leftover from a staging site.
A good page titlePassed“Google knows exactly what this is.”
"Affordable SEO Services | SEO with AI" (37 characters)
The title is the blue link in Google. Too short says nothing, too long gets cut off mid-word.
A good search descriptionPassed“Google knows exactly what this is.”
151 characters: "SEO with AI helps small and mid-size businesses earn more search traffic. Expert SEO, paid ads, and..."
The grey text under your Google link is your sales pitch. Leave it blank and Google grabs a random sentence from the page.
A main heading is setPassed“Tidy. The robots are pleased.”
"Good SEO Is Finally Affordable"
The H1 tells Google and screen readers what the page is about. None means guessing; several means mixed messages.
Structured data is presentPassed“Tidy. The robots are pleased.”
JSON-LD structured data found.
Structured data tells Google and AI assistants, in their own language, that this is a business, with this name, phone, address and hours. It feeds rich results and AI answers.
A sitemap existsPassed“Tidy. The robots are pleased.”
sitemap.xml found.
A sitemap lists every page so Google does not have to find them by luck.
robots.txt is presentPassed“Tidy. The robots are pleased.”
User-agent: * Disallow: /admin Disallow: /client Disallow: /login Disallow: /logout Disallow: /regi...
robots.txt is where crawlers look first for the rules and for your sitemap.
The canonical URL is declaredPassed“Google knows exactly what this is.”
https://www.seowithai.com/
The same page is often reachable at several addresses. A canonical tag tells Google which one gets the credit.
Shares show a proper preview cardPassed“Tidy. The robots are pleased.”
og:title, og:description and og:image are set.
When someone texts or posts your link, og tags decide whether it shows a picture and a headline or a naked URL.
AI assistants can read the sitePassed“Tidy. The robots are pleased.”
GPTBot, ClaudeBot and PerplexityBot are allowed.
More people now ask ChatGPT, Claude or Perplexity who to call. If robots.txt blocks their crawlers, you cannot be read or recommended.
The content is in the page itselfPassed“Google knows exactly what this is.”
The words are in the HTML.
Google can run the code, slowly. Most AI assistants and link previews do not, so they see a title and an empty page.
Inner pages have the basicsPassed“Tidy. The robots are pleased.”
6 inner pages sampled, all have the basics.
Every page is its own doorway from Google. A service page with no title or description is a door with no sign.
Reviews compared with competitors: not measured on this scanNot measured
no competitor comparison on this scan
Trust & security78/100
Placeholder text left on the live siteHigh−6.4 pts“The template is still wearing its price tag.”
What's wrong
Template filler text is still on the page.
Why it matters
"Lorem ipsum" or "Just another WordPress site" tells every visitor nobody finished the job.
How to fix it
Search the whole site for the phrase below and replace it with real copy.
Evidence
Found: "Lorem ipsum"
Form fields without labelsLow−1.7 pts“Fill in the blank. Which blank? Good question.”
What's wrong
2 form field(s) have no label.
Why it matters
A field with only placeholder text becomes a mystery box once someone starts typing, and screen readers cannot name it at all.
How to fix it
Give every field a <label for="..."> (it can be visually hidden) or an aria-label.
Evidence
2 field(s) with no label or aria-label.
Browser security settings are missingInfo“Politely suggesting security instead of insisting on it.”
What's wrong
5 of the 5 standard browser security settings are not sent.
Why it matters
These are one-line server settings that tell browsers to insist on https, which scripts may run and who may embed the site. Missing them is common and rarely urgent, but they are free protection.
How to fix it
Ask whoever hosts the site to add the headers listed in the evidence. On most hosts it is a few lines of configuration.
Evidence
Missing: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy. There is also no /.well-known/security.txt.
Served over HTTPSPassed“Looked after. It shows.”
Final URL is https.
Browsers label plain http sites "Not secure" right next to the address. Customers notice, and so does Google.
Everything loads over HTTPSPassed“Looked after. It shows.”
No http:// assets found.
An https page that pulls images or scripts over plain http gets them blocked or flagged by the browser. Things break or the padlock disappears.
Missing pages return a real 404Passed“Tidy, current and trustworthy.”
A made-up URL returned 404.
A made-up URL should say "not found". Answering 200 lets Google index junk addresses as real pages.
Images are describedPassed“Looked after. It shows.”
42 of 42 images have alt text.
Alt text is what screen readers say and what Google reads for image search. Missing alt makes the image a blank to both.
A favicon is setPassed“Tidy, current and trustworthy.”
An icon link is declared.
The little icon in the browser tab and in phone bookmarks. Without it the site looks unfinished in a row of tabs.
The copyright year is currentPassed“Looked after. It shows.”
Footer says 2026.
An old year in the footer quietly asks "are they still open?". It is the first thing some people check.
PlatformPassed“Looked after. It shows.”
No common builder or CMS detected.
Worth knowing who controls the site. A builder subscription means the site lives inside their limits and disappears if the bill stops. WordPress means plugins and updates somebody has to keep on top of.
http to https redirect: not measured on this scanNot measured
this grader runs on the same domain, and Cloudflare skips a domain's own redirect rules for it; scan from another address to test this
www and non-www addresses: not measured on this scanNot measured
this grader runs on the same domain, and Cloudflare skips a domain's own redirect rules for it; scan from another address to test this
Accessibility audit: not measured on this scanNot measured
Google's speed test did not run on this scan
Text contrast: not measured on this scanNot measured
Google's speed test did not run on this scan
Technical details (1 to fix) for whoever builds the site
Links with no nameLow−1.3 pts“Some links are just... there. Silent. Unnamed.”
What's wrong
14 link(s) have nothing a screen reader can say.
Why it matters
Icon-only links (social icons, a logo) with no text or label read as "link, link, link" to a screen reader.
How to fix it
Add aria-label="Facebook" (and so on) to every icon-only link.
Evidence
14 link(s) with no text, alt or aria-label.
No software versions advertisedPassed“Tidy, current and trustworthy.”
Server: Apache
Version numbers in headers make it easy for automated scanners to match your server to known holes.
The page language is declaredPassed“Tidy, current and trustworthy.”
<html lang="en">
Screen readers pick their voice and pronunciation from it, and translation tools use it too.
Doctype and character set are declaredPassed“Tidy, current and trustworthy.”
<!DOCTYPE html> and a charset are present.
Without <!DOCTYPE html> browsers fall back to "quirks mode", and without a charset apostrophes can turn into gibberish.
No outdated HTMLPassed“Looked after. It shows.”
No retired tags.
Tags like <font> and <center> were retired years ago. They are a reliable sign the site has not been touched in a long time.
What people see before they click
Rebuilt from the page's own title and description tags, the fields Google reads. Google sometimes rewrites them, but this is what you are handing it.
When someone asks ChatGPT who to call
GPTBot, ClaudeBot and PerplexityBot can read the siteYES
machine-readable business details are presentYES
the words are in the page itselfYES
FAQ-style content an assistant can quoteYES
anonymous sites rank below named sourcesNO
a new standard; almost nobody has one yetNO
Page by page
Sampled from the sitemap, worst first. Every page is its own door from Google.
Technical SEO audit
3 of 12 checks pass.
- ✗The heading structure has gaps Skips a level (H1 to H4, H2 to H4, H2 to H4). Fix: One H1, then H2s for sections and H3s inside them, each with real words.
- ✗The town is missing from the title and main heading "Killeen" is not in the page's title or main heading. Fix: Put "Killeen" in the page title, the main heading and the meta description.
- ✗No llms.txt file Fix: Publish /llms.txt: the business name, what it does, where, and links to the key pages.
- ✗No visitor analytics Nothing on the page counts visitors. Fix: Install Google Analytics, or a lighter tool like Plausible.
- ✗No Meta (Facebook) pixel Fix: Add the Meta pixel from Meta Events Manager, and mention it in the privacy policy.
- ✗No social profiles linked Fix: Link the business's Facebook, Instagram and other real profiles from the footer.
- ✗28 of 42 images have no size set Fix: Give every image a width and height in the code.
- ✗No SPF record for the domain Fix: Add an SPF record listing the services that send its email.
- ✗No DMARC record for the domain Fix: Add a DMARC record, starting with p=none to watch, then tighten it.
- ✓About 1,180 words of readable text on the homepage
- ✓The address is on the page
- ✓Local business schema is set up
- …Render-blocking files: not measured
- …Minification: not measured
- …Caching: not measured
- …File count: not measured
- …Desktop speed: not measured
From the homepage, Google's speed test and the domain's email records, read during this scan. Separate from the score above.
Want this fixed without learning what HSTS means?
Send this report to us and we will tell you which three fixes matter most for your business. No charge for the look.
- Final URL
- https://www.seowithai.com/
- Status
- 200
- Redirects
- 0
- Server response
- 349 ms
- HTML size
- 127 KB
- Server
- Apache
- Google speed test
- not checked on this grader
- AI judges
- not checked on this grader
- Google Business match
- not checked on this grader
- Scan took
- 3.6 s
A public website health check, not a security certification or a penetration test. We requested the pages the way any visitor would, read the headers every visitor receives. Nothing was probed, injected or forced.
