HomeFix guides → Title / description / canonical / OG / lang / viewport

aeo

How to fix: Title / description / canonical / OG / lang / viewport

Why this matters

AI answer engines (ChatGPT browse, Perplexity, Google AI Overviews) and link-preview crawlers all read the same meta surface: <title>, <meta name="description">, Open Graph tags, html.lang, viewport. A well-formed meta block is the difference between being cited cleanly and being summarised wrong (or skipped).

Background

AI answer engines (ChatGPT browse, Perplexity, Google AI Overviews) and link-preview crawlers all read the same meta surface: <title>, <meta name="description">, Open Graph tags, html.lang, viewport. A well-formed meta block is the difference between being cited cleanly and being summarised wrong (or skipped).

References

ogp.me · WHATWG HTML metadata · AEO meta-surface analysis

How to fix

Code snippet for each stack we cover. Pick the one matching your server / framework.

nginx
No server config — template change.
apache
Same.
cloudflare
Same.
wordpress
Yoast / RankMath cover title + meta description + OG tags. Audit <html lang> in theme + viewport meta.
flask
Base template head block should emit: <title>, <meta name="description">, OG tags, <html lang="en">, viewport meta.
express
Same.
rails
Same.

Verify it's working

View page source. Should see <title>, <meta name=description>, <meta property=og:title>, <html lang=en>, and a viewport meta tag.

Want to know if your site has this issue?

Run a free 53-check audit — security, GDPR, NIS2, and technical SEO.

Audit my site →