fix seo
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
}
|
||||
|
||||
.home-hero__inner,
|
||||
.home-about__inner,
|
||||
.home-categories__inner,
|
||||
.home-commerce__inner,
|
||||
.home-steps__inner {
|
||||
@@ -76,6 +77,7 @@
|
||||
border-radius: var(--radius-md);
|
||||
}
|
||||
|
||||
.home-about,
|
||||
.home-categories,
|
||||
.home-showcase,
|
||||
.home-commerce,
|
||||
@@ -88,6 +90,7 @@
|
||||
padding: 70px 0;
|
||||
}
|
||||
|
||||
.home-about__inner,
|
||||
.home-categories__inner,
|
||||
.home-showcase__inner,
|
||||
.home-commerce__inner,
|
||||
@@ -101,6 +104,38 @@
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.home-about {
|
||||
background: var(--color-surface-soft);
|
||||
}
|
||||
|
||||
.home-about__inner {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
|
||||
gap: 56px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.home-about__heading {
|
||||
display: grid;
|
||||
gap: 18px;
|
||||
position: sticky;
|
||||
top: 150px;
|
||||
}
|
||||
|
||||
.home-about__content {
|
||||
display: grid;
|
||||
gap: 18px;
|
||||
color: var(--color-muted);
|
||||
}
|
||||
|
||||
.home-about__content a {
|
||||
color: var(--color-accent-dark);
|
||||
font-weight: 700;
|
||||
text-decoration: underline;
|
||||
text-decoration-thickness: 1px;
|
||||
text-underline-offset: 3px;
|
||||
}
|
||||
|
||||
.home-categories__head,
|
||||
.home-showcase__head,
|
||||
.home-commerce__head,
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
.service-faq,
|
||||
.service-lead,
|
||||
.home-hero,
|
||||
.home-about,
|
||||
.home-categories,
|
||||
.home-commerce,
|
||||
.home-steps,
|
||||
@@ -66,6 +67,7 @@
|
||||
.service-process__inner,
|
||||
.service-lead__inner,
|
||||
.home-hero__inner,
|
||||
.home-about__inner,
|
||||
.home-steps__inner,
|
||||
.portfolio-hero__inner,
|
||||
.portfolio-lead__inner {
|
||||
@@ -116,6 +118,7 @@
|
||||
.service-faq__inner,
|
||||
.service-lead__inner,
|
||||
.home-hero__inner,
|
||||
.home-about__inner,
|
||||
.home-categories__inner,
|
||||
.home-commerce__inner,
|
||||
.home-steps__inner,
|
||||
@@ -140,6 +143,10 @@
|
||||
aspect-ratio: 1;
|
||||
}
|
||||
|
||||
.home-about__heading {
|
||||
position: static;
|
||||
}
|
||||
|
||||
.home-final__inner {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
|
||||
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
<span class="site-footer__title">Навигация</span>
|
||||
<ul class="site-footer__list">
|
||||
<li class="site-footer__item"><a class="site-footer__link" href="<?php echo esc_url( home_url( '/' ) ); ?>">Главная</a></li>
|
||||
<li class="site-footer__item"><a class="site-footer__link" href="<?php echo esc_url( home_url( '/torty-na-zakaz/' ) ); ?>">Торты на заказ</a></li>
|
||||
<li class="site-footer__item"><a class="site-footer__link" href="<?php echo esc_url( home_url( '/' ) ); ?>">Торты на заказ в Севастополе</a></li>
|
||||
<li class="site-footer__item"><a class="site-footer__link" href="<?php echo esc_url( home_url( '/portfolio/' ) ); ?>">Портфолио</a></li>
|
||||
<li class="site-footer__item"><a class="site-footer__link" href="<?php echo esc_url( home_url( '/faq/' ) ); ?>">FAQ</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -22,6 +22,23 @@ get_header();
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="home-about" aria-labelledby="home-about-title">
|
||||
<div class="home-about__inner">
|
||||
<div class="home-about__heading">
|
||||
<span class="section-kicker">Торты для вашего события</span>
|
||||
<h2 class="section-title" id="home-about-title">Торты на заказ в Севастополе: от идеи до аккуратной доставки</h2>
|
||||
</div>
|
||||
<div class="home-about__content">
|
||||
<p>Готовим торты на заказ для дней рождения, свадеб, детских праздников, семейных встреч и корпоративных событий в Севастополе. Каждый заказ обсуждаем отдельно: уточняем дату, количество гостей, желаемый вес, начинку, оформление и способ получения. Можно прислать фотографию понравившегося торта, подобрать цветовую гамму под праздник или доверить идею нам. Мы предложим вариант, который будет соответствовать поводу, сроку и вашему бюджету.</p>
|
||||
<p>Для небольшого поздравления подойдут <a href="<?php echo esc_url( home_url( '/bento/' ) ); ?>">бенто-торты</a> с надписью или лаконичным декором. Для большого праздника рассчитаем вес по количеству гостей и поможем выбрать формат подачи. Отдельно создаём <a href="<?php echo esc_url( home_url( '/detskie/' ) ); ?>">детские торты</a>, свадебные композиции, корпоративные торты с фирменными цветами и десерты на день рождения. В оформлении можно использовать ягоды, шоколад, надписи и персональные детали. Итоговый дизайн согласовываем до начала работы.</p>
|
||||
<p>Вкус торта не менее важен, чем внешний вид. Поможем подобрать сочетание коржей, крема и наполнения с учётом формата события и предпочтений гостей. Доступны шоколадные, ванильные, ягодные и сливочные варианты. Если вы ещё не определились, расскажите, какие десерты любите: предложим несколько подходящих сочетаний и объясним, чем они отличаются. Актуальные варианты собраны на странице <a href="<?php echo esc_url( home_url( '/nachinki/' ) ); ?>">начинок для тортов</a>.</p>
|
||||
<p>Работа над заказом начинается с короткого обсуждения. Вы сообщаете дату и повод, примерное количество гостей, вкусовые предпочтения и пожелания к оформлению. Затем мы предлагаем подходящий вес и начинку, уточняем детали декора, рассчитываем стоимость и фиксируем согласованный вариант. Такой порядок помогает заранее понимать результат и не принимать важные решения в последний момент.</p>
|
||||
<p>Оптимально оформлять заказ за 2–4 дня. Для свадебного торта или сложного тематического декора лучше обратиться раньше, чтобы спокойно согласовать все детали. Срочный заказ возможен, если в расписании есть свободное окно и выбранное оформление можно выполнить в нужный срок. Мы заранее сообщим, какие варианты доступны, и не подтвердим заказ, пока не согласуем состав, внешний вид и стоимость.</p>
|
||||
<p>Перед выдачей торт упаковываем с учётом его размера и оформления. Для перевозки важно поставить коробку на ровную поверхность, не оставлять десерт в тёплом салоне и после получения хранить его в холодильнике. При доставке заранее согласуем адрес и временной интервал, чтобы торт приехал к празднику без лишнего ожидания.</p>
|
||||
<p>Готовый торт можно получить самовывозом или заказать доставку по Севастополю в согласованный интервал. Цена зависит от веса, начинки, сложности декора, срочности и адреса доставки. На странице <a href="<?php echo esc_url( home_url( '/ceny/' ) ); ?>">цен на торты</a> указаны ориентиры, а точную сумму назовём после короткого описания заказа. Оставьте заявку с датой праздника, количеством гостей и пожеланиями — мы уточним детали и предложим подходящий вариант.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="home-categories">
|
||||
<div class="home-categories__inner">
|
||||
<div class="home-categories__head">
|
||||
|
||||
@@ -44,7 +44,8 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
<li class="site-header__menu-item site-header__menu-item--catalog">
|
||||
<button class="site-header__menu-link site-header__menu-button" type="button" aria-expanded="false">Каталог</button>
|
||||
<div class="site-header__catalog">
|
||||
<?php foreach ( array( 'torty-na-zakaz', 'bento', 'detskie', 'svadebnye', 'korporativnye', 'na-den-rozhdeniya', 'srochnyj-zakaz', 'nachinki' ) as $slug ) : ?>
|
||||
<a class="site-header__catalog-link" href="<?php echo esc_url( home_url( '/' ) ); ?>">Все торты на заказ</a>
|
||||
<?php foreach ( array( 'bento', 'detskie', 'svadebnye', 'korporativnye', 'na-den-rozhdeniya', 'srochnyj-zakaz', 'nachinki' ) as $slug ) : ?>
|
||||
<?php $item = sev_tort_pages()[ $slug ]; ?>
|
||||
<a class="site-header__catalog-link" href="<?php echo esc_url( home_url( '/' . $item['slug'] . '/' ) ); ?>"><?php echo esc_html( $item['label'] ); ?></a>
|
||||
<?php endforeach; ?>
|
||||
@@ -79,7 +80,8 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
<div class="mobile-menu__catalog">
|
||||
<button class="mobile-menu__link mobile-menu__catalog-toggle" type="button" aria-expanded="false" aria-controls="mobile-catalog-list" data-mobile-catalog-toggle>Каталог</button>
|
||||
<div class="mobile-menu__catalog-list" id="mobile-catalog-list" data-mobile-catalog hidden>
|
||||
<?php foreach ( array( 'torty-na-zakaz', 'bento', 'detskie', 'svadebnye', 'korporativnye', 'na-den-rozhdeniya', 'srochnyj-zakaz', 'nachinki' ) as $slug ) : ?>
|
||||
<a class="mobile-menu__catalog-link" href="<?php echo esc_url( home_url( '/' ) ); ?>">Все торты на заказ</a>
|
||||
<?php foreach ( array( 'bento', 'detskie', 'svadebnye', 'korporativnye', 'na-den-rozhdeniya', 'srochnyj-zakaz', 'nachinki' ) as $slug ) : ?>
|
||||
<?php $item = sev_tort_pages()[ $slug ]; ?>
|
||||
<a class="mobile-menu__catalog-link" href="<?php echo esc_url( home_url( '/' . $item['slug'] . '/' ) ); ?>"><?php echo esc_html( $item['label'] ); ?></a>
|
||||
<?php endforeach; ?>
|
||||
|
||||
@@ -19,6 +19,19 @@ function sev_tort_query_vars( $vars ) {
|
||||
|
||||
add_filter( 'wp_sitemaps_enabled', '__return_false' );
|
||||
|
||||
add_action( 'template_redirect', 'sev_tort_redirect_order_page_to_home', 1 );
|
||||
function sev_tort_redirect_order_page_to_home() {
|
||||
$path = isset( $_SERVER['REQUEST_URI'] ) ? parse_url( wp_unslash( $_SERVER['REQUEST_URI'] ), PHP_URL_PATH ) : '';
|
||||
$path = trim( (string) $path, '/' );
|
||||
|
||||
if ( 'torty-na-zakaz' !== $path ) {
|
||||
return;
|
||||
}
|
||||
|
||||
wp_safe_redirect( home_url( '/' ), 301, 'Sevastopol Tort' );
|
||||
exit;
|
||||
}
|
||||
|
||||
add_filter( 'redirect_canonical', 'sev_tort_disable_static_seo_redirects', 10, 2 );
|
||||
function sev_tort_disable_static_seo_redirects( $redirect_url, $requested_url ) {
|
||||
if ( sev_tort_is_static_seo_path() ) {
|
||||
@@ -97,11 +110,11 @@ function sev_tort_send_sitemap() {
|
||||
);
|
||||
|
||||
foreach ( $pages as $page ) {
|
||||
if ( empty( $page['indexable'] ) ) {
|
||||
if ( empty( $page['indexable'] ) || 'torty-na-zakaz' === $page['slug'] ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$priority = in_array( $page['slug'], array( 'torty-na-zakaz', 'bento', 'detskie', 'svadebnye', 'na-den-rozhdeniya', 'ceny' ), true ) ? '0.9' : '0.8';
|
||||
$priority = in_array( $page['slug'], array( 'bento', 'detskie', 'svadebnye', 'na-den-rozhdeniya', 'ceny' ), true ) ? '0.9' : '0.8';
|
||||
|
||||
$urls[] = array(
|
||||
'loc' => home_url( '/' . $page['slug'] . '/' ),
|
||||
@@ -179,7 +192,7 @@ function sev_tort_llms_lines() {
|
||||
'- Контактный телефон: ' . sev_tort_site_phone(),
|
||||
'',
|
||||
'## Услуги',
|
||||
'- Торты на заказ: https://sevastopol-tort.ru/torty-na-zakaz/',
|
||||
'- Торты на заказ: https://sevastopol-tort.ru/',
|
||||
'- Бенто-торты: https://sevastopol-tort.ru/bento/',
|
||||
'- Детские торты: https://sevastopol-tort.ru/detskie/',
|
||||
'- Свадебные торты: https://sevastopol-tort.ru/svadebnye/',
|
||||
|
||||
@@ -601,8 +601,8 @@ function sev_tort_seo_meta_map() {
|
||||
'description' => 'Выберите начинку для торта: шоколадные, ягодные, сливочные и легкие варианты. Подскажем сочетания под повод, вес, сезон и стиль декора заказа.',
|
||||
),
|
||||
'ceny' => array(
|
||||
'title' => 'Цены на торты на заказ в Севастополе | Расчет стоимости',
|
||||
'description' => 'Посмотрите ориентиры цен на торты в Севастополе: вес, декор, срочность и доставка влияют на итог. Отправьте идею для точного расчета заказа.',
|
||||
'title' => 'Цены на торты в Севастополе | Стоимость и расчет',
|
||||
'description' => 'Узнайте ориентировочные цены на торты в Севастополе. Стоимость зависит от веса, начинки, декора, срочности и доставки. Отправьте идею для расчета.',
|
||||
),
|
||||
'dostavka-i-oplata' => array(
|
||||
'title' => 'Доставка и оплата тортов в Севастополе | Условия заказа',
|
||||
@@ -634,7 +634,6 @@ function sev_tort_seo_meta_map() {
|
||||
function sev_tort_nav_pages() {
|
||||
$pages = sev_tort_pages();
|
||||
$slugs = array(
|
||||
'torty-na-zakaz',
|
||||
'bento',
|
||||
'detskie',
|
||||
'svadebnye',
|
||||
|
||||
Reference in New Issue
Block a user