The head of a typical page accumulates tags the way a garage accumulates cables. Nobody removes them, because nobody is certain which ones are load-bearing.
The six that work
Title. Not a meta tag, and the most important thing in the head. It is the clickable line in results and the strongest single on-page signal about what the page is.
Meta description. No ranking effect, direct control over whether somebody clicks. Worth writing for every page and worth writing differently from the first paragraph.
Canonical. Which URL is the real one when several show the same content. This is the tag that quietly prevents the most damage — tracking parameters, trailing slashes, and printer versions all otherwise look like separate pages competing with each other.
Viewport. Without it a phone renders the page at desktop width and zooms out. It is not an SEO tag and its absence makes a site unusable on the device most people are holding.
Charset. utf-8, and it must be within the first 1024 bytes of the document. Without it, the browser guesses.
Open Graph. Title, description, image and URL — what every messaging app, chat platform and social network shows when a link is pasted. Without them the preview is whatever the crawler guesses, which is usually the navigation.
Titles are cut by pixels, not characters
This is the practical fact most advice gets wrong. The limit is a pixel width — around 580 for a title, around 920 for a desktop description — and characters are not equal widths.
A title of capitals and wide letters is cut earlier than a title of the same length in narrow ones. So a character count is a rough proxy that fails on exactly the titles people are most careful about.
The consequence for descriptions is the useful one: write so the first sentence stands alone. Mobile shows considerably less than desktop, and a description whose meaning depends on its second half loses it.
Nineteen that do not
Keywords. Ignored for ranking since Google said so publicly in 2009, because it was trivially stuffed. It is still generated by tools and still copied into templates.
Author, revisit-after, distribution, rating, generator, language. Read by nothing. revisit-after was never honoured by any major crawler at all.
Meta refresh. A redirect that breaks the back button. Use an HTTP redirect.
Twitter card tags beyond the card type. The platform falls back to Open Graph for title, description and image, so duplicating all four is four lines that change nothing.
The ones worth adding when relevant
Robots. noindex to keep a page out of results, nofollow for its links. Necessary for staging, search result pages and thank-you pages. Dangerous by accident: a noindex left on a template after launch removes a site from search entirely, and it is a quiet failure.
hreflang, for pages in several languages, declaring which version suits which audience.
theme-color, which tints the browser chrome on mobile. Cosmetic and cheap.
Open Graph images
1200 × 630 works everywhere. Absolute URLs — a relative path fails, since the crawler is not resolving it against your page. Under about 5 MB, and reachable without a login.
Previews are cached hard, which is why a fixed tag appears not to have worked. Most platforms have a debugging tool that forces a refetch, and that is the fix rather than editing anything further.
Be careful with inherited metadata in frameworks: a parent layout that sets an Open Graph title will mask every child page's unless each one overrides it, and the result is a whole site whose previews all say the same thing.
What replaced the ones that died
The head is not where ranking is decided any more. Structured data — the JSON-LD block describing what the page is — is what earns breadcrumb trails, question boxes and rich results.
That is where effort spent on meta tags now goes, and it is a better return than any number of additional lines in the head.
The short version
Title, description, canonical, viewport, charset, Open Graph. Robots when you need it. Delete keywords. Write descriptions whose first sentence survives a phone, and check what you are emitting rather than trusting the template.