SEO report for rockymtnruby.dev
https://rockymtnruby.dev/ · checked Wed, 11 Nov 2026 04:13 GMT
Fix these first
- XML sitemaphigh
No XML sitemap found at /sitemap.xml or in robots.txt.
Fix: Create an XML sitemap listing every page and submit it in Google Search Console.
On WordPress: WordPress makes one at /wp-sitemap.xml, and Yoast or Rank Math make /sitemap_index.xml. Submit it in Google Search Console.
- 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
- JSON-LD present & validhigh
No JSON-LD structured data.
Fix: Add JSON-LD describing the business and the page (Organization/LocalBusiness, WebSite, WebPage or Article, BreadcrumbList).
- Render-blocking resourceshigh
2 blocking script(s) and 2 stylesheet(s) in <head>.
Fix: Add defer to scripts, inline critical CSS and load the rest asynchronously.
- HTTP → HTTPS redirecthigh
http:// does not redirect to https://.
Fix: 301-redirect all http:// requests to https://.
- H1 headingcritical
5 H1 headings – one clear H1 is best practice.
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
17 headings for 499 words – a lot for the amount of text.
Fix: Use H2s for main sections and H3s inside them, without skipping levels.
- Question-led contentmedium
No headings phrased as questions.
Fix: Add headings that match real questions ("How much does…?") followed by a direct one- or two-sentence answer – an easy format for search and AI answers to quote.
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 rockymtnruby.dev…
Indexing & crawling 81%
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
No robots.txt found (HTTP 404) – crawlers may read everything.
Googlebot is allowed to crawl this page.
Fix: Add a robots.txt that allows crawling and lists your sitemap.
- ✗
XML sitemaphigh
No XML sitemap found at /sitemap.xml or in robots.txt.
Fix: Create an XML sitemap listing every page and submit it in Google Search Console.
On WordPress: WordPress makes one at /wp-sitemap.xml, and Yoast or Rank Math make /sitemap_index.xml. Submit it in Google Search Console.
- ✓
Canonical URLhigh
Canonical: https://rockymtnruby.dev/
Points to this page (self-referencing).
- ✓
Redirectshigh
Loads directly with no redirects.
- ✓
www / non-wwwmedium
www.rockymtnruby.dev isn't in use (HTTP 526).
Search snippet & sharing 88%
How the page looks in Google results and when shared.
- ✓
Title tagcritical
“Rocky Mountain Ruby 2026: September 28 and 29”
About 449px of Google's ~580px desktop width.
- !
Meta descriptionhigh
236 characters, ~1500px of ~990px.
Long – Google will probably truncate it.
Google sometimes rewrites descriptions to match the search; a good one is still used most often.
Fix: Write a 140–155 character description that answers the searcher's question and invites the click.
On WordPress: Edit the page and scroll to the Yoast SEO or Rank Math box (install one of these free plugins if you have neither), then fill in the meta description.
- ✓
Faviconlow
Favicon linked (Google shows it next to results).
- ✓
Languagelow
lang="en"
Content quality 67%
Is there enough clear, useful text that matches what the page targets?
- ✓
Word countmedium
499 words of main content (inside <main>).
Google has no minimum word count – this is a rough guide to whether the page answers the question in full.
- ✓
Readabilitymedium
Flesch reading ease 66 (plain English), about 13 words per sentence.
- ✓
Topic focushigh
5 of 5 title keywords appear in the main content.
- !
H1 headingcritical
5 H1 headings – one clear H1 is best practice.
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
17 headings for 499 words – a lot for the amount of text.
5 skipped level(s), e.g. H2 → H4.
Fix: Use H2s for main sections and H3s inside them, without skipping levels.
- !
Text-to-code ratiolow
8% of the HTML is visible text.
Fix: Trim unused markup, inline scripts and builder bloat.
AI search readiness 50%
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
No /llms.txt file. It's an optional, emerging convention – few AI tools are confirmed to read it yet, so this is low priority.
Fix: Optionally add /llms.txt: a short Markdown summary of who you are with links to your key pages.
- ✗
Question-led contentmedium
No headings phrased as questions.
Fix: Add headings that match real questions ("How much does…?") followed by a direct one- or two-sentence answer – an easy format for search and AI answers to quote.
- ✗
Entity clarityhigh
No Organization / LocalBusiness structured data – search engines and AI have to guess who runs this site.
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
No links found to about, contact or privacy pages.
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 0%
Machine-readable facts for rich results and AI.
- ✗
JSON-LD present & validhigh
No JSON-LD structured data.
Fix: Add JSON-LD describing the business and the page (Organization/LocalBusiness, WebSite, WebPage or Article, BreadcrumbList).
Links 75%
Internal linking, anchor text and broken links.
- ✓
Internal linkinghigh
9 internal and 28 external links.
- ✗
Anchor text qualitymedium
No link text points to two different pages.
4 link(s) with no text at all.
Fix: Make every link text describe its destination, e.g. “logo design prices” instead of “click here”.
- ✓
Broken links (sample)high
Checked 6 internal link(s).
No broken links found.
2 link(s) point to a redirect – link to the final address instead.
Performance 60%
Speed signals from the HTML and server. Real-user Core Web Vitals load below.
- ✓
Server response (TTFB)high
272 ms until the first response from our checker, including connection setup (Google rates TTFB good under 0.8 s, poor over 1.8 s).
- ✓
HTML sizemedium
40 kB of HTML.
- ✓
Compressionmedium
Compressed with gzip.
- ✗
Render-blocking resourceshigh
2 blocking script(s) and 2 stylesheet(s) in <head>.
Fix: Add defer to scripts, inline critical CSS and load the rest asynchronously.
- !
Scripts & third partiesmedium
7 script tag(s); files loaded from 6 other domain(s): cdn.jsdelivr.net, cdnjs.cloudflare.com, fonts.googleapis.com, sessionize.com, img.ctykit.com, etown.org.
Fix: Remove unused tracking and widget scripts; every third party adds connection time.
- ✗
Imagesmedium
25 image(s).
25 without width/height – can cause layout shift (CLS).
22 image(s) after the first three aren't lazy-loaded.
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
Cache-Control: max-age=600
- 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 50%
Visitor safety signals that browsers and Google check.
- ✓
HTTPScritical
Secure HTTPS with no mixed content.
- ✗
HTTP → HTTPS redirecthigh
http:// does not redirect to https://.
Fix: 301-redirect all http:// requests 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 60%
Usable on phones and by everyone – Google indexes the mobile version.
- ✓
Mobile viewportcritical
viewport: width=device-width, initial-scale=1.0
- !
Image alt textmedium
1 of 25 images have no alt attribute.
Fix: Describe each meaningful image in its alt attribute (use alt="" for decorative ones).
On WordPress: Media → Library: click each image and fill in Alternative Text. For images already on a page, select the image block and fill in Alternative text in the sidebar.
- ✗
Link nameslow
4 link(s) have no readable name for screen readers.
Fix: Add text or aria-label to icon-only links.
- ✗
Tap-to-contactmedium
No tel: or mailto: links.
Fix: Add a tap-to-call or tap-to-email button so phone visitors can contact you instantly.
Local SEO 17%
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
No phone number found.
No postcode found (fine for service-area businesses).
Fix: Show the same business name, area and phone/email as your Google Business Profile.
- ✓
Map & directionslow
Links to or embeds a map.