Często przy migracji strony na nowy system CMS „lecą” linki. Po prostu nie działają stare odwołania, bo nowe mają inną kontrukcję albo adres.
Może to znacząco zaszkodzić pozycji strony w wyszukiwarce. Z pomocą mogą przyjść przekierowania 301.
Najlepszym pomysłem jest umiejscowienie takiego przekierowania w pliku index.php. Zazwyczaj jest to główny plik sterujący np. systemem CMS albo frameworkiem PHP o który oparta jest strona.
Na samym początku pliku index.php, linijkę niżej niż znacznik otwierający „<?php” umieść kod:
1 2 3 |
switch ($_SERVER['REQUEST_URI']) { case '/stary-link-ktory-juz-nie-dziala': header("Location: http://nazwa-domeny.pl/nowy-dzialajacy-link", true, 301); exit(); break; } |
Każde kolejne odwołanie polega na dodaniu nowej linijki począwszy od „case” czyli np.:
1 2 3 4 |
switch ($_SERVER['REQUEST_URI']) { case '/stary-link-ktory-juz-nie-dziala': header("Location: http://nazwa-domeny.pl/nowy-dzialajacy-link", true, 301); exit(); break; case '/kolejny-stary-link-ktory-juz-nie-dziala': header("Location: http://nazwa-domeny.pl/kolejny-nowy-dzialajacy-link", true, 301); exit(); break; } |
Itd.
Tworzenie takiego kodu może okazać się karkołomnym zadaniem. Z pomocą może przyjść ten arkusz kalkulacyjny (arkusz-przekierowan), gdzie łatwo można dodawać odp. wpisy i następnie taki kod przekleić do skryptu usuwając znaki tabulacji.
Należy jednak pamiętać, że w takim wypadku łącze z którego nastąpi przekierowanie (tutaj: /stary-link-ktory-juz-nie-dziala albo /kolejny-stary-link-ktory-juz-nie-dziala) ma bezwzględne pierwszeństwo w uruchomieniu pod daną domeną.
Oznacza to, że jeśli w CMS dodasz podstronę z dokładnie takim linkiem jak tutaj z którego następuje przekierowanie – nie będzie ona działać. Przekierowanie nastąpi jako pierwsze, bo linijka ta jest wykonywana w pierwszej kolejności.
grafika: pexels.com