Your repo is not the asset. Your sitemap is.
Code became free. Indexed pages and citations did not. What buyers are actually paying for.

Building the product used to be most of the cost of a small internet business. It is now close to none of it. That should have repriced every listing on every marketplace, and mostly it has not, because buyers are still running valuation models built for a world where code was expensive.
The gap between those two facts is where the money is.
Here is the uncomfortable version. If a competent operator with an agent can rebuild your product in a weekend, your product is worth roughly a weekend. Not zero, but close enough to zero that it should not be the headline of your listing. What they cannot rebuild in a weekend is the reason anyone shows up.
Cost collapsed on one side of the business only
Two things have to happen for a small internet business to make money. Something has to exist, and people have to arrive at it. Only the first one got cheap.
The second one is still bounded by things that take real time to accumulate. A domain has to age. Pages have to get indexed and then hold their position through a few algorithm updates. Other sites have to link to you, which mostly happens because someone found you useful, which requires having been findable first. Payment processors have to build up enough history to stop holding your funds. An integration has to get approved by whoever runs the marketplace you plug into.
None of that responds to being worked on harder. You cannot buy 18 months of domain age. You cannot ship your way to a Stripe account that has processed $200,000 without incident. These are clocks, not tasks, and a clock is the only thing left in this business that money genuinely cannot compress.
Code became free. Indexed pages did not.
The sitemap is the balance sheet
Open the listing you are considering and go straight to the sitemap. Not the repo, not the demo, not the founder's deck. The sitemap tells you how many pages exist. Search Console tells you how many are indexed, which is a much smaller number, and how many actually receive impressions, which is smaller again.
That last number is the asset. Everything else is a claim about the asset.
A site with 4,000 pages, 3,100 indexed, and 900 receiving impressions in the last 28 days has something real. A site with 4,000 pages and 60 indexed has a content generation script and a hosting bill. Those two look identical in a listing and they are not remotely the same purchase.
The same logic now extends to language models. When an assistant answers a question and cites a source, that citation behaves like the referral traffic search used to send, and it accrues to the same slow-moving properties: age, links, being the page that actually answered the question. A business that gets cited by default in its niche has something a competitor cannot buy this quarter.
What the arithmetic does to a price
Take a business doing $1,400 a month, listed at 30x monthly, so $42,000. The listing leads with the stack.
Split it into what a buyer is actually acquiring:
| Component | Replacement cost | Replacement time |
|---|---|---|
| The application | Roughly a weekend | 2 to 5 days |
| Design and copy | A few hundred dollars | 2 days |
| 3,100 indexed pages ranking | Not purchasable | 12 to 24 months |
| Payment history and processor trust | Not purchasable | 6 to 12 months |
The top half of that table is a weekend and a few hundred dollars. The bottom half is somewhere between one and two years of elapsed time during which the business earns nothing and might fail. Price the $42,000 against the bottom half, because the top half is not what you are short of.
Run it the other way and the same table tells you when to walk. If the indexed page count is thin and the revenue comes from one paid channel the seller controls, then almost the whole business is in the top half of the table. You are being asked to pay 30x monthly for a weekend of work and an ad account. Rebuild it instead. That is not a threat you make to negotiate, it is genuinely the better trade.
Sellers are describing the wrong half
Most listings for businesses of this size read like a job application from the founder. The framework, the architecture, the clever thing they did with the caching layer. All of it is now the cheapest part of what they own, and describing it in detail signals that they have not noticed.
If you are selling, lead with the clocks. Domain registered in 2021. 3,100 pages indexed, 900 with impressions in the last 28 days, screenshots straight from Search Console. Stripe account with four years of history and no rolling reserve. The Shopify app approved in 2023, when approval was easier to get than it is now.
Every one of those is a statement about time that a buyer cannot compress with money. That is the entire pitch. The product is the delivery mechanism.
The one thing that breaks this
Traffic that a buyer cannot keep is not an asset either, and this is where the argument gets abused.
Indexed pages ranking on borrowed authority, a domain that outranks its content because of links pointing at something the site no longer does, or rankings held up by a single expiring partnership, all show up in Search Console looking exactly like the real thing. They decay on a schedule the seller knows and you do not.
So the test is not whether the traffic exists. It is whether it survives the ownership change and the next two algorithm updates. Ask for 24 months of history rather than 12. A business whose impressions have been flat or climbing for two years through several updates is showing you something durable. One that spiked nine months ago and has been drifting down since is selling you the top of a curve.
Buy the clocks. Check that they are still running.