How to Review Internal Links from a Page’s HTML

Skip to content

Internal linking · worked example

How to Review Internal Links from a Page’s HTML

Resolve the destination, inspect the label and confirm the section target before changing a link.

Start with the page you are reviewing

An internal link review should leave you with specific editing decisions: a clearer label, a corrected destination or a section link that reaches the intended heading. Counting every link is useful for organizing the work, but it does not tell you whether the page helps its reader. Begin with one published page or one draft, keep its original HTML and decide which part of the page you want to inspect.

The ProSEO HTML Link Analyzer builds an inventory from the HTML you supply. Enter the complete URL of the original page, then paste its HTML or read a saved HTML file locally. The page URL matters even though the tool does not visit it: a relative address needs that context before it can be resolved. A fragment containing only the article can omit navigation, footer links and section targets, so record that narrower scope beside the export.

If links are added by JavaScript after loading, a saved source file may omit them. Use the relevant rendered HTML when that is the material you need to review, and check the actual page after making a change. The tool does not fetch a website, crawl sibling pages or decide whether a destination returns a successful HTTP response.

Run the nine-link example before using your own HTML

The tool’s example uses the page URL https://example.com/blog/launch-review/. It includes an image link, two section links, an external reference, a contact address and two incomplete anchors. The names and domains are invented teaching data; they do not describe a real client’s website.

<main>
<h1>Website launch review</h1>
<h2 id="checklist">Launch checklist</h2>
<p><a href="/guides/launch/">Website launch checklist</a></p>
<p><a href="../tools/"><img alt="Publishing tools"></a></p>
<p><a href="#checklist">Jump to the checklist</a></p>
<p><a href="#before-launch">Before publishing</a></p>
<p><a href="https://example.com/guides/launch/?from=footer"
  rel="nofollow">here</a></p>
<p><a href="https://docs.example.net/guide/"
  rel="nofollow">Reference guide</a></p>
<p><a href="mailto:[email protected]">Email the editor</a></p>
<p><a href="/privacy-policy/"></a></p>
<p><a>Placeholder</a></p>
</main>

Select Load nine-link example, then Analyze HTML links. The expected inventory contains nine anchor elements: six internal web links, one external web link, one email link and one anchor without an href. Four rows have review notes. The tool and its downloaded CSV were checked with this sample on 13 October 2026.

What the example asks an editor to decide
Sample linkObserved resultUseful next decision
../tools/Resolves to /blog/tools/; label comes from image alt text.Confirm that this path is the intended tools page.
#checklistA matching section ID is present.Check the click and heading position on the real page.
#before-launchThe target is absent from this sample.Check the complete document before changing the link.
The label hereGeneric label; internal link carries nofollow.Review the sentence and the reason for that rel token.
/privacy-policy/No label found.Add a useful visible label or a suitable image label.
<a>Placeholder</a>No href attribute.Supply a real destination or keep it as ordinary text.

Read the resolved destination before editing the label

The example’s ../tools/ link is easy to misread. From /blog/launch-review/, moving up one directory reaches /blog/, so the resulting path is /blog/tools/. It does not become the root-level /tools/. A polished label cannot correct a destination that points to a different page, so inspect the resolved URL before rewriting the anchor text.

The analyzer uses the first base href in the pasted HTML when one is present. That can make a seemingly local relative path resolve to another host. Its internal/external classification still compares the destination with the entered page’s origin: protocol, hostname and port. A subdomain or an HTTP address on an HTTPS page is therefore classified as a different origin, even when the same organization operates both. Treat this as a clear grouping rule rather than a claim about who owns the destination.

Query strings and fragments remain in the inventory. Two links to the same path with different parameters can serve different purposes, and the tool keeps those differences. It also keeps repeated links instead of removing them. A header link and a contextual article link may legitimately share a destination; decide whether each placement helps the reader before calling that repetition a problem.

Make the label useful in its sentence

Read the anchor label together with the words around it and the page it opens. In the example, here gives little information by itself. A sentence such as “Use the website launch checklist before publishing” can place the link on website launch checklist, provided that destination really contains the promised checklist. Adding every related keyword would make the sentence harder to read without making the destination clearer.

The analyzer first uses text inside the anchor, then image alt text, aria-label or title as fallbacks. The image link in the example receives the label Publishing tools from its alt text. These fields make the inventory more useful, but the result is not a complete accessibility assessment: CSS visibility, surrounding context and the full accessible-name calculation still need a separate review.

Google’s link guidance describes ordinary anchors with an href, descriptive anchor text and useful contextual links between related pages. The inventory helps you find places to apply that advice. It does not calculate an ideal link count or certify that a page can be discovered from every important part of the website.

Confirm an absent section target against the whole document

The sample contains id="checklist", so its matching section link receives no missing-target note. There is no before-launch ID in the sample. That absence is a reason to inspect the full page: the section might live outside the copied fragment, be added later or have been renamed during editing. A same-page fragment also does not represent a separate HTTP page, so this note is not a 404 finding.

When the complete page confirms the mismatch, update the link and the heading ID deliberately, then click the link after saving. Keep IDs unique. The analyzer reports multiple matching supplied targets as a review note and checks decoded fragment names, including non-Latin text. Section fragments on another page are left for a manual check because that destination’s HTML was not supplied.

Review link attributes without changing them in bulk

The export records rel tokens and the target attribute. In the sample, one internal link and one external reference carry nofollow. The internal row receives a contextual note; the tool does not decide why that attribute was added or remove it. Check the publishing system, the destination and the relationship behind the link before editing its attributes.

The email link is listed separately from web destinations, and the placeholder anchor is kept so it does not disappear from your review. Other schemes are identified for manual attention rather than opened. These distinctions keep the inventory focused on what exists in the source while leaving navigation behavior and the live destination check with the editor.

Keep the export beside your editing decisions

Download the CSV after reviewing the counts. It includes the original href, resolved destination, label source, attributes and notes for every retained anchor within the tool’s limit of 1 MB and 2,000 anchor elements. The on-screen table stops at 100 rows; the export contains the whole batch. Formula-like cell text receives an apostrophe prefix for spreadsheet review, so preserve the original HTML when exact source text matters.

Add your own action and verification columns to the working sheet. Record the link you changed, the reason and the result of clicking it on the saved page. Use the Heading Outline Checker when section names or hierarchy need attention, and the CSV cleanup guide when preparing a separate export. Review a few consequential links completely rather than marking every row done because the inventory was generated.

Source and verification note

The HTML example and editing decisions are original ProSEO teaching material. The live example, CSV export and supplied-HTML boundaries were checked on 13 October 2026. This check did not establish destination HTTP status, search-engine indexing or ranking results. Editorial reference: Google Search Central’s link best practices, reviewed on the same date.