Fix Generic Anchor Text: Write Descriptive Links
Generic anchor text means links use non-descriptive words like "click here," "read more," "learn more," or a bare URL instead of text that describes the destination. Descriptive anchors help Google understand what the linked page covers, pass a topical relevance hint, and give screen-reader and AI-crawler users real context. The fix is to rewrite each link's visible text to describe where it goes, using the target page's topic naturally without keyword-stuffing.
What this means
Anchor text is the clickable, visible text of a link, the part between the opening and closing <a> tags in HTML. "Generic" anchor text carries no information about the destination: "click here," "read more," "learn more," "this page," "here," "continue," "download," or a raw URL pasted as its own label.
Google uses anchor text as one signal for understanding what a linked page is about. "Click here" tells a crawler nothing. "On-page SEO checklist" tells it the destination is about on-page SEO. Your audit flagged this because one or more links on the page use anchor text from the generic list, so those links pass a weak or empty topical signal.
This is a warning, not an error. The page still works and the link still functions. But you are leaving relevance and accessibility value unused, and at scale (navigation, footers, in-content CTAs repeated site-wide) generic anchors add up to a real gap in how well search engines and AI systems map your site.
Why it matters
For classic Google ranking, anchor text is a long-standing relevance signal for both internal and inbound links. Descriptive internal anchors help Google understand the target page's topic and can strengthen how it ranks for related queries. Generic anchors waste that opportunity: the crawler follows the link but learns nothing about where it leads, so internal PageRank flows without a topical hint attached.
Accessibility is the other half. Screen-reader users often navigate by pulling up a list of every link on a page. A list of twelve links that all say "read more" is useless out of context. WCAG Success Criterion 2.4.4, Link Purpose (In Context), a Level A criterion, expects each link's purpose to be clear from its text or immediate context. Descriptive anchors satisfy both accessibility and SEO at once.
For AI answer engines such as ChatGPT, Perplexity, Google AI Overviews, and Claude, descriptive anchors help too. These systems parse your content to map how pages relate and to decide what to cite. Anchor text like "our 2026 pricing guide" acts as a label that tells the model what the linked page covers. Bare "click here" links give it no semantic hook, so your internal content graph reads as flatter and less connected than it is.
How to fix it
- 1
Find every generic link on the page
Start with the specific URLs flagged in your audit. In the browser, open DevTools and list all anchors and their text in the console:
[...document.querySelectorAll('a')].map(a => a.textContent.trim()). Look for "click here," "read more," "learn more," "here," "this," "continue," "download," and bare URLs used as labels. Note repeated offenders in templates (footers, related-post widgets, CTA buttons), because fixing the template fixes many pages at once. - 2
Rewrite the visible text to describe the destination
Replace the generic phrase with words that describe what the reader gets by clicking. Instead of "click here to read our guide," write "read our on-page SEO guide." Include the target page's primary topic or a natural keyword, but keep it human. Two to five words is usually ideal. Don't force an exact-match keyword into every anchor, which creates the opposite problem.
- 3
Handle icon-only and image links
When a link is just an icon or image with no visible text, screen readers and crawlers fall back to
alttext oraria-label. Give image links a descriptivealtattribute, and give icon or button links anaria-labelstating the purpose, such asaria-label="Download the 2026 pricing PDF". Mark decorative SVGs inside the link witharia-hidden="true"so they aren't announced twice. This satisfies the same requirement generic text fails. - 4
Fix it in your CMS or template
For a single link, select the link text in your editor and retype it; the
hrefstays attached. For anchors baked into a theme (footer, related-posts widget, repeated CTA), edit the template or component once instead of every page. In raw HTML, React, or Next.js, change the string between the<a>or<Link>tags; only the visible text changes, not thehreforto. - 5
Keep repeated CTAs descriptive, then re-audit
If the same button appears many times (for example "Start free audit"), that is fine as long as the text describes the action. The problem is vague text, not repetition. Where you link to several different pages, vary the anchor to match each destination rather than reusing one phrase. Re-run your audit after publishing to confirm the generic_anchor_text warning clears.
Example
<!-- Generic: tells crawlers and screen readers nothing -->
<p>To see our full process, <a href="/seo-checklist">click here</a>.</p>
<a href="/pricing">Read more</a>
<a href="/report.pdf">Download</a>
<!-- Descriptive: the anchor text names the destination -->
<p>See our <a href="/seo-checklist">on-page SEO checklist</a> for the full process.</p>
<a href="/pricing">View our pricing plans</a>
<a href="/report.pdf">Download the 2026 SEO report (PDF)</a>
<!-- Icon-only link: no visible text, so add an aria-label -->
<a href="/report.pdf" aria-label="Download the 2026 SEO report">
<svg aria-hidden="true"><!-- download icon --></svg>
</a>Rewrite generic anchors to name the destination. The href stays the same; only the visible text (and any aria-label on icon links) changes.
Platform-specific steps
Select the link text in the block editor and retype it to describe the target page; the URL stays attached. Both Yoast and RankMath offer internal-linking suggestions that surface relevant target pages so you can pick a descriptive anchor. For generic anchors baked into a theme (footer, related-posts widget), edit the template file or widget rather than each post.
In the rich-text editor, highlight the link and change the visible text. For repeated CTAs and menu links, edit the anchor in your theme's Liquid files (sections and snippets) so the fix applies across every page using that template. Give image and icon links a descriptive alt or aria-label.
Click the linked text element and retype the label to describe where it goes, keeping the same link target. For button blocks, edit the button text field directly. Both builders set link text per element, so update each flagged link and any reused CTA buttons.
Change the string between the <a> or <Link> tags; the href or to prop stays the same, only the child text changes. For icon-only links, add an aria-label with the link purpose and mark decorative SVGs with aria-hidden="true". Fix shared components (headers, footers, card CTAs) once to correct every page that renders them.
Frequently asked
It isn't penalized, but it's a wasted signal. Google reads anchor text to understand the linked page's topic, and "click here" tells it nothing. Descriptive anchors like "annual SEO report" pass a relevance hint to the target page and meet accessibility guidelines, so there's no downside to fixing it and a real upside at scale.
Common culprits are "click here," "read more," "learn more," "here," "this," "this page," "continue," "more," "link," "download," and a raw URL pasted as its own label. Any anchor that would be meaningless read out of context, such as in a screen reader's link list, is generic.
Two to five words is usually the sweet spot: long enough to describe the destination, short enough to stay natural. There's no hard character limit, and a short descriptive phrase is fine when it reads well. What matters is that the text describes where the link goes.
It can, mainly for inbound links. Repeatedly forcing exact-match keyword anchors from external sites can look manipulative. For internal links the risk is far lower, but the goal is the same: descriptive and natural, not keyword-stuffed. Vary your phrasing and write anchors the way a person would describe the page.
Yes. AI answer engines parse your pages to map how content connects and to decide what to cite. Descriptive anchors act as labels that tell the model what a linked page covers, strengthening the relationships in your content. Generic "click here" links give the model no signal, so your internal linking reads as weaker than it is.
Does your site have this issue?
Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.