
После того, как появился кириллический домен России, стали возникать проблемы с новыми правилами поисковой системы Яндекс, например на dle движке проблема с некорректным определением кодировки веб-ресурса.
В основном связана с Облаком Тегов, слова проиндексированные Яндексом неверно перекодированы, это может увидеть каждый для своего портала, если сделает запрос через поисковик или в панели Яндекса Инструменты для Веб мастера ошибки индексации.
Представьте какое количество ошибок может быть неверно выявлено русских слов в Облаке тегов вашего портала , после того как робот Яндекса пройдет по ссылке и обнаружит , что такой странице нет, думаю будет очень много с каждым месяцем.
Если на вашем веб-проекте установлена Datalife Engine версии 9.4 , то можете не беспокоится , так как в этой версии проблема была решена.
Все сообщения об ошибке с некорректным определением кодировки веб-ресурса , были проигнорированы технической поддержкой Yandex системы Тогда разработчики движка DLE решили внедрить систему автоматической конвертации кодировки. У нас на dle9.com можно скачать DLE 9.4.
Если вы по какой-то причине не можете перейти на новую версию движка то данный хак жизненно необходим для вас.
Хак Dle решение Яндекс некорректные ссылки облака тегов
Адрес из облака тегов DLE (если у вас кодировка движка windows-1251) вида:
http://vashsaite/tags/%ED%EE%E2%EE%F1%F2%E8/
в Яндексе отображаются как
http://vashsaite /tags/новости/
после клика по ним браузер переходит на
http://vashsaite /tags/%D0%BD%D0%BE%D...81%D1%82%D0%B8/
В результате движком такой адрес воспринимается как неверный и выдается ошибка о несуществующей странице.
Чтобы избавиться от такой ошибки я написал для своего движка версии DLE 8.5 фиксу:
Надо отредактировать в корне портала файл /engine/engine.php :
Найти в нем строчку
if (isset ( $_SESSION['dle_direction_tags'] )) $news_direction_by = $_SESSION['dle_direction_tags'];
и после нее вставить код:
$s=$tag;$s=urlencode($s); // в некоторых случаях - лишняя операция (за комментируйте)$res='0';$j=strlen($s);$s2=strtoupper($s);$s2=str_replace("%D0",'',$s2);$s2=str_replace("%D1",'',$s2);$k=strlen($s2);$m=1;if ($k>0){$m=$j/$k;if (($m>1.2)&&($m<2.2)){ $tag=iconv("UTF-8", "WINDOWS-1251", $tag); }}
В результате такой небольшой вставки все ссылки будут восприниматься вашим порталом как существующие!
Данный хак будет работать на всех версиях DLE начиная от 8.X до 9.3 включительно. Возможно будет работать и на более старых, но там я уже не проверял.К стати, этот фикс был замечен разработчиками и исправлен в 9.4, почитать можно тут (пункт 38).
Советуем скачать хак решение yandex некорректные ссылки облака тегов