# Elevate Roofing Services > Licensed C-39 roofing contractor serving Los Angeles County and Orange County, California — providing residential and commercial roof installation, repair, replacement, and emergency storm response with free estimates and 10% veteran/military discount. Elevate Roofing Services delivers premium residential and commercial roofing solutions across Southern California. Active service areas span all major cities in Los Angeles County and Orange County (122 cities total). Specializations include asphalt shingle, clay/concrete tile, standing seam metal, flat/TPO roofing, rapid storm leak repair, and HOA-compliant installations. Company Information: - Phone: (562) 469-2089 - Address: Paramount, CA (Physical profile on Google Maps) - License: California C-39 Roofing Contractor License #1098221 - Google Maps CID: https://www.google.com/maps?cid=0xe8d4fd261c481b:0x4a949b36e86814f1 --- ## Active Production Routes The application compiles to 130 static pages: - **Home Page (`/`)**: Main landing page shell containing value propositions, visual service sections, custom interactive pricing estimator, project lightbox timelines, veterans promo banner, Google Maps service area map, and customer reviews. Injects home page LocalBusiness schema. - **Locations Directory (`/locations`)**: Directory page listing all 122 cities served, grouped dynamically into Los Angeles County and Orange County grids. Injects ItemList schema of all locations and breadcrumb structured data. - **FAQ Page (`/faq`)**: Structured information resource answering 16 core questions on roofing inspections, materials, lifespan, and warranties. Injects FAQPage structured data and breadcrumb schema. - **Privacy Policy (`/privacy-policy`)**: Static legal compliance page detailing data collection, cookies, CCPA/CalOPPA rights, and contact channels. Effective Date: June 5, 2026. - **Terms of Service (`/terms-of-service`)**: Legal agreement details covering service estimates, payments, liability warranties, and dispute resolution. Effective Date: June 5, 2026. - **Programmatic Location Pages (`/roofing/[city]`)**: 122 localized landing pages generated via static site generation (SSG) utilizing Next.js `generateStaticParams`. Dynamically personalizes heading copy, descriptions, regional details, and injects highly precise city-scoped LocalBusiness schemas (geo-coordinates, local offer catalogs, localized reviews). - **Sitemap (`/sitemap.xml`)**: Dynamically generated index of all key search-indexable production routes (excludes `/faq`, includes `/`, `/locations`, `/privacy-policy`, `/terms-of-service`, and all 122 programmatic `/roofing/[city]` pages). - **Robots Policy (`/robots.txt`)**: Standard directory policy allowing all search engines and crawlers. --- ## Project Structure & Architecture **Framework**: Next.js 16.2.6 (App Router, TypeScript, React 19). Fully statically generated (SSG) at build time for extreme performance and optimal crawling. **Styling**: Tailwind CSS v4.2.1 using `@tailwindcss/postcss` and custom OKLCH design tokens located in `src/styles.css`. Brand primary color: `oklch(0.388 0.085 240)` (~#004D77). Typography features Inter (body text) and Plus Jakarta Sans (headings/accent displays) from Google Fonts. **UI Primitives**: shadcn/ui components situated in `src/components/ui/` (e.g. Accordion, aspect-ratio, button, dialog, cards, etc.). Lucide React is utilized for layout icons. ### Site Components (`src/components/site/`) - `Header.tsx`: Sticky navigation with responsive mobile slide-out, smooth anchor scrolling, and active scroll-spy intersection observers. - `Footer.tsx`: 4-column footer featuring company licensing details, social linkages (TikTok, Instagram, Facebook, X), legal routes, and directory links. - `LandingPage.tsx`: The primary landing page template. Configured to accept optional `locationName` and `countyName` properties to personalize site copy. - `Logo.tsx`: SVG vector logomark featuring animated gradient shimmer highlights. - `ProjectShowcase.tsx`: Photo grid component presenting before/during/after steps for roofing projects, integrated with a full-screen image lightbox. - `ReviewsSection.tsx`: Customer feedback carousel displaying 6 authentic customer testimonials complete with Google Review link parameters, ratings, dates, and localized reviews details. - `RoofingEstimator.tsx`: Cost estimation calculator allowing users to estimate roof repairs and replacements based on roof size, materials, slope, and structural layers. - `ServiceAreaMap.tsx`: Responsive map container embedding the physical Google Maps iframe and displaying prominent local service area badges (LA, Irvine, Anaheim, etc.). - `VeteransBanner.tsx`: Marketing discount card providing veterans and active military members a 10% discount on roofing services. ### Data Layer (`src/data/`) - `cities.ts`: Primary data source declaring the schema interface `City` (`slug`, `name`, `county`, `lat`, `lng`, `zip?`, `blurb`) and exporting an array of 122 validated cities (88 Los Angeles County, 34 Orange County). Includes the `findCity(slug)` lookup utility. - `cities.md`: Documentation detailing the location database, metadata structures, and geolocation properties. --- ## Centralized Schema Implementation All structured metadata (JSON-LD) is managed dynamically by the centralized schema engine in `src/lib/schema.ts` to ensure 100% Google Rich Results compliance, error-free builds, and zero duplicate declarations. ### Exported Builder Functions: - `buildWebSiteSchema()`: Injected once in the root layout. Declares global WebSite parameters and search-engine index identifiers. - `buildOrganizationSchema(reviewsTexts?: string[])`: Global Organization and LocalBusiness schema injected on all pages. Features the collective 5-star aggregate rating, 104 total reviews, social links, and dynamically derives service areas by parsing city mentions from reviews. - `buildHomeSchema()`: Home-page specific LocalBusiness block establishing the broad two-county administrative service bounds and the global roofing services `OfferCatalog`. - `buildCitySchema(city: City)`: Deeply localized, programmatic LocalBusiness schema mapped for each of the 122 city routes. Includes: - Scoped review IDs (`#review-1`, etc.) matching the city page URL to eliminate cross-page schema conflicts in Google Search Console. - Localized `OfferCatalog` mapping 4 core services directly to the targeted city. - Localized service areas nested by county structures (`containedInPlace`). - Precise geo-coordinates via `serviceArea.geoMidpoint` (`GeoCoordinates` using city `lat`/`lng`) and a `GeoCircle` with a 15,000-meter radius (15km radius of operation around the center of each city). - `buildFaqSchema(items: FaqItem[])`: FAQPage schema mapping 16 frequently asked questions to structured Q&A nodes. - `buildLocationsListSchema(cities: City[])`: Generates an ItemList indexing all 122 static location routes to optimize search engine crawl paths. - `buildBreadcrumbSchema(items: BreadcrumbEntry[], idSuffix?)`: Creates generic or scoped BreadcrumbList structured arrays for FAQ, Locations, and legal pages. - `extractCitiesFromTexts(texts: string[], _citiesList?: City[])`: Crawls text arrays (like customer review descriptions) using precompiled case-insensitive regex patterns to match against normalized city names. Used to dynamically build the organization's regional service bounds.