Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Индексация дублирующихся страниц (http://forum.sape.ru/showthread.php?t=98061)

Semenich 11.04.2018 08:26

Индексация дублирующихся страниц
 
Добрый день. В Сапе проиндексировались дубли страниц, теперь боюсь, что Гугл, Яндекс и прочие поисковики тоже могут дубли индексировать. Например:
Оригинальная страница - http://fmc.uz/word.php?iduz=11995
Дубль - http://fmc.uz/word.php/forum/word.php?iduz=11995

Это из-за того, что я в php анализирую только id (iduz=11995), а в середине, получается, что угодно можно подставить и всё равно откроется эта страница, но с другим URL.

Можете подсказать, как запретить индексировать дубли? Искал решение в поисковиках, но похожей проблемы не встретил.

В тех.поддержке Сапы порекомендовали просто исключить эти страницы из Сапы. А хотелось бы на будущее полностью запретить существование дублей.

Я не большой спец в php и htaccess, простой код использовал if($_GET['id']) { $id=$_GET['id']; };

Ank 11.04.2018 09:39

Цитата:

Сообщение от Semenich (Сообщение 1487633)
что я в php анализирую

не только id и будет щасье.

Цитата:

Сообщение от Semenich (Сообщение 1487633)
Я не большой спец в php и htaccess

дать денег комунибудь, что бы настроили так, что не было бы дублей. И все неправильное возвращало бы 404

Semenich 20.04.2018 08:05

Может одной строкой эта проблема решается. Неужели никто подсказать не может или ссылку на инструкцию?!

Добавлено через 11 минут
Еще раз поковырялся. Пока сделал так:
if ($_SERVER['PHP_SELF'] != $_SERVER['SCRIPT_NAME'] )
{
echo"<meta http-equiv=refresh content='0; URL=/404.html'>";exit();
}

Вроде работает в данном конкретном случае, но в других случаях не уверен.

qkowlew 20.04.2018 14:19

Цитата:

Сообщение от Semenich (Сообщение 1487690)
Может одной строкой эта проблема решается. Неужели никто подсказать не может или ссылку на инструкцию?!

Добавлено через 11 минут
Еще раз поковырялся. Пока сделал так:
if ($_SERVER['PHP_SELF'] != $_SERVER['SCRIPT_NAME'] )
{
echo"<meta http-equiv=refresh content='0; URL=/404.html'>";exit();
}

Вроде работает в данном конкретном случае, но в других случаях не уверен.

Нет, это не лучшее решение. Вместо строки
echo"<meta http-equiv=refresh content='0; URL=/404.html'>";

лучше написать:
header('HTTP/1.0 404 not found');

Добавлено через 9 минут
Но вообще-то у вас изначально проблема в том, а "кто формирует вам ссылки-дубли" - ведь их формирует в html коде страниц сам движок.

Наиболее вероятная ошибка у вас - это то, что в коде стоит:


<a href="<?php echo "?iduz=$id" ; ?>">ссылка на материал <?php echo "$id"; ?></a>

Из чего в HTML получается относительная ссылка:
<a href="?iduz=11995">ссылка на материал 11995</a>

То есть на странице / ссылка будет на "настоящую" /?iduz=11995
а на странице /forum этот же код html породит "дубль" /forum/?iduz=11995

В случае описанной мной ошибки надо просто добавить один слеш (выделен полужирным) в php код:
<a href="/<?php echo "?iduz=$id" ; ?>">ссылка на материал <?php echo "$id"; ?></a>

Semenich 02.05.2018 03:47

Спасибо за помощь, попробую так сделать.


Часовой пояс GMT +3, время: 20:31.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.