|
Server : LiteSpeed System : Linux terra.hostitbro.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : outerorb ( 1091) PHP Version : 8.1.34 Disable Function : mail Directory : /home2/outerorb/public_html/inc/ | |
|
Path: /home2/outerorb/public_html/inc/head.php
Size: 16 KB
Permissions: 0666
<?php
include 'config.php';
$page_title = isset($page_title) ? $page_title : "$company_name HTML Template";
$page_description = isset($page_description) ? $page_description : "$company_name โ A modern and responsive HTML template for consulting businesses. Perfect for finance, corporate, and agency websites. SEO-friendly, fast-loading, and easy to customize. Create a professional online presence today!";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="<?php echo $page_description; ?>">
<?php
// Build canonical, social meta values and basic schema.org JSON-LD.
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost';
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
// remove query string for canonical
$path = strtok($request_uri, '?') ?: '/';
// Resolve a consistent absolute asset base URL.
if (preg_match('#^https?://#i', $base_url)) {
$resolved_base = rtrim($base_url, '/');
} else {
$resolved_base = $protocol . '://' . $host . '/' . ltrim(rtrim($base_url, '/'), '/') ;
$resolved_base = rtrim($resolved_base, '/');
}
// Canonical: allow per-page override ($canonical) or build from request path.
if (!empty($canonical) && preg_match('#^https?://#i', $canonical)) {
$canonical_url = $canonical;
} elseif (!empty($canonical) && strpos($canonical, '/') === 0) {
$canonical_url = $protocol . '://' . $host . rtrim($canonical, '/');
} else {
// If site is mounted in a subfolder, prefer resolved_base + path; otherwise use host+path
$basePath = parse_url($resolved_base, PHP_URL_PATH) ?: '/';
if ($basePath !== '/' && strpos($path, $basePath) !== 0) {
$canonical_url = $resolved_base . '/' . ltrim($path, '/');
} else {
$canonical_url = $protocol . '://' . $host . $path;
}
}
$canonical_url = rtrim($canonical_url, '/');
if ($canonical_url === ($protocol . '://' . $host)) $canonical_url .= '/';
$canonical_html = htmlspecialchars($canonical_url, ENT_QUOTES, 'UTF-8');
// Title & description
$og_title = isset($page_title) ? $page_title : $company_name;
$og_description = isset($page_description) ? $page_description : ("$company_name โ A modern and responsive HTML template.");
// Social image: allow per-page $page_image (absolute or relative), fallback to site image
if (!empty($page_image)) {
if (preg_match('#^https?://#i', $page_image)) {
$og_image_url = $page_image;
} else {
$og_image_url = $resolved_base . '/' . ltrim($page_image, '/');
}
} else {
$default_og = $resolved_base . '/assets/images/banner/og-default.jpg';
$og_image_url = $default_og; // fallback; site owner can replace this file with a 1200x630 image
}
$og_image_html = htmlspecialchars($og_image_url, ENT_QUOTES, 'UTF-8');
// Robots meta default
$meta_robots = isset($meta_robots) ? $meta_robots : 'index, follow';
// Build sameAs from configured social links for JSON-LD
$sameAs = [];
if (!empty($social_links) && is_array($social_links)) {
foreach ($social_links as $s) {
if (!empty($s['url'])) $sameAs[] = $s['url'];
}
}
$sameAs_json = json_encode(array_values($sameAs), JSON_UNESCAPED_SLASHES);
// Asset base for other links
$asset_base = $resolved_base;
?>
<link rel="canonical" href="<?php echo $canonical_html; ?>">
<meta name="robots" content="<?php echo htmlspecialchars($meta_robots, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:locale" content="en_US">
<meta property="og:site_name" content="<?php echo htmlspecialchars($company_name, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:title" content="<?php echo htmlspecialchars($og_title, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars($og_description, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:type" content="website">
<meta property="og:url" content="<?php echo $canonical_html; ?>">
<meta property="og:image" content="<?php echo $og_image_html; ?>">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="<?php echo htmlspecialchars($og_title, ENT_QUOTES, 'UTF-8'); ?>">
<meta name="twitter:description" content="<?php echo htmlspecialchars($og_description, ENT_QUOTES, 'UTF-8'); ?>">
<meta name="twitter:image" content="<?php echo $og_image_html; ?>">
<!-- JSON-LD: Organization + LocalBusiness + WebSite -->
<script type="application/ld+json">
<?php
$ld = [
"@context" => "https://schema.org",
"@graph" => [
[
"@type" => ["Organization", "LocalBusiness"],
"@id" => $asset_base . "/#organization",
"name" => $company_name,
"url" => $asset_base,
"logo" => [
"@type" => "ImageObject",
"url" => $asset_base . '/assets/images/logo/logo-full.png',
"width" => 300,
"height" => 60
],
"image" => $asset_base . '/assets/images/banner/og-default.jpg',
"description" => "Outer Orbit Technologies Pvt Ltd is a leading BPO and outsourcing company in Ranchi, Jharkhand, providing customer support, back office, digital marketing, KPO and RPO services to businesses across PAN India.",
"telephone" => $company_phone,
"email" => $company_email,
"address" => [
"@type" => "PostalAddress",
"streetAddress" => "C/O MIMEC Cable, 5th Floor, Plot No. 3/P, Namkum Industrial Area",
"addressLocality" => "Ranchi",
"addressRegion" => "Jharkhand",
"postalCode" => "834010",
"addressCountry" => "IN"
],
"geo" => [
"@type" => "GeoCoordinates",
"latitude" => 23.3441,
"longitude" => 85.2722
],
"areaServed" => [
["@type" => "Country", "name" => "India"]
],
"openingHoursSpecification" => [
[
"@type" => "OpeningHoursSpecification",
"dayOfWeek" => ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
"opens" => "00:00",
"closes" => "23:59"
]
],
"sameAs" => array_values($sameAs),
"priceRange" => "โนโน",
"currenciesAccepted" => "INR",
"paymentAccepted" => "Bank Transfer, Cheque, Online Payment"
],
[
"@type" => "WebSite",
"@id" => $asset_base . "/#website",
"url" => $asset_base,
"name" => $company_name,
"publisher" => ["@id" => $asset_base . "/#organization"],
"potentialAction" => [
"@type" => "SearchAction",
"target" => [
"@type" => "EntryPoint",
"urlTemplate" => $asset_base . '/?s={search_term_string}'
],
"query-input" => 'required name=search_term_string'
]
]
]
];
echo json_encode($ld, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
?>
</script>
<?php if (!empty($page_schema_json)): ?>
<script type="application/ld+json">
<?php echo $page_schema_json; ?>
</script>
<?php endif; ?>
<link rel="shortcut icon" type="image/x-icon" href="<?php echo $asset_base; ?>/assets/images/logo/favicon.png">
<link rel="icon" type="image/png" sizes="32x32" href="<?php echo $asset_base; ?>/assets/images/logo/favicon.png">
<link rel="icon" type="image/png" sizes="16x16" href="<?php echo $asset_base; ?>/assets/images/logo/favicon.png">
<link rel="apple-touch-icon" sizes="180x180" href="<?php echo $asset_base; ?>/assets/images/logo/favicon.png">
<link rel="manifest" href="<?php echo $asset_base; ?>/assets/images/logo/site.webmanifest">
<link rel="mask-icon" href="<?php echo $asset_base; ?>/assets/images/logo/favicon.png" color="#5bbad5">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="<?php echo $asset_base; ?>/assets/images/logo/favicon.png">
<meta name="theme-color" content="#ffffff">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<?php
// Append company name to page titles when not already present
$display_title = isset($page_title) ? $page_title : $company_name;
if (stripos($display_title, $company_name) === false) {
$display_title = $display_title . ' | ' . $company_name;
}
?>
<title><?php echo htmlspecialchars($display_title, ENT_QUOTES, 'UTF-8'); ?></title>
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/plugins/fontawesome.css">
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/plugins/swiper.css">
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/plugins/metismenu.css">
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/plugins/magnifying-popup.css">
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/plugins/odometer.css">
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/vendor/bootstrap.min.css">
<link rel="stylesheet" href="<?php echo $asset_base; ?>/assets/css/style.css">
<style>
/* โโ Brand CSS variables โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
:root {
--primary-color: #073367; /* alias for --color-primary */
}
/* โโ Default FA icon color to brand color in content areas โโ */
/* Targets unstyled icons in service/about/page content blocks */
.single-check i,
.check-wrapper-area i,
.rts-feature-area i.fa-solid,
.rts-service-area i.fa-solid,
.rts-about-area i.fa-solid,
.single-service-signle-wrapper i.fa-solid:not([style*="color"]),
.service-details-content i.fa-solid:not([style*="color"]),
.inner-page-content i.fa-solid:not([style*="color"]) {
color: var(--primary-color);
}
/* Mobile: reduce banner text size and improve image visibility */
@media (max-width: 991px) {
.rts-banner-area-two .banner-inner-two-content h1.title { font-size: 28px !important; line-height: 1.15 !important; }
.rts-banner-area-two .banner-inner-two-content .disc { font-size: 14px !important; }
.rts-banner-area-two .pre-title { font-size: 13px !important; }
.rts-banner-area-two .banner-inner-two-content { padding: 22px 18px; background: rgba(0,0,0,0.28); border-radius: 8px; }
.mySwiper-service-1 .information .title, .mySwiper-service-1 .information .disc { font-size: 14px !important; }
}
/* Make the '25+ Year of experience' counter box 25% smaller */
.counter-about-area { transform: scale(0.75); transform-origin: center; display: inline-block; }
.counter-about-area .counter.title { transform: none; }
/* Director message tweaks */
.rts-director-message .director-image img { width: 100%; max-width: 320px; height: auto; object-fit: cover; border-radius: 8px; display: block; margin: 0 auto; }
.rts-director-message .director-image { padding: 12px 0; }
.rts-director-message blockquote.director-quote { font-style: italic; border-left: 4px solid rgba(0,0,0,0.12); padding-left: 18px; color: #333; background: rgba(0,0,0,0.02); margin: 0 0 12px 0; }
.rts-director-message .director-signature { margin-top: 10px; }
.rts-director-message .director-signature .signature { font-weight: 700; margin: 0; }
.rts-director-message .director-signature .position { margin: 0; color: #666; }
/* Removed: 'View All' submenu styling (no longer used) */
/* Ensure Shashi's team image matches the Director block sizing */
img[src$="shashi_ray_director_founder.jpg"] { max-width: 320px; width: 100%; height: auto; object-fit: cover; border-radius: 8px; display: block; margin: 0 auto; }
/* CTA button: default brand blue, hover lighter */
.rts-cta-area-inner .rts-btn.btn-primary.btn-white { background: var(--color-primary) !important; color: #F2F2F2 !important; }
.rts-cta-area-inner .rts-btn.btn-primary.btn-white:hover { background: #F2F2F2 !important; color: var(--color-primary) !important; }
/* Disable the animated ::before for CTA to avoid stacking/coverage issues */
.rts-cta-area-inner .rts-btn.btn-primary.btn-white::before { display: none !important; }
/* Logo swap: default show light logo on desktop, dark only on small screens */
/* Show light logo by default (main header and mobile menu) */
img.site-logo.logo-light { display: block !important; }
img.site-logo.logo-dark { display: none !important; }
/* Breadcrumb and hero banners use light text on imagery */
.rts-breadcrumb-area .title,
.rts-breadcrumb-area .disc,
.rts-breadcrumb-area .bg-title,
.rts-breadcrumb-area .pre,
.rts-breadcrumb-area .breadcrumb-inner,
.banner-inner-service-details-1 .title,
.banner-inner-service-details-1 .disc,
.banner-inner-service-details-1 .bg-title,
.banner-inner-service-details-1 .pre,
.rts-hero-area-inner .title,
.rts-hero-area-inner .disc,
.rts-hero-area-inner .bg-title,
.rts-hero-area-inner .pre {
color: #ffffff !important;
}
.rts-breadcrumb-area[style*="assets/images/banner.jpg"],
.banner-inner-service-details-1[style*="assets/images/banner.jpg"],
.rts-hero-area-inner[style*="assets/images/banner.jpg"] {
height: 326px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
.rts-breadcrumb-area[style*="assets/images/banner.jpg"] .container,
.banner-inner-service-details-1[style*="assets/images/banner.jpg"] .container,
.rts-hero-area-inner[style*="assets/images/banner.jpg"] .container {
width: 100%;
}
.rts-breadcrumb-area[style*="assets/images/banner.jpg"] .title-area-left,
.banner-inner-service-details-1[style*="assets/images/banner.jpg"] .title-area-left,
.rts-hero-area-inner[style*="assets/images/banner.jpg"] .title-area-left {
text-align: center !important;
width: 100%;
}
.rts-breadcrumb-area[style*="assets/images/banner.jpg"] .title-area-left .bg-title,
.banner-inner-service-details-1[style*="assets/images/banner.jpg"] .title-area-left .bg-title,
.rts-hero-area-inner[style*="assets/images/banner.jpg"] .title-area-left .bg-title {
left: 50% !important;
transform: translateX(-50%) !important;
}
@media (max-width: 991px) {
/* keep light logo on mobile menu */
img.site-logo.logo-light { display: block !important; }
img.site-logo.logo-dark { display: none !important; }
}
</style>
</head>