- Introduced a new hero card for AI Auto-Fix with a fuchsia theme, linking to the AI agent product page.
- Added a hero card for AI Copilot with a violet theme, also linking to the AI agent product page, utilizing an icon for visual representation.
- Updated product showcase to include a new feature card for Scheduled Maintenance with relevant details and icons.
- Modified product tabs to include a new tab for Scheduled Maintenance, ensuring it integrates with existing navigation.
- Enhanced features table to accommodate the Scheduled Maintenance feature card, expanding the grid layout for better visibility.
- Remove redundant Tailwind CDN from /docs pages (fixes CLS 0.21 → <0.1)
The compiled CSS in style.css already contains all needed utilities;
the CDN was re-processing styles causing layout shifts on 35 desktop URLs.
- Defer PostHog analytics via requestIdleCallback to unblock rendering
- Reduce Google Fonts to wght@400..800 (only weights actually used)
- Move meta charset/viewport to top of <head> for faster parsing
- Add defer to highlight.js on blog posts to unblock LCP
- Add DNS prefetch for PostHog domain
These changes target the 311 mobile URLs with LCP >2.5s and
35 desktop URLs with CLS >0.1 reported by Google Search Console.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added McpTypes.ts for defining JSON schema and tool information.
- Created ModelType.ts and OneUptimeOperation.ts enums for model types and operations.
- Implemented MCPLogger for structured logging in MCP servers.
- Integrated MCP routes into the main application index.
- Updated package.json to include @modelcontextprotocol/sdk dependency.
- Removed MCP-related configurations from Helm chart and Docker Compose files.
- Added Data Processing Agreement (DPA) page and route to the legal section.
- Updated legal.ejs to include a link to the new DPA page.
Track clicks on 'Get started free' and 'Request demo' CTAs via
gtag events (cta_get_started, cta_request_demo) and GTM dataLayer.
This enables GA4 conversion tracking for CTA clicks, which was
previously missing (GA audit found zero conversion events).
Uses event delegation so it automatically tracks all CTA links
including dynamically rendered ones.
Added to: homepage, pricing, demo, blog posts, blog list,
status page, and industry pages.
- Fire sign_up event on successful registration (Accounts/Register.tsx)
- Fire page_view_pricing event on pricing page load
- Fire page_view_demo event on demo page load
- All events use dataLayer.push for GTM/GA4 compatibility
Changed title pattern from:
'OneUptime vs [Product]: Open-Source Alternative | 2026 Comparison'
To:
'[Product] Alternative - OneUptime | Open Source | 2026 Comparison'
Rationale:
- Puts competitor name first (matches search intent)
- 'Alternative' keyword prominent (what users search for)
- Shorter, more scannable
Also improved meta description to be more action-oriented with clear value props.
Targets: /compare/better-uptime (position 13.5, 803 impressions)
Multiple product pages had identical generic meta descriptions:
'OneUptime monitors websites, APIs, and servers...'
This hurt CTR because Google showed the same text for different pages.
Updated with unique, keyword-rich descriptions:
- /product/status-page: Focus on free, unlimited subscribers, Statuspage alternative
- /product/monitoring: Focus on global locations, alerts, Datadog alternative
- /product/incident-management: Focus on features, integrations
- /product/on-call: Focus on rotations, escalations, PagerDuty alternative
- /about: Focus on open source, GitHub stars, mission
Expected impact: Improved CTR from search results
Google Search Console shows 0/10,519 pages indexed. Root cause: 5,000+
thin tag pages are diluting site quality signals and consuming crawl budget.
Changes:
- Add noindex,follow meta tag to blog tag pages (ListByTag.ejs)
- Remove tag sitemaps from sitemap index (Sitemap.ts)
This tells Google to:
1. Stop trying to index tag pages (they're thin content)
2. Still follow links on those pages to discover real content
3. Focus crawl budget on valuable pages (blog posts, product pages)
Expected impact:
- Improved crawl budget efficiency
- Better quality signals for the domain
- Gradual improvement in indexing of valuable pages
- Badge: 'Open Source Alternative' with GitHub link (reinforces positioning)
- H1: 'The Open-Source [Competitor] Alternative' (SEO + clear value prop)
- CTA: 'Start free — no credit card' (removes friction)
- Added trust signal: 'Self-host for free or use our cloud. No vendor lock-in.'
These changes make the compare pages more conversion-focused.
- Title: 'OneUptime | The Open-Source Observability Platform'
- Meta: Focus on unified platform, self-hostable
- H1: 'The Open-Source Observability Platform'
- Sub: Emphasize complete reliability stack (monitoring, incidents, status pages, APM)
Part of GTM refresh to improve SEO and conversion.