Обновлены страницы с мета-тегами: заменены статические мета-теги на компонент MetaTags, который динамически получает данные через getMetaByPath. Изменен язык документа на русский в _document.tsx. Добавлены мета-теги для страниц: brands, catalog, contacts, index, search-result, thankyoupage, vin, wholesale и vehicle-search.
This commit is contained in:
192
src/lib/meta-config.ts
Normal file
192
src/lib/meta-config.ts
Normal file
@ -0,0 +1,192 @@
|
||||
interface MetaConfig {
|
||||
title: string;
|
||||
description: string;
|
||||
keywords: string;
|
||||
ogTitle?: string;
|
||||
ogDescription?: string;
|
||||
}
|
||||
|
||||
export const metaConfig: Record<string, MetaConfig> = {
|
||||
// Главная страница
|
||||
'/': {
|
||||
title: 'Protek - Автозапчасти и аксессуары для всех марок автомобилей',
|
||||
description: 'Protek - широкий ассортимент автозапчастей и аксессуаров для всех марок автомобилей. Быстрая доставка по России, гарантия качества, низкие цены.',
|
||||
keywords: 'автозапчасти, запчасти для автомобилей, автоаксессуары, доставка запчастей, protek, протек',
|
||||
ogTitle: 'Protek - Автозапчасти и аксессуары',
|
||||
ogDescription: 'Широкий ассортимент автозапчастей и аксессуаров для всех марок автомобилей. Быстрая доставка, гарантия качества.'
|
||||
},
|
||||
|
||||
// Каталог
|
||||
'/catalog': {
|
||||
title: 'Каталог автозапчастей - Protek',
|
||||
description: 'Полный каталог автозапчастей для всех марок автомобилей. Более 1 миллиона наименований запчастей в наличии и под заказ.',
|
||||
keywords: 'каталог запчастей, автозапчасти каталог, запчасти для авто, поиск запчастей',
|
||||
ogTitle: 'Каталог автозапчастей - Protek',
|
||||
ogDescription: 'Полный каталог автозапчастей для всех марок автомобилей. Более 1 миллиона наименований.'
|
||||
},
|
||||
|
||||
// Марки автомобилей
|
||||
'/brands': {
|
||||
title: 'Все марки автомобилей - Каталог запчастей Protek',
|
||||
description: 'Полный каталог автомобильных брендов для поиска запчастей. Выберите марку вашего автомобиля и найдите нужные запчасти.',
|
||||
keywords: 'марки автомобилей, бренды авто, запчасти по маркам, автомобильные марки',
|
||||
ogTitle: 'Все марки автомобилей - Protek',
|
||||
ogDescription: 'Полный каталог автомобильных брендов для поиска запчастей.'
|
||||
},
|
||||
|
||||
// Поиск по VIN
|
||||
'/vin': {
|
||||
title: 'Поиск запчастей по VIN коду - Protek',
|
||||
description: 'Быстрый и точный поиск автозапчастей по VIN коду автомобиля. Определите совместимые запчасти для вашего авто.',
|
||||
keywords: 'поиск по VIN, VIN код, запчасти по VIN, определение запчастей, совместимость',
|
||||
ogTitle: 'Поиск запчастей по VIN коду - Protek',
|
||||
ogDescription: 'Быстрый и точный поиск автозапчастей по VIN коду автомобиля.'
|
||||
},
|
||||
|
||||
// Контакты
|
||||
'/contacts': {
|
||||
title: 'Контакты - Protek',
|
||||
description: 'Контактная информация компании Protek. Адреса магазинов, телефоны, режим работы. Свяжитесь с нами для консультации.',
|
||||
keywords: 'контакты protek, адрес, телефон, режим работы, магазины запчастей',
|
||||
ogTitle: 'Контакты - Protek',
|
||||
ogDescription: 'Контактная информация компании Protek. Адреса магазинов, телефоны, режим работы.'
|
||||
},
|
||||
|
||||
// О компании
|
||||
'/about': {
|
||||
title: 'О компании Protek - Автозапчасти и аксессуары',
|
||||
description: 'Компания Protek - надежный поставщик автозапчастей с многолетним опытом. Узнайте больше о нашей истории и преимуществах.',
|
||||
keywords: 'о компании protek, история компании, преимущества, автозапчасти',
|
||||
ogTitle: 'О компании Protek',
|
||||
ogDescription: 'Компания Protek - надежный поставщик автозапчастей с многолетним опытом.'
|
||||
},
|
||||
|
||||
// Новости
|
||||
'/news': {
|
||||
title: 'Новости и акции - Protek',
|
||||
description: 'Актуальные новости компании Protek, специальные предложения и акции на автозапчасти.',
|
||||
keywords: 'новости protek, акции, специальные предложения, скидки на запчасти',
|
||||
ogTitle: 'Новости и акции - Protek',
|
||||
ogDescription: 'Актуальные новости компании Protek, специальные предложения и акции.'
|
||||
},
|
||||
|
||||
// Оптовые продажи
|
||||
'/wholesale': {
|
||||
title: 'Оптовые продажи автозапчастей - Protek',
|
||||
description: 'Оптовые продажи автозапчастей для автосервисов и дилеров. Специальные цены, гибкие условия сотрудничества.',
|
||||
keywords: 'оптовые продажи, запчасти оптом, для автосервисов, дилерам, оптовые цены',
|
||||
ogTitle: 'Оптовые продажи автозапчастей - Protek',
|
||||
ogDescription: 'Оптовые продажи автозапчастей для автосервисов и дилеров. Специальные цены.'
|
||||
},
|
||||
|
||||
// Способы оплаты
|
||||
'/payments-method': {
|
||||
title: 'Способы оплаты - Protek',
|
||||
description: 'Удобные способы оплаты автозапчастей: наличными, картой, банковским переводом, онлайн-платежи.',
|
||||
keywords: 'способы оплаты, оплата запчастей, банковская карта, наличные, онлайн-платеж',
|
||||
ogTitle: 'Способы оплаты - Protek',
|
||||
ogDescription: 'Удобные способы оплаты автозапчастей: наличными, картой, банковским переводом.'
|
||||
},
|
||||
|
||||
// Корзина
|
||||
'/cart': {
|
||||
title: 'Корзина - Protek',
|
||||
description: 'Корзина покупок. Оформите заказ на выбранные автозапчасти с быстрой доставкой.',
|
||||
keywords: 'корзина покупок, оформление заказа, заказать запчасти',
|
||||
ogTitle: 'Корзина - Protek',
|
||||
ogDescription: 'Корзина покупок. Оформите заказ на выбранные автозапчасти.'
|
||||
},
|
||||
|
||||
// Избранное
|
||||
'/favorite': {
|
||||
title: 'Избранные товары - Protek',
|
||||
description: 'Ваши избранные автозапчасти. Сохраните интересующие товары для быстрого доступа.',
|
||||
keywords: 'избранные товары, сохраненные запчасти, избранное',
|
||||
ogTitle: 'Избранные товары - Protek',
|
||||
ogDescription: 'Ваши избранные автозапчасти. Сохраните интересующие товары.'
|
||||
},
|
||||
|
||||
// Профиль
|
||||
'/profile-orders': {
|
||||
title: 'Мои заказы - Личный кабинет Protek',
|
||||
description: 'Личный кабинет клиента Protek. Управляйте своими заказами, отслеживайте статус доставки.',
|
||||
keywords: 'личный кабинет, мои заказы, статус заказа, история покупок',
|
||||
ogTitle: 'Мои заказы - Личный кабинет Protek',
|
||||
ogDescription: 'Личный кабинет клиента Protek. Управляйте своими заказами.'
|
||||
},
|
||||
|
||||
// Страница благодарности
|
||||
'/thankyoupage': {
|
||||
title: 'Спасибо за заказ - Protek',
|
||||
description: 'Ваш заказ успешно оформлен. Мы свяжемся с вами в ближайшее время для подтверждения.',
|
||||
keywords: 'заказ оформлен, спасибо за заказ, подтверждение заказа',
|
||||
ogTitle: 'Спасибо за заказ - Protek',
|
||||
ogDescription: 'Ваш заказ успешно оформлен. Мы свяжемся с вами в ближайшее время.'
|
||||
}
|
||||
};
|
||||
|
||||
// Функция для получения meta-тегов по пути
|
||||
export const getMetaByPath = (path: string): MetaConfig => {
|
||||
// Нормализуем путь (убираем query параметры)
|
||||
const normalizedPath = path.split('?')[0];
|
||||
|
||||
// Проверяем точное совпадение
|
||||
if (metaConfig[normalizedPath]) {
|
||||
return metaConfig[normalizedPath];
|
||||
}
|
||||
|
||||
// Проверяем динамические пути
|
||||
if (normalizedPath.startsWith('/vehicle-search/')) {
|
||||
return {
|
||||
title: 'Поиск запчастей по автомобилю - Protek',
|
||||
description: 'Найдите подходящие запчасти для вашего автомобиля. Точный подбор по марке, модели и году выпуска.',
|
||||
keywords: 'поиск запчастей, подбор по автомобилю, запчасти для авто'
|
||||
};
|
||||
}
|
||||
|
||||
if (normalizedPath.startsWith('/search-result')) {
|
||||
return {
|
||||
title: 'Результаты поиска - Protek',
|
||||
description: 'Результаты поиска автозапчастей. Найдите нужные запчасти среди широкого ассортимента.',
|
||||
keywords: 'результаты поиска, поиск запчастей, найти запчасти'
|
||||
};
|
||||
}
|
||||
|
||||
if (normalizedPath.startsWith('/payment/')) {
|
||||
return {
|
||||
title: 'Оплата заказа - Protek',
|
||||
description: 'Оплата заказа автозапчастей. Безопасные способы оплаты онлайн.',
|
||||
keywords: 'оплата заказа, онлайн оплата, безопасная оплата'
|
||||
};
|
||||
}
|
||||
|
||||
// Возвращаем дефолтные meta-теги
|
||||
return metaConfig['/'];
|
||||
};
|
||||
|
||||
// Функция для создания динамических meta-тегов для товаров
|
||||
export const createProductMeta = (product: {
|
||||
name: string;
|
||||
brand: string;
|
||||
articleNumber: string;
|
||||
price?: number;
|
||||
}): MetaConfig => {
|
||||
return {
|
||||
title: `${product.brand} ${product.articleNumber} - ${product.name} - Protek`,
|
||||
description: `Купить ${product.name} ${product.brand} артикул ${product.articleNumber}${product.price ? ` по цене ${product.price} руб.` : ''}. Гарантия качества, быстрая доставка.`,
|
||||
keywords: `${product.name}, ${product.brand}, ${product.articleNumber}, запчасти, автозапчасти`,
|
||||
ogTitle: `${product.brand} ${product.articleNumber} - ${product.name}`,
|
||||
ogDescription: `Купить ${product.name} ${product.brand} артикул ${product.articleNumber}. Гарантия качества, быстрая доставка.`
|
||||
};
|
||||
};
|
||||
|
||||
// Функция для создания meta-тегов для категорий
|
||||
export const createCategoryMeta = (categoryName: string, count?: number): MetaConfig => {
|
||||
return {
|
||||
title: `${categoryName} - Каталог запчастей Protek`,
|
||||
description: `Купить ${categoryName.toLowerCase()} для автомобилей${count ? `. В наличии ${count} товаров` : ''}. Широкий выбор, низкие цены, быстрая доставка.`,
|
||||
keywords: `${categoryName.toLowerCase()}, запчасти, автозапчасти, каталог`,
|
||||
ogTitle: `${categoryName} - Protek`,
|
||||
ogDescription: `Купить ${categoryName.toLowerCase()} для автомобилей. Широкий выбор, низкие цены.`
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user