@extends('layouts.app') @section('robots', 'noindex, follow') @php use App\Helpers\SeoHelper; $locale = app()->getLocale(); $localizedRoute = function($routeName, $params = []) use ($locale) { return SeoHelper::localizedRoute($routeName, $params, $locale); }; $serviceName = $serviceLocation['service_name']; $locationName = $serviceLocation['location']['name']; $countryName = $serviceLocation['location']['country_name']; $nativeName = $serviceLocation['location']['native_name'] ?? $locationName; $region = $serviceLocation['location']['region']; $locationDisplayName = ($locale === ($serviceLocation['location']['country_language'] ?? '') || (in_array($locale, ['pt', 'br'], true) && !empty($nativeName))) ? $nativeName : $locationName; $isCapital = $serviceLocation['location']['is_capital']; $coordinates = $serviceLocation['location']['coordinates']; $population = $serviceLocation['location']['population']; $metroPopulation = $serviceLocation['location']['metro_population'] ?? null; // Keywords for SEO $keywords = $serviceLocation['location']['keywords'] ?? []; $keywordString = implode(', ', array_merge($keywords, [$serviceName, __('messages.meta.digital_marketing'), __('messages.meta.marketing_agency')])); @endphp @section('title', $pageTitle . __('messages.meta.title_suffix')) @push('meta') @if($coordinates) @endif {{-- Open Graph --}} {{-- Twitter Card --}} @endpush @push('schema') {{-- LocalBusiness Schema --}} {{-- Service Schema --}} {{-- BreadcrumbList Schema --}} {{-- FAQPage Schema (local SEO, featured snippet opportunity) --}} @php $faqServiceLocation = [ ['q' => __('messages.service_location.faq_q1', ['service' => $serviceName, 'location' => $locationName]), 'a' => __('messages.service_location.faq_a1', ['service' => $serviceName, 'location' => $locationName])], ['q' => __('messages.service_location.faq_q2', ['service' => $serviceName, 'location' => $locationName]), 'a' => __('messages.service_location.faq_a2', ['service' => $serviceName, 'location' => $locationName])], ['q' => __('messages.service_location.faq_q3', ['service' => $serviceName, 'location' => $locationName]), 'a' => __('messages.service_location.faq_a3', ['service' => $serviceName, 'location' => $locationName])], ]; $faqSchema = [ '@context' => 'https://schema.org', '@type' => 'FAQPage', 'mainEntityOfPage' => ['@type' => 'WebPage', '@id' => \App\Helpers\SeoHelper::getCanonicalUrl()], 'mainEntity' => array_map(fn($faq) => [ '@type' => 'Question', 'name' => $faq['q'], 'acceptedAnswer' => ['@type' => 'Answer', 'text' => $faq['a']], ], $faqServiceLocation), ]; @endphp @endpush @section('content') {{-- Breadcrumbs --}}
{{-- Hero Section --}}
{{-- Location Badge --}}
{{ $locationDisplayName }}, {{ $countryName }}

{{ $serviceName }} {{ __('messages.service_location.in') }} {{ $locationDisplayName }}

{{ __('messages.service_location.professional_services', ['service' => strtolower($serviceName), 'location' => $locationDisplayName . ($region ? ", {$region}" : ''), 'country' => $countryName]) }}

{{-- Location Stats --}}
@if($isCapital)
{{ __('messages.service_location.capital_city') }}
@endif @if($population)
{{ number_format($metroPopulation ?? $population) }}+ {{ $metroPopulation ? __('messages.service_location.metro_area') : __('messages.service_location.population') }}
@endif
{{ __('messages.service_location.years_experience') }}
{{-- CTAs --}}
{{-- Services in Location --}}

{{ __('messages.service_location.what_we_offer', ['location' => $locationName]) }}

{{ __('messages.service_location.services_tailored', ['service' => strtolower($serviceName), 'location' => $locationName]) }}

