prepare("SELECT COUNT(*) FROM portfolio WHERE industry_slug = :cat");
$total_stmt->execute(['cat' => $category]);
$total = $total_stmt->fetchColumn();
$total_pages = ceil($total / $limit);
// ๐ฅ ๋ฆฌ์คํธ ๋ถ๋ฌ์ค๊ธฐ (lawyer๋ง)
$sql = "SELECT * FROM portfolio
WHERE industry_slug = :cat
ORDER BY id DESC
LIMIT :offset, :limit";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':cat', $category, PDO::PARAM_STR);
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->execute();
$items = $stmt->fetchAll();
// ======================================
// โ
META ์ธํ
(head.sub.php ์ฐ๋)
// ======================================
// ์
์ข
๋ช
(ํ์ผ๋ช
๋๋ ๋ผ์ฐํ
๊ฐ)
$industry_slug = 'lawyer';
$industry_name = '๋ฒ๋ฅ ';
//
$meta_title_raw = "{$industry_name} ํํ์ด์ง ์ ์ ์ฌ๋ก";
$meta_title = htmlspecialchars($meta_title_raw . " | ๋ฆฌ๋๋ฅ์ค");
// Description (150์ ์ ํ)
$meta_description_raw = "๋ณํธ์ฌยท๋ฒ๋ฌด๋ฒ์ธยท๋ฒ๋ฅ ์ฌ๋ฌด์ ๋ฑ ๋ฒ๋ฅ ์
์ข
์ ์ต์ ํ๋ ํํ์ด์ง ์ ์ ์ฌ๋ก๋ฅผ ํตํด ๋ธ๋๋ ์ ๋ขฐ๋, ๊ฒ์ ๋
ธ์ถ, ์๋ด ๋ฌธ์ ์ฑ๊ณผ๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ์ ํ์ธํ์ธ์.";
$meta_description = strip_tags($meta_description_raw);
$meta_description = mb_substr($meta_description, 0, 150, 'UTF-8');
// Keywords
$meta_keywords = "{$industry_name}, ๋ณํธ์ฌ ํํ์ด์ง ์ ์, ๋ฒ๋ฌด๋ฒ์ธ ํํ์ด์ง, ๋ฒ๋ฅ ์ฌ๋ฌด์ ์น์ฌ์ดํธ, ๋ฆฌ๋๋ฅ์ค";
// OG ์ด๋ฏธ์ง ์๋ ์ ํ
$og_path = $_SERVER["DOCUMENT_ROOT"] . "/portfolio/assets/images/og/works-{$industry_slug}.jpg";
$og_url = G5_URL . "/portfolio/assets/images/og/works-{$industry_slug}.jpg";
if (file_exists($og_path)) {
$meta_image = $og_url;
} else {
$meta_image = G5_URL . "/img/og-default.jpg";
}
// Canonical URL
$canonical_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// OG ํ์
(์นดํ
๊ณ ๋ฆฌ ํ์ด์ง๋ ์นํ์ด์ง๊ฐ ๋ง์)
$meta_og_type = "website";
include_once(G5_THEME_PATH.'/head.php');
// ==============================
// โ
ํฌํธํด๋ฆฌ์ค ๋ฆฌ์คํธ ์คํค๋ง ์๋ ์์ฑ โ
// ==============================
$schema = [
"@context" => "https://schema.org",
"@type" => "CollectionPage",
"name" => $meta_title,
"description" => $meta_description,
"url" => $canonical_url,
"image" => $meta_image,
"publisher" => [
"@type" => "Organization",
"name" => "๋ฆฌ๋๋ฅ์ค",
"url" => "https://leadernex.com",
"logo" => [
"@type" => "ImageObject",
"url" => G5_URL . "/theme/basic/images/logo-c.svg"
]
],
"mainEntity" => [
"@type" => "ItemList",
"itemListOrder" => "https://schema.org/ItemListOrderAscending",
"numberOfItems" => count($items),
"itemListElement" => []
]
];
foreach ($items as $index => $it) {
$schema["mainEntity"]["itemListElement"][] = [
"@type" => "ListItem",
"position" => $index + 1,
"url" => G5_URL . "/works/" . $it['slug'],
"name" => $it['client_name'] . " - " . $it['industry_name'],
"image" => !empty($it['thumb'])
? G5_URL . "/portfolio/assets/images/thumb/" . $it['thumb']
: null,
];
}
echo '';
echo '';
echo '';
?>
๋ฒ๋ฅ ํํ์ด์ง ์ ์ ์ฌ๋ก
๋ณํธ์ฌยท๋ฒ๋ฌด๋ฒ์ธ
ํํ์ด์ง ์ ์์ผ๋ก
์ ๋ฌธ์ฑ๊ณผ ๊ฒ์๋
ธ์ถ์ ๋์ด์ธ์
๋ฆฌ๋๋ฅ์ค๋ ๋ณํธ์ฌยท๋ฒ๋ฌด๋ฒ์ธยท๋ฒ๋ฅ ์ฌ๋ฌด์ ๋ฑ
๋ฒ๋ฅ ์
์ข
์ ์ต์ ํ๋ ๊ตฌ์กฐ์
์ฝํ
์ธ ๋ฅผ ์ค๊ณํ์ฌ
๊ฒ์ ๋
ธ์ถ, ์๋ด ๋ฌธ์, ๋ธ๋๋ ์ ๋ขฐ๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋์ฌ๋๋ฆฝ๋๋ค.