Как се прави редирект на 404 към home в wordpress?
Имам един стар сайт който го ползвам за тестове предимно и реших да му сменя съдържанието. През времето го бях понапълнил със доста статии и като погледнах колко има индексирани в гугл видях че се показват 1050 резултати. Но вече това съдържание съм го махнал от този сайт, и няма смисъл да стои. Освен това на който и линк да кликнеш от тези 1050 резултата ти връща 404 страница (несъществуваща). Всичко това трябваше да се де индексира за да може да остане само новото съдържание. Пак за експерименти. 😉
Как се маха старо съдържание от гугл?
И след колко време, тъй като имам впечатлението че търсачката не маха лесно и бързо съдържание което е индексирала веднъж. То може да си стои с месеци и да праща посетителите на несъществуващи страници. От гледна точка на оптимизацията това не е добре.
Решенията са две.
1) От GWT > Оптимизация > Премахване на URL адреси добавяш в полето за нова молба точния url който искаш да се де индексира от търсачката. Тествал съм го този метод и до 24 часа всичко каквото му подадеш изчезва от резултатите. Недостатъка на тази услуга е че ако имаш 1000 url ти трябва много свободно време за да ги нанесеш.
2) Второто решение е много по-лесно и бързо. Влизаш в админ панела на сайта си. appearance > editor и отваряш в notepad++ файла 404.php. Ако темата ти няма такъв файл, го създаваш. След това пишеш следния код:
?phpheader("HTTP/1.1 301 Moved Permanently");header("Location: ".get_bloginfo('url'));exit();?
с отварящ и затварящ таг <>, че тук нещо не ги взима. Нека някой колега предложи по-красиво решение.
Това е! На която и 404 страница да кликна в индекса на търсачката се пренасочвам към главната на сегашния сайт. Да видим след колко време всичко това ще се де индексира от резултатите. Иначе ако се остави гугъл сам да изчисти старото и невалидно съдържание може да минат месеци. Няма смисъл да стои нещо в индекса което фактически е изтрито. За малко съдържание по-удачен в първия метод, но когато има много адреси времето е ценно.
3) Решение
Предполагам че ще има и трето решение с използването на код в .htaccess, но аз не го знам. Пробвах това но не даде резултат, може би трябва да се използва друг код:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.oldsite$
RewriteRule ^(.*)$ http://www. newsite/$1 [R=301,L]
При втория метод имаш възможността да пренасочиш и към друг url адрес. Остава отворен въпроса какво е мнението на гугл за пренасочването на несъществуващи страници (404) с постоянен редирект (301) към home. Дали това е правилно от гледна точка на SEO и дали ще се задържи page rank-а, и link juice на стария сайт? Щом имам отговор на този въпрос ще го добавя тук. 😉
Тук може да прочетете и още един начин с използването на грешка 410, което означава че сървърът знае за тази страницата, но е невъзможно да я покаже, понеже тя умишлено е премахната от резултатите. 410 означава че тази страница вече не съществува.
Интригуващ въпрос от гледна точка на Seo-то. Нагърбила съм се редизайн на сайта ми, като ще отпаднат дузина страници. Системата ми е ръчен HTML+ CSS, не ползвам .htaccess файл.
Ориентирах се към алтернативният метод за пренасочване:
Ще видим резултата, когато приключа с редизайна и кача файловете на хоста. Надявам се да не се получи гаф 🙂
За една седмица ползвайки редиректа резултатите в гугл намаляха от 1050 на 873. 😉 До 2 месеца с тези темпове може и да се изчистят. 😉