Joomla 1.5 SEO Внутренняя оптимизация Недостатки SH404SEF и как их побороть

Недостатки SH404SEF и как их побороть

Рейтинг пользователей: / 1
ХудшийЛучший 

Итак, давно я ничего не писал, но это не значит что забросил сайт... просто немного некогда.
Для многих проектов я по разным причинам использую SH404SEF - не сильно грузит сайт, очень функционален, возможности управления мета-тэгами.
Причем версия 1.0.19_Beta - build_232 - бесплатна, хотя за новые увы уже просят денежку.
Собственно об этой версии и пойдет речь.

Глюк 1 
При попытке создания META или управления - выходит ошибка что нет такой таблицы, проблема в том что компонент пытается обратиться к jos_sh404SEF_meta а в БД прописана jos_sh404sef_meta - то есть название отличается регистром.
Решение - переименовать 2 таблицы, а именно jos_sh404sef_meta и jos_sh404sef_aliases. Сделать это как ни странно напрямую через phpMyAdmin нельзя. Нужно зайти в каждую таблицу, сделать экспорт в файл, получить 2 файлика. После этого создаем пустые таблицы jos_sh404SEF_meta и jos_sh404SEF_aliases, заходим в каждую их них и импортируем соответсвующий файлик. Проверяем что все правильно перенеслось и удаляем таблицы с нижним регистром.
Примечание: после переноса через JoomlaPack операцию возможно придется повторить.
Глюк 2
При включенном мета-менеджменте на тех страничках где мы ничего не прописывали в title вместо того что мы указываем в Joomla прописывается псевдоним, что конечно же совсем не приятно. Возможно глюк устранили в новых версиях, но решения, которые встречал на форумах мне не помогли - а именно meta отключалась совсем.
Чтоб поправить этот недостаток необходимо сделать правку в файле \components\com_sh404sef\shPageRewrite.php а именно следующий участок кода (примерно строка 240)

			if ( !empty($shCustomTags)) {
				$shCustomTitleTag = !empty($shCustomTags->metatitle) ? $shCustomTags->metatitle : $shCustomTitleTag;
				$shCustomDescriptionTag = !empty($shCustomTags->metadesc) ? $shCustomTags->metadesc : $shCustomDescriptionTag;
				$shCustomKeywordsTag = !empty($shCustomTags->metakey) ? $shCustomTags->metakey : $shCustomKeywordsTag;
				$shCustomRobotsTag = !empty($shCustomTags->metarobots) ? $shCustomTags->metarobots : $shCustomRobotsTag;
				$shCustomLangTag = !empty($shCustomTags->metalang) ? $shCustomTags->metalang : $shCustomLangTag;
			} 

заменить на

			if ( !empty($shCustomTags)) {
				$shCustomTitleTag = !empty($shCustomTags->metatitle) ? $shCustomTags->metatitle : $shCustomTitleTag;
				$shCustomDescriptionTag = !empty($shCustomTags->metadesc) ? $shCustomTags->metadesc : $shCustomDescriptionTag;
				$shCustomKeywordsTag = !empty($shCustomTags->metakey) ? $shCustomTags->metakey : $shCustomKeywordsTag;
				$shCustomRobotsTag = !empty($shCustomTags->metarobots) ? $shCustomTags->metarobots : $shCustomRobotsTag;
				$shCustomLangTag = !empty($shCustomTags->metalang) ? $shCustomTags->metalang : $shCustomLangTag;
			} else $shCustomTitleTag=NULL;

.


 

Добавить комментарий


Защитный код
Обновить