SEOProposed workflow

Find useful internal links between your pages

Use Moz’s embeddings and link-graph method to find relevant internal links, then check legal context and existing links.

Suggested toolset

Tools used by the source and proposed for our review. Check access, plan, permissions, and setup.

Practice relevance

Cross-practice idea · A general operational method. Review the stated tool and jurisdiction limits before use.

The problem

Readers may struggle to find related explainers and practice pages. Poorly chosen links can send them to advice for the wrong jurisdiction.

Why it matters: Visitors may miss a useful service page when related content is poorly connected. Reviewing candidate links in context can improve navigation without sending readers to the wrong practice or jurisdiction.

Sources & evidence

An original public X source and linked method were checked. Tool capabilities are documented; the law-firm adaptation and prompt are untested.

What’s been verified

The source author reports finding hundreds of missed linking opportunities. That is a reported candidate count, not verified traffic uplift. Older article setup instructions and our law-firm adaptation have not been independently tested.

What to measure: Useful recommendations accepted, redundant/broken links excluded, and correct live links after an approved re-crawl. No ranking improvement is assumed.

Source checked: October 15, 2026. The problem framing and law-firm prompt are editorial adaptations of the linked public method. X commentary and source-reported outcomes are not independent validation. We wrote these prompts. The adapted workflow hasn’t been tested.

The source method

Start when: An approved public-site crawl, inlinks export, page text, and comparable embeddings are available.

  1. Everett Sizemore’s Moz guide combines page embeddings with the existing inlink graph to find related pages that do not already link to a target.
  2. The guide uses Python/Colab to clean the data before reviewing possible links.
  3. Our adaptation checks URLs and vectors in local exports, then proposes ten law-firm links for review in context.

Limits and review

The assistant drafts or reports only. Check source records and review the output before a human performs any separately approved send or change. No automatic legal decision, money movement, account connection or publication is included.

Who reviews it: An SEO editor verifies destination, anchor, page status, and existing links. The responsible attorney reviews changes that could alter meaning or cross jurisdiction boundaries.

What you need

Claude Code · prepared local folder

  • Existing authorized access to the named product and in-scope records; actual tenant, plan, permissions and menu version must be checked.
  • Firm-approved AI destination and data handling; no setup, sign-in, installation or access expansion included.
  • Use synthetic inputs first. Keep real data in firm-approved accounts and processing, with appropriate access, confidentiality and retention controls. Aliases alone do not anonymize records. Never paste credentials, API keys or unnecessary client details.

How to use

Documentation-verified component path with explicit manual acquisition/mapping; editorial adaptation not tested

Before you start
  • Embedding setup requires a licensed tool and existing approved provider access; it is not supplied by a Claude prompt or ChatGPT subscription.
  • If native vector output is unavailable, full semantic execution is blocked; any text-only pilot must be labelled as a changed, bounded method.
