agent: Set unique titles and meta descriptions per page

This commit is contained in:
platform-mcp
2026-06-19 08:57:40 +05:30
parent 23acac5c4d
commit e697750e22
21 changed files with 60 additions and 28 deletions
@@ -1,6 +1,8 @@
--- ---
title: "How AI is Transforming Modern Business Operations" title: "How AI is Transforming Modern Business Operations"
description: "Explore the practical applications of artificial intelligence in streamlining business processes and driving innovation." description: "Explore the practical applications of artificial intelligence in streamlining business processes and driving innovation."
seoTitle: "How AI Is Transforming Business Operations"
seoDescription: "How AI is reshaping business operations — practical use cases in customer service, predictive analytics, process automation, and intelligent document handling."
pubDate: 2024-01-10 pubDate: 2024-01-10
heroImage: "/images/blog/ai-business.jpg" heroImage: "/images/blog/ai-business.jpg"
category: "AI/ML" category: "AI/ML"
@@ -1,6 +1,8 @@
--- ---
title: "Building Scalable Government IT Systems: Lessons from 11-District Deployments" title: "Building Scalable Government IT Systems: Lessons from 11-District Deployments"
description: "Practical insights from building and deploying large-scale government systems across multiple districts, including Police Management Systems and SCMS projects." description: "Practical insights from building and deploying large-scale government systems across multiple districts, including Police Management Systems and SCMS projects."
seoTitle: "Scaling Government IT Across 11 Districts"
seoDescription: "Lessons from deploying government IT systems across 11 districts — database-per-district architecture, offline-first modules, and audit logging baked in."
pubDate: 2025-12-15 pubDate: 2025-12-15
heroImage: "/images/blog/govt-systems.jpg" heroImage: "/images/blog/govt-systems.jpg"
category: "Cloud" category: "Cloud"
@@ -1,6 +1,8 @@
--- ---
title: "Building Scalable ERP Systems: Lessons from Government & Enterprise Projects" title: "Building Scalable ERP Systems: Lessons from Government & Enterprise Projects"
description: "Practical insights on designing and deploying large-scale ERP and management systems for government bodies and enterprises, drawn from real-world project experience." description: "Practical insights on designing and deploying large-scale ERP and management systems for government bodies and enterprises, drawn from real-world project experience."
seoTitle: "Building Scalable ERP Systems That Last"
seoDescription: "How we design and deploy scalable ERP systems for government and enterprise — modular architecture, role-based access control, and offline-resilient patterns."
pubDate: 2024-02-20 pubDate: 2024-02-20
heroImage: "/images/blog/erp-systems.jpg" heroImage: "/images/blog/erp-systems.jpg"
category: "Web Development" category: "Web Development"
@@ -1,6 +1,8 @@
--- ---
title: "The Complete Guide to Cloud Migration in 2024" title: "The Complete Guide to Cloud Migration in 2024"
description: "A step-by-step approach to migrating your infrastructure to the cloud while minimizing downtime and maximizing ROI." description: "A step-by-step approach to migrating your infrastructure to the cloud while minimizing downtime and maximizing ROI."
seoTitle: "A Complete Guide to Cloud Migration in 2024"
seoDescription: "A step-by-step cloud migration guide for 2024 — assess workloads, containerize apps, adopt infrastructure as code, and cut downtime while maximizing your ROI."
pubDate: 2024-01-05 pubDate: 2024-01-05
heroImage: "/images/blog/cloud-migration.jpg" heroImage: "/images/blog/cloud-migration.jpg"
category: "Cloud" category: "Cloud"
@@ -1,6 +1,8 @@
--- ---
title: "How We Deployed a Police Management System Across 11 Bihar Districts" title: "How We Deployed a Police Management System Across 11 Bihar Districts"
description: "A field-tested account of rolling out a Police Management System to 15,000+ officers across 11 districts in Bihar — the architecture, the rollout plan, the failures, and the numbers that came out the other side." description: "A field-tested account of rolling out a Police Management System to 15,000+ officers across 11 districts in Bihar — the architecture, the rollout plan, the failures, and the numbers that came out the other side."
seoTitle: "Deploying a Police System Across 11 Districts"
seoDescription: "A field account of rolling out a Police Management System to 15,000+ officers across 11 Bihar districts — the architecture, rollout plan, failures, and results."
pubDate: 2026-06-10 pubDate: 2026-06-10
heroImage: "/images/blog/govt-systems.jpg" heroImage: "/images/blog/govt-systems.jpg"
category: "DevOps" category: "DevOps"
@@ -1,6 +1,8 @@
--- ---
title: "Getting Started with Astro: The Modern Static Site Generator" title: "Getting Started with Astro: The Modern Static Site Generator"
description: "Learn how Astro combines the best of static site generation with modern component frameworks for blazing-fast websites." description: "Learn how Astro combines the best of static site generation with modern component frameworks for blazing-fast websites."
seoTitle: "Getting Started with Astro for Fast Sites"
seoDescription: "Get started with Astro, the modern site generator — learn islands architecture, type-safe content collections, and how it ships fast, low-JavaScript sites."
pubDate: 2024-01-15 pubDate: 2024-01-15
heroImage: "/images/blog/astro-intro.jpg" heroImage: "/images/blog/astro-intro.jpg"
category: "Web Development" category: "Web Development"
+7
View File
@@ -5,6 +5,13 @@ const blog = defineCollection({
schema: z.object({ schema: z.object({
title: z.string(), title: z.string(),
description: z.string(), description: z.string(),
// Optional SEO overrides. When set they drive the <title> tag and
// <meta name="description"> without changing the on-page article
// heading/excerpt, letting us keep descriptive H1s while tuning the
// search snippet to the 5060 / 150160 character sweet spots.
// `seoTitle` is the text BEFORE the " | WorkRoot" brand suffix.
seoTitle: z.string().optional(),
seoDescription: z.string().optional(),
pubDate: z.coerce.date(), pubDate: z.coerce.date(),
updatedDate: z.coerce.date().optional(), updatedDate: z.coerce.date().optional(),
heroImage: z.string().optional(), heroImage: z.string().optional(),
+8 -1
View File
@@ -27,8 +27,15 @@ const {
noIndex = false, noIndex = false,
} = Astro.props; } = Astro.props;
// Full brand name — used for og:site_name and structured data.
const siteName = 'WorkRoot IT Solutions LLP'; const siteName = 'WorkRoot IT Solutions LLP';
const fullTitle = title === 'Home' ? siteName : `${title} | ${siteName}`; // Short brand suffix for the <title> tag so titles stay within the
// 5060 character SEO sweet spot (the full LLP name eats 25+ chars).
const brand = 'WorkRoot';
// The homepage gets a dedicated, query-focused title instead of the bare
// brand name. Pages pass `title="Home"` to opt into it.
const homeTitle = 'Custom Software & Government IT Development | WorkRoot';
const fullTitle = title === 'Home' ? homeTitle : `${title} | ${brand}`;
--- ---
<!doctype html> <!doctype html>
+2 -2
View File
@@ -6,8 +6,8 @@ export const prerender = false;
--- ---
<BaseLayout <BaseLayout
title="Page Not Found" title="Page Not Found — Let's Get You Back on Track"
description="The page you're looking for doesn't exist. Return to WorkRoot IT Solutions homepage." description="The page you're looking for doesn't exist or has moved. Head back to the WorkRoot IT Solutions homepage, or explore our services, portfolio, and blog instead."
noIndex={true} noIndex={true}
> >
<section class="min-h-[70vh] flex items-center justify-center py-20 px-4"> <section class="min-h-[70vh] flex items-center justify-center py-20 px-4">
+2 -2
View File
@@ -114,8 +114,8 @@ const howWeWork = [
--- ---
<BaseLayout <BaseLayout
title="About Us — Our Story & Team" title="About Our Software Engineering Team & Story"
description="WorkRoot IT Solutions LLP: founded 2022, senior in-house engineering team with 8+ years average experience, 20+ projects delivered. Meet the technologists behind your digital transformation. Innovation, integrity, excellence." description="Meet WorkRoot IT Solutions: founded 2022, a senior in-house engineering team averaging 8+ years' experience across 20+ web, mobile, ERP, and govtech projects."
> >
<SEO <SEO
slot="head" slot="head"
+10 -4
View File
@@ -32,21 +32,27 @@ function formatDate(date: Date): string {
} }
const readingTime = getReadingTime(post.body); const readingTime = getReadingTime(post.body);
// SEO meta: prefer per-post overrides so the <title>/description land in the
// 5060 / 150160 character ranges, while the on-page heading below keeps the
// full, descriptive post title. `seoTitle` gets the " | WorkRoot" suffix from
// BaseLayout, so it should be the text before that suffix.
const metaTitle = post.data.seoTitle ?? post.data.title;
const metaDescription = post.data.seoDescription ?? post.data.description;
const shareUrl = encodeURIComponent(Astro.url.href); const shareUrl = encodeURIComponent(Astro.url.href);
const shareTitle = encodeURIComponent(post.data.title); const shareTitle = encodeURIComponent(post.data.title);
const shareDescription = encodeURIComponent(post.data.description); const shareDescription = encodeURIComponent(post.data.description);
--- ---
<BaseLayout <BaseLayout
title={post.data.title} title={metaTitle}
description={post.data.description} description={metaDescription}
ogImage={post.data.heroImage} ogImage={post.data.heroImage}
> >
<SEO <SEO
slot="head" slot="head"
type="BlogPosting" type="BlogPosting"
title={post.data.title} title={metaTitle}
description={post.data.description} description={metaDescription}
breadcrumbs={[ breadcrumbs={[
{ name: 'Home', url: '/' }, { name: 'Home', url: '/' },
{ name: 'Blog', url: '/blog' }, { name: 'Blog', url: '/blog' },
+2 -2
View File
@@ -24,8 +24,8 @@ function formatDate(date: Date): string {
--- ---
<BaseLayout <BaseLayout
title="Blog" title="Software Development & Technology Insights"
description="Insights and articles on web development, AI, cloud computing, and digital transformation from the WorkRoot team." description="Insights on web development, ERP, cloud migration, AI, and government IT from the WorkRoot engineering team — field notes from real, large-scale deployments."
> >
<SEO <SEO
slot="head" slot="head"
+2 -2
View File
@@ -100,8 +100,8 @@ const budgetOptions = ['< ₹1L', '₹1L ₹5L', '₹5L ₹15L', '₹15L
--- ---
<BaseLayout <BaseLayout
title="Contact Us — Get a Free Quote" title="Contact Us — Get a Free Project Quote Today"
description="Start your project with WorkRoot IT Solutions LLP. 20+ projects delivered, 100% client satisfaction, response within 24 hours. Reach us at admin@workroot.in or call +91 9561417403." description="Start your web, mobile, ERP, or government IT project with WorkRoot. 20+ projects delivered, replies within 1 business day. Email admin@workroot.in to begin."
> >
<SEO <SEO
slot="head" slot="head"
+2 -2
View File
@@ -8,8 +8,8 @@ const lastUpdated = 'March 20, 2026';
--- ---
<BaseLayout <BaseLayout
title="Cookie Policy" title="Cookie Policy — How We Use Cookies & Tracking"
description="WorkRoot IT Solutions Cookie Policy - Learn how we use cookies and similar tracking technologies on our website." description="Learn how WorkRoot IT Solutions uses cookies and similar tracking technologies, what each cookie does, and how to manage or disable them in your browser."
noIndex={true} noIndex={true}
> >
<!-- Hero Section --> <!-- Hero Section -->
+1 -1
View File
@@ -175,7 +175,7 @@ const techStack = [
<BaseLayout <BaseLayout
title="Home" title="Home"
description="WorkRoot IT Solutions LLP builds production-grade web, mobile, ERP, and government IT systems for enterprises and growing teams. Free consultation, reply within 1 business day." description="WorkRoot IT Solutions builds production-grade web, mobile, ERP, and government IT systems. 20+ projects delivered across 11 districts with 99.9% uptime."
> >
<SEO <SEO
slot="head" slot="head"
+2 -2
View File
@@ -3,8 +3,8 @@ import BaseLayout from '../layouts/BaseLayout.astro';
--- ---
<BaseLayout <BaseLayout
title="You're Offline" title="You're Offline — Reconnect to Keep Browsing"
description="It looks like you're offline. Please check your internet connection." description="You appear to be offline. Check your internet connection and try again — many WorkRoot IT Solutions pages stay available once you have visited them before."
noIndex={true} noIndex={true}
> >
<section class="min-h-[60vh] flex items-center justify-center px-4"> <section class="min-h-[60vh] flex items-center justify-center px-4">
+2 -2
View File
@@ -173,8 +173,8 @@ const featuredProjects = projects.filter(p => p.featured);
--- ---
<BaseLayout <BaseLayout
title="Portfolio Case Studies & Projects" title="Software Project Portfolio & Case Studies"
description="Explore WorkRoot IT Solutions' portfolio: 20+ successful projects across web, mobile, ERP & government IT. From PLNR Financing to Bihar Government systems. Real results: 100% client satisfaction, 99.9% uptime." description="Explore WorkRoot's portfolio of 20+ web, mobile, ERP, and government IT projects — from PLNR Financing to Bihar police systems, with 99.9% uptime delivered."
> >
<SEO <SEO
slot="head" slot="head"
+2 -2
View File
@@ -8,8 +8,8 @@ const lastUpdated = 'March 20, 2026';
--- ---
<BaseLayout <BaseLayout
title="Privacy Policy" title="Privacy Policy — How We Protect Your Data"
description="WorkRoot IT Solutions Privacy Policy - Learn how we collect, use, and protect your personal information." description="Read the WorkRoot IT Solutions privacy policy to learn what personal data we collect, how we use and store it, and the choices and rights you have over it."
noIndex={true} noIndex={true}
> >
<!-- Hero Section --> <!-- Hero Section -->
+2 -2
View File
@@ -276,8 +276,8 @@ const processSteps = [
--- ---
<BaseLayout <BaseLayout
title="IT Services & Solutions" title="ERP, Web & Mobile App Development Services"
description="Expert web development, mobile apps, ERP systems, government IT solutions & UI/UX design from WorkRoot IT Solutions LLP. 10+ projects delivered, 8+ happy clients. From ₹1,00,000 — get a free quote today." description="Custom web development, mobile apps, ERP platforms, and government IT solutions from WorkRoot. 20+ projects delivered across 11 districts — get a free quote."
> >
<SEO <SEO
slot="head" slot="head"
+2 -2
View File
@@ -78,8 +78,8 @@ const icons: Record<string, string> = {
--- ---
<BaseLayout <BaseLayout
title="Sitemap" title="Sitemap — Browse All Pages and Resources"
description="WorkRoot IT Solutions Sitemap - Navigate to all pages and resources on our website." description="Browse every page on WorkRoot IT Solutions in one place — services, portfolio, blog, about, contact, and our web, mobile, ERP, and government IT resources."
> >
<!-- Hero Section --> <!-- Hero Section -->
<section class="relative bg-gradient-to-br from-secondary-900 via-secondary-800 to-secondary-900 py-16 lg:py-20"> <section class="relative bg-gradient-to-br from-secondary-900 via-secondary-800 to-secondary-900 py-16 lg:py-20">
+2 -2
View File
@@ -8,8 +8,8 @@ const lastUpdated = 'March 20, 2026';
--- ---
<BaseLayout <BaseLayout
title="Terms of Service" title="Terms of Service — Website & Project Terms"
description="WorkRoot IT Solutions Terms of Service - Read our terms and conditions for using our website and services." description="Read the WorkRoot IT Solutions terms of service covering acceptable use of our website, project engagements, intellectual property, liability, and warranties."
noIndex={true} noIndex={true}
> >
<!-- Hero Section --> <!-- Hero Section -->