Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле
На карте Купить AMWAY в ЯрославлеПриобрести высококачественную продукцию Амвей в Ярославле, получить консультации по бизнесу, заказать продукцию или получить заказ:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
Иерархия статей
Статьи » Программирование » Боремся с дублями страниц после установки ЧПУ
Сниппет
После установки ЧПУ весьма часто остается проблема: дубли страниц- с ЧПУ и без, а поисковые системы это очень не любят. Попробуем решить эту проблему.
Боремся с дублями страниц после установки ЧПУ
Опубликовал  Pisatel Добавлено  17-09-2013 11:17 17 Сентябрь 2013 11:17:32 5293  Прочтений 5293 Прочтений  4 Комментариев 4 Комментариев
 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'])."");
}
}



Надеюсь, заменить значения ты сможешь сам, я лишь показываю примерный план работы. Всего доброго!
Понравилась статья?
Метки для данной статьи
Похожие статьи
Заголовок
Категория
Просмотров
Поделиться:   
Комментарии
#1 | alex 28 мая 2014 18:58:46
No Avatar
Гость
Спасибо за статью! Отличный сайт!
Avatar
Отсутствует
Супер Администратор
Активный
С 03. февраля 2013
Всегда пожалуйста. Будут вопросы- задавайте.
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
#3 | master 10 июня 2014 20:36:53
No Avatar
Гость
о! то что нужно! спс
Avatar
Отсутствует
Супер Администратор
Активный
С 03. февраля 2013
Очень смешно
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
Добавить комментарий
Имя:

Проверочный код:
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
11925 33 promask
27. апреля 2019
folder Вопрос по переделке bb-кода
PHP, MySQL
2980 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
11829 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
7379 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
6404 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
49627 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
3793 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
7580 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
8430 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
2787 0 Pisatel
15. июня 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
5235 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
7105 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
37718 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
3492 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
13099 13 Pisatel
03. апреля 2015