SEO Meta Tag Comparer
Paste two page sources and see exactly what changed in meta tags, breadcrumbs, and other SEO data — built for site migrations.
—
added on B removed from A changed word
About this tool
Paste the full HTML source of two versions of the same page — for example a page before and after moving to a new WordPress theme or a new CMS — and see exactly what changed across everything search engines care about: title, meta description, canonical URL, robots directives, Open Graph and Twitter Card tags, search-console verification tags, JSON-LD structured data types, breadcrumbs, heading structure, and image alt-text coverage. Everything runs locally in your browser via the native HTML parser — nothing you paste is ever uploaded anywhere.
Why paste source instead of a URL. Browsers block a page from fetching another site's HTML directly (and a lot of migrations happen on staging URLs, behind a login, or before DNS is even switched over), so this works from whatever you already have open: view the page, view its source (usually Ctrl/Cmd+U, or "View Page Source"), select all, and paste it into the matching box.
Breadcrumbs. Detected in the order sites most commonly implement them: a JSON-LD BreadcrumbList block first, then itemscope/itemprop microdata, then a visible breadcrumb navigation element as a last resort — whichever is found first is shown, along with which method found it.
Frequently asked questions
- What exactly does this compare?
- Core meta tags (title, description, canonical, robots, lang, charset, viewport), Open Graph tags, Twitter Card tags, search-engine verification meta tags (Google, Bing, Yandex, Naver), the set of JSON-LD structured-data types present, breadcrumbs, heading counts, image alt-text coverage, hreflang alternates, favicon, and a rough visible word count.
- How are breadcrumbs detected?
- It checks for a JSON-LD
BreadcrumbListblock first, falls back toitemscope/itempropmicrodata if there's no JSON-LD, and falls back again to a visible breadcrumb navigation element if neither structured format is present. The "Detected via" row shows which method was used for each page. - Does it matter that the two pages have different URLs or are on different domains?
- No — every value is read directly out of the two HTML sources as plain text. Nothing is resolved against a real URL or fetched over the network, so staging URLs, localhost, or a page that isn't live yet all work fine.
- Is my pasted HTML uploaded anywhere?
- No — parsing and comparison happen entirely in your browser using its built-in HTML parser. Nothing is sent to a server.
- What counts as "changed" versus "added" or "removed"?
- A field present on both sides with a different value is a change. A field missing on Page A but present on Page B is an addition; present on Page A but missing on Page B is a removal. A field missing on both sides is left unhighlighted — there's nothing to compare.
- Why does it flag some things as warnings instead of just differences?
- A handful of checks matter on their own, independent of whether they changed — a missing canonical URL, a
noindex/nofollowrobots value, a missing title/description, more or less than one H1, or a verification tag that disappeared between the two versions. Those are called out in a warnings box even if both sides happen to share the same underlying problem.