A client asked me recently, politely, what a canonical tag is. I'd used the term in an email like it was common knowledge, the way you forget other people haven't spent years staring at the inside of websites. It's a fair question, and it's one most people building or hiring out a website never get a straight answer to. So here's the answer, and a few of its neighbors, in plain English.
The page you see isn't the page they see
When you open your own site, you see colors, photos, your words in your fonts. A search engine's crawler, and increasingly an AI model summarizing the web for someone who asked it a question, reads almost none of that. It reads the underlying markup: titles, descriptions, headings, structured data, links. A site can look finished and still be nearly unreadable to the systems deciding whether to recommend it, and there's no visual cue on the page itself that tells you which one you're dealing with.
The meta title and description
These are the two lines that show up as the blue link and the gray text underneath it in a Google result. If you don't write them, the engine guesses, usually by grabbing whatever text happens to sit near the top of the page, which is why so many results in this niche read like a sentence cut off mid-thought. Writing these by hand, specific to each page, is cheap, takes an afternoon, and is one of the most commonly skipped steps on a brand-new site.
Schema, or structured data
Schema is a way of labeling your own content so a machine doesn't have to guess what it's looking at. Instead of a paragraph that says you're a licensed therapist in Denver who takes evening appointments, a chunk of schema states it directly: this is a LocalBusiness, here's the address, here's the hours, here's the credential. It's less writing for a reader and more filling out a form so nothing downstream has to infer anything. A site with FAQ content can mark it up as FAQPage schema specifically, which is part of how a question-and-answer section sometimes shows up directly in search results instead of requiring a click.
The canonical tag, finally
Here's the actual answer: a canonical tag is one line in a page's code that tells search engines, "this is the real version of this page, treat any other URL that leads here as the same thing, don't split credit between them." It matters because the same content is often reachable more than one way, with or without "www," with or without a trailing slash, sometimes through old URLs nobody remembers exist anymore. Without a canonical tag pointing to one true version, a search engine can end up treating duplicates as competing pages, which dilutes rather than helps you.
Sitemap.xml and llms.txt
A sitemap is a plain list of every page on your site, handed directly to search engines so nothing gets missed waiting to be discovered through links alone. llms.txt is the newer sibling, a short, plain-language summary written for AI crawlers, the kind of thing ChatGPT or Perplexity reads when deciding how to describe your practice to someone who asked a question instead of typing it into a search bar. Neither file does anything visible to a human visitor. Both exist purely so the systems that increasingly stand between you and a new client have a clear, direct answer instead of a guess.
None of this is complicated once someone actually explains it, which is most of why I'm writing it down instead of re-explaining it in a new email every time it comes up. Every site I build ships with all of it wired in before launch, not added later as a fix. If you want to know what your current site is or isn't telling these systems, send me the link and I'll look.