Блог за уеб технологии, маркетинг и SEO, мотивация и продуктивност
Базово ръководство как да създадем пренасочване (redirect 301) в WordPress
Една от най-важните основни част на един блог или сайт е неговата структура. Тя трябва да бъде обмислена много добре. Същото се отнася и за вида на permalinks (постоянните адреси на публикациите). Както показва името им, тези адреси не би трябвало да се променят.
Защо е необходимо пренасочване (redirection)
Да разгледаме някои причини, поради които се налага.
Таксономии в блога – категории и тагове
Таксономията е наука за класификацията. Категориите и таговете са част от структурата на твоя блог и организират съдържанието му. Изобилието им не е критерии за оптималност. Затова трябва да сме внимателни за евентуални грешки.
Правилото, което много водещи блогери следват в най-общия случай е, всяка публикация, съдържание, да принадлежи на една категория и да има 2-3 етикета -тагове максимално.
Понякога след злоупотреба с много и неправилно употребени тагове, се получава дублирано съдържание, а това не се харесва на чичко Гугъл.
Затова е нужно, ако си тръгнал с грешна стъпка, да се поправиш. Например, както ми се случи на мен тези дни, да сменя името и адреса на една излишна подкатегория.
Промяната на пермалинка не е нещо, което може да се прави с лека ръка. Смяната на постоянния адрес трябва да бъде съпроводено с пренасочване на потребителя към новия адрес. Иначе той ще се намери пред една страница с код 404 – т.е. няма такава страница с такова съдържание.
Динамични и статични адреси на страниците
Друг често срещан пример, по-скоро в миналото, е когато се оставя динамичния адрес на публикацията за постоянен.
Динамичните URL адреси се създават автоматично чрез инструментите за публикуване в уеб и CMS при генерирането на уеб страницата.
Динамичният URL обикновено завършва с низ от знаци, като в посочения на изображението пример.
Срещу страници с оставени динамични адреси има много точки против в полза на създадените от потребителя статични адреси. Част от тях са, че такива адреси събират по-малко кликвания, могат да бъдат отрязани, не се запомнят или записват лесно, няма нищо свързано с ключовата дума, не се разбира за какво е съдържанието и др.
Някои притежатели на сайтове се сещат след като са публикували, да променят динамичния адрес към статичен. И отново отиваме към нуждата от пренасочване.
Освен в такива като моя случай, който фактически е пренасяне на една или повече публикации от една категория в друга, пренасочването е необходимо в ред други ситуации –
- изтриваш една страница и искаш потребителите да бъдат насочени към друга;
- споделяш на много хора грешен url по невнимание, а ти е много важно те да посетят страницата;
- преминаване от един сайт без www, към сайт с www в адреса или обратното;
- преминаване от един домейн към друг и др.
Стигаме до днешната тема:
Какво представлява пренасочването и как се извършва
Едно пренасочване служи да създаде връзка между два адреса URL, такава, че когато потребителят посещава единия URL, да бъде автоматично пренасочен към страницата, която ти искаш и си дефинирал.
Могат да се правят пренасочвания между URL на единични публикации, на категории, както и на цели домейни.
В това ръководство, което нарекох базово, защото дава само основни неща, ще разгледам подробно пренасочването на единични URL.
Видове пренасочвания
Има различни видове пренасочвания, основните са тези:
Redirect 301
Използва се най-често. Това е постоянно пренасочване. И не е обратимо. Когато трябва със сигурност да преминеш на нов адрес, този тип пренасочване е много полезен и защото на новия адрес се премества и позиционирането ти и т.нар. „link juice„.
Redirect 302, 307
Това са временни, обратими пренасочвания. В тези случаи търсачката пази и старите URL. Временните пренасочвания се използват например в случай на поддръжка и ремонт на сайта.
Как да открием дали сайтът има грешки 404
Отиваме на Google Webmaster Tools. Избираме сайта, който ни интересува. И оттам на Сканиране–> Грешки при сканиране.
При мен имаше 2, поради първично зададени грешни адреси. Сега след корекцията, която ще покажа по-долу, чакам да се отрази и в Search Console, т.е. да изчезнат грешките 404.
Пренасочване чрез плъгин
По-лесният начин за извършване на пренасочването от един URL към друг е чрез плъгин. Най-популярният е Redirection, над 700 000 инсталирания до днес, прясно подновен и съвместим с най-новите ъпдейти на WordPress.
Ако предпочиташ да не пипаш файла .htaccess, това е точно за теб. Този плъгин наблюдава за грешка 404 и прави пренасочването сам. Създава списък от всички пренасочвания, който ти можеш после да консултираш.
Инсталираш плъгина и отиваш на Settings –> Redirection. Там вмъкваш URL на източника и този, към който трябва да се иде. Новият URL трябва да съществува. За обикновени пренасочвания, избери only URL.
Пренасочване чрез файл .htaccess
Това, което направих аз. Предпочетох този метод, за да избегна още един плъгин.
Трябва да имаме достъп до нашия cPanel. Отиваме на Файловия мениджър. Намираме файла .htaccess – конфигурационния файл на уеб сървъра. Трябва да се работи внимателно, защото една грешка може да направи недостъпен целия сайт и да започне да се показва Internal Server Error. Ако не си сигурен, за целта ползвай плъгин. Правим бекъп на файла – download на компютъра с контекстното меню на десен бутон върху файла. След това пак с десен клавиш избираме Edit.
(adsbygoogle = window.adsbygoogle || []).push({});
В края на файла .htaccess написваме този код
RewriteEngine On
Redirect 301 /url-стара-публикация/ http://tvojsajt.com/url-нова-публикация/
или
RewriteEngine On
Redirect 301 /url-стара-публикация.html http://tvojsajt.com/url-нова-публикация.html
Запомняме и затваряме редактора.
В моя случай написах тези редове и пренасочването се извърши веднага:
Можем да отидем в cPanel–>Пренасочвания, за да видим пренасочванията, които сме извършили досега в нашия блог/сайт:
Ако трябва да направим Redirect 301 на цял сайт:
RewriteEngine On
Redirect 301 / http://novsajt.com/
Виж подробно в това видео на cloxy.com
Случаи на www.example.com и example.com
Търсачките виждат example.com и www.example.com като два отделни сайта. Ако много от потребителите те търсят като example.com, а ти искаш те да влизат в www.example.com, трябва да направиш пренасочване с redirect 301.
Правилата са следните:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
И обратното, ако посетителите те търсят като www.example.com, а ти искаш те да отиват в example.com, трябва да направиш това пренасочване:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]
От документацията за Apache HTTP Server – директивата RewriteCond дефинира условията, под които се извършва RewriteRule, със синтаксис: RewriteCond TestString CondPattern [flags].
RewriteRule директивата дефинира правилата за презаписване. Синтаксисът е RewriteRule Pattern Substitution [flags].
Заключение
Redirect 301 е много важен елемент от поддържането на сайта. При невнимание може да ти струва много: наказания от Google, загуба на трафик към сайта, много страници върнати с код 404.
Ти следиш ли сайта си с проверки за наличие на грешки 404?