Skip to content

Commit 33d8dfc

Browse files
updates
1 parent a61b192 commit 33d8dfc

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

components/LandingPageTemplate.tsx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const GEO_LABELS: Record<string, string> = {
2323
'job-support-newzealand': 'New Zealand',
2424
'job-support-ireland': 'Ireland',
2525
'it-job-support-dublin': 'Dublin',
26+
'job-support-texas': 'Texas',
2627
};
2728

2829
function deriveBreadcrumbs(config: LandingPageConfig): BreadcrumbItem[] {
@@ -35,6 +36,11 @@ function deriveBreadcrumbs(config: LandingPageConfig): BreadcrumbItem[] {
3536
return [home, { label: 'Locations', href: '/job-support-usa/' }, { label: `Job Support ${GEO_LABELS[slug]}` }];
3637
}
3738

39+
// Texas city / specialty pages
40+
if (TEXAS_GEO_SLUGS.has(slug) && slug !== 'job-support-texas') {
41+
return [home, { label: 'Texas Job Support', href: '/job-support-texas/' }, { label: shortTitle }];
42+
}
43+
3844
// Tech pages: java-job-support-usa, nodejs-job-support-usa …
3945
if (!slug.startsWith('job-support-') && slug.includes('-job-support-')) {
4046
const tech = shortTitle.replace(/ Job Support.*/, '').trim();
@@ -55,6 +61,12 @@ const IRELAND_GEO_SLUGS = new Set([
5561
'production-support-help-ireland', 'ai-ml-devops-sre-job-support-ireland', 'project-onboarding-help-ireland',
5662
]);
5763

64+
const TEXAS_GEO_SLUGS = new Set([
65+
'job-support-texas', 'it-job-support-dallas', 'it-job-support-irving', 'it-job-support-plano',
66+
'devops-job-support-dallas', 'java-job-support-irving', 'production-support-help-texas',
67+
'project-onboarding-help-texas', 'interview-proxy-support-dallas', 'ai-ml-devops-sre-job-support-texas',
68+
]);
69+
5870
function isGeoLandingPage(config: LandingPageConfig): boolean {
5971
return config.slug in GEO_LABELS;
6072
}
@@ -65,6 +77,7 @@ function useLocationHeroMetricsAside(config: LandingPageConfig): boolean {
6577
if (/-job-support-usa$/.test(config.slug)) return true;
6678
if (config.slug.includes('proxy-interview')) return true;
6779
if (IRELAND_GEO_SLUGS.has(config.slug)) return true;
80+
if (TEXAS_GEO_SLUGS.has(config.slug)) return true;
6881
return false;
6982
}
7083

@@ -169,6 +182,7 @@ export default function LandingPageTemplate({ config }: Props) {
169182

170183
const locationHero = useLocationHeroMetricsAside(config);
171184
const isUSAPage = config.slug === 'job-support-usa' || config.slug === 'proxy-interview-usa' || config.slug.endsWith('-usa');
185+
const isTexasPage = TEXAS_GEO_SLUGS.has(config.slug);
172186

173187
const CANADA_SLUGS = new Set([
174188
'job-support-canada', 'proxy-interview-canada', 'get-interview-scheduled-canada',
@@ -221,6 +235,33 @@ export default function LandingPageTemplate({ config }: Props) {
221235
],
222236
} : null;
223237

238+
const texasServiceSchema = isTexasPage ? {
239+
'@context': 'https://schema.org',
240+
'@type': 'Service',
241+
name: config.title,
242+
description: config.description,
243+
provider: {
244+
'@type': 'Organization',
245+
name: 'Proxy Tech Support',
246+
url: 'https://proxytechsupport.com',
247+
},
248+
areaServed: [
249+
{ '@type': 'State', name: 'Texas', containedInPlace: { '@type': 'Country', name: 'United States' } },
250+
{ '@type': 'City', name: 'Dallas', containedInPlace: { '@type': 'State', name: 'Texas' } },
251+
{ '@type': 'City', name: 'Irving', containedInPlace: { '@type': 'State', name: 'Texas' } },
252+
{ '@type': 'City', name: 'Plano', containedInPlace: { '@type': 'State', name: 'Texas' } },
253+
{ '@type': 'City', name: 'Fort Worth', containedInPlace: { '@type': 'State', name: 'Texas' } },
254+
],
255+
serviceType: [
256+
'IT Job Support Texas',
257+
'Proxy Interview Assistance Texas',
258+
'DevOps Support Texas',
259+
'AI ML Support Texas',
260+
'Production Support Texas',
261+
'Interview Support Dallas',
262+
],
263+
} : null;
264+
224265
const irelandServiceSchema = isIrelandPage ? {
225266
'@context': 'https://schema.org',
226267
'@type': 'Service',
@@ -263,6 +304,9 @@ export default function LandingPageTemplate({ config }: Props) {
263304
{irelandServiceSchema && (
264305
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(irelandServiceSchema) }} />
265306
)}
307+
{texasServiceSchema && (
308+
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(texasServiceSchema) }} />
309+
)}
266310

267311
<style>{`
268312
/* ── CTA buttons ───────────────────────────── */

0 commit comments

Comments
 (0)