Все для DataLife Engine / DLE хаки / Хак для DLE / Решение yandex некорректные ссылки облака тегов

Решение yandex некорректные ссылки облака тегов



После того, как появился кириллический домен России, стали возникать проблемы с новыми правилами поисковой системы Яндекс, например на 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 некорректные ссылки облака тегов

ispravlenie-nekorrektnosti-ssylok-na-oblako-tegov.rar [38,75 Kb] (cкачиваний: 82)
  • 80
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent