Добрый день! Сайт sfera.by На главной странице при просмотре кода страницы "canonical" показывается с http:// вместо https:// Код: <base href="https://sfera.by/" /> ... <link href="http://sfera.by/" rel="canonical" /><link При этом на других страницах сайта всё нормально отображается: Код: <base href="https://sfera.by/" /> ... <link href="https://sfera.by/avto-cignalizacii" rel="canonical" /> Подскажите как исправить, пожалуйста.
найдите соответствующую переменную в \catalog\view\theme\...\template\common\header.tpl и гляньте её формирование в \catalog\controller\common\header.php Кроме того, обратите внимание на vqmod'ы - возможно, кто-то из них подменяет.
я делал так, в файле config.php в корне: Просто поменял все "http://" на "https://". чистка кеша и все заработало.
Всё также стоит: Код: // HTTP define('HTTP_SERVER', 'http://sfera.by/'); define('HTTP_IMAGE', 'http://sfera.by/image/'); // HTTPS define('HTTPS_SERVER', 'https://sfera.by/'); define('HTTPS_IMAGE', 'https://sfera.by/image/');
five555, .подскажи пож-та как ты сделал что rel canonical стало https ? --- Добавлено, 14 янв 2016 --- five555, Подскажи как изменить canonical на https --- Добавлено, 14 янв 2016 --- и По ходу все страницы на https. D конфтиге и одном и втором все сделал как положено. В админке включил ssl. Только вот многое так и висит на http. Файл .htaccess поправил. Вот пример view-source:https://manka-vstanka.ru/detskaya-odejda/komplekt-dlya-novorojdenih/
Добрый день, спасибо за подсказку, но в header.tpl нашел в начале только переменные по выводу title, description, keywords и icon, ничего касательно canonical. Код: <!DOCTYPE html> <html dir="<?php echo $helper->getDirection(); ?>" class="<?php echo $helper->getDirection(); ?>" lang="<?php echo $lang; ?>"> <head> <!-- Mobile viewport optimized: h5bp.com/viewport --> <meta name="viewport" content="width=device-width"> <meta charset="UTF-8" /> <title><?php echo $title; if (isset($_GET['page'])) { echo " | Страница ". ((int) $_GET['page']); } ?></title> <base href="<?php echo $base; ?>" /> <?php if ($description) { ?> <meta name="description" content="<?php echo $description; if (isset($_GET['page'])) { echo " | Страница ". ((int) $_GET['page']); } ?>" /> <?php } ?> <?php if ($keywords) { ?> <meta name="keywords" content="<?php echo $keywords; ?>" /> <?php } ?> <?php if ($icon) { ?> <link href="<?php echo $icon; ?>" rel="icon" /> <?php } ?> <?php foreach ($links as $link) { ?> <link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" /> <?php } ?> <?php foreach ($helper->getCssLinks() as $link) { ?> <link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" /> <?php } ?> <?php if( $themeConfig['theme_width'] && $themeConfig['theme_width'] != 'auto' ) { ?> <style> #page-container .container{max-width:<?php echo $themeConfig['theme_width'];?>; width:auto}</style> <?php } ?> <?php if( isset($themeConfig['use_custombg']) && $themeConfig['use_custombg'] ) { ?> <style> body{ background:url( "image/<?php echo $themeConfig['bg_image'];?>") <?php echo $themeConfig['bg_repeat'];?> <?php echo $themeConfig['bg_position'];?> !important; }</style> <?php } ?> <?php if( isset($themeConfig['enable_customfont']) && $themeConfig['enable_customfont'] ){ $css=array(); $link = array(); for( $i=1; $i<=3; $i++ ){ if( trim($themeConfig['google_url'.$i]) && $themeConfig['type_fonts'.$i] == 'google' ){ $link[] = '<link rel="stylesheet" type="text/css" href="'.trim($themeConfig['google_url'.$i]) .'"/>'; $themeConfig['normal_fonts'.$i] = $themeConfig['google_family'.$i]; } if( trim($themeConfig['body_selector'.$i]) && trim($themeConfig['normal_fonts'.$i]) ){ $css[]= trim($themeConfig['body_selector'.$i])." {font-family:".str_replace("'",'"',htmlspecialchars_decode(trim($themeConfig['normal_fonts'.$i])))."}\r\n" ; } } echo implode( "\r\n",$link ); ?> Могли бы уточнить пожалуйста, спасибо.
kommunik, а какой модуль у вас отвечает за вывод этой ссылки? И вообще, это костыль. Не надо ничего никуда руками вбивать. Проверьте, что у вас везде в конфигах прописана правильно ссылка для https и в админке включён SSL. Если всё везде правильно, значит ваш SEO модуль не рассчитан на работу с https и нужно его чуть допилить.
Модуль, пока SeoPackPro, но чувствую придется мне все таки его заменить. Пока увы не представилось возможности протестить мод PALADIN. Проверил, спасибо. Все настроено и прописано, похоже действительно он не может работать с ssl (по крайне мере частично он не покрывает функционал, при наличии ssl, получается), чувствую приближение к замене модуля SEO.
Добрый день, спасибо. У меня в настройках сервера параметр использовать SEO URL's, включен. Параметр seopro выключен.
Какие решения я встречал: 1) в каталог/контроллер/сео_урл.пхп после $url_info = parse_url(str_replace('&', '&', $link)); написать $url_info['scheme'] = 'https'; 2) в конфиге прописать // HTTP define('HTTP_SERVER', 'https://mysite.com/'); define('HTTP_CATALOG', 'https://mysite.com/'); // HTTPS define('HTTPS_SERVER', 'https://mysite.com/'); define('HTTPS_CATALOG', 'https://mysite.com/'); Попробуйте
Cпасибо Вам большое, второй вариант решения помог. У меня там действительно было прописано для протокола //http, адреса тоже начинающиеся с http://
А говорили, что в конфигах всё правильно. Неправильная ссылка для https в конфиге - это самая распространённая ошибка.
Да было вот так // HTTP define('HTTP_SERVER', 'http://mysite.com/'); define('HTTP_CATALOG', 'http://mysite.com/'); // HTTPS define('HTTPS_SERVER', 'https://mysite.com/'); define('HTTPS_CATALOG', 'https://mysite.com/'); Я считал что так и должно быть и это правильный конфиг. Изменил для //HTTP по рекомендации @samuel_L , и все стало ок.. Еще раз спасибо всем!