Перейти к содержанию
Форум поддержки пользователей VamShop

не работает указание канонической страницы


Рекомендуемые сообщения


<link rel="canonical" href="<?php echo CanonicalUrl(); ?>" />
[/CODE] не работает на карточке товара http://liebbe.ru/pro...4-01-CD-DJ.html
[CODE]
<?php
if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {
?>
так работает

if (isset($_GET['products_id']) && strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {
[/code]

так нет.

Ссылка на сообщение
Поделиться на другие сайты

да все работает. не понятно для чего


isset($_GET['products_id'])
[/CODE]

вообще нужен? url формируется как надо. странно

Ссылка на сообщение
Поделиться на другие сайты
  • 2 years later...

страница производителя, типа "http://coffe.com/index.php?manufacturers_id=ХХ

 

в файле  \metatags.php в блоке

  case ($_GET['manufacturers_id']):

 

делаю вывод:

<link rel="canonical" href="<?php echo CanonicalUrl();?>" />
 

На сайте получаю:

<link rel="canonical" href="http://coffe.com/index.php?manufacturers_id=18&page=1" />

<link rel="canonical" href="http://coffe.com/index.php?manufacturers_id=18&page=2" />

 

 

Понятно, что для этих страниц должно выдавать :

<link rel="canonical" href="http://coffe.com/index.php?manufacturers_id=18" />

 

вопрос: почему CanoicalUrl() выоводит не канонический урл?

 - как вывести канонический? :)

Ссылка на сообщение
Поделиться на другие сайты

Я так подозреваю потому что в /includes/application_top.php в функции CanonicalUrl нет обработки для этого параметра.

Попробуйте поменять:

 

$search = '/\&sid.[^\&\?]*|\?sid.[^\&\?]*|\?sort.[^\&\?]*|\&sort.[^\&\?]*|\?direction.[^\&\?]*|\&direction.[^\&\?]*|\?on_page.[^\&\?]*|\&on_page.[^\&\?]*|\?page=1|\&page=1|\&cat.[^\&\?]*|\&filter_id.[^\&\?]*|\&manufacturers_id.[^\&\?]*|\&params.[^\&\?]*|\?q.[^\&\?]*|\&q.[^\&\?]*|\?price_min.[^\&\?]*|\&price_min.[^\&\?]*|\?price_max.[^\&\?]*|\&price_max.[^\&\?]*/'; // searches for the session id in the url
 

 

на:

 

$search = '/\&sid.[^\&\?]*|\?sid.[^\&\?]*|\?sort.[^\&\?]*|\&sort.[^\&\?]*|\?direction.[^\&\?]*|\&direction.[^\&\?]*|\?on_page.[^\&\?]*|\&on_page.[^\&\?]*|\?page=1|\&page=1|\&cat.[^\&\?]*|\&filter_id.[^\&\?]*|\&manufacturers_id.[^\&\?]*|\&params.[^\&\?]*|\?q.[^\&\?]*|\&q.[^\&\?]*|\?price_min.[^\&\?]*|\&price_min.[^\&\?]*|\?price_max.[^\&\?]*|\&price_max.[^\&\?]*|\?manufacturers_id.[^\&\?]*|\&manufacturers_id.[^\&\?]*/'; // searches for the session id in the url
 
Ссылка на сообщение
Поделиться на другие сайты

 

Я так подозреваю потому что в /includes/application_top.php в функции CanonicalUrl нет обработки для этого параметра.

Попробуйте поменять:


на:

$search = '/\&sid.[^\&\?]*|\?sid.[^\&\?]*|\?sort.[^\&\?]*|\&sort.[^\&\?]*|\?direction.[^\&\?]*|\&direction.[^\&\?]*|\?on_page.[^\&\?]*|\&on_page.[^\&\?]*|\?page=1|\&page=1|\&cat.[^\&\?]*|\&filter_id.[^\&\?]*|\&manufacturers_id.[^\&\?]*|\&params.[^\&\?]*|\?q.[^\&\?]*|\&q.[^\&\?]*|\?price_min.[^\&\?]*|\&price_min.[^\&\?]*|\?price_max.[^\&\?]*|\&price_max.[^\&\?]*|\?manufacturers_id.[^\&\?]*|\&manufacturers_id.[^\&\?]*/'; // searches for the session id in the url
 

заменил. получается тоже весело:

для

http://coffe.com/index.php?manufacturers_id=18&page=2

имею

<link rel="canonical" href="http://coffe.com/index.php&page=2">

 

как дописать у полученному урлу "?manufacturers_id=18" - не проблема.

а вот &page=2 - его ведь не должно быть в canonical?

как убрать &page=2   ?

Ссылка на сообщение
Поделиться на другие сайты

А если наоборот, вот так:

 

$search = '/\&sid.[^\&\?]*|\?sid.[^\&\?]*|\?sort.[^\&\?]*|\&sort.[^\&\?]*|\?direction.[^\&\?]*|\&direction.[^\&\?]*|\?on_page.[^\&\?]*|\&on_page.[^\&\?]*|\?page=1|\&page=1|\&cat.[^\&\?]*|\&filter_id.[^\&\?]*|\&manufacturers_id.[^\&\?]*|\&params.[^\&\?]*|\?q.[^\&\?]*|\&q.[^\&\?]*|\?price_min.[^\&\?]*|\&price_min.[^\&\?]*|\?price_max.[^\&\?]*|\&price_max.[^\&\?]*|\?page.[^\&\?]*|\&page.[^\&\?]*/'; // searches for the session id in the url
Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...