Every lesson on my site has a video. The video lives on YouTube, and the page describes it to search engines: title, duration, thumbnail, where it can be watched. Standard stuff.
A few days ago Google told me that 31 of those videos hadn’t been indexed, and gave me a reason:
The video is not on a watch page.
I read that and thought: fair enough, and I know exactly why.
Because it’s true — my pages don’t have a video player on them. Deliberately. What they have is a picture of the video that links out to YouTube, which means my site loads nothing from Google, sets no third-party cookies, and needs no consent banner. That’s a choice I made on purpose and I like it.
So the story wrote itself. Google wants the video playable on the page, my pages don’t play it, 31 got rejected. Case closed, and the fix would be to put a real player on the page and give up the thing I care about.
I nearly stopped there. Then I noticed the number, and the number doesn’t work.
146 pages. Every single one of them has no player. 115 of them were indexed anyway.
If the missing player were the reason, it would fail all 146. It failed 31. Whatever’s happening, the reason I was given is not the reason.
The short version
- Google rejected 31 videos with the reason “the video is not on a watch page”. That reason perfectly matched something I knew was true about my pages — which is what made it so easy to accept.
- But 146 pages are built exactly the same way, and 115 were indexed. The stated cause can’t be the cause. It doesn’t distinguish anything.
- So I compared the 31 against the 115 on every attribute I could actually measure — thumbnail source, duration, both video URLs, cover image, page size, where the video sits in the page, number of chapters. They matched on all of them. There is no measurable difference.
- The real pattern was somewhere I hadn’t looked. Each of my 73 videos sits on two pages — English and Italian — both naming the same YouTube video.
- 21 times, Google indexed one twin and rejected the other. English won 14, Italian won 7. Same video, same markup, opposite verdicts. 47 pairs have both indexed. 5 have both rejected.
- My explanation: Google picks one page per video as the watch page, and the loser gets told it isn’t one. I’m calling this a hypothesis, not a finding — and further down I say exactly what would prove me wrong, and when I’ll check.
- What I’m changing: nothing. And that’s the point of the whole exercise.
The trap was that the reason was plausible
I want to sit on this for a second, because it’s the part I’d want someone to tell me.
The reason Google gave me was correct about my site. My pages genuinely do not have a video player. If you’d asked me to guess why a search engine might not index my videos, “there’s no player on the page” is the first thing I’d have said, before being told anything.
That’s what made it dangerous. A wrong explanation that contradicts something you know gets rejected immediately — you notice the friction. A wrong explanation that confirms something you already believe goes straight through. There’s no friction to notice. It just feels like being told what you expected.
And the number that disproves it was on screen the whole time, one line above the one I was reading.
The reason says my pages fail because they have no player. If that were true, it would have to be true of all of them — they are built by the same template and not one of the 146 has a player. So the count of pages that got indexed anyway should have been zero. It was 115.
I didn’t have to go and find that. It was in the same report, in the same view, and I read straight past it — because I wasn’t examining the explanation, I was nodding along to it.
So here’s the habit I’d extract, and it’s not “be sceptical,” which is useless advice:
Before you accept a reason for a failure, check whether it also describes the things that didn’t fail. If it does, it’s not the reason. It might be true, it just isn’t what separated the two groups. A cause has to distinguish.
What I actually did
Mechanical and boring, which is usually a good sign.
Google gave me the list of the 31 rejected pages, so I had names. I already had the finished site on disk — every page, built. So I wrote a small script that took all 146 pages with a video, marked which ones were in the rejected list, and printed a comparison of every attribute I could pull out of the page.
Thumbnail host and filename. Duration. The embed URL. The video URL. Whether a locally-hosted cover image was present. Page size in bytes. How far down the page the video sits, as a percentage. How many chapter links the page has.
The answer came back as a wall of matched pairs:
-- thumbnail -- FAIL: {maxresdefault.jpg: 31} PASS: {maxresdefault.jpg: 115}
-- embed url -- FAIL: {yes: 31} PASS: {yes: 115}
-- cover image -- FAIL: {local: 31} PASS: {local: 115}
-- avg page bytes -- FAIL: 40569 PASS: 41393
Identical. Every attribute. The rejected pages are not a different kind of page.
Which is genuinely useful information, even though it’s a negative result. It rules out my whole first theory, it rules out “some pages are missing a duration”, it rules out “some thumbnails are the wrong size”. And it means the thing distinguishing them isn’t a property of the page at all — so I should stop looking at pages.
That’s when I looked at videos instead.
One video, two pages
My site is bilingual. Every lesson exists in English and in Italian, at two different addresses. And both of those pages describe the same YouTube video — because there is only one video. It’s in English; the Italian page translates the writing around it.
So I regrouped the data: not 146 pages, but 73 videos, each appearing on two pages. And the pattern showed up immediately.
| videos | |
|---|---|
| both twins indexed | 47 |
| one twin indexed, the other rejected | 21 |
| both twins rejected | 5 |
Twenty-one times, Google looked at two pages carrying the same video with the same description, indexed one, and told the other that its video “is not on a watch page.”
English won 14 of those. Italian won 7.
That’s the finding, and it’s solid, because it’s just counting. Whatever decided those 21 cases, it cannot have been a property of the page — the pages are the same. And it cannot have been the missing player, because both twins are missing it equally.
My explanation, clearly labelled as a guess
Here’s what I think is happening. I want to be careful about how I say it, because this is the point where an article like this usually starts sounding more certain than it earned.
I think Google indexes one watch page per video. One video, one place it considers home. When the same video turns up declared on two addresses, it picks one of them and tells the other that its video isn’t on a watch page.
And read from Google’s side, that sentence is almost fair. It has already decided where that video lives, and this page isn’t the place. The trouble is how it lands on my end: it sounds like a verdict on the page I’m looking at — something about this page is wrong — when it’s really a note about a decision made somewhere else, between this page and its twin. Nothing on the rejected page needs fixing. It just lost.
Three things make me believe it: the arbitrariness of which twin wins, the lean toward English (which makes sense — the video is in English, so the English page is the better match), and the fact that the number has sat perfectly still at 31 for a week rather than drifting.
Now the honest part. I have not confirmed this. I don’t have a statement from Google saying so, I haven’t run an experiment, and I can’t see inside the decision. What I have is a pattern in 31 rows and an explanation that fits it. That’s a hypothesis. Fitting the data is the minimum requirement for an idea, not evidence that it’s right — and I’ve published enough confidently-wrong numbers this year to have learned the difference.
So let me do the thing that makes a hypothesis worth publishing, which is to say what would kill it.
If I’m right, the 47 pairs that currently have both twins indexed haven’t been reconciled yet. Over the coming weeks some of them should start losing a twin, and the count should climb above 31.
If I’m wrong, the number stays at 31 and those 47 pairs stay intact indefinitely. That would mean something specific to those 31 pages made the difference after all — something I failed to measure — and I’d have to go find it.
I’m checking on 2026-08-28, when I take my next round of measurements anyway. Whichever way it goes, I’ll say so. If it goes against me, that’s the more interesting article of the two.
What I’m changing: nothing
This is the part that would have surprised me before I did the counting.
The obvious move is to put a real player on the page. It would probably satisfy the requirement as literally stated. It would also cost me the thing I actually value about these pages — that they load nothing from anyone else, track nobody, and need no cookie banner — and I have a build check that deliberately fails if an embedded frame ever appears, precisely so this decision can’t be made by accident on a tired afternoon.
Before the counting, I’d have called that a trade-off: privacy on one side, 31 video listings on the other, pick one.
It isn’t a trade-off, and that’s what the analysis bought me. If the cause is one-watch-page-per-video, adding a player to both pages doesn’t resolve which one wins. I’d pay the entire price and still have roughly 31 rejections, because the thing being decided isn’t “does this page have a player”, it’s “which of these two pages is the video’s home”. I’d have broken something I care about to fix something that wasn’t the problem.
And there’s a bigger frame I nearly missed. A video verdict is not a page verdict. Those lesson pages are indexed as pages — they show up in search, they get read, they do their job. What I lost is a video listing for the losing twin of a video that is already on YouTube, where it’s hosted and where people find it. Written out like that, the cost is close to zero, and the correct response to the report is to understand it and move on.
Which is a genuinely uncomfortable conclusion to reach, because “31 things are failing” produces an itch, and the resolution here is to not scratch it. The report isn’t wrong to tell me. I was wrong to assume that everything it tells me is a defect I’m supposed to fix.
Three things I’d take from this
A cause has to distinguish. If the explanation you’ve been handed is equally true of the cases that succeeded, it isn’t the explanation. This is a ten-second check and it dismantled my first theory completely.
Compare the failures to the successes, not to your expectations. I couldn’t have reasoned my way to this. I had to line up 31 against 115 and look at both. When the two groups came back identical, that told me to stop looking at pages — which was worth more than any of the individual attributes I’d measured.
A negative result is a result. “There is no measurable difference between these two groups” felt like a wasted afternoon while I was writing the script. It turned out to be the most useful thing the whole exercise produced, because it’s what moved me from looking at pages to looking at videos — and the pattern was sitting there waiting.
And say when you’re guessing. I’ve got an explanation I believe, a reason I believe it, and no proof. Writing that down with a date attached costs me nothing and means you can hold me to it — which is roughly the point of writing any of this down.
The things this article is about
There are two companion pieces, and between them they make a set. One is about my own instruments telling me everything was fine when it wasn’t: Every check passed. A lot of it was broken. → The other is from the same week as this one, and it’s about a defect with no symptom at all — the tag that pairs my English and Italian homepages had never worked: Nothing was broken →
This one completes the shape, I think. That one was my tools misleading me. This one was somebody else’s diagnosis, arriving with authority, describing my site accurately, and still not being the reason.
If you take one thing from this: when you’re told why something failed, go check that the explanation isn’t also true of everything that worked.
Have an awesome journey,
Francesco