oliviaandbeau.com
Olivia Beau — Wedding Website — Minted
5 failed · 8 warnings · 14 passed
Audited Wed, 15 Jul 2026 13:46:10 GMT · https://oliviaandbeau.com/
Meta & Head
13.2/25
Title, description, canonical, social tags — what search engines read first.
Meta descriptionhigh impactlow effort
No meta description found
The meta description is your ad copy in search results; without one, engines pull an arbitrary snippet from the page, which usually reads poorly and costs you clicks. Add <meta name="description" content="..."> with 70–160 characters that summarize the page and give a concrete reason to click — what the visitor gets plus a differentiator (free, instant, no signup). Write a unique description per page: one duplicated across the site is treated much like a missing one.
Page allows indexinghigh impactlow effort
<meta name="robots" content="noindex">
This page tells search engines not to index it, so it can never rank — every other optimization is wasted while this tag is present. If that's unintentional, remove the noindex directive (or the whole robots meta tag) and request re-indexing in Google Search Console. A common pitfall: staging noindex tags shipped to production during a launch.
Canonical URLmedium impactlow effort
No <link rel="canonical"> found
When the same page is reachable at several URLs — tracking parameters, trailing-slash variants, http vs https — search engines may split ranking signals across the duplicates. A canonical tag names the one version that should get all the credit. Add <link rel="canonical" href="https://www.example.com/page/"> to the <head>, pointing at the page's preferred absolute URL. Double-check it's self-referencing on the primary version: a canonical that points at the wrong page can quietly de-index the right one.
Open Graph tagsmedium impactlow effort
Missing Open Graph tags: og:description, og:url
Your Open Graph markup is incomplete, so social platforms fall back to guessed text or drop the preview image entirely when this page is shared — a broken card gets far fewer clicks than a complete one. Add the missing og:description, og:url tags to <head>. For og:image, use an absolute https:// URL to an image around 1200x630 pixels; relative paths are the usual reason previews break. Re-check with a platform's sharing debugger afterwards, since preview cards are cached.
Twitter card taglow impactlow effort
No twitter:card meta tag found
X (Twitter) layers its own card markup on top of Open Graph, and without a twitter:card tag your shared links may render as plain text instead of a large image preview. Add <meta name="twitter:card" content="summary_large_image"> alongside your Open Graph tags; X will fill in the title, description, and picture from og:title, og:description, and og:image. Keep og:image an absolute URL — a relative or missing image is the usual reason cards show up without a picture.
4 passing checks
- Title tag<title> is "Olivia Beau — Wedding Website — Minted" (39 characters)
- Viewport meta tagViewport is "width=device-width, initial-scale=1.0"
- Character encoding declaredCharacter encoding is declared
- FaviconA <link rel="icon"> is present
Content & Structure
12.5/25
Headings, copy depth, images, structured data, internal linking.
Single H1 headinghigh impactlow effort
0 h1 headings found
The h1 is the visible headline of the page and one of the clearest signals to search engines of what it's about; with none present, engines lean on surrounding text and may misread the topic. Add exactly one h1 near the top that states the main topic in plain language and includes the primary keyword, e.g. <h1>Merge PDF Files Online</h1>. Don't fake it with a styled <div> — the semantic tag itself is what crawlers and screen readers actually read.
Internal linkingmedium impactmedium effort
0 internal, 0 external links
Search engines discover and rank your pages by following internal links; a page with none is a dead end for crawlers and visitors alike. Add contextual links to related pages on your own site — navigation, related-content sections, and in-body links all count. Aim for at least a handful of relevant internal links per page.
Structured data (JSON-LD)medium impactmedium effort
No JSON-LD structured data blocks found
Structured data makes your listing eligible for rich results — star ratings, FAQs, breadcrumbs, product prices — which occupy more space on the results page and draw more clicks than plain blue links. Add a <script type="application/ld+json"> block with a schema.org type that matches the page: Organization or WebSite for a homepage, Article for posts, Product for product pages. Only mark up content actually visible on the page — markup for invisible content violates Google's guidelines and can earn a manual action.
HTML lang attributelow impactlow effort
No lang attribute on the <html> element
The lang attribute tells search engines which language market the page belongs to and tells screen readers which pronunciation rules to use — without it, both are left guessing. Add it to the root element, e.g. <html lang="en">, or a regional variant like <html lang="pt-BR"> where the distinction matters. On multilingual sites, set it per page: hard-coding lang="en" in a shared template while serving German content actively misleads assistive technology and translation tools.
2 passing checks
- Word count2888 words of visible text
- JavaScript-dependent contentvisible text ~8156 chars in the initial HTML
Technical
20.5/25
HTTPS, redirects, robots, sitemap, speed, crawlability.
robots.txt present and permissivemedium impactlow effort
robots.txt disallows all crawling
Your robots.txt contains a blanket "Disallow: /", which tells every search engine to stay out — your pages cannot be crawled and will not rank while this rule is in place. This is usually a staging-environment setting that shipped to production by accident. Replace the blanket rule with targeted ones, e.g. "Disallow: /admin/" for areas you genuinely want excluded, or remove it entirely if everything should be crawlable. Note that Disallow only blocks crawling, not indexing — use a noindex meta tag for pages you want out of results.
XML sitemap availablemedium impactlow effort
sitemap.xml is valid but robots.txt does not reference it
Your sitemap is valid, but robots.txt never mentions it, so crawlers you haven't manually notified may never find it — the robots.txt reference is the universal discovery mechanism. Add one line to robots.txt: "Sitemap: https://www.example.com/sitemap.xml", using the full absolute URL (a relative path is invalid here). The line can go anywhere in the file, and you can list several sitemaps. Also submit it in Google Search Console to get indexing-coverage reporting on top of discovery.
Response compression enabledlow impactlow effort
no content-encoding header
This HTML is served uncompressed, so every visitor downloads far more bytes than necessary — text compresses extremely well, and the savings directly speed up first render on slow connections. Enable Brotli or gzip on your server or CDN: in nginx it's "gzip on;" (or the brotli module), in Apache it's mod_deflate via .htaccess, and on most CDNs it's a single toggle. Make sure compression covers all text types (HTML, CSS, JS, JSON, SVG), but skip already-compressed images — recompressing them wastes CPU for no gain.
Missing pages return 404low impactlow effort
missing paths return a non-404 status (soft 404)
URLs that don't exist on your site return a success status instead of 404 — search engines call these soft 404s, keep recrawling them, and may index the useless placeholder pages, wasting crawl budget that should go to real content. Configure your server or framework to return an actual 404 status (or 410 for permanently removed content) along with your error page. The classic mistake is serving a friendly "page not found" template with a 200 status — crawlers ignore the visible message; only the status code counts.
8 passing checks
- Served over HTTPSfinal URL uses https://
- HTTP redirects to HTTPShttp:// redirects to https://
- No mixed content0 http:// subresource references
- Short redirect chainno redirects; URL resolves directly
- Fast time to first byte720 ms
- Reasonable HTML size52.8 KB
- www and non-www resolve consistentlywww and non-www converge on the same host
- HTML5 doctype<!DOCTYPE html> present
Performance
Core Web Vitals scoring via Google PageSpeed is coming soon.
Share your score
Embed this live badge on your site — it updates whenever the audit is re-run.