Description
YouTube to Article turns videos into SEO-ready posts for your WordPress site. In the post editor sidebar you paste a YouTube link and get a draft post ready to edit. Or you add a YouTube channel and each new video becomes a draft or a published post on its own. Each post comes with an SEO title, a meta description and a focus keyphrase already filled in.
It is for sites that publish from a YouTube channel, news and commentary sites that cover videos, and anyone who wants each video as its own indexable post that search engines and AI assistants can cite.
How it works
- Install and activate, then try three articles under 2 hours with no account or sign in with Google for a free key.
- Paste a YouTube link in the post editor sidebar and click Generate article to create a draft.
- Review the draft and edit what you want before you publish. A watched channel can create posts on its schedule as draft or publish.
What lands in the post
- SEO fields: Each article gets an SEO title, a meta description and one focus keyphrase written into Yoast SEO or Rank Math when active. Generated posts also get tags to help organize new articles in WordPress.
- The video: The source video can be pinned at the top. A setting shows the video in place of the featured image and social shares still use the YouTube thumbnail.
- Takeaways and FAQ: Optional key takeaways can sit after the video. An optional FAQ can sit at the end of the post and prints FAQPage JSON-LD while that FAQ block is in the content.
- Schema: Every generated post prints VideoObject JSON-LD for the source video. Without Yoast or Rank Math it also prints BlogPosting and BreadcrumbList JSON-LD and the meta description.
- Video analytics: The embedded player sends Google Analytics 4 events video_start, video_progress at 10, 25, 50 and 75 percent, and video_complete when gtag or a dataLayer is on the site. With WP Consent API active, events wait for consent.
- Voice and length: Voice: Dynamic matches the speaker in the video, Neutral, Analytical, Conversational. Length: Dynamic as long as the video needs, Short about 500 words, Medium about 800 words, Long about 1,200 words. Extra rules go in a writing prompt you can edit.
Internal links that use your Search Console data
After the draft is written, a linking pass adds 1 to 4 links to your own published posts and tag pages and Dynamic picks the number from the article length. Connect Search Console and the choice favours posts that already get search traffic using queries, clicks, impressions and position. You can also list pages to always consider, so links point at the pages you want to strengthen.
Channel watch
Add a YouTube channel URL with a check interval: every 30 minutes, every hour, every 3 hours, every 6 hours or every day. Set each channel to draft or publish with a default author and category for new posts. In draft mode an email or Telegram message brings a publish link and a skip link for decisions on your phone. The skip link can trash the draft when you do not want it. Channel watch requires paid Pro Mini on StartupHub.AI at $5 a month.
Plans
- Trial: You get three trial articles with no account. Each video must be under 2 hours.
- Free key: Sign in with Google to save a free key in settings. It covers a small number of generations from the post editor.
- Pro Mini: Costs $5 a month on StartupHub.AI. It adds more articles with channel watch.
Setup and support
Docs at startuphub.ai/youtube-to-article. Free support via the WordPress.org forums. Pro questions via StartupHub.AI.
From the same team: TV for YouTube shows your channel as a full-screen TV on your site.
YouTube is a trademark of Google LLC. This plugin is not affiliated with or endorsed by YouTube.
External services
StartupHub.AI (required to generate and to watch channels). This plugin sends requests from your WordPress server to:
https://www.startuphub.ai/api/v1/youtube-to-article/generate
https://www.startuphub.ai/api/v1/youtube-to-article/internal-links
https://www.startuphub.ai/api/v1/wp-writer/sites
https://www.startuphub.ai/api/v1/wp-writer/sources
https://www.startuphub.ai/api/v1/wp-writer/jobs
https://www.startuphub.ai/api/v1/wp-writer/jobs/ready
https://www.startuphub.ai/api/v1/wp-writer/telegram/start
https://www.startuphub.ai/api/v1/youtube-to-article/gsc
https://www.startuphub.ai/api/v1/youtube-to-article/gsc/start
https://www.startuphub.ai/api/v1/youtube-to-article/gsc/rows
https://www.startuphub.ai/api/v1/wp-plugin/trial
https://www.startuphub.ai/api/v1/wp-plugin/handshake
https://www.startuphub.ai/api/v1/wp-plugin/handshake/{id}/claim
Try 3 articles free and Sign in with Google only run when you click those buttons. Trial sends this site’s URL. Sign in with Google (and Unlock channels) sends this site’s URL and a return URL under wp-admin, opens startuphub.ai to sign in and, if you choose, pick a plan, then brings you back to the settings screen, where the plugin fetches the key for this site once.
The generate request includes your API key (as a Bearer token), the YouTube URL you pasted, your writing prompt, and whether to pin the video. A first call asks for a transcript. A second call sends that transcript plus the video title and channel name so the service can write the article. A third call sends the draft HTML plus ranked candidate URLs from this site (published articles, tag archives, and any extra URLs you listed) so the service can insert internal links. That third call does not write a new article. If it fails, the draft stays unlinked. Nothing is sent until you click Generate.
When you save settings or add a channel, the plugin sends your site URL, inbound secret, notify email, default author and category, and the YouTube URL you entered so the service can register the site and watch that channel. It also asks for recent job status and any drafts that did not arrive, then creates those posts locally. Telegram start only runs if you click Link Telegram. The channel list may load a small icon from youtube.com or Google’s favicon service so you can tell channels apart. That request happens in your browser on the settings page only. The Recent articles list loads each video’s thumbnail from i.ytimg.com (YouTube) in the same way.
Connect Search Console only runs if you click that button. The plugin sends your site URL and a return URL under wp-admin, then Google asks you to approve read-only Search Console access. StartupHub.AI stores the token for that API key and later fetches query and page rows to rank internal links. Disconnect removes that token.
StartupHub.AI may push a finished article to this site at:
/wp-json/afyt/v1/inbound
That request is signed with the inbound secret stored in settings.
If Search Console is not connected here, and Site Kit by Google or Rank Math already stored Search Console data on this site, those local analytics can still be used to rank internal links.
On generated posts that pin the YouTube video, visitors load the YouTube IFrame API so play progress can be sent to Google Analytics on this site:
https://www.youtube.com/iframe_api
That script only loads on those posts. No video data is sent to StartupHub.AI from this script.
The settings page has an optional link to steem.dev. Nothing is sent until you click it.
- Service: https://www.startuphub.ai
- Terms: https://www.startuphub.ai/terms
- Privacy: https://www.startuphub.ai/privacy
Screenshots






