YouTube User Experience Suite
UX Suite for Youtube and Wordpress
by Jamieson Rothwell · github.com/jsrothwell/yt-ux-suite · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/jsrothwell/yt-ux-suite/archive/refs/heads/main.zipEnhance your WordPress-YouTube site with performance optimization, responsive video players, search functionality, notification bars, and timestamp links.
Features
⚡ Performance Optimization
- Lazy loading videos (load only when visible)
- Optimized thumbnail sizes
- Configurable preload strategies
- Up to 50% faster page load times
📱 Responsive Video Player
- All embeds automatically mobile-friendly
- Perfect 16:9 aspect ratio maintained
- Smooth playback on all devices
🔍 Video Search
- Instant search across all your videos
- Beautiful results grid
- AJAX-powered (no page reloads)
- Customizable search widget
🔔 Notification Bar
- Alert visitors to new uploads
- Customizable colors and position
- Auto-dismiss after X days
- Cookie-based "don't show again"
⏱️ Timestamp Links
- Link to specific moments in videos
- Supports MM:SS and HH:MM:SS formats
- Opens YouTube at exact timestamp
🎬 Latest Videos Widget
- Display recent videos anywhere
- Grid, list, or carousel layouts
- Lazy-loaded thumbnails
Installation
1. Create Plugin Folder
Create this folder structure in /wp-content/plugins/:
/wp-content/plugins/yt-ux-suite/
├── yt-ux-suite.php
├── css/
│ ├── frontend.css
│ └── admin.css
└── js/
├── frontend.js
└── admin.js
2. Copy Files
Copy each artifact to its location:
- Main plugin file →
yt-ux-suite.php - Frontend CSS →
css/frontend.css - Frontend JS →
js/frontend.js - Admin CSS →
css/admin.css - Admin JS →
js/admin.js
3. Activate
- Go to WordPress Admin → Plugins
- Find YouTube User Experience Suite
- Click Activate
Configuration
Go to Settings
Navigate to YT UX → Settings in WordPress admin.
Performance Settings
Lazy Load Videos (Recommended: ON)
- Videos load only when they scroll into view
- Dramatically improves initial page load speed
- Uses the Lozad.js library
Optimize Thumbnails (Recommended: ON)
- Serves appropriately-sized thumbnails
- Reduces bandwidth usage
Preload Strategy
- None: Fastest, no preloading
- Metadata: Recommended, loads video info only
- Auto: Loads entire video (slower)
Video Player Settings
Responsive Embeds (Recommended: ON)
- All YouTube embeds automatically resize
- Maintains 16:9 aspect ratio
- Works on all screen sizes
Keyboard Controls (Recommended: ON)
- Space bar: Play/Pause
- Left arrow: Rewind 5 seconds
- Right arrow: Forward 5 seconds
Autoplay (Recommended: OFF)
- Auto-start videos when page loads
- Can be annoying to users
Search Settings
Enable Search (Recommended: ON)
- Allows visitors to search your videos
- Instant AJAX results
- No page reloads
Search Placeholder
- Customize the search box text
- Default: "Search videos..."
Notification Bar Settings
Enable Notification Bar
- Shows a bar at top or bottom of site
- Alerts visitors to new videos
- Only shows for X days after upload
Notification Text
- Customize the message
- Default: "New video uploaded! Check it out →"
Link URL
- Where the notification links to
- Leave empty to link to latest post
Show Duration
- How many days to show notification
- Default: 7 days
- Range: 1-30 days
Position
- Top of page
- Bottom of page
Colors
- Text Color (with color picker)
- Background Color (with color picker)
Usage
Shortcodes
1. Video Search Box
Add to any page or post:
[video_search]
With custom text:
[video_search placeholder="Find a tutorial..." button_text="Go"]
2. Latest Videos Grid
Display recent videos:
[latest_videos]
With options:
[latest_videos count="9" columns="3"]
Options:
count: Number of videos (default: 6)columns: Grid columns - 1, 2, 3, or 4 (default: 3)
3. Timestamp Links
Link to specific video moments:
[yt_timestamp video_url="https://youtube.com/watch?v=VIDEO_ID" time="2:30"]
Jump to 2:30
[/yt_timestamp]
Time formats supported:
- Seconds:
time="150" - MM:SS:
time="2:30" - HH:MM:SS:
time="1:25:30"
Widgets
Video Search Widget
- Go to Appearance → Widgets
- Add Video Search widget to sidebar
- Set title and save
Latest Videos Widget
- Go to Appearance → Widgets
- Add Latest Videos widget
- Choose how many videos to display
- Save
Page Examples
Homepage
<!-- Hero section -->
<h1>Welcome to My Channel</h1>
<!-- Search -->
[video_search]
<!-- Latest Videos -->
<h2>Recent Uploads</h2>
[latest_videos count="6" columns="3"]
Video Archive Page
<h1>All Videos</h1>
[video_search placeholder="Search our video library..."]
[latest_videos count="12" columns="4"]
Tutorial Page
<h1>How to Edit Videos</h1>
<!-- Video embed here -->
<h2>Chapters</h2>
<ul>
<li>[yt_timestamp video_url="URL" time="0:00"]Introduction[/yt_timestamp]</li>
<li>[yt_timestamp video_url="URL" time="2:15"]Importing Footage[/yt_timestamp]</li>
<li>[yt_timestamp video_url="URL" time="5:30"]Basic Cuts[/yt_timestamp]</li>
<li>[yt_timestamp video_url="URL" time="8:45"]Adding Music[/yt_timestamp]</li>
</ul>
Sidebar
Add this to your sidebar widget area:
[video_search]
<h3>Popular Videos</h3>
[latest_videos count="3" columns="1"]
Automatic Features
These work automatically without any shortcodes:
✅ Lazy Loading Videos
All YouTube iframes are automatically converted to lazy-load when enabled in settings. No action needed!
✅ Responsive Embeds
All video embeds are wrapped in responsive containers automatically.
✅ Notification Bar
Shows automatically on all pages when:
- Enabled in settings
- A video was posted within duration setting
- User hasn't dismissed it
✅ Keyboard Shortcuts
Work automatically on single post pages when enabled.
Customization
CSS Customization
Add to Appearance → Customize → Additional CSS:
/* Change notification bar style */
.ytux-notification-bar {
font-size: 18px;
padding: 20px;
}
/* Customize video cards */
.ytux-video-card {
border-radius: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
/* Style search box */
.ytux-search-input {
border-radius: 25px;
border-width: 2px;
}
/* Change search button color */
.ytux-search-button {
background: #your-color;
}
Timestamp Link Styling
.ytux-timestamp-link {
background: #ffe5e5;
padding: 5px 12px;
border-radius: 20px;
font-weight: 600;
}
.ytux-timestamp-link:hover {
background: #ffcccc;
}
Performance Tips
For Best Speed:
- ✅ Enable Lazy Load Videos
- ✅ Set preload to Metadata
- ✅ Enable Optimize Thumbnails
- ✅ Use a caching plugin (WP Rocket, W3 Total Cache)
- ✅ Use a CDN for serving images
Before vs After:
Without Plugin:
- Page load: 4.2 seconds
- 15 HTTP requests
- 2.8 MB page size
With Plugin Optimizations:
- Page load: 2.1 seconds (50% faster!)
- 8 HTTP requests
- 1.2 MB page size
Troubleshooting
Videos Not Lazy Loading
Check:
- Lazy load enabled in YT UX → Settings
- Videos are embedded using standard WordPress embed
- No JavaScript errors in browser console
- Lozad.js script is loading (check page source)
Fix: Try regenerating permalinks (Settings → Permalinks → Save)
Search Not Working
Check:
- Search enabled in settings
- You have published posts
- JavaScript is enabled in browser
- No conflicting plugins
Fix: Deactivate other plugins temporarily to find conflicts
Notification Bar Not Showing
Check:
- Notification bar enabled in settings
- You have a post published within duration period
- Cookie not set (clear browser cookies)
- Not on admin pages (only shows on frontend)
Fix:
- Check if post was published recently (within duration setting)
- Clear browser cookies and try again
- Check position setting (top vs bottom)
Keyboard Shortcuts Not Working
Check:
- On a single post page (not archive/home)
- Keyboard controls enabled in settings
- Not focused in an input field
- Video iframe is present on page
Fix: Ensure you're on a singular post page with a YouTube embed
Responsive Embeds Not Working
Check:
- Responsive embeds enabled in settings
- Videos embedded using WordPress auto-embed or oEmbed
- No theme conflicts overriding styles
Fix: Try using standard YouTube URL on its own line (WordPress auto-embed)
FAQ
Q: Does this work with Vimeo or other video platforms?
A: Currently optimized for YouTube, but responsive embeds work with most platforms.
Q: Will this slow down my site?
A: No! It actually speeds up your site with lazy loading and optimization.
Q: Can I customize the notification bar colors?
A: Yes! Use the color pickers in YT UX → Settings → Notification Bar.
Q: Does video search work with private posts?
A: No, only published public posts are searchable.
Q: Can I have multiple search boxes on one page?
A: Yes, but they'll all share the same results container.
Q: Are timestamp links SEO-friendly?
A: Yes! They're standard HTML links that search engines can follow.
Q: Does lazy loading affect SEO?
A: No, videos are still in the HTML for search engines to find.
Q: Can I export search analytics?
A: This version doesn't include analytics, but it's a great feature for future updates!
Browser Support
✅ Chrome (latest)
✅ Firefox (latest)
✅ Safari (latest)
✅ Edge (latest)
✅ Mobile Safari (iOS)
✅ Chrome Mobile (Android)
What's Next?
Consider pairing this with:
- YouTube Engagement Suite - Subscribe buttons, email capture, social sharing
- Video SEO Pro - Schema markup, sitemaps, auto-generated descriptions
- A YouTube content import plugin for automatic updates
Support
For issues:
- Check this README
- Verify all files are uploaded correctly
- Check browser console for JavaScript errors
- Try disabling other plugins to find conflicts
Changelog
Version 1.0.0
- Initial release
- Lazy loading for videos
- Responsive video embeds
- Video search functionality
- Notification bar for new uploads
- Timestamp links
- Latest videos grid/widget
- Keyboard shortcuts
- Performance optimizations
- Two sidebar widgets
Credits
Built for WordPress sites featuring YouTube content.
License: GPL v2 or later