Чтобы разместить на сайте реферальную ссылку и сделать ее внутренней, существует большое количество способов. Но они сталкиваются с разными проблемами и неудобствами, если удаляются, переустанавливаются плагины, обновляется тема, изменяется содержание файла .htaccess и тому подобное.
Буду использовать стандартное перенаправление (Redirect) в файле .htaccess, но не в корневой папке, а в специально созданной для реферальных ссылок или для укорачивателя ссылок, например.
Перенаправление реферальных ссылок (htaccess). Сокращение ссылок
Перенаправление-редирект с помощью директивы в файле htaccess – обычное дело. Указывается строка с Redirect, «старым» адресом и «новым» адресом. При этом после «Redirect» можно указывать статус перенаправления: 301, 302 и так далее. Можно использовать и без статуса.
Но сегодня понял, что плагин безопасности WordPress поменял содержимое корневого htaccess и удалил директиву Redirect. Поэтому решил сделать отдельный файл для реферальных ссылок.
Например, есть ссылка хостера, у которого живет этот блог:
http://timeweb.com/ru/?i=11343
У меня она будет, например, такой:
http://blogmann.ru/links/timeweb/
Создаю в корне сайта папку «links» и в ней – один-единственный файл .htaccess.
Для перенаправления указанной ссылки нужно в htaccess записать строку:
Redirect /links/timeweb/ http://timeweb.com/ru/?i=11343
Теперь пишу, например, в новом виджете: «Этот блог живет на тарифе Optimo (134 руб./год) хостинга Timeweb» и делаю «Optimo» ссылкой /links/timeweb/.
Это внутренняя ссылка, которая при переходе будет моментально перенаправлять по реферальной на сайт хостинга для регистрации.
Папка «links» с файлом никуда не денется при обновлении темы, установке плагинов и других изменениях на сайте.
Кстати, можно написать что-то типа Redirect /123abc/ и сделать «укорачиватель» какой-нибудь длинной ссылки. А в файл htaccess записать сколько угодно таких ссылок.
Работать из админки WordPress с файлом .htaccess удобно, например, с помощью плагина WP Htaccess Editor, что я с удовольствием и делаю.
Удачи!