Notion + Linkeddit

A Notion SEO tracker that logs Google rank and the AI Overview

A Notion SEO tracker usually stores keywords and the ranks you type in. Linkeddit measures them instead: each tracked keyword's weekly Google position, whether Google showed an AI Overview, and whether that Overview cited your domain. Claude reads the checks and writes one row per keyword per week through the Notion connector, so the history builds without anyone retyping ranks.

Updated 2026-10-29

Connect both

Your AI client sits in the middle. Linkeddit supplies the data; the other connector makes the change.

Linkeddit connector

Add https://mcp.linkeddit.com/mcp as a connector and sign in. Claude Code: claude mcp add --transport http linkeddit https://mcp.linkeddit.com/mcp.

Setup guide

Notion connector

  1. Add the Notion connector in Claude and approve the OAuth sign-in for your workspace.
  2. Create a keyword tracker database, or let Claude propose one with create-database and approve it first.
  3. Add the Linkeddit connector at https://mcp.linkeddit.com/mcp.

Endpoint: https://mcp.notion.com/mcp

Notion docs

Works in: Claude, Claude Code.

The prompt

Paste into Claude

Use the Linkeddit connector and the Notion connector. 1) With Linkeddit, call search_visibility_get with view=ranks for my project, paging until you have every tracked keyword. Treat a null rank as 'not in the top 10', which is a result, not missing data. 2) Then call view=history for the five keywords that changed most. 3) With Notion, use search to find my 'Keyword tracker' database and fetch its properties. 4) Propose one row per keyword for this check with: keyword, rank, change since last check, ranking URL, AI Overview shown, AI Overview cites us, top domain and check date. Do not overwrite earlier rows. Show me the rows and wait for my approval before calling create-pages. 5) If you try view=aio_impact and it says Search Console is not connected, tell me, and do not estimate it.

