How to check a web page's meta tags
Meta tags sit in the <head> of a page, where visitors never see them, which is why they are easy to get wrong. Here are three ways to check them, from quickest to most thorough, and what a good set looks like.
Method 1: View source
Press Ctrl+U (Windows/Linux) or Cmd+Option+U (Mac), or put view-source: in front of the URL:
`
view-source:https://example.com/pricing/
`
Then use Ctrl+F to search for <title, name="description", rel="canonical", name="viewport" and og:.
This shows the HTML the server sent, before any JavaScript runs.
Method 2: DevTools (the rendered page)
Press F12, open the Elements panel, and expand <head>. This shows the page after scripts have run.
Why it matters: on sites built with JavaScript frameworks or some page builders, tags are often added by scripts. A tag can be missing in view source but present in DevTools, or the other way round, and sometimes the two show different values. If they differ, that is worth flagging, because you can't be sure which version a crawler or a social platform will read.
Method 3: A console snippet
Open the DevTools Console on the page and paste this. It prints the main tags in one table:
`js
const q = (s, a = 'content') => document.querySelector(s)?.getAttribute(a) ?? '(missing)';
console.table({
title: document.title || '(missing)',
titleTags: document.querySelectorAll('title').length,
description: q('meta[name="description"]'),
canonical: q('link[rel="canonical"]', 'href'),
canonicalTags: document.querySelectorAll('link[rel="canonical"]').length,
viewport: q('meta[name="viewport"]'),
robots: q('meta[name="robots"]'),
ogTitle: q('meta[property="og:title"]'),
ogDescription: q('meta[property="og:description"]'),
ogImage: q('meta[property="og:image"]'),
ogUrl: q('meta[property="og:url"]'),
h1Count: document.querySelectorAll('h1').length,
imgsWithoutAlt: document.querySelectorAll('img:not([alt])').length,
});
`
The counts for title tags and canonical tags catch duplicates, which are easy to miss by eye.
What to look for in each tag
<title>
- Exactly one, not empty, and specific to the page.
- Important words first. Google doesn't set a character limit, but long titles are cut off in results.
- Not the same as other pages on the site.
meta name="description"
- Present, one or two sentences, and unique to the page.
- Google may show its own snippet instead, but a good description gives it a strong option.
link rel="canonical"
- An absolute URL, normally pointing to this same page.
- It should match the protocol and host the site actually uses (
https, with or withoutwww). - Red flags: every page points to the homepage, two canonical tags with different URLs, or a canonical pointing to a page that redirects.
meta name="viewport"
The standard value is:
`html
<meta name="viewport" content="width=device-width, initial-scale=1">
`
If it's missing, phones show the page zoomed out at desktop width.
meta name="robots"
If this contains noindex on a page you want in search results, that is the most urgent fix on the list. It often gets left in from a staging site.
Open Graph (og:*)
These control link previews in social apps and messengers. Check that:
og:title,og:description,og:imageandog:urlare present.og:imageis a fullhttps://URL that actually loads. Open it in a new tab to check.- The values match the page, not a leftover template default.
Common problems
- Same title and description on every page. This usually comes from a CMS theme setting. Fix it in the template or the SEO plugin, not page by page.
- Two sets of tags. A theme and an SEO plugin both output a title or a canonical. Your snippet's counts will show
2. - Staging leftovers.
noindex, or a canonical pointing to a staging domain. - Relative URLs in the canonical or
og:image(/images/share.png). Use full URLs. - Checking only the homepage. Templates differ between page types, so check at least one of each: home, a category or service page, and an article or product page.
Beyond meta tags
Meta tags are half of an on-page check. The other half lives in the body: one clear H1 and a sensible heading outline, alt text on content images, and link text that says where each link goes.
If you do this often for clients, we make Auditfold, which does it in one step for a single page: paste the page's HTML, and it checks the title, description, headings, alt text, links, canonical, viewport and Open Graph tags. You get a ranked fix list in plain words that you can copy straight into an email. The console snippet above is free and works on any page, too.