Hreflang XML sitemap generator
Build a sitemap with xhtml:link hreflang annotations for localized pages, with every alternate listed on every URL as Google's documentation requires.
Classify inbound anchor texts against a target keyword and see the real split between exact match, partial match, branded, generic and naked URL anchors.
Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.
Generic anchors are matched against a small hardcoded list of common phrases (click here, read more, this page, learn more,website, here, link) - a heuristic starting point, not an authoritative taxonomy.
| Anchor text | Category |
|---|
Google's own guidance on link spam treats links built with optimized, keyword-stuffed anchor text as a manipulation pattern, not a natural linking signal. Google has never published an exact "safe" exact-match percentage, so this is a distribution to review, not a pass or fail verdict.
Anchor text is the visible, clickable words in a link, and search engines have long used it as a signal of what the linked page is about. That makes it a target for manipulation: buy or trade enough links carrying the same exact keyword as anchor text, and you are trying to push a ranking signal rather than letting it form naturally from how other sites actually describe your page.
Exact match is an anchor that, once lowercased and stripped of punctuation, equals your target keyword exactly. Partial match contains the keyword, or most of its individual words, without being an exact copy. Branded anchors contain the brand or site name you supplied, which is why that field is optional here rather than inferred. Generic anchors match a small hardcoded list of common phrases such as “click here” or “read more”. Naked URL anchors are the link’s own address used as its own text. Anything left over is reported as other, because forcing every anchor into a named bucket would misrepresent anchors that genuinely do not fit one.
Google’s spam policies describe links carrying optimized, keyword-stuffed anchor text as a manipulation pattern associated with link schemes, not a neutral signal to be maximized. But Google has never published a specific exact-match percentage that counts as safe, and no legitimate source can cite one. A natural link profile mixes anchor types because different sites link to a page for different reasons, in their own words. This tool shows you that mix; deciding whether your split looks natural or engineered is a judgment call the distribution informs, not one it makes for you.
Paste your own anchors above and adjust the keyword and brand fields to match the page you are checking. Run the same list through again after a link-building push to see how the mix shifted.
Build a sitemap with xhtml:link hreflang annotations for localized pages, with every alternate listed on every URL as Google's documentation requires.
Paste status codes and see how Google's crawlers document handling each one, plus a redirect hop count against Google's 10-hop default.
Audit the links in pasted HTML against Google's rel qualifiers: sponsored for paid links, ugc for user content and nofollow when neither applies.
Validate robots meta tags and X-Robots-Tag headers against the rules Google documents, and see the combined result for Googlebot.