We use meta to help humans find what they want by showing machines what we have.
🔍 SEARCH ENGINE OPTIMIZATION
SEO stands for Search Engine Optimization. It sounds technical but it's simple and means what it says: SEO is optimizing a website for search engines, and is important because search engines help people find what they want. We do this two ways:
(1) make great content (2) make meta tags accurate, specific, and useful.
This way, when someone googles "kids eat free" for their location, Google knows KidsEatFree.ca has the answer.
MEANWHILE, SOMEWHERE IN TORONTO...
A parent searches "kids eat free toronto"
Google has already crawled our page and read the <head>.
It found:
title: "Kids Eat Free in Toronto 7 Days a Week"
desc: "Find 102 restaurants..."
schema: FAQPage, ItemList
bread: Ontario › GTA › Toronto
It thinks: this is a match.
Google shows the result.
Kids Eat Free in Toronto 7 Days a Week / KidsEatFree.ca
KidsEatFree.ca › Ontario › GTA
102 restaurants in Toronto where kids eat free.
Swiss Chalet, Wild Wing, Boston Pizza, and more.
The title came from <title>.
The description from <meta>.
The breadcrumb from BreadcrumbList.
The FAQs from FAQPage.
They click.
↓
They find a restaurant.
↓
The kids eat free.
KidsEatFree.ca saves the day. Again.
We make everything on this site for humans. The meta helps humans find it.
🧠 WHAT'S IN YOUR <HEAD>?
Every page on KidsEatFree.ca has content you see and content you don't see. That invisible layer lives in the <head> of the HTML.
every page on the internet
<head>
The meta.
Title, description, image,
structure. For machines.
</head>
<body>
The content.
Text, images, buttons.
For humans.
</body>
The title tag and meta description show up in search results. For most people, this is the first thing they'll ever read about your page.
In the HTML:
<title>Kids Eat Free in Toronto 7 Days a Week / KidsEatFree.ca</title>
<meta name="description" content="Find 102 restaurants
in Toronto where kids eat free. Swiss Chalet, Wild Wing,
Boston Pizza, Mandarin, and more. Filter by day and cuisine.">
What shows up in Google:
Kids Eat Free in Toronto 7 Days a Week / KidsEatFree.ca
kidseatfree.ca › ... › toronto
Find 102 restaurants in Toronto where kids eat free.
Swiss Chalet, Wild Wing, Boston Pizza, and more.
~60 characters for title.
~155 for description.
Every character is deliberate.
Title tiers (first under 60 chars):
T1 {City} 7 Days a Week / KidsEatFree.ca
T2 {City} Find Everywhere @KidsEatFree.ca
T3 {City} Find Where @KidsEatFree.ca
T4 {City} / KidsEatFree.ca
T5 {City}/KidsEatFree.ca
All prefixed: "Kids Eat Free in"
📍 CANONICAL URL
Tells search engines which address is the real one. Same page can live at multiple URLs - trailing slashes, query strings, uppercase. The canonical picks the winner.
These all reach the same page:
kidseatfree.ca/.../toronto
kidseatfree.ca/.../toronto/
kidseatfree.ca/.../toronto/?ref=twitter
kidseatfree.ca/.../TORONTO/
The canonical says:
<link rel="canonical"
href="https://kidseatfree.ca/locations/.../toronto/">
☝️This one. Always this one. Google indexes this URL only.
📸 OPEN GRAPH
OG stands for Open Graph. It's a set of meta tags invented by Facebook in 2010 that controls what people see when a URL gets shared. iMessage, Slack, Twitter, Facebook, LinkedIn, Discord - they all read the same tags and build a preview card.
Three tags do all the work:
og:image → the big picture
og:title → the bold headline
og:description → the summary text
Someone pastes your link:
kidseatfree.ca/.../toronto/
↓
Platform fetches the page
↓
Reads those three tags
↓
┌────────────────────────────────────┐
│ ┌────────────────────────────────┐ │
│ │ │ │
│ │ og:image │ │
│ │ 1200 × 630 pixels │ │
│ │ │ │
│ └────────────────────────────────┘ │
│ kidseatfree.ca │
│ Kids Eat Free in Toronto │
│ 102 restaurants where kids eat... │
└────────────────────────────────────┘
Not a URL. A branded card.
🔬 OG-O-MATIC
Most sites use a generic logo, auto post the hero image, or nothing at all. We make a custom 1200×630 image for every page. 70+ and counting. See them all in the amazing fantastic OG-O-Matic →
Twitter/X has its own tags. We use one line. It falls back to OG tags for everything else.
<meta name="twitter:card" content="summary_large_image">
That single line tells Twitter:
✅Use the large image format
✅Pull title from og:title
✅Pull description from og:description
✅Pull image from og:image
Some sites add more twitter tags.
We don't, because OG covers it.
🧬 JSON-LD
JSON-LD is structured data for search engines. It tells Google exactly what a page contains - in a format it can parse directly. This is how you get rich results, FAQ dropdowns, and breadcrumb trails in search.
On our Toronto listing page:
<script type="application/ld+json">
{
"@graph": [
WebPage, ← what this page is
BreadcrumbList, ← where it sits
ItemList, ← the 102 restaurants
FAQPage ← common questions
]
}
</script>
Google can then show:
Kids Eat Free in Toronto
kidseatfree.ca › Ontario › GTA
People may ask:
▸ Where can kids eat free in Toronto?
▸ When do kids eat free?
▸ Are the deals dine-in only?
The FAQ answers come from our database.
Real restaurant counts. Real day breakdowns.
🍞 BREADCRUMBS
Breadcrumbs appear in search results as a clean path instead of a raw URL. We nest ours geographically.
Without breadcrumb schema:
kidseatfree.ca/locations/ontario/greater-to...
With breadcrumb schema:
KidsEatFree.ca › Ontario › GTA › Toronto
In the JSON-LD:
BreadcrumbList → [
Home,
Ontario,
Greater Toronto Area,
Toronto ← you are here
]
Every level links to a real page
with real restaurant listings.
🎯 ALL TOGETHER
the <head>
<title>
"Kids Eat Free in Toronto 7 Days a Week / KidsEatFree.ca"
<meta name="description">
"Find 102 restaurants..."
<link rel="canonical">
The one true URL
<meta property="og:*">
Image, title, description → social preview cards
<meta name="twitter:card">
"summary_large_image"
<script type="ld+json">
WebPage + BreadcrumbList + ItemList + FAQPage → rich Google results
Humans see the page.
Machines see the meta.
Everybody wins.
There are no stupid questions. You can ask us anything. For questions, queries, comments, suggestions, sales, support, general handholding, love letters and hate mail, contact us or say [email protected].