Source: https://seerepo.com/docs/pages
Markdown source: https://seerepo.com/docs/pages.md
Description: Your product screen by screen: what each one does and who sees it, what they're missing to be ready, how Google and AI find you and how much each one is seen, with the proof of each thing and the prompt to fix it.

# Pages

Pages, folder 3 in the dock, is your product screen by screen. First, which screens it has, what each one does and who sees it; then, what they're missing, how they find you and how much they're seen. SeeRepo reads it from your code and, if your project has an address, from your published site, and each thing comes with the file and line that prove it. On the left, its four sections: **Screens**, **Fixes**, **Visibility** and **Visits**. The address keeps which one you're in, so back, reloading and sending the link work. On a phone, the menu unfolds in place. The house in the path at the top takes you back to your project.

![Pages on a repo: on the left its four sections; on the right, how many screens it has and who sees them, its search box, and each one with its name and what it does, by module](/media/docs/pages.jpg)

In your project, the Pages cover says it in one line, like «152 screens · 30 ready · 45 of 45 findable»: how many screens, how many are ready and how many Google can find, the same figures as each section.

## What's new since your visit

Under the title, one line says how many screens were born and how many changed since your last visit. If nothing happened, it doesn't show. Only the owner and their members see it, each from their own visit.

## Screens

On top, one sentence with how many screens your product has and who sees each one, like «Karrito has 152 screens: anyone sees 56, whoever signs in 92, the account's owner 3 and 1 with a link». Below, a block per who sees them and inside, by module, the same ones [Structure](/docs/worlds-and-parts) and the [Wiki](/docs/wiki) count. Last, **Outside the modules**: the ones that fall in none.

Each row says the screen's name and what it does, in one sentence, and a small dot with its state: green, ready; light yellow, missing one thing; yellow, missing several; grey, not checked yet. Over the list, a legend names the dots it has, and a screen reader reads each row's. What it's missing is in **Fixes**. Each module shows its first six, and **See N more** opens the others right there. With more than twelve screens there is a search field over the list: by name, by address or by what it does, ignoring accents and case; it says how many are left («7 of 152») and shows each module whole. If two screens share a name, each one says its address beside it. What only redirects to another address doesn't count as a screen. A page that only takes you somewhere else, after a check or painting nothing but its error, does count, and its row says where: «Takes you to /register», or «Takes you somewhere else» when the destination isn't a route of your app; its sheet links the line that does it. Tap a row to open its sheet.

## Fixes

On top, the ring: how many are ready, like «30 of 152 ready». A screen is ready when it says something while it loads, when it's empty, if it fails and on a phone. Below, **Where to start**: the fix that covers the most screens at once, like «68 screens are missing what to say when they're empty», with its button, which says how far it reaches («Copy for all 68»): one prompt for all of them. Then the other fixes, from the one that covers the most to the least, each with its own. Once DataFast is read, each fix also says how many of your most seen screens it covers, like «Among them, 3 of your 10 most seen»; the order doesn't change for it. Tap one to see its screens.

If something got fixed since the last time you looked at Fixes, a line on top says so, once: what got fixed and on how many screens, like “Loading screen” on 45 screens. It only counts what SeeRepo read again and found right, and it's this browser that remembers: in another one, or in a private window, it doesn't show.

## The chart

In **Fixes**, your last 30 days. The line is the things your screens are missing each day: while loading, empty, on error and on a phone. One screen can be missing several, which is why the figure isn't the ring's, which counts screens. Move the pointer, tap a day or use the arrow keys to see what happened that day, and the most important things are written below, with their date. When you push something, that's where you see what it fixed and what it left. **Share** also has **The image of its pages**, with how many are ready and their speed.

**When SeeRepo changes how it checks, the line cuts and says so:** that jump isn't your work. A day with no read keeps the last value: no changes, nothing changed.

## Visibility

How Google, AI assistants and whoever opens your link find you. On top, the ring: of your public screens that want to be on Google, how many can, like «45 of 45 ready for Google to find». It only takes off what stops it. That is what your code says: whether Google already has them is for Search Console to say, and once it is connected the ring counts it underneath («Google checked 45 and already has 44») and only turns green when Google misses none of the ones it checked. The ones you hid on purpose, like the sign-in or a demo, count on neither side: hiding them is your call, and they go last, folded, in **Hidden on purpose**. Below:

- **Where to start**: what stops Google from finding any of them, if there's something, with its prompt.
- **Four doors**, one for each way you are found: **Google, by your code**, **When shared**, **AIs, by your code** and **Speed**, this one with its date. Each carries its figure on the same line. The one with something to improve comes open; the rest, if they hold anything, open when you tap them. Tap a fix in any of them to see its screens right there.
- **Inside Google**: what doesn't stop it but helps, like «Isn't in the sitemap» or «No structured data (JSON-LD)», each with how many screens and its button to copy («Copy for all 9»); **the site's files** (robots.txt, a sitemap and llms.txt), with **Where this comes from**, which unfolds each rule with its file and line; and **Search Console**, for the owner only, with **Connect** if it isn't yet. Once it has numbers, **The ones that bring you people** and **Not on Google** go under the door.
- **Inside When shared**: what can be better on the card that shows when your link is pasted, like its image.
- **Inside AIs**: what can be better for them, and whether the AIs that train get in, with «your call» beside it.
- **Inside Speed**: each page measured, with its score.

