- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Требуется убрать кучу страниц сайта из индекса , но не запрещая к индексации. Это возможно?
Просто такая проблема, что страницы проиндексированы по одному урлу, а нужно по другому, а яшка не хавает их по новому урлу так как они уже есть в индексе (под старым).
Как выйти из ситуации? Может можно как-то сделать полную переиндексацию сайта?
Вот вот, у меня в точности такая же проблема!
301 редирект поставить со старых урлов на новые.
header("HTTP/1.1 301 Moved Permanently");
301 редирект поставить со старых урлов на новые.
header("HTTP/1.1 301 Moved Permanently");
это чтоли?:
Массовый редирект новых файлов.
Тепепь перейдем к самому сложному моменту, когда вам надо редиректить массу URL-ов, например после смены вашей CMS. Тут сразу возникает ряд проблем. Во-первых, внесение всех изменившихся адресов в .htaccess файл займет очень много времени, да и само по себе занятие малоприятное. Во-вторых, слишком много записей в .htaccess файле будут тормозить Apache сервера. И в третьих, при внесении такого количества информации высока вероятность, что вы где то ошибетесь. По этому, самый лучший выход, это нанять програмиста который вам напишет динамический редирект.
Нижеприведенный пример написан на PHP, но так же может быть выполнен на любом языке. Предположим вы перешли на новую систему ссылок на вашем сайте и все файлы оканчивающиеся на старый id должны быть средирекчены. Сначала создаем в базе таблицу, которая содержит старый id и новый URL для редиректа.
old_id INT
new_url VARCHAR (255)
Далее пишем код который свяжет ваши старые id с новыми URL-ами
После этого, добавляем следующую строчку в .htaccess:
RewriteRule ^/product-(.*)_([0-9]+).php /redirectold.php?productid=$2
затем создаем PHP файл redirectold.php, который будет поддерживать 301 редирект:
<?php
function getRedirectUrl($productid) {
// Connect to the database
$dServer = “localhost”;
$dDb = “mydbname”;
$dUser = “mydb_user”;
$dPass = “password”;
$s = @mysql_connect($dServer, $dUser, $dPass)
or die(”Couldn’t connect to database server”);
@mysql_select_db($dDb, $s)
or die(”Couldn’t connect to database”);
$query = “SELECT new_url FROM redirects WHERE old_id = “. $productid;
mysql_query($query);
$result = mysql_query($query);
$hasRecords = mysql_num_rows($result) == 0 ? false : true;
if (!$hasRecords) {
$ret = ’http://www.yoursite.com/’;
} else {
while($row = mysql_fetch_array($result))
{
$ret = ’http://www.yoursite.com/’. $row[”new_url”];
}
}
mysql_close($s);
return $ret;
}
$productid = $_GET[”productid”];
$url = getRedirectUrl($productid);
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: $url”);
exit();
?>
Теперь все запросы к вашим старым URL-ам будут вызывать redirectold.php, который найдет новый URL и вернет 301 ответ с вашей новой ссылкой.
я ж задолбаюсь вносить в БД старые и новые урлы!
Хм. Странно что, новые страницы не читаются. У меня была проблема, когда прочитал новые, а старые все равно пытался дергать - пришлось на старые выставлять ошибку 410.
а как обойтись без выставления ошибок и редиректов? я просто не знаю как исключить работу CMS по старому урлу index.php?id=***.
как вариант, использовать хтакссесс и модреврайт, и там уже прописать правила для старых и новых урлов и редирект
в хтассес прописывать каждый урл? замучаешь) да и апач будет тормозить из за такого большого хтассеса.