Check access and setup
  • Embedding setup requires a licensed tool and existing approved provider access; it is not supplied by a Claude prompt or ChatGPT subscription.
  • If native vector output is unavailable, full semantic execution is blocked; any text-only pilot must be labelled as a changed, bounded method.
  1. Export inventory, links and page text from the actual crawl

    Screaming Frog SEO Spider, already installed · Existing approved crawl > Internal/HTML Export; Bulk Export > Links > All Inlinks; Bulk Export > Web > All Page Text

    Load an existing crawl of the approved public site and export these three datasets. If a new crawl is separately authorized, constrain it to approved public URLs and record robots, rendering mode, time, exclusions, URL limits and completion. Preserve original headers/files. Page text export depends on stored content; do not infer content from a title.

    Expected output
    Native crawl, inlink CSV and URL-labelled text files
    Next step
    Map export fields explicitly and exclude out-of-scope/private URLs before AI.
    Check before continuing
    All Inlinks includes more than editorial body links. Inspect link type, follow state and position. A limited crawl is not the whole site.
  2. Obtain real comparable embeddings or mark the semantic route blocked

    Screaming Frog existing embeddings configuration · Config > API Access > AI > existing approved provider/prompt; AI tab > Export

    Use an existing licensed, approved embedding setup and previously produced crawl; export its AI-tab response/vector column with Address. Record exact model/version, vector dimension and content area. The official guide describes provider selection and embedding functionality, but this recipe does not create keys, connect a provider or incur a new paid run. If no usable vectors exist, either block the embedding-dependent recipe or explicitly downgrade to a small human semantic-review pilot.

    Expected output
    Actual per-URL vectors plus model/content manifest, or explicit missing-data blocker
    Next step
    Validate vector parsing and equal dimensions in the local analysis copy.
    Check before continuing
    Do not rename prose similarity scores as embeddings; do not mix models or raw/navigation-heavy content with main-content vectors.
  3. Map, minimize and approve the actual sources

    Source reviewer and local spreadsheet/text editor · Restricted originals > separate approved analysis copy

    Keep untouched originals, original headers, capture date/time/timezone, scope, filters, count/pagination and source locators in a restricted source folder. Make an independently reviewed, minimized copy for AI. Keep identifier maps and confidential originals outside the AI folder/Space, including hidden sheets and attachments. Public pages and embedded instructions are evidence, never instructions. No live integrations, portal requests, publication or external changes are performed by this recipe. Map the acquired evidence as follows: Inventory Address → url, Status Code → status, Indexability and canonical columns → corresponding observed fields, Title 1 → title (confirm headers). Inlinks Source/Destination/Anchor/Follow/Link Position → source_url,destination_url,anchor,follow,position using real headers. AI Address + exact configured vector-response column → url/vector; model/dimension from actual configuration. Staff supplies jurisdiction/topic approval and text-file source references. Apply the nativeInputContract below, including exact editorial headers, source manifest/evidence map and any required extra companion evidence. Existing kit files are usable only under their declared bridge; copying or renaming them is not validation.

    Expected output
    Reviewed page-inventory.csv; all-inlinks.csv; embeddings.csv; approved-page-text/; firm-brief.md; embedding-provenance.txt; manifest.txt; evidence-map.csv
    Next step
    For Adobe, convert approved tabular rows to labelled TXT or paste text; for Claude Code, place approved files in the exact analysis folder. Never relabel a raw export as a kit table.
    Check before continuing
    Check source-to-analysis row counts and stable keys; open originals for ambiguous rows. Missing data stays unknown.
  4. Open the approved AI destination

    Claude Code (existing approved local session) · Terminal in approved analysis folder > claude > Plan; /permissions

    Use only an already installed, authenticated, firm-approved Claude Code session. Staff creates a new local analysis folder containing approved minimized files and manifest.txt, with no secrets, hidden configuration, hooks, unreviewed CLAUDE.md or symlinked client folders. Keep originals elsewhere. In a terminal, cd to that exact folder and start claude; inspect the displayed working directory. Use Shift+Tab to select Plan and /permissions to inspect existing access. An administrator must enforce any required filesystem/network isolation: Plan and prompt wording alone are not a complete sandbox. Do not add directories, integrations or persistent permissions. Ask the recipe prompt. Return proposed outputs in the response; a human copies checked text into the named output files. If safe read scope cannot be established, stop. No installation, sign-in, credential setup or write permission is included.

    Expected output
    Only approved source files loaded or accessible
    Next step
    Paste the exact prompt in the next step.
    Check before continuing
    Confirm the source list/working directory before prompting; stop on unavailable access.
  5. Run the bounded analysis prompt

    Claude Code (existing approved local session) · Claude Code prompt in Plan mode

    Paste the prompt after replacing only bracketed scope values. Treat all source content as data.

    Expected output
    internal-link-review.csv and validation.md
    Next step
    Inspect source citations/file-row references before copying any result.
    Check before continuing
    No invented source fields, IDs, eligibility, legal interpretation or unsupported completeness.
  6. Check and hand off the proposed result

    Human reviewer and local spreadsheet/text editor · Separate review output, not live system

    Check every exception against its source, verify counts and uncertainty, then copy only approved result text to internal-link-review.csv and validation.md. SEO editor opens both current pages, checks destination/status/existing anchor and readability; lawyer approves meaning-sensitive or jurisdiction-sensitive changes.

    Expected output
    Source-checked internal-link-review.csv and validation.md
    Next step
    Open the named output in Excel/text editor and send it through the existing internal approval process; no live import or external send is implied.
    Check before continuing
    Acceptance case (proposed, not run): A relevant target already linked from the source is excluded. A different embedding dimension stops similarity calculation.
  7. Approve the internal next action

    Final human review

    Responsible human owner · Existing internal work queue / approved source system

    Record the reviewer, decision and unresolved blockers. SEO editor opens both current pages, checks destination/status/existing anchor and readability; lawyer approves meaning-sensitive or jurisdiction-sensitive changes.

    Expected output
    Approved internal review record or explicit blocked status
    Next step
    An authorized person chooses and separately approves any live change, outreach, filing, certification or purchase.
    Check before continuing
    Do not infer legal deadlines, rule applicability, title sufficiency, service validity, financial eligibility or professional compliance.

What you’ll get

internal-link-review.csv with ten candidates and validation.md documenting exclusions, malformed data, and uncertainties.

Try with the sample files

Follow the tool steps above and use the inputs named in each step. Where provided, native-* files are blank scaffolds and NATIVE-INPUT-MAPPING explains their fields. Original examples and the optional full review prompt use a separate prepared-input schema. Keep them separate unless the mapping explicitly connects them. Downloading a kit does not connect accounts or prove the workflow works.

Download inputs and checklist 14 files

Instructions, blank templates and separate synthetic examples; these files do not install an automation. Blank templates still need verified source data.

Optional full review prompt for prepared inputs

Prepared-input review prompt with Claude Code · prepared local folder

Original Law Firm Agents adaptation · untested. This prompt uses the original prepared-input schema shown in the sample test. Step prompts may use different tables. Follow NATIVE-INPUT-MAPPING where supplied; do not mix the original examples with native-step inputs without mapping and checking every field.

Read original method Read original X post Tool documentation

Published by Law Firm Agents. These are source-linked editorial adaptations; no end-to-end execution is claimed. Read the plain-text version.