What it checks on each screen, what SeeRepo reads from your published site and the Google numbers are explained in [Pages outside](/docs/visibility).

## Visits

How much each screen is seen, with DataFast. A visit is one person on one screen in one day: if someone reloads five times, it counts once. On top, the visits of 30 days and the screen that brings the most; the curve, day by day; and each screen with its bar, the first ten and **See N more**. Each row also says what its screen is missing, like «missing: loading and empty», and over the list goes how many of the ten most viewed aren't ready, with **Copy for those 4**: one prompt for them, from the most viewed down. What reaches addresses that aren't screens in your code, like the ones a bot tries, goes apart in **Other routes**, folded. The screens nobody opened in those 30 days go in **No visits**, folded too, each with its module. With more than ten screens seen, the sentence on top also says how much of all the visits the top ten take.

The section shows if your code uses DataFast. Before you connect it, it shows how it will look, with an example, and **Connect**; if your plan doesn't bring it, **See plans**. While SeeRepo can't read it yet, it says **Soon**. Connected and not read, it says the first read arrives within a day.

## A screen's sheet

Tap a row and its sheet rises. On top, where you are in the list, like «4 of 152», its module, its name, its address and what it does. ← and → go to the next one in the order the list reads, and Escape closes it. Below, from understanding to fixing (on a phone, **What it's missing** goes first):

- **What it is**: on a public screen, its views. **Screen** is its capture or the image it shares, and it shows only when there is one: without an image the sheet draws nothing in its place, and a private screen opens on **Who sees it**. **On Google**, how the search engine would show it with its texts; **When shared**, the card that shows when its link is pasted; and **For AI assistants**, what an assistant can read. **Open the page** opens it on your site, and **See where it is** opens its sheet in Structure.
- **Who sees it**, with the line of code that proves it when SeeRepo found one.
- **How much it's seen**, once DataFast is read: its visits in 30 days and its place among the screens that had any, or that it had none. Without DataFast it isn't there.
- **What it uses and who changed it**: the data it reads, its last change and on how many of the last 90 days a commit touched it, with its grid from three days on, and who.
- **What it's missing**: one list, with what it lacks inside and what's wrong for Google, when shared or for AI assistants, each thing with its proof, which opens on GitHub. At the end, the button that copies its prompt, which says how many things it carries when there are several («Copy prompt · 3 things»). If it's missing nothing, it says so.
- **How it gets found**, only if it's public: what's right, folded under its count, its speed, and its Search Console numbers when there are some.

## The captures

Once a day, when SeeRepo reads your published site, it keeps how each screen it measures looks on a phone. The capture comes from the same PageSpeed measurement: Google takes it when it measures the speed, and SeeRepo doesn't open your page again. Only public pages that answer as themselves get one, because a page that redirects would show another. It lasts until the next day's reading, which replaces it, and only you and your members see it. Whoever visits a public map doesn't see them.

## Fix one with your agent

1. Copy the prompt: each fix's button, like «Copy for all 68», in Fixes or in Visibility, for several screens at once, or **Copy prompt for your agent** in a screen's sheet.
2. Paste it into Claude Code, Codex, Cursor or your app builder's chat.

A screen's prompt says which screen it is, its route and its file, what it's missing and the proof of each thing. For example:

```text
Page: Dashboard
Project: your-name/your-repo
Route: /dashboard
File: app/dashboard/page.tsx

Known problems

- Loading: a skeleton of its content while it loads (a `loading.tsx` beside it, or Suspense around what waits).
- Empty: when the list it shows has nothing, say so and point to the first action.

Inside evidence:
- Loading: missing · There's no loading.tsx in its folder or above, and no Suspense on the page
- Empty: missing · It goes through a list and says nothing when it's empty · app/dashboard/page.tsx:42

Do not treat optional improvements or privacy decisions as failures.

Check affected states and preserve intentional access restrictions. After the change, read the code again and, when applicable, the published site. State what you verified and what remains unchecked. One capture does not verify every state.
```

## Who sees what

- **You, the owner**: everything, and **Connect** on each source that isn't connected yet.
- **Your members**: the same, and they copy the prompts. The owner makes the connections.
- **On the free plan**: your screens, their address and who sees them, and how many are missing something. What each one does, its state, Fixes, Visibility and Visits come with a plan. A repo read at its first level only says how many screens it has, with its lock.
- **Whoever visits a [public map](/docs/public-map-and-sharing)**: your screens by module, without saying who gets into each one; in Fixes, what they're missing and on how many, without anything about who gets in; and in Visibility what Google finds, without what can be better and without captures. They don't see prompts, your Google numbers or your visits. Fixes and a screen's sheet tell them «Do this with your repo», with its button.

## What it reads

The states, for now in Next.js. On other stacks you see your pages, who gets in and what they do, and their states come later. The outside is read in Next.js (App Router and Pages Router) and in static HTML.
