Перенаправление с недействительных страниц на действительные
23.02.2025 07:34:32 am
Здравствуйте и с праздником, мужики!
На сайте ведутся работы, меняется структура и с ней меняются адреса страниц. Многие страницы, чьи адреса будут изменены на другие, уже успели попасть в поисковые системы, и с поисковиков есть переходы. Разумеется, после изменения URL пользователи, пришедшие с Яндекса наткнутся на недействительную страницу (несуществующею). Как можно сообщать поисковикам, что адрес страницы был изменен и показывать им новый? Чтобы пользователи попадали туда, куда надо. Можно PHP скриптом, либо инструкцию, что настраивать в панели поисковика.
Спасибо.
На сайте ведутся работы, меняется структура и с ней меняются адреса страниц. Многие страницы, чьи адреса будут изменены на другие, уже успели попасть в поисковые системы, и с поисковиков есть переходы. Разумеется, после изменения URL пользователи, пришедшие с Яндекса наткнутся на недействительную страницу (несуществующею). Как можно сообщать поисковикам, что адрес страницы был изменен и показывать им новый? Чтобы пользователи попадали туда, куда надо. Можно PHP скриптом, либо инструкцию, что настраивать в панели поисковика.
Спасибо.
- Жалоба
24.02.2025 07:12:11 am
Когда у меня появляется необходимость поменять адрес страницы, я в файл движка подключаю файл "url.php":
Содержимое файла "url.php":
Готово. Теперь, при наличии ключа в массиве, что в
В комментариях указывают дату, когда добавил URL, чтобы ориентироваться и удалить строчку, через пару месяцев. За два месяца, думаю, проиндексированная страница, обновиться в поисковых базах.
// Перенаправление с несуществующих страниц
include_once ('url.php');
Содержимое файла "url.php":
<?php
// Перенаправление с несуществующих страниц
$request = $_SERVER['REQUEST_URI'];
$url = [
'/forum/thread/1176/' => '/blog/3724/', // 18.02.2025: Как переключить звуковую дорожку в Windows Media Player
'/forum/thread/1440/' => '/blog/3726/', // 18.02.2025: Как узнать что работает на сервере Nginx или Apache
'/forum/thread/687/' => '/blog/3727/', // 19.02.2025: Поиск ошибок в PHP | Дебаг
'/forum/thread/2772/' => '/blog/3731/', // 21.02.2025: Как разогнать процессор на HuananZhi
'/forum/thread/2773/' => '/blog/3732/', // 21.02.2025: Как разогнать оперативную память на HuananZhi
'/forum/thread/1946/' => '/blog/3734/', // 22.02.2025: Где находится файл php.ini
'/forum/thread/1457/' => '/blog/3738/' // 23.02.2025: Как убрать несколько идущих подряд слешей в URL (.htaccess)
];
if (!empty($url[$request]))
{
header('Location: https://danfa.net' . $url[$request], true, 301);
exit;
}
Готово. Теперь, при наличии ключа в массиве, что в
REQUEST_URI
, сценарий выполнит 301 редирект, на действительный адрес.В комментариях указывают дату, когда добавил URL, чтобы ориентироваться и удалить строчку, через пару месяцев. За два месяца, думаю, проиндексированная страница, обновиться в поисковых базах.
25.02.2025 05:49:18 pm
То что надо. Простой и понятный код, без лишнего.
Появилась иде: Сохранять ссылки в таблице базы. При входе на сайт, искать текущий URL по таблице, если есть, то перенаправлять. Собственно, что и делает код в предыдущем сообщении, только без таблицы базы. Заодно находить и удалять записи, которые были созданы более двух месяцев назад. Это избавит от ручного удаления записей в файле.
Появилась иде: Сохранять ссылки в таблице базы. При входе на сайт, искать текущий URL по таблице, если есть, то перенаправлять. Собственно, что и делает код в предыдущем сообщении, только без таблицы базы. Заодно находить и удалять записи, которые были созданы более двух месяцев назад. Это избавит от ручного удаления записей в файле.