Skip to main content

Importing links via CSV

Import backlinks in bulk from a CSV file, into one domain or into all your domains at once.

Import backlinks in bulk from a CSV file, either into one domain or into all your domains at once with a single file.

Where to find the CSV import

Click ADD LINKS, then open the CSV Import tab. The report you start from decides where the links go:

  • From a domain's Links report: every link in the file is added to that domain.

  • From the All domains links report: you choose an import mode. Global adds links to several domains from one file, and Per Domain adds them all to the one domain you select.

Choose an import mode (All domains links)

Global mode is selected by default. Use it to fill all your domains with one file.

Import mode

Where each link goes

Accepted formats

Global (default)

To the domain named in the row's Site column. One file can hold links for any number of your domains.

Linkody format with a Site column

Per Domain

To the one domain you choose under Select Domain.

Linkody, Google Search Console, Ahrefs, Moz

Per Domain works exactly like an import started from that domain's Links report.

Select the format

When you import into one domain, pick the format that matches where your data comes from:

  • Linkody's own format, for a file you build yourself or a Linkody export

  • Google Search Console (GSC)

  • Ahrefs

  • Moz

Global imports always use Linkody's format with an extra Site column, so the format picker is hidden in Global mode. To import a GSC, Ahrefs or Moz file, use Per Domain mode or the domain's own Links report.

Configure import options

The same options apply in every mode:

  • Update existing links: if a link is already monitored, Linkody replaces its tags, notes, expected values, expiration date and cost with the values in the file. An empty field erases the current value, except the date added, which is kept. With this option off, links already monitored are skipped. A link in your archive counts as already monitored: it is skipped, and Update existing links does not change it.

  • Maximum links from the same domain: how many links from the same referring domain Linkody adds. The default is 1 link per domain, so choose No limit if you want every row imported. In Global mode, the limit is counted separately for each of your domains. Links in your archive count toward this limit, like the links you monitor.

  • Applies only to CSV: the limit counts only the links in your file and ignores links you already monitor.

  • Report status changes: on by default. Turn it off if you don't want email alerts about these links.

Linkody CSV format

Each line is one link. Only the referring page URL is required: leave the other fields empty or leave the columns out.

Column

Required

What to enter

Referring page URL

Yes

The page that links to your site

Tags

No

Tags separated by commas. Wrap the list in double quotes, e.g. "guest post,2026"

Notes

No

Free text. Email addresses and URLs become clickable

Expected landing page URL

No

The page on your site the link should point to: a full URL or a path such as /pricing. It must be on the domain the link is added to

Expected follow

No

yes or no (y/n and 1/0 also work). Use yes if the link must not be nofollow

Expected anchor text

No

The anchor text the link should have

Date added

No

When the link was added. Empty means the day of the import

Expiration date

No

When the link expires

Cost

No

What the link cost, e.g. 150 or 150.00, without a thousands separator

Write dates as YYYY-MM-DD (recommended), DD/MM/YYYY or DD-Mon-YYYY (e.g. 01-Aug-2026). Dates with slashes are read day first: 03/04/2026 is 3 April. Linkody detects the separator (comma, semicolon, tab or pipe) by itself.

Column names. If the first line holds column names, the columns can be in any order and other columns are ignored. Linkody recognizes URL from (or Source URL), Tags, Notes, Expected landing page URL, Expected follow, Expected anchor, Added, Expires and Cost. Without a URL from column name, Linkody reads the columns in the order of the table above and imports the first line as a link.

Example:

URL FROM,TAGS,NOTES,EXPECTED LANDING PAGE URL,EXPECTED FOLLOW,EXPECTED ANCHOR,ADDED,EXPIRES,COST
https://site1.com/somepage,directory,free listing,/page1,yes,,,,
https://site2.com,,something to remember,,yes,,2025-08-01,2026-08-01,50
https://site3.com/otherpage,"guest post,blog",,https://www.mywebsite.com/page2,,some anchor text,,,
https://site4.com/page,,,,,,,,

Global import format

A global file uses the Linkody format with one extra column first: Site, the domain each link is added to. The other columns follow in the same order as above.

Rules for the Site column:

  • Write the domain exactly as it appears in your Linkody domain list. www.example.com and example.com are two different domains.

  • A leading https:// is fine, but leave out any path or trailing slash.

  • A row whose Site is not one of your domains, or is a competitor, is not imported. The error log lists it, and the other rows are still imported.

  • An expected landing page written as a path, such as /pricing, is completed with that row's Site.

If you use column names, Linkody needs both Site (or Domain) and URL from among them. The other columns can then be in any order.

Example:

SITE,URL FROM,TAGS,NOTES,EXPECTED LANDING PAGE URL,EXPECTED FOLLOW,EXPECTED ANCHOR,ADDED,EXPIRES,COST
mysite.com,https://blog.example.org/best-tools,"guest post,2026",,/pricing,yes,best SEO tools,2026-09-01,2027-09-01,150
mysite.com,https://news.example.net/article-42,,,,,,,,
myothersite.com,https://directory.example.com/listing/123,directory,free listing,,no,,,,

Tip: you can also import a file with a Site column in Per Domain mode. If its first line holds the column names, Linkody imports only the rows for the selected domain and reports the others as ignored.

After the import

Linkody shows how many links were imported or updated. It also counts the links that were already monitored and those skipped by the per-domain limit.

Rows with errors are listed in an errors log (the first 100 errors). Fix them and import the same file again: links that were already imported are recognized and not added twice.

The import stops when you reach your plan's link limit or your link import quota.

Did this answer your question?