YouTube Captions On by Default

Every YouTube embed we ship turns captions on in the player. Long-form and podcast episodes are why. Use the privacy-enhanced host, keep related videos on-channel, and add cc_load_policy=1 plus a language. If YouTube has no caption track, do not invent one. Player captions are for the viewer. They are not the transcript you quote from.

The one string

After a visitor clicks play:

https://www.youtube-nocookie.com/embed/VIDEO_ID?autoplay=1&rel=0&cc_load_policy=1&cc_lang_pref=en

On the poster, in schema, or anywhere you must not autoplay:

https://www.youtube-nocookie.com/embed/VIDEO_ID?rel=0&cc_load_policy=1&cc_lang_pref=en

That is the whole rule. WordPress oEmbed, Gutenberg, Elementor, ChatGPT Sites, and a hand-written iframe all use the same query string. A mu-plugin can add the two caption parameters to existing embeds so nobody has to re-save a hundred posts.

Why this is standing

Home-service interviews and podcasts run long. The article is the hub; the player is how a reader checks the source without leaving the page. Captions on means a muted laptop, a noisy shop, and a screen reader user all get the words. YouTube already stores the track when the creator (or auto-captions, when YouTube will actually show them) uploaded it. We are not writing subtitles. We are asking the player to show what is already there.

This sits under the Content Factory line: Process the real recording, Post the hub, keep provenance on the page. It does not replace a complete caption file when you are quoting. If the factory cannot fetch a complete English track, it does not invent quotes and it does not treat a silent player as proof.

What you do not do

  • Do not autoplay with sound on first paint. Click first, then autoplay=1.
  • Do not paste a <track> or a VTT you wrote to “help.” If YouTube has no captions, the CC button stays empty.
  • Do not use undocumented player API calls to force auto-generated-only tracks across the fleet. cc_load_policy=1 shows authored captions. Auto-generated-only often stays off. That is a YouTube limit.
  • Do not fork a second master. This URL is the public rule. The skill name is youtube-captions-on-by-default.

Where it is wired

Jim Klauck’s on-page player (Check A Pro long-form) uses a click-to-play facade and the same query string in the iframe and in VideoObject embedUrl. Fleet WordPress sites get a must-use plugin that rewrites iframe src on output. New HTML you write still includes the parameters so the filter is a backstop, not the only copy of the rule.

YouTube’s own docs: player parameters (cc_load_policy, cc_lang_pref). Directory: canonical directory.

Dennis Yu
Dennis Yu
Dennis Yu is the CEO of Local Service Spotlight, a platform that amplifies the reputations of contractors and local service businesses using the Content Factory process. He is a former search engine engineer who has spent a billion dollars on Google and Facebook ads for Nike, Quiznos, Ashley Furniture, Red Bull, State Farm, and other brands. Dennis has achieved 25% of his goal of creating a million digital marketing jobs by partnering with universities, professional organizations, and agencies. Through Local Service Spotlight, he teaches the Dollar a Day strategy and Content Factory training to help local service businesses enhance their existing local reputation and make the phone ring. Dennis coaches young adult agency owners serving plumbers, AC technicians, landscapers, roofers, electricians, and believes there should be a standard in measuring local marketing efforts, much like doctors and plumbers must be certified. He has appeared on 353 podcasts with 619 credited episodes — see the full list of his podcast appearances.