Import reference · reviewed September 12, 2026
Ahrefs backlink import guide
Prepare Ahrefs backlink rows for AgentLinkOps: source and target columns, a compatible CSV example, preview behavior and common mistakes.
Use the ahrefs adapter for a tabular file with source-page and target-page URLs. The fields below describe the implemented AgentLinkOps adapter. Check your actual headers before using a provider preset; exports can differ by report and version.
Columns this adapter recognizes
| Purpose | Header | Interpretation |
|---|---|---|
| source | Referring page URL | Required URL of the page containing the link |
| target | Target URL | Required URL the link points to |
| anchor | Anchor | Optional supplier-reported anchor text |
| first_seen | First seen | Optional provider first-seen timestamp |
| last_seen | Last seen | Optional provider observation timestamp |
| link attribute | Nofollow | Optional supplier flag; inspect its meaning before use |
Domain Rating, URL Rating and traffic columns remain provider metrics. They do not become a fresh verification result.
Keep the original export: the adapter retains at most 32 additional nonblank metric fields, limits their names to 64 characters and string values to 256 characters. The normalized record is not a lossless archive.
A small compatible CSV
This synthetic example shows the minimum page pair and an optional anchor. The example domains are placeholders. Use a copy of your own file for a real preview.
Referring page URL,Target URL,Anchor
https://example.org/resources,https://example.com/guide,Example resource
Preview from an existing repository checkout
The development CLI requires access to the AgentLinkOps repository. There is no public package installation step here. Run mkdir -p examples from the repository root, save the sample as examples/ahrefs.csv, then preview it:
node cli/linktrail.mjs import examples/ahrefs.csv --target example.com --from ahrefsThe import command reads and validates the file. It reports accepted, rejected and duplicate rows; it does not write the local ledger, fetch the source pages or create a remote import run. Keep the preview result beside the original export, and resolve rejected rows before using the candidate list.
What to check before proceeding
Referring-domain summaries are useful for grouping but lack the source-page pair this importer requires. Use a page-level file and keep export filters with it.
A row can preserve an older first-seen date even when your preview runs today. Read those as separate timestamps; do not overwrite the provider date with the import date.
If you include a mapped link-attribute column, inspect empty cells. The current parser treats a blank Nofollow cell as false and a blank dofollow cell as false. Those defaults are not evidence from a current fetch; omit an unreliable flag column or normalize it deliberately.
Confirm that the target URLs match the intended site. A well-formed row for a different target is still outside that import scope. If a column is missing, use an explicit mapping to an existing column or prepare the required data; do not fill in an invented source page.
From an imported row to current evidence
Provider dates and flags describe the supplied data. They do not establish that the backlink is live now. Review the candidate, check the source page and preserve the check time before recording a confirmed placement. A failed request remains inconclusive until you have evidence of what the page contains.
Imports and selected candidate checks are available in the private pilot. Live supplier discovery and competitor-gap workflows are still in validation. A local preview alone does not approve or bind a frozen inventory for competitor comparison.