Офис НП AMWAY в Ярославле
Офис Амвей в Ярославле
На карте Офис AMWAY в ЯрославлеПрием и выдача заказов, презентация продукции Амвей, мастер–классы, вопросы по бизнесу Amway:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
Иерархия статей
Статьи » Программирование » Боремся с дублями страниц после установки ЧПУ
Сниппет
После установки ЧПУ весьма часто остается проблема: дубли страниц- с ЧПУ и без, а поисковые системы это очень не любят. Попробуем решить эту проблему.
Боремся с дублями страниц после установки ЧПУ
Опубликовал  Pisatel Pisatel Добавлено  17-09-2013 11:17 17 Сентябрь 2013 11:17:32 9224  Прочтений 9224 Прочтений
 printer
После установки ЧПУ весьма часто остается проблема: дубли страниц- с ЧПУ и без, а поисковые системы это очень не любят. Попробуем решить эту проблему.
Как нам это сделать, не потеряв пузомерки и сохранив позиции в выдаче? Все верно- 301 редирект нам в помощь. Итак, попробую на простом примере показать, как сделать этот самый редирект.
Например, раньше наши статьи были доступны по адресу сайт.ru/articles.php?article_id=5, но после установки ЧПУ адрес страниц стал иметь вид сайт.ru/article5-zdes-titl-translitom. Итак, мы получили дубль, так как статья будет доступна по обоим адресам. Что ж, ищем и редиректим. Не забываем, что редирект можно осуществить только ДО вывода любого контента в браузер, то есть до первого echo, иначе мы получим ошибку. Следовательно, проверку осуществяйте до вывода заголовков.
Итак, смотрим пример:
Код: PHP
  function redirection($location) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".str_replace("&", "&", $location));
exit;
}
//^ функция, дабы отдавать заголовок 301 редиректа

function mytext($text)
{

//здесь функция транслита, которую вы используете, она может называться как угодно
}

if (preg_match("/\/articles\.php\?article_id=([0-9]+)/i", $_SERVER['REQUEST_URI'], $matches)){
//^ищем совпадения в урле, если найдены- перенаправляем
$result = mysql_query("SELECT article_title FROM articles WHERE article_id=".(is_int($matches[1]) ? $matches[1] : 0)." LIMIT 1");
//^берем заголовок статьи, который используем для чпу
if (mysql_num_rows($result) > 0){
$data = mysql_fetch_assoc($result);
redirection("http://".$_SERVER['HTTP_HOST']."/article".$matches[1]."-".mytext($data['article_title'])."");
}
}



Надеюсь, заменить значения ты сможешь сам, я лишь показываю примерный план работы. Всего доброго!
Понравилась статья?
Метки для данной статьи
Похожие статьи
Заголовок
Категория
Просмотров
Поделиться:   
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Вопрос по переделке bb-кода
PHP, MySQL
19260 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
54078 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
13463 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
15737 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
116101 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
12185 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
19502 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
22374 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
6729 0 Pisatel
15. июня 2015
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
32094 32 Pisatel
26. апреля 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
10513 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
16370 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
104596 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
7949 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
21573 13 Pisatel
03. апреля 2015