Docs

Write the title and meta description

Write the title and meta description

The page title is the blue link in Google, the name of the browser tab and the default text when someone bookmarks or shares the page. The meta description is the grey text under the link. Together they are the page's ad in search results: they decide whether someone clicks your result or the next one.

Without a title Google makes one up from the page. Without a description it takes a sentence from the page, often the cookie notice or the menu. A title that is too long is cut off with "…", usually right before the part that mattered. The site checklist checks both on the home page and shows how they look in Google on the Checklist tab.

What the checklist expects

Item OK Check Fix
<title> up to 60 characters longer than 60 characters (Google cuts it) no title
<meta name="description"> 50 to 160 characters shorter than 50 or longer than 160 no description

Google measures by width in pixels, not by characters, so 60 and 160 are a good rule of thumb rather than a hard limit.

What makes a good one

Title: the most important words first, the brand last.

  • Good: Roof repairs in Ljubljana – Example Roofing (43 characters)
  • Too long: Example Roofing Ltd. | Home | Welcome to our website, we offer roof repairs, new roofs and gutters (98)
  • Each page has its own: not Home, and not the same title on every page.

Description: one or two sentences that answer "why click this?". Say what the page offers and something concrete: a place, a price, a deadline, a number.

  • Good: Roof repairs and new roofs in Ljubljana and surroundings. Free inspection within 48 hours, 10-year warranty on every job. (121 characters)
  • Not: a list of keywords, the same description on every page, or the opening paragraph cut off mid-sentence.

Note: Google rewrites titles and descriptions when it thinks another text answers the search better, especially for descriptions. A good description is still the one it picks most often, and it is the one shown when someone shares the link.

Check it yourself

Replace example.com with your site:

curl -sL https://example.com | grep -io '<title>[^<]*</title>'
curl -sL https://example.com | grep -ioE '<meta[^>]+name="?description"?[^>]*>'

The first prints the title, the second the description tag. Each should appear once, with text of the length above.

How to fix

WordPress

WordPress sets the title from the page name and the site name (Settings → General → Site Title), but on its own it has no meta description. An SEO plugin adds both:

  • Yoast SEO: edit the page; in the Yoast SEO box, Search appearance shows the SEO title and Meta description fields, with a preview and a length bar. Templates for whole content types are under Yoast SEO → Settings → Content types.
  • Rank Math: edit the page, open the Rank Math panel and click Edit Snippet for the Title and Description. Templates are under Rank Math SEO → Titles & Meta.

The home page: if it is a static page (Settings → Reading → Your homepage displays → A static page), edit that page. If it shows your latest posts, set the home page title and description in the plugin's settings (Yoast: Settings → Content types → Homepage; Rank Math: Titles & Meta → Homepage).

If the title appears twice or the theme prints its own <title>, the theme is old: the plugin needs a theme that supports title-tag. Clear the page cache after the change.

Node.js and Next.js

In the Next.js App Router, set a default and a template in the root layout, and a title and description in each page:

// app/layout.js
export const metadata = {
    title: { default: 'Example Roofing', template: '%s – Example Roofing' },
    description: 'Roof repairs and new roofs in Ljubljana and surroundings.',
};

// app/services/page.js
export const metadata = {
    title: 'Roof repairs in Ljubljana',
    description: 'Free inspection within 48 hours, 10-year warranty on every job.',
};

For pages built from data, return the same fields from generateMetadata. In the Pages Router, put <title> and <meta name="description"> in next/head on each page.

Laravel

Let each view set its own values, with a fallback in the layout:

<title>@yield('title', config('app.name'))</title>
@hasSection('description')
    <meta name="description" content="@yield('description')">
@endif
@section('title', 'Roof repairs in Ljubljana – Example Roofing')
@section('description', 'Free inspection within 48 hours, 10-year warranty on every job.')

@hasSection keeps the layout from printing an empty content="" on pages that have no description yet. With Blade components, pass the same values as props to the layout component.

Static HTML

In the <head> of each page:

<title>Roof repairs in Ljubljana – Example Roofing</title>
<meta name="description" content="Free inspection within 48 hours, 10-year warranty on every job.">

One <title> and one description per page, each different.

Shopify

  • Home page: Online Store → Preferences, Homepage title and Homepage meta description.
  • Products, collections, pages, blog posts: open the item, scroll to Search engine listing and click Edit. Shopify shows the preview and the character count.

When the fields are empty, Shopify falls back to the item's name and the start of its description.

Wix

In the editor, open the page's settings, SEO basics, and fill in Title tag and Meta description. For many pages of one type (products, blog posts), set a pattern in the dashboard's SEO settings instead of page by page. Publish the site after the change.

Webflow

Open Pages, click the gear next to the page, and under SEO settings fill in Title tag and Meta description. For CMS collection pages you can insert fields from the collection item, so every item gets its own. Publish the site after the change.

Squarespace

Open Pages, click the gear next to the page, and on the SEO tab fill in the SEO title and SEO description. The site-wide title format and the home page description are in the site's SEO settings. Blog posts and products have the same fields in their own settings.

One title per page

The checklist reads the home page, but the same rules apply to every page that should be found: each with its own title and description, written for that page. Duplicate titles across many pages are one of the most common findings in Search Console, and the easiest to avoid with a template that puts the page name first.

Confirm the fix

Run the two curl commands from Check it yourself again, then open the target in PulseKeeper and click Check now on the Checklist tab. The item turns OK within a few minutes, and the Google preview on the tab shows the new text. Google itself shows it after its next visit, which can take a few days.