ShipworkSite inspection
Anchor text

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Page DoctorWhy is this page not doing well?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit

+1 free check

Welcome to Shipwork

Sign in free and your next check this month is on us.

Continue with GoogleContinue with email

We email you a 6-digit code. No password.

No card needed. Reports and watches follow you to any device.

Do your internal links say what they point at?

The text of a link tells a crawler what the destination is about. "Click here" tells it nothing, and one phrase pointing at several pages tells it the wrong thing. This reads your internal link text from outside your network.

Reads the internal links on a set of your pages and the text of each. Saved to your account if you are signed in to a paid plan.

How this check works

Shipwork crawls a set of your pages, extracts every internal link with its text, and reports generic text ("click here", "read more"), links with no text, and phrases that point at several different pages: the three ways internal link text stops helping a crawler.

What the internal anchor text checker reads

The internal anchor text checker reads the link tags on the pages it fetches during a bounded crawl, up to 20 pages in a free run and up to 300 internal links per page. For each same-site link it captures the visible link text, falling back to an aria-label or an image alt value when the anchor has no words of its own. It skips anchor tags hidden from assistive technology and links to mail, telephone or script targets.

It then counts four things: links with no text at all, links whose text is one of a fixed set of weak phrases such as 'click here', 'read more' and 'view', phrases used for several different destinations, and the most frequently used link text on the pages it read. It does not check external link text, and it does not read field data or Search Console.

How to read an anchor text result

A clean result means that, across the pages the crawl read, every internal link had text, none used one of the weak phrases, and no phrase pointed at more than one destination. That is reassuring for the sample, not a site-wide guarantee: the crawl reads a bounded set of pages, and a template link on an unread page can still be vague.

A finding is a shortlist, not a verdict. The checker cannot judge whether a descriptive phrase is accurate, only whether it is generic or reused. It also cannot prove how much weight any search engine places on link text. Treat the report as a starting point, then read the links in context on the live page.

Common causes and why they matter

Weak link text usually comes from templates rather than authors. Theme buttons say 'read more', pagination says 'next', and card components wrap a whole product tile in an image link with no text. Bulk imports and page builders repeat the same call to action across a category, so one phrase ends up pointing at many pages.

The cost is paid by both users and machines. A screen-reader user who browses by link hears every item announced as 'read more', and a reader skimming a page learns nothing about where a link goes. A crawler uses link text as one clue about the destination topic, so a vague phrase gives it nothing to work with.

How to fix generic and conflicting anchor text

Start with the reported page and find the surrounding context. Replace 'click here' with a short phrase that names the destination, such as 'see the returns policy'. For an icon or image link, add real text or a concise alt value so the anchor has a subject. Where the same phrase points at several pages, give each destination its own wording.

Fix the template, not only the example. In most themes and page builders the link text lives in a menu label, a button component or a block setting, so one change corrects every page it renders. On a store, check the product card component and the collection pagination controls, which are the usual sources. Re-run the check afterwards to confirm the counts fall.

When to use related checks

Use the anchor text check when the question is what your internal links say. Use link graph to see whether pages are reachable at all and how deep they sit, and broken links to find internal links that return an error instead of a page.

If you are repairing links after a redesign or migration, pair these with the internal link fix guide. Anchor text, reachability and broken destinations are three separate problems, and each has its own check, so run the one that matches the question rather than reading all three as the same finding.

Questions

Does anchor text still matter?
Yes, though less than it once did. The text of an internal link is a strong hint to a crawler about what the target page is about, and it helps users decide what to click.
Why is "click here" bad?
It gives the crawler no topic for the target, and screen-reader users navigating by links hear only "click here" repeated. A descriptive phrase fixes both.
What is a conflicting anchor?
The same phrase used for several different pages. It tells the crawler those pages are about the same thing, which they are not, so the signal is muddled.
How do I check anchor text on my website?
Run the check on your domain. It reads the internal links on the pages it fetches, then reports links with no text, links using generic phrases such as 'click here', and phrases pointing at several different pages. It samples a bounded set of pages, so treat the result as a shortlist and inspect the live links in context.
Does anchor text still matter for SEO?
Link text is one signal a search engine can use to understand what a page is about, and it clearly helps users and screen readers decide what to click. It is not the only signal, and the check cannot measure how much weight it carries. Descriptive text is worth having for accessibility and clarity regardless of ranking.
Why is 'click here' bad for accessibility?
A screen-reader user can list every link on a page out of context. When each one is announced as 'click here' or 'read more', the list carries no information about the destination. A short descriptive phrase fixes the problem for those users and also gives crawlers a topic for the linked page.
What is a conflicting anchor text problem?
It is when the same phrase links to several different pages. The repeated wording suggests those destinations are about the same thing when they are not, so the clue is muddled. The checker reports up to three such phrases, each with the number of pages it points at.
Does the anchor text checker test external links?
No. It reads internal links only, because that is where you control the text. Outbound links are covered by a separate external link check, which looks at whether the destinations still respond rather than at the words you used.

Keep reading

What this reads

  • Reads public pages from outside your network, the way a crawler does.
  • No signup, and nothing is stored on the free checks.
  • One of 83 checks across discovery, content, markup, trust and catalogue data.
83checks
0signups needed
0stored on free checks
Cool, just ran an audit and got some insights! Let’s see if I can fix them :)
Tenta Dev, @DevTenta
Whoah! this site is crazy, nothing to roast at all
Ainreek, @AinreekAI
cool as heck, tried it on my blog and the insights it gave are helpful and not bluff.
Refaat 🍉 (Mouse), @1Mouse__