Rule: description-present
The meta description is your page's sales pitch in search results. Without one, Google auto-generates a snippet from your page content — often a random paragraph that doesn't communicate your value proposition. This is a critical rule that blocks CI builds. Every indexable page must have a meta description.
What it checks
Indxel looks for a <meta name="description" content="..."> tag in the page's HTML head. The rule passes if the tag exists AND its content attribute contains at least one non-whitespace character. In Next.js, this comes from the description field in your metadata export or generateMetadata() return value.
Thresholds
Meta description tag exists with non-empty content
Meta description is missing, has no content attribute, or content is empty/whitespace-only
Edge cases
A meta description with content=" " (spaces only) fails. It must contain visible text.
If you set description: '' (empty string) in Next.js metadata, Next.js may not render the meta tag at all. Indxel sees this as missing.
Pages that rely on layout.tsx for their description: if a page doesn't override the layout description, all pages in that layout share the same description. This passes description-present but creates duplicate description issues (not currently checked by Indxel).
HTML pages with multiple meta description tags: Indxel reads the first one. Google's behavior with duplicates is unpredictable — avoid it.
Configuration
// indxel.config.ts
import { defineSEO } from "indxel";
export default defineSEO({
rules: {
"description-present": true, // enabled by default (critical)
},
});
// Centralize descriptions with a metadata helper:
// src/lib/metadata.ts
export function generatePageMetadata({ title, description, path }) {
return {
title,
description, // always required — enforced by TypeScript
alternates: { canonical: `https://example.com${path}` },
};
}Frequently asked questions
Does Google always use my meta description?
No. Google rewrites descriptions about 60-70% of the time based on the search query. But having a well-written description increases the chance yours is used, and it controls what appears in social shares and messaging apps.
Should I write unique descriptions for every page?
Yes. Duplicate descriptions across pages waste an opportunity to target page-specific keywords and reduce click-through rates. For dynamic pages, use generateMetadata() to create descriptions from your data.
Is meta description a ranking factor?
Not directly. But a compelling description increases click-through rate (CTR), and CTR is a behavioral signal that can influence rankings over time. Think of the description as ad copy, not a ranking factor.