This directory contains the Roles hub pages—a key part of DigitalStaff’s marketing strategy targeting businesses looking to automate specific job roles instead of hiring traditional employees.
The Roles hub showcases how AI and RPA can automate common business roles like bookkeepers, data entry clerks, data analysts, and accounting assistants. Each role page demonstrates:
/src/pages/roles/
├── index.astro # Hub landing page (main roles directory)
├── role-template.astro # Template for creating new role pages
├── bookkeeper.astro # Individual role page
├── data-entry-clerk.astro # Individual role page
├── data-analyst.astro # Individual role page
├── accounting-assistant.astro # Individual role page
└── README.md # This file
cd src/pages/roles
cp role-template.astro your-new-role.astro
Use kebab-case for filenames (e.g., virtual-assistant.astro, executive-assistant.astro).
Open your new file and update the following sections:
const roleTitle = "Virtual Assistant";
const roleDescription = "Stop paying $45K+ annually for virtual assistants...";
const roleCategory = "Administrative"; // Options: Administrative, Financial, Technical, Operations, Customer Service
Update the stats to reflect the role’s automation benefits:
const stats = [
{
value: '70%',
label: 'Time Savings',
icon: '⏱️',
description: 'Reduction in time spent on routine tasks'
},
// ... more stats
];
Define the problems businesses face with traditional hiring:
const challenges = [
{
title: 'High Turnover',
description: 'Why this role has high turnover...',
icon: '🔄'
},
// ... more challenges
];
Show the financial benefit:
const costComparison = {
traditionalCost: '$50,000', // Annual cost of hiring
automationCost: '$12,000', // Your automation service cost
annualSavings: '$38,000', // Difference
roiMonths: '3-6' // Time to ROI
};
List specific tasks you automate:
const automations = [
{
title: 'Email Management',
description: 'How you automate email tasks...',
icon: '📧',
benefits: [
'Auto-sort and prioritize emails',
'Template-based responses',
'Calendar scheduling',
'Follow-up reminders'
]
},
// ... more automation categories
];
Add role-specific FAQs:
const faqs = [
{
question: 'How long does it take to set up automation for this role?',
answer: 'Most automation solutions are up and running within 2-4 weeks...'
},
// ... more FAQs
];
const caseStudies = [
{
title: 'Company Name: Brief Result',
description: 'Full case study description...',
image: caseStudyImages.manufacturing,
metrics: ['60% time reduction', '$42K savings'],
client: 'Company Name',
industry: 'Industry'
}
];
Add your new role to /src/pages/roles/index.astro:
const roles = [
// ... existing roles
{
name: 'Virtual Assistant',
slug: 'virtual-assistant',
category: 'Administrative',
description: 'Brief description of the role automation...',
icon: '🤖'
}
];
Update the categories if needed:
const categories = {
'Financial Operations': ['Financial'],
'Administrative Support': ['Administrative'],
'Data & Analytics': ['Technical'],
'Operations': ['Operations'], // Add if needed
'Customer Service': ['Customer Service'] // Add if needed
};
Start the dev server:
npm run dev
Visit your page:
http://localhost:4321/roles/your-new-role
Check that all sections render correctly
Test navigation from the hub page
Verify breadcrumbs and CTAs work
All role pages use the custom RoleLayout.astro located at /src/layouts/RoleLayout.astro.
interface Props {
title: string; // Role name (e.g., "Bookkeeper")
description: string; // SEO description and hero subtitle
roleCategory?: string; // Category badge (Financial, Administrative, etc.)
stats?: StatItem[]; // Impact statistics
challenges?: ChallengeItem[]; // Hiring challenges
automations?: AutomationItem[]; // Tasks automated
costComparison?: CostComparison; // Financial comparison
caseStudies?: CaseStudyItem[]; // Success stories
testimonials?: TestimonialItem[]; // Client testimonials
faqs?: FAQItem[]; // Frequently asked questions
ctaTitle?: string; // CTA section title
ctaDescription?: string; // CTA section description
ctaButtonText?: string; // CTA button text
ctaButtonLink?: string; // CTA button link
}
Each role page should:
/roles/data-entry-clerk not /roles/decRole pages are integrated into:
Main Navigation (Desktop & Mobile):
Footer:
Breadcrumbs:
The role-template.astro file is excluded from:
excludeFromSearch={true} prop (if implemented in Layout)netlify.toml:
[[redirects]]
from = "/roles/role-template"
to = "/404"
status = 404
force = true
Current categories:
When creating role pages, focus on:
Role pages use images from /src/lib/images.ts:
import { caseStudyImages, testimonialHeadshots } from '../../lib/images';
// Use in your page:
image: caseStudyImages.manufacturing
image: testimonialHeadshots.kevin
If you need new images:
/src/lib/images.tsPotential improvements:
Regular tasks:
For questions about the Roles hub:
/src/layouts/RoleLayout.astroLast Updated: November 2025 Maintainer: DigitalStaff Development Team