- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Хочу прописать Canonical на сайте joomla, есть код, который надо разместить в шаблоне сайта, код работает, но выдает Canonical http://, а нужно https://.
Что нужно поменять в коде, чтобы заработало. Прошу особо тапками не кидаться. Спасибо.
Вот код
<?php
//*****************************************************************
// CONCEPT-BR TOOL FOR ADDING CANONICIAL TAG IN JOOMLA 1.5 to 2.5
// VERSION: 0.2.3
// DATE: 02/2013
// CREATOR: JR
// ****************************************************************
// ****************************************************************
// SETTINGS SECTION
// ****************************************************************
$force_http_base = false; // set this to "true" will set canonical url starts with "http://...."
// ****************************************************************
// CODE - DON'T CHANGE ANYTHING FROM HERE !!!!
// ****************************************************************
// ensure helper
// =============
if(!class_exists('ContentHelperRoute')) require_once (JPATH_SITE . '/components/com_content/helpers/route.php');
// get base url
// ============
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') === FALSE ? 'http' : 'https';
if($force_http_base) $protocol = "http";
$base_url = $protocol."://".$_SERVER['HTTP_HOST']; // comment this line out to force HTTP
// check if root path or no article (e.g. any extension is loaded) => nothing to do
// ====================================================
$url_parts = parse_url($_SERVER['REQUEST_URI']);
$clean_uri = $url_parts['path'];
if (strpos($clean_uri, "?") !== false) $clean_uri = reset(explode("?", $clean_uri));
// get current article id
$article_id = JRequest::getVar('id');
$view = JRequest::getVar('view');
if($clean_uri != "" && $article_id > 0 && $view == 'article')
{
// get current menu url for canonical meta tag creation
// ====================================================
// get url for article
$link = JRoute::_(ContentHelperRoute::getArticleRoute($article_id, 0));
// set value
$canonical_value = $base_url.$link;
}
else if($clean_uri != "" && $article_id > 0 && $view == 'category')
{
// get current menu url for canonical meta tag creation
// ====================================================
// get url for category
$link = JRoute::_(ContentHelperRoute::getCategoryRoute($article_id, 0));
// set value
$canonical_value = $base_url.$link;
}
else if($clean_uri == "")
{
// root dir => nothing to do. set base url
$canonical_value = $base_url;
}
else
{
//unknown state
$canonical_value = "";
}
if($canonical_value != "")
{
?>
<!--canonical tag-->
<link rel="canonical" href="<?php echo($canonical_value); ?>" />
<?php
}
?>
Вот эту строку:
закомментируйте, а под ней вставьте строку
Hello
To translate a URL from HTTP to HTTPS in your code, you will need to rewrite a section where the variable $force_http_base is used. В данный момент у вас значение false, что означает, что протокол выбирается автоматически в зависимости от того, какой протокол используется сервером. If the web browser uses HTTP, then the канонических URL will be appended with http://.
In order to reliably implement HTTPS, independent of the server's hardware, you must:
Replace $force_http_base with true. This instructs the user to use the οротокол that was sent in at $protocol.
Seldom перед этой настройкой изменить $protocol на 'https'.
Now, let's see how this should appear in your code:
$force_http_base = true; // принудительное использование заданного протокола
$protocol = 'https'; // принудительное использование HTTPS
Эти изменения гарантируют, что независимо от настроек сервера или текущего протокола соединения, канонические URL будут всегда начинаться на https:// .
Regards
David Warner
Purva Aerocity
Вот эту строку:
закомментируйте, а под ней вставьте строку
Спасибо, но теперь выдает только адрес статьи без домена и без http.
Hello
To translate a URL from HTTP to HTTPS in your code, you will need to rewrite a section where the variable $force_http_base is used. В данный момент у вас значение false, что означает, что протокол выбирается автоматически в зависимости от того, какой протокол используется сервером. If the web browser uses HTTP, then the канонических URL will be appended with http://.
In order to reliably implement HTTPS, independent of the server's hardware, you must:
Replace $force_http_base with true. This instructs the user to use the οротокол that was sent in at $protocol.
Seldom перед этой настройкой изменить $protocol на 'https'.
Now, let's see how this should appear in your code:
$force_http_base = true; // принудительное использование заданного протокола
$protocol = 'https'; // принудительное использование HTTPS
Эти изменения гарантируют, что независимо от настроек сервера или текущего протокола соединения, канонические URL будут всегда начинаться на https:// .
Regards
David Warner
Purva Aerocity
Спасибо, но теперь выдает только адрес статьи без домена и без http.
http заменить на https
Плюс к этому включить принудиловку:
$force_http_base = true;
Выше об этом уже написали (правда, слишком длинно и бестолково), но у ТС это почему-то вызвало дополнительные проблемы. Наверное, что-то не так сделал.
Плюс к этому включить принудиловку:
$force_http_base = true;
Выше об этом уже написали (правда, слишком длинно и бестолково), но у ТС это почему-то вызвало дополнительные проблемы. Наверное, что-то не так сделал.
Если не сложно, ткните пальцем где исправить. Этот скрипт работает, но на выходе http://, меняю на что советуют, получается и без https// и без домена, только ссылка на статью. Буду благодарен.
Если не сложно, ткните пальцем где исправить.
Написали же уже выше.
Эту строку написать так:
И ниже по коду так:
Написали же уже выше.
Эту строку написать так:
И ниже по коду так:
А эту строку надо комментировать?
А эту строку надо комментировать?
Нет.