Files
avz-site/src/config/schema.ts
T
2026-06-01 19:39:58 -03:00

177 lines
4.9 KiB
TypeScript

// ============================================================================
// SCHEMA.ORG - Dados estruturados para SEO
// ============================================================================
// Uso: import { organizationSchema, localBusinessSchema, etc } from '../config/schema';
// <SEO schema={organizationSchema} />
// ============================================================================
export const SITE_URL = 'https://avanzato.com.br';
// --- Organization (empresa) ---
export const organizationSchema = {
'@context': 'https://schema.org',
'@type': 'Organization',
name: 'Avanzato Tecnologia',
alternateName: 'Avanzato',
url: SITE_URL,
logo: `${SITE_URL}/logo.png`,
description: 'Solucoes em TI Gerenciada, Cloud Computing e Seguranca da Informacao. +23 anos de experiencia, +500 clientes atendidos.',
foundingDate: '2000',
address: {
'@type': 'PostalAddress',
streetAddress: 'Rua Maria Curupaiti, 471 - Sala 01',
addressLocality: 'Guarulhos',
addressRegion: 'SP',
postalCode: '07110-060',
addressCountry: 'BR',
},
contactPoint: [
{
'@type': 'ContactPoint',
telephone: '+55-11-4810-1704',
contactType: 'sales',
availableLanguage: ['Portuguese'],
areaServed: 'BR',
},
{
'@type': 'ContactPoint',
telephone: '+55-11-93393-0619',
contactType: 'customer service',
contactOption: 'TollFree',
availableLanguage: ['Portuguese'],
areaServed: 'BR',
},
],
sameAs: [
'https://www.facebook.com/avanzato',
'https://www.instagram.com/avanzato',
'https://www.linkedin.com/company/avanzato',
'https://www.youtube.com/@avanzato',
],
email: 'contato@avanzato.com.br',
};
// --- LocalBusiness (matriz Guarulhos) ---
export const localBusinessGuarulhos = {
'@context': 'https://schema.org',
'@type': 'LocalBusiness',
name: 'Avanzato Tecnologia - Guarulhos',
description: 'Suporte de TI empresarial em Guarulhos e regiao. Atendimento presencial e remoto.',
url: `${SITE_URL}/suporte-ti-guarulhos`,
telephone: '+55-11-4810-1704',
email: 'contato@avanzato.com.br',
address: {
'@type': 'PostalAddress',
streetAddress: 'Rua Maria Curupaiti, 471 - Sala 01',
addressLocality: 'Guarulhos',
addressRegion: 'SP',
postalCode: '07110-060',
addressCountry: 'BR',
},
geo: {
'@type': 'GeoCoordinates',
latitude: '-23.4568',
longitude: '-46.5333',
},
openingHours: [
'Mo-Fr 08:00-18:00',
'Sa 09:00-13:00',
],
priceRange: '$$',
areaServed: {
'@type': 'City',
name: 'Guarulhos',
},
};
// --- Service schemas ---
export const createServiceSchema = (name: string, description: string, urlPath: string) => ({
'@context': 'https://schema.org',
'@type': 'Service',
name,
description,
provider: {
'@type': 'Organization',
name: 'Avanzato Tecnologia',
url: SITE_URL,
},
url: `${SITE_URL}${urlPath}`,
areaServed: {
'@type': 'Country',
name: 'Brasil',
},
});
// --- FAQ schemas ---
export const createFAQSchema = (questions: Array<{q: string; a: string}>) => ({
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: questions.map(({q, a}) => ({
'@type': 'Question',
name: q,
acceptedAnswer: {
'@type': 'Answer',
text: a,
},
})),
});
// --- Review schema ---
export const createReviewSchema = (reviews: Array<{author: string; rating: number; text: string}>) => ({
'@context': 'https://schema.org',
'@type': 'Organization',
name: 'Avanzato Tecnologia',
aggregateRating: {
'@type': 'AggregateRating',
ratingValue: '4.9',
reviewCount: String(reviews.length),
bestRating: '5',
worstRating: '1',
},
review: reviews.map(r => ({
'@type': 'Review',
author: { '@type': 'Person', name: r.author },
reviewRating: {
'@type': 'Rating',
ratingValue: String(r.rating),
bestRating: '5',
},
reviewBody: r.text,
})),
});
// --- Breadcrumb ---
export const createBreadcrumbSchema = (items: Array<{name: string; url: string}>) => ({
'@context': 'https://schema.org',
'@type': 'BreadcrumbList',
itemListElement: items.map((item, idx) => ({
'@type': 'ListItem',
position: idx + 1,
name: item.name,
item: item.url,
})),
});
// --- LocalBusiness para cada cidade ---
export const createLocalBusinessSchema = (city: string, slug: string, phone?: string) => ({
'@context': 'https://schema.org',
'@type': 'LocalBusiness',
name: `Avanzato Tecnologia - ${city}`,
description: `Suporte de TI empresarial em ${city} e regiao. Atendimento presencial e remoto para empresas de todos os portes.`,
url: `${SITE_URL}/suporte-ti-${slug}`,
telephone: phone || '+55-11-4810-1704',
email: 'contato@avanzato.com.br',
address: {
'@type': 'PostalAddress',
addressLocality: city,
addressRegion: 'SP',
addressCountry: 'BR',
},
openingHours: ['Mo-Fr 08:00-18:00'],
priceRange: '$$',
areaServed: {
'@type': 'City',
name: city,
},
});