SEO report for cdpi.dev
https://cdpi.dev/ · checked Wed, 11 Nov 2026 18:21 GMT
Fix these first
- Render-blocking resourceshigh
0 blocking script(s) and 7 stylesheet(s) in <head>.
Fix: Add defer to scripts, inline critical CSS and load the rest asynchronously.
- LocalBusiness markuphigh
No LocalBusiness structured data.
Fix: Add LocalBusiness JSON-LD with address or areaServed, telephone, geo, opening hours and url.
On WordPress: Make the code with our free schema generator, then paste it into your site header with a free plugin such as WPCode.
Also fixes: Entity clarity
- H1 headingcritical
“Designing for impact. Building for scale.”
Fix: Use one H1 that states the page topic with its main keyword.
On WordPress: Most themes show the page title as the H1. In the editor, make sure no other block uses Heading 1 – use Heading 2 for sections.
- Imagesmedium
25 image(s).
Fix: Give every image width and height, lazy-load images below the fold (but not the main image) and serve WebP/AVIF.
On WordPress: Install a free image optimiser plugin (such as EWWW Image Optimizer or Smush) to shrink images and serve WebP.
- HSTSmedium
No Strict-Transport-Security header.
Fix: Add Strict-Transport-Security: max-age=63072000; includeSubDomains.
- Topic focushigh
3 of 5 title keywords appear in the main content (missing: home, centre).
Fix: Use your main title phrases naturally in the opening paragraph and headings.
- Server response (TTFB)high
1042 ms until the first response from our checker, including connection setup (Google rates TTFB good under 0.8 s, poor over 1.8 s).
Fix: Use page caching or a CDN (e.g. Cloudflare) so HTML is served from the edge.
- Open Graph & social cardsmedium
Open Graph title or image missing.
Fix: Add og:title, og:description, og:image (1200×630 PNG/JPG, absolute URL) and twitter:card=summary_large_image.
On WordPress: Yoast SEO and Rank Math add these tags for you. Set a sharing image in the plugin's Social tab on each page.
Real-world speed Google PageSpeed
Loading Core Web Vitals from Google… this can take up to 30 seconds.
Authority & backlinks
Looking up which websites link to cdpi.dev…
Indexing & crawling 100%
Can search engines reach, read and index this page?
- ✓
Status codecritical
The page returned HTTP 200.
- ✓
Indexablecritical
No noindex instruction – the page can appear in search.
- ✓
robots.txthigh
robots.txt found.
Googlebot is allowed to crawl this page.
- ✓
XML sitemaphigh
Sitemap index found at https://cdpi.dev/sitemap_index.xml listing 18 sitemaps.
Declared in robots.txt.
Most recent lastmod: 2026-11-03T12:02:25+00:00.
- ✓
Canonical URLhigh
Canonical: https://cdpi.dev/
Points to this page (self-referencing).
- ✓
Redirectshigh
Loads directly with no redirects.
- ✓
www / non-wwwmedium
www.cdpi.dev redirects to cdpi.dev.
Search snippet & sharing 92%
How the page looks in Google results and when shared.
- ✓
Title tagcritical
“Home - Centre for Digital Public Infrastructure”
About 405px of Google's ~580px desktop width.
- ✓
Meta descriptionhigh
142 characters, ~893px of ~990px.
Good length.
Google sometimes rewrites descriptions to match the search; a good one is still used most often.
- ✓
Faviconlow
Favicon linked (Google shows it next to results).
- ✓
Languagelow
lang="en"
Content quality 57%
Is there enough clear, useful text that matches what the page targets?
- ✓
Word countmedium
789 words of main content (menus and footer excluded).
Google has no minimum word count – this is a rough guide to whether the page answers the question in full.
- !
Readabilitymedium
Flesch reading ease 30 (fairly difficult), about 12 words per sentence.
Fix: Use shorter sentences and everyday words – aim for a score of 50+ for customer-facing pages.
- !
Topic focushigh
3 of 5 title keywords appear in the main content (missing: home, centre).
Fix: Use your main title phrases naturally in the opening paragraph and headings.
- !
H1 headingcritical
“Designing for impact. Building for scale.”
The H1 shares no keywords with the title.
Fix: Use one H1 that states the page topic with its main keyword.
On WordPress: Most themes show the page title as the H1. In the editor, make sure no other block uses Heading 1 – use Heading 2 for sections.
- !
Heading structuremedium
30 headings for 789 words – a lot for the amount of text.
Levels are in order.
Fix: Use H2s for main sections and H3s inside them, without skipping levels.
- !
Text-to-code ratiolow
5% of the HTML is visible text.
Fix: Trim unused markup, inline scripts and builder bloat.
AI search readiness 84%
Can ChatGPT, Claude, Perplexity and Google AI Overviews read, understand and cite this site?
- ✓
AI crawler accesshigh
Search and AI-search crawlers (Googlebot, Bingbot, OAI-SearchBot, Claude-SearchBot, PerplexityBot…) can read this page.
- ✓
Snippet controlshigh
No snippet restrictions – search and AI answers can quote this page.
- ✓
llms.txtlow
/llms.txt found.
- ✓
Question-led contentmedium
5 heading(s) phrased as questions, e.g. “How can governments collaborate with CDPI?”.
- !
Entity clarityhigh
Identified as: Organization.
No sameAs links to official profiles (Google Business Profile, LinkedIn, Facebook, Companies House…).
Fix: Add Organization or LocalBusiness JSON-LD with name, url, logo, contact details and sameAs links to your official profiles.
- ✓
Freshness signalsmedium
The page shows when it was published or last updated.
- !
Trust pages (E-E-A-T)medium
Links found to about and privacy; missing contact.
Fix: Link to About, Contact and Privacy pages from every page – they help visitors, Google and AI tools see who stands behind the content.
Structured data 100%
Machine-readable facts for rich results and AI.
- ✓
JSON-LD present & validhigh
1 JSON-LD block(s): WebPage, ReadAction, BreadcrumbList, ListItem, WebSite, SearchAction, EntryPoint, PropertyValueSpecification, Organization, ImageObject.
All blocks parse correctly.
- ✓
Required propertiesmedium
Key types include Google's required properties.
Links 88%
Internal linking, anchor text and broken links.
- ✓
Internal linkinghigh
27 internal and 5 external links.
- !
Anchor text qualitymedium
Same text used for different pages: “read more”.
3 vague link(s) like “click here” or “read more”.
Fix: Make every link text describe its destination, e.g. “logo design prices” instead of “click here”.
- ✓
Broken links (sample)high
Checked 12 internal link(s).
No broken links found.
4 link(s) point to a redirect – link to the final address instead.
Performance 43%
Speed signals from the HTML and server. Real-user Core Web Vitals load below.
- !
Server response (TTFB)high
1042 ms until the first response from our checker, including connection setup (Google rates TTFB good under 0.8 s, poor over 1.8 s).
Fix: Use page caching or a CDN (e.g. Cloudflare) so HTML is served from the edge.
- ✓
HTML sizemedium
130 kB of HTML.
- ✓
Compressionmedium
Compressed with gzip.
- ✗
Render-blocking resourceshigh
0 blocking script(s) and 7 stylesheet(s) in <head>.
Fix: Add defer to scripts, inline critical CSS and load the rest asynchronously.
- !
Scripts & third partiesmedium
22 script tag(s); files loaded from 5 other domain(s): fonts.googleapis.com, cdn.jsdelivr.net, cdnjs.cloudflare.com, ajax.googleapis.com, youtube.com.
Fix: Remove unused tracking and widget scripts; every third party adds connection time.
- ✗
Imagesmedium
25 image(s).
12 without width/height – can cause layout shift (CLS).
2 image(s) after the first three aren't lazy-loaded.
The first image is lazy-loaded – if it's the main (LCP) image, that delays it. Don't lazy-load images visible on arrival.
0 use WebP/AVIF or responsive srcset.
Fix: Give every image width and height, lazy-load images below the fold (but not the main image) and serve WebP/AVIF.
On WordPress: Install a free image optimiser plugin (such as EWWW Image Optimizer or Smush) to shrink images and serve WebP.
- ✗
Cachinglow
No Cache-Control header.
Fix: Set Cache-Control so browsers and CDNs can reuse the page.
- i
HTTP/3low
Couldn't be confirmed from our server – the alt-svc header that advertises HTTP/3 isn't always visible to it. Your site is on Cloudflare, which offers HTTP/3 under Network settings.
Security 75%
Visitor safety signals that browsers and Google check.
- ✓
HTTPScritical
Secure HTTPS with no mixed content.
- ✓
HTTP → HTTPS redirecthigh
http:// redirects to https://.
- ✗
HSTSmedium
No Strict-Transport-Security header.
Fix: Add Strict-Transport-Security: max-age=63072000; includeSubDomains.
- ✗
Security headerslow
Present: none.
Fix: Add X-Content-Type-Options, Referrer-Policy, Permissions-Policy and X-Frame-Options (or a CSP).
- ✓
Server fingerprintlow
No X-Powered-By header (server: cloudflare).
Mobile & accessibility 100%
Usable on phones and by everyone – Google indexes the mobile version.
- ✓
Mobile viewportcritical
viewport: width=device-width, initial-scale=1.0
- ✓
Image alt textmedium
All 25 images have alt text.
- ✓
Form labelsmedium
All 2 form fields are labelled.
- ✓
Link nameslow
Every link has a readable name.
- ✓
Tap-to-contactmedium
One-tap contact: phone and email.
Local SEO 33%
Signals that help you appear in Google Maps and 'near me' searches.
- ✗
LocalBusiness markuphigh
No LocalBusiness structured data.
Fix: Add LocalBusiness JSON-LD with address or areaServed, telephone, geo, opening hours and url.
On WordPress: Make the code with our free schema generator, then paste it into your site header with a free plugin such as WPCode.
- ✓
Contact details on pagemedium
A UK phone number is shown.
No postcode found (fine for service-area businesses).
An email link is shown.
- ✗
Map & directionslow
No map or directions link.
Fix: Add a Google Maps directions link so customers can find you.