{{-- Service Features (dynamic based on service type) --}} @php $serviceFeatures = [ 'web-development' => [ ['title' => __('messages.service_location.custom_websites'), 'description' => __('messages.service_location.custom_websites_desc', ['location' => $locationName]), 'icon' => 'globe'], ['title' => __('messages.service_location.ecommerce_solutions'), 'description' => __('messages.service_location.ecommerce_solutions_desc', ['country' => $countryName]), 'icon' => 'cart'], ['title' => __('messages.service_location.web_applications'), 'description' => __('messages.service_location.web_applications_desc'), 'icon' => 'code'], ], 'social-media' => [ ['title' => __('messages.service_location.social_strategy'), 'description' => __('messages.service_location.social_strategy_desc', ['location' => $locationName]), 'icon' => 'share'], ['title' => __('messages.service_location.content_creation'), 'description' => __('messages.service_location.content_creation_desc'), 'icon' => 'edit'], ['title' => __('messages.service_location.community_management'), 'description' => __('messages.service_location.community_management_desc', ['country' => $countryName]), 'icon' => 'users'], ], 'seo-sem' => [ ['title' => __('messages.service_location.local_seo'), 'description' => __('messages.service_location.local_seo_desc', ['location' => $locationName]), 'icon' => 'search'], ['title' => __('messages.service_location.google_ads'), 'description' => __('messages.service_location.google_ads_desc', ['country' => $countryName]), 'icon' => 'trending'], ['title' => __('messages.service_location.seo_audits'), 'description' => __('messages.service_location.seo_audits_desc'), 'icon' => 'chart'], ], 'ecommerce' => [ ['title' => __('messages.service_location.online_stores'), 'description' => __('messages.service_location.online_stores_desc', ['location' => $locationName]), 'icon' => 'cart'], ['title' => __('messages.service_location.payment_integration'), 'description' => __('messages.service_location.payment_integration_desc', ['country' => $countryName]), 'icon' => 'card'], ['title' => __('messages.service_location.inventory_management'), 'description' => __('messages.service_location.inventory_management_desc'), 'icon' => 'box'], ], 'branding' => [ ['title' => __('messages.service_location.brand_identity'), 'description' => __('messages.service_location.brand_identity_desc', ['location' => $locationName]), 'icon' => 'palette'], ['title' => __('messages.service_location.logo_design'), 'description' => __('messages.service_location.logo_design_desc'), 'icon' => 'star'], ['title' => __('messages.service_location.brand_guidelines'), 'description' => __('messages.service_location.brand_guidelines_desc'), 'icon' => 'book'], ], 'advertising' => [ ['title' => __('messages.service_location.digital_ads'), 'description' => __('messages.service_location.digital_ads_desc', ['country' => $countryName]), 'icon' => 'megaphone'], ['title' => __('messages.service_location.social_ads'), 'description' => __('messages.service_location.social_ads_desc', ['location' => $locationName]), 'icon' => 'share'], ['title' => __('messages.service_location.display_advertising'), 'description' => __('messages.service_location.display_advertising_desc'), 'icon' => 'monitor'], ], ]; $features = $serviceFeatures[$serviceSlug] ?? $serviceFeatures['web-development']; @endphp @foreach($features as $feature)
@if($feature['icon'] === 'globe') @elseif($feature['icon'] === 'cart') @elseif($feature['icon'] === 'search') @elseif($feature['icon'] === 'share') @else @endif

{{ $feature['title'] }}

{{ $feature['description'] }}

@endforeach
{{-- Industries Section --}} @if(count($relatedIndustries) > 0)

{{ __('messages.service_location.for_industries', ['service' => $serviceName, 'location' => $locationName]) }}

{{ __('messages.service_location.specialize_in', ['service' => strtolower($serviceName), 'country' => $countryName]) }}

@endif {{-- Also Serving: Same Country First, Then Other Countries --}} @if((isset($nearbyLocations) && count($nearbyLocations) > 0) || (isset($otherMajorLocations) && count($otherMajorLocations) > 0))

{{ __('messages.service_location.also_serving') }}

{{ __('messages.service_location.serve_other_cities') }}

{{-- First: Cities in Same Country --}} @if(isset($nearbyLocations) && count($nearbyLocations) > 0)

{{ __('messages.service_location.more_cities', ['country' => $countryName ?? '']) }}

@endif {{-- Below: Also Available in Other Countries --}} @if(isset($otherMajorLocations) && count($otherMajorLocations) > 0)

{{ __('messages.service_location.also_available_in') }}

@endif
@endif {{-- CTA Section --}}

{{ __('messages.service_location.ready_to_grow', ['location' => $locationName]) }}

{{ __('messages.service_location.get_consultation_desc', ['service' => strtolower($serviceName), 'location' => $locationName]) }}

@include('components.explore-site-section', ['hideServicesSlider' => true]) @endsection