Никому не верь. Даже TinyMCE

Никому не доверять! Даже TinyMCE

Никому нельзя доверять! Даже TinyMCE

А началось все так мирно и красиво, с разработки страницы сайта tca.by для новой услуги — «Автоматизация бизнеса и маркетинга» — внедрение и интеграция CRM, средств лидогенерации, скриптов, триггеров… ну, всякие такие умные штучки, которые помогут увеличить конверсию сайта, но по-умному. А то от в лоб взлетающих окошек «Чем вам помочь», когда я только на сайт зашел — меня тянет выругаться матом… но отвлеклись!

И вот создана страница, все красиво так, с картинками, авторским текстом, парой технических придумок (например, сделан модуль для вставки презентаций SlideShare органично на сайт, «шоб красиво и удобно»).

И как бы все хорошо, трафик на страницу есть — но только что-то увеличился статус error 404 для перехода по внешним ссылкам. Никак не мог понять, в чем грабли!

Что выяснилось (причем совсем случайно, сегодня с раннего утра!) — чтобы не размывать вес собственных страниц внешними ссылками, давно был написан скрипт-редирект через свой собственный домен. И вот когда он использовался напрямую из кода — все Ок, никаких сложностей. Работает, ждет пару секунд, предупреждает про уход с сайта… А вот при использовании его в WYSIWYG-редакторе кода (TinyMCE у нас используется в админке ModX  как правило) он из ссылки https://tca.by/r.php?r=https://goo.gl/zsbSkB сделал https://tca.by/r.php?r=https:/goo.gl/zsbSkB — кому плохо заметно, поясню: вместо двух слэшей в параметре r=https:// оставляет только один. Экранирование не помогает, другие известные штуки, которые можно в редакторе делать — тоже. На ровном месте такой баг, который даже проверять вроде бы не требовалось, потому что скрипт работает давно!

Так что в итоге, с помощью лома и какой-то матери, пришлось написать сниппет для ModX Revo, который буду далее использовать вместо скрипта. Только осталось понять, как поисковики его воспримут в плане передачи ссылочного веса.

Вывод: ПРОВЕРЯТЬ, ПРОВЕРЯТЬ и ПРОВЕРЯТЬ. Главный и основной рецепт программирования.