Installation
- Install from Plugins Add New, or upload the plugin and activate it.
- Open settings and click Try 3 articles free or Sign in with Google, or paste a key.
- Paste a YouTube URL in settings and click Generate article, or do the same in a post.
- Set voice and length, or edit the writing prompt.
- Optional, on a paid key: add a channel and choose how often to check it.
- Optional: Connect Search Console so internal-link ranking can use queries and clicks.
FAQ
-
Do I need a StartupHub.AI account?
-
Trial is three articles, each video under 2 hours, with no account; Google signup saves a free key in settings.
-
Will it publish without me?
-
Not from the editor. Generate inserts a draft for you to review. Channel watch can auto-publish only if you turn that on for that channel.
-
What does the free plan include?
-
A small number of editor generations. Channel watch and higher limits need Pro Mini or higher on StartupHub.AI.
-
Does it send data off the site?
-
Yes, when you click Try 1 article, Sign in with Google, Generate, Connect Search Console, save channel settings, or when StartupHub.AI pushes a finished article. See External services.
-
Does it watch a playlist?
-
No. Channel watch uses a channel URL. Playlists are not watched.
-
How often are channel feeds checked?
-
You pick per channel: every 30 minutes, every hour, every 3 hours, every 6 hours, or every day. StartupHub.AI looks at due channels about every 10 minutes and skips a channel until its interval has passed.
-
Does a visitor need an account?
-
No. Only people who can edit posts see the generator.
-
Do the videos send Google Analytics events?
-
Yes, on generated posts. The YouTube player is set up for the IFrame API and the plugin pushes video_start, video_progress (10, 25, 50, 75), and video_complete to dataLayer and gtag. Site Kit or any theme that loads GA4 will see those events. If WP Consent API is active, events wait for statistics or marketing consent.
-
Does it add schema for search?
-
Yes. Generated posts print VideoObject JSON-LD (title, thumbnail, embed URL, duration, publisher is your site). If Yoast or Rank Math is not active, it also prints BlogPosting and BreadcrumbList, plus the SEO title and meta description in the document head.
-
Does it add an FAQ to the article?
-
Optional, on by default. Generate writes a short FAQ at the end of the post and prints FAQPage JSON-LD only while that block is still in the content. Turn it off in settings or uncheck it in the editor.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“YouTube to Article” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “YouTube to Article” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.6.0
- Settings were redesigned with a Dashboard showing written, published, awaiting review and watched channel counts and recent articles with Edit links and a checklist, plus a left menu and top bar with connection status and Write an article button.
1.5.29
- Key takeaways up to 260 characters, FAQ questions up to 160 and FAQ answers up to 480 stay whole. Your longer text now ends on a whole word with an ellipsis instead of being cut at 180 characters mid-word.
- New listing description and screenshots.
1.5.28
- Upgrade for $5/mo: one button opens a StartupHub.AI pay page in a small window (sign up and card in one screen). When the payment goes through the window closes and this screen reloads with channel watch on. No key to copy.
- The API key field folds away under Account for anyone who already has a key.
1.5.27
- Settings: four tabs, Write, Channels, Article style and Account, instead of one long page.
- Settings: voice and length are cards with a short explanation; custom instructions fold away.
- Settings: the API key and inbound secret are masked, with Show and Copy.
- Settings: everything that applies to channel posts (author, category, review email, Telegram) sits on the Channels tab.
- Settings: Recent articles is a list with the video thumbnail, the article title, a coloured status, how long ago, and Review draft, Edit or View.
1.5.26
- Trial: three articles per site with no account, was one. Each video under 2 hours.
- Editor: after a trial article, a notice shows how many free articles are left and the sign-in step.
1.5.25
- Directory: who this is for (channel, draft then publish, internal links).
- Settings: Steem card says generate a WordPress plugin.
1.5.24
- Settings: more space around Save and below the Steem card.
1.5.23
- Settings: Steem CTA is a card section, not loose text.
1.5.22
- Settings: Steem sidebar to generate another plugin.
1.5.21
- Directory screenshots: YouTube source, WordPress draft, full settings, then each settings section.
1.5.20
- Editor sidebar inputs keep their right border. Tags use the native WordPress tags box.
1.5.19
- Plugins-list blurb also mentions YouTube RSS monitoring and auto-convert.
1.5.18
- Directory and plugins-list blurb: turn any YouTube video into an article with AI, with perfect SEO.
1.5.17
- Settings: Generate article sits on the YouTube URL row. Channel rows align middle and show a favicon.
1.5.16
- Writing prompt no longer lists internal-link or SEO field instructions. Those still run.
1.5.15
- Editor sidebar no longer grows a horizontal scrollbar around the URL field.
1.5.14
- Directory listing: title YouTube to Article. Tags youtube, article, video, auto-publish, writer.
1.5.13
- Directory tags: youtube, article, writer, video, ai.
1.5.12
- Directory listing: title YouTube Article Writer. Tags youtube, article, writer, seo, video.
1.5.11
- Voice and length toggles rewrite those lines in the writing prompt.
1.5.10
- Voice and length are settings: dynamic, or a fixed tone and word count.
1.5.9
- Setting to use the YouTube embed as the featured visual on the post. The thumbnail stays attached for social shares.
- Writer tags are saved on the post and shown in the editor.
- Generate article sits under the YouTube URL so the field can be full width.
1.5.8
- Save the draft before the linking pass and featured-image download so a long write still opens a post on shared hosts.
1.5.7
- Settings: trial articles with no account, or Sign in with Google to save a key.
- Settings: paste a YouTube URL and generate a draft without opening a post first.
- Generate shows a progress bar: transcript, then write.
- Editor: writing prompt, Run again on the same transcript, and a WordPress YouTube embed.
- Sets the YouTube thumbnail as the featured image and keeps it 16:9.
- YouTube embeds send GA4 video_start, video_progress, and video_complete.
- JSON-LD VideoObject on generated posts. BlogPosting and breadcrumbs when Yoast or Rank Math is not active.
- Key takeaways after the embed and a visible FAQ at the end, both optional.
- FAQPage JSON-LD when the FAQ block is on the page.
- Open Graph and Twitter tags when Yoast or Rank Math is not active.
- Google mark on Sign in with Google and Connect Search Console.
- Directory description covers auto-publish, email and Telegram review, writing controls, and internal links.
1.5.6
- Directory listing: demo video, feature rows, Channel Watch section.
1.5.5
- Directory listing: icons, banners, screenshots, and clearer readme.
1.5.4
- Plugin Check: Rank Math SQL uses {$wpdb->prefix}, video lookup is a prepared postmeta query.
1.5.3
- Plugin Check: nonce in each channel form handler, safe OAuth redirects, skip the current post without post__not_in, cache Rank Math reads.
1.5.2
- Directory review: four-character prefixes, no load_plugin_textdomain, no site-wide activation notice.
1.5.1
- Channels and Search Console stay visible without an API key. They stay dim until you enter a key and save.
- Readme: Tested up to WordPress 7.1 for the plugin directory.
1.5.0
- Connect Search Console in settings for query-level internal-link ranking. Site Kit and Rank Math remain a fallback if they are already on the site.
1.4.0
- Watch YouTube channels with a per-channel fetch frequency. Draft or auto-publish, default author and category, email and Telegram approve, HMAC inbound plus a pull fallback if a push misses.
1.3.0
- Writing prompt in settings. Dedicated internal-link pass with a count setting (dynamic, or 1 to 4 attempted links). Candidates are published articles and tag archives, ranked with Search Console via Site Kit or Rank Math plus title, tags, categories, and cornerstone. SEO title, meta description, and focus keyphrase, including Yoast and Rank Math when those are active. No footer credit option.
1.2.0
- First directory release: editor box for posts and pages, server-side generate via StartupHub.AI, Gutenberg and classic editors.