Step by step

  1. Step 1

    Connect both connectors to Claude

    Add the Notion connector and the Linkeddit connector (https://mcp.linkeddit.com/mcp) in Claude or Claude Code, and track your keywords in a Linkeddit project.

  2. Step 2

    Set up one row per keyword per check

    Ask Claude to propose a Notion database with create-database. Use a row for each keyword on each check date, so ranks form a history instead of being overwritten.

  3. Step 3

    Read the latest checks

    Claude calls search_visibility_get with view=ranks. Each keyword returns its rank, change, ranking URL, AI Overview flags, top domain and check date. A null rank means not in the top 10.

  4. Step 4

    Write the week's rows

    Claude shows the new rows, you approve, and it writes them with create-pages. For keywords that moved, it can pull view=history to add the earlier ranks to the page.

  5. Step 5

    Ask what changed

    Each week, ask Claude to fetch last week's rows and list the keywords that entered or left the top 10, and any where the AI Overview began or stopped citing you.

What Linkeddit returned

Run live on 2026-10-29 with search_visibility_get. Read-only run on Linkeddit's own test project, an analytics site tracking 25 keywords, first checked 2026-10-28. Four of the 25 are shown. The aio_impact view could not run because Search Console is not connected on this project, and it says so.

search_visibility_get

search_visibility_get { view: "ranks", limit: 4 }
tracked_total: 25

keyword: "google analytics alternative"
  rank: 2   change_text: "first check"   checked_on: "2026-10-28"
  ai_overview_shown: true   ai_overview_cites_us: true   top_domain: "heap.io"
keyword: "privacy friendly analytics"
  rank: 3   ai_overview_shown: false   top_domain: "visitors.now"
keyword: "cookieless analytics"
  rank: null ("not in the top 10")   our_url: null
  ai_overview_shown: true   ai_overview_cites_us: true   top_domain: "ruleranalytics.com"
keyword: "gdpr compliant analytics"
  rank: null ("not in the top 10")
  ai_overview_shown: true   ai_overview_cites_us: true   top_domain: "trustarc.com"

search_visibility_get { view: "aio_impact" }
message: "Search Console is not connected; ask the user to add
  linkeddit-search-console to their property"

What does a Notion SEO tracker usually record, and what is missing?

The top results for this query are Notion templates. The best known, an SEO Tracker by mrpugo, offers status views, a search intent view and rank tracking that shows keyword positions over time. It replaces spreadsheets with one workspace. It does not say where the rank values come from, so in practice you type them in.

The template's description does not mention the AI Overview. For a keyword, Google may now show an AI Overview above the ten blue links, and it may cite you or not. That is a separate fact from your rank. The tracker should store it as its own property.

Linkeddit's Search product records both on a weekly check: the rank, and whether an AI Overview was shown and whether it cited the project's domain. Claude can then fill the properties without anyone checking Google by hand.

Why can an AI Overview cite you when you are not in the top 10?

Because citing and ranking are different measurements. On the test project, the keyword cookieless analytics returned a rank of null, meaning the domain was not in the top 10, yet the AI Overview Google showed listed the domain as a source. The same held for gdpr compliant analytics. A tracker that records only the position would call both keywords a loss.

The reverse also happens. For privacy friendly analytics, the domain ranked 3 and Google showed no AI Overview at all. For google analytics alternative it ranked 2, an Overview appeared and it cited the domain too. Four keywords, four different combinations of rank and Overview, which is the argument for separate columns.

Read the top domain too. Whoever holds position 1 is who you are chasing, and the Notion row lets you filter by it, for example to see which keywords a given competitor owns.

How should a tracker treat a null rank and a first check?

A null rank is a result. In Linkeddit it means the domain was not in the top 10 on the checked page, not that the check failed. Map it to a select option such as not in top 10, never to a blank cell that looks like missing data. Tell Claude so in the prompt, as the one above does.

A first check has no change value. The live rows carry change_text of first check and a null change, because there is no earlier check to subtract from. The change is previous rank minus latest rank, so a positive number means the keyword moved up. It is also null when either check was outside the top 10, so do not turn it into zero.

Write a new row each week and leave old rows alone. Ask for view=history on keywords that moved, which returns the series over the last weeks, so Claude can add the earlier ranks to the page instead of you rebuilding them.

Can the tracker show whether AI Overviews cost me clicks?

Only with Search Console connected. The aio_impact view splits your keywords into those with and without an AI Overview and compares Search Console clicks before and after. On the test project it returned a message that Search Console is not connected, and Claude should relay that rather than guess.

Connect Search Console in Linkeddit and ask for the view with before and after windows, which default to 28 days each. The reply returns both groups, a verdict with its version and caveats. Store the verdict and the date in a single Notion page, since it describes a period rather than a keyword.

Until then the tracker still answers the useful question: for which keywords does Google show an Overview, and does it name you.

With 25 keywords tracked on the test project, a weekly row each is 25 pages a week. Ask Claude to write only keywords that changed rank or Overview status when your database grows large, and keep the full list in the first check as the baseline.

More with Notion

Frequently asked questions

How do I set up an SEO tracker in Notion?+

Create a Notion database with one row per keyword per check date, with properties for rank, change, ranking URL, AI Overview shown, AI Overview cites you, top domain and date. Then have Claude fill it from Linkeddit's weekly rank checks through the Notion connector, so you are not typing positions by hand.

What is the best tool for a Notion SEO tracker?+

Linkeddit, at $60 a month, for the data. Search checks your tracked keywords on Google every week and records the rank, whether an AI Overview appeared and whether it cited your domain. Claude writes each check into your Notion database through the Notion connector, so the history builds itself.

Is there a free Notion SEO tracker template?+

Yes. Notion's gallery lists several free SEO tracker templates, including one with status views, search intent and rank tracking. They give you the structure, and you enter ranks yourself. Keep the template layout and add AI Overview columns, then fill them from Linkeddit's measured checks.

Can Notion track AI Overviews?+

Notion stores whatever you give it, but it does not check Google. Linkeddit records, per keyword and week, whether Google showed an AI Overview and whether it cited your domain. Claude then writes those flags into your Notion tracker as separate properties from the rank.

What does a null rank mean in Linkeddit?+

It means your domain was not in the top 10 on the checked Google results page. That is a result, not a failed check. In your Notion tracker, store it as a not in top 10 option rather than leaving the cell blank, so it does not read as missing data.

Does Linkeddit write to my Notion tracker?+

No. Linkeddit supplies the rank data and writes nothing to Notion. Claude writes through the Notion connector, which acts only on content you can access, and you approve the rows before they are created. Workspace owners can manage which clients may connect under Settings, then Notion MCP.

Sources

Bring Linkeddit into your AI client

Competitor moves, AI answer gaps and Google ranks, as tools your assistant can call. One plan, $60 a month.