Meta Description, Robots and Canonical

Three head entries that shape how a page appears in search results, whether it is indexed at all, and which URL gets the credit.

Meta description

<meta name="description" content="A three year design course in Pune covering product and communication design, taught through studio projects.">

The description is a summary of the page. It is not a ranking factor - Google has said so repeatedly - but it is frequently the snippet shown beneath the title in a search result, and the snippet is what decides whether anyone clicks.

Writing one

  • Around one hundred and fifty to one hundred and sixty characters. Longer is truncated with an ellipsis.
  • Unique per page. Duplicates are reported in Search Console.
  • Describe the page accurately. A misleading snippet produces a click and an immediate return, which helps nobody.
  • Include the terms someone would search for, naturally. Matching words are shown in bold in the result, which draws the eye.
  • Write it as a sentence for a person, not as a keyword list.
<!-- weak -->
<meta name="description" content="design course, design college, pune, admission, apply">

<!-- weak: says nothing -->
<meta name="description" content="Welcome to our website. Learn more about us.">

<!-- good -->
<meta name="description" content="A three year design course in Pune. Studio based teaching, sixty places a year, applications open on 1 June.">

Google often ignores the description and generates its own snippet from the page, particularly when the query matches text further down. That is not a failure; it means the page content is doing its job. Write a good description anyway - it is what social platforms and many other tools use.

The robots meta tag

<meta name="robots" content="index, follow">      <!-- the default, so unnecessary -->
<meta name="robots" content="noindex, follow">    <!-- do not list this page -->
<meta name="robots" content="noindex, nofollow">  <!-- and do not follow its links -->
<meta name="robots" content="noarchive">          <!-- no cached copy -->
<meta name="robots" content="nosnippet">          <!-- no text snippet -->
<meta name="robots" content="max-image-preview:large">
ValueEffect
index / noindexMay this page appear in results?
follow / nofollowShould links on it be crawled?
noarchiveNo cached copy offered
nosnippetNo description shown
noimageindexImages on the page not indexed
max-snippet:150Cap the snippet length

Reasonable uses of noindex: thank you pages, internal search result pages, printer friendly duplicates, staging environments, filtered listing pages that produce endless near duplicates.

The trap that costs real traffic

A noindex left on a staging site and copied to production removes the entire site from search. It is a two word mistake with a several week recovery time, and it happens regularly. Check it at every launch.

noindex and robots.txt do different things

This distinction matters and is widely misunderstood.

  • robots.txt asks a crawler not to fetch a URL.
  • noindex asks it not to list the page.

If a page is blocked in robots.txt, the crawler never fetches it and therefore never sees the noindex. The URL can still appear in results, listed with no description, because other pages link to it. To remove a page from search, allow it to be crawled and serve noindex.

<link rel="canonical" href="https://example.edu/courses/design">

Says: of all the URLs that show this content, this is the one that should be indexed.

The same content is reachable at more URLs than most people realise:

https://example.edu/courses/design
https://example.edu/courses/design/
https://www.example.edu/courses/design
http://example.edu/courses/design
https://example.edu/courses/design?utm_source=newsletter
https://example.edu/courses/design?ref=facebook
https://example.edu/courses/design/index.html

To a search engine these are seven pages with identical content. The signals split across all of them, and none ranks as well as one consolidated page would. A canonical tag on every one of them, all pointing at the same URL, merges them.

Rules

  • Use an absolute URL, including the scheme and host.
  • Every page should have one, including the canonical page itself pointing at itself.
  • Only one canonical per page. Two is treated as none.
  • It is a strong hint, not a command. A canonical pointing at unrelated content is ignored.
  • Keep it consistent with the sitemap, the internal links and any redirects.

Cross domain canonicals

<!-- on a syndicated copy, pointing back to the original -->
<link rel="canonical" href="https://original.example/articles/bus-timetable">

The correct way to syndicate an article without competing with yourself.

Language and region

<link rel="alternate" hreflang="en" href="https://example.edu/courses/design">
<link rel="alternate" hreflang="hi" href="https://example.edu/hi/courses/design">
<link rel="alternate" hreflang="x-default" href="https://example.edu/courses/design">

hreflang tells a search engine which version to show which audience. The set must be reciprocal: every version must list every other version, including itself, or the whole group is ignored.

Meta tags that do nothing

<!-- ignored by every major search engine since roughly 2009 -->
<meta name="keywords" content="design, course, pune, admission">

<!-- no ranking value -->
<meta name="author" content="...">
<meta name="revisit-after" content="7 days">
<meta name="rating" content="general">

The keywords tag was abused into uselessness and has been ignored for well over a decade. It costs nothing to include and gains nothing; some sites keep it for internal search tooling, which is the only remaining reason.

Important rules

  • The description is not a ranking factor but heavily influences clicks.
  • A page blocked in robots.txt never has its noindex read.
  • Canonical URLs must be absolute.
  • One canonical and one robots tag per page.
  • hreflang sets must be reciprocal.
  • The keywords meta tag has no effect.

Common mistakes

  • The same description on every page, or none at all.
  • Descriptions written as keyword lists.
  • Shipping a staging noindex to production.
  • Blocking a page in robots.txt and expecting noindex to work.
  • Relative canonical URLs.
  • Canonical tags pointing at the home page from every page, deindexing the whole site.
  • Non reciprocal hreflang sets.

Best practices

  • Write a unique description for every page, around one hundred and fifty five characters.
  • Put a self referencing canonical on every page.
  • Use noindex deliberately, and audit for it before every launch.
  • Keep canonical, sitemap and internal links pointing at the same URL form.
  • Choose one host form - with or without www - and redirect the other.
  • Verify with Search Console after launch rather than assuming.

Practice

  1. Write descriptions for five pages and count the characters in each.
  2. Reach the same page through four different URL forms and add a canonical to consolidate them.
  3. Explain why a page blocked in robots.txt can still appear in search results.
  4. Add hreflang for two language versions and verify each links to the other.

Useful resources

Hand picked references for this topic
Written by Lorens Mishra

Software Engineer Notes Management System Administrator

Continue reading

All HTML notes →
HTML

Favicons and App Icons

The small icon in a tab, and the larger ones a device uses when a site is saved to a home screen. A short modern set replaces the twenty file mess of...

Read more

Discussion

0 comments
Sign in to join the discussion.

No comments yet. Be the first to say something.