0+ Материал без явных возрастных ограничений

Наверняка, когда ты создаешь сайт, ты просматриваешь его исходный код. Одним из главных недостатков Joomla 3 является то, что она еще с версии 1.7 пишет в исходном коде страницы Joomla – Open source content management, чем уже доставляет много хлопот web-мастерам.

Загрузка...

Делать полный обзор всех тех SEO и программных изменений, которые я сделал в Joomla 3 мне лень. Поделюсь хотя бы частью.

Например, мы можем найти безполезный тег rel="canonical", который ровным счетом делает только хуже. Поисковые системы не настолько глупые, чтобы не понимать какая именно страница является канонической и на сегодняшний день делают присвоение «каноническая страница» именно той, которая наиболее им нравится.

Например, у тебя есть сайт с 500 статьями. Некоторые из них могут иметь разные URL, например, http://site.org/staya-1 и http://site.org/statya-1?option-tra-la-la

Некоторым «мега»-SEO оптимизаторам истерически хочется, чтобы данные ссылки распознавались роботами Яндекса, Гугла и других поисковых систем, как разные. Но эти времена уже прошли. ПС (поисковые системы) с каждым днем или неделей становятся умнее, их разработчики добавляют все больше алгоритмов, а вместе с тем и НУЖНО менять структуру сайта (или не менять, в зависимости от оптимизации сайта).

Вот и разработчики Joomla, вместо того, чтобы заняться оптимизацией кода, добавлением функций безопасности в стандартной сборке (это они делают, но слабо), решают УЛУЧШИТЬ свою любимую CMS, на которой сегодня создано много миллионов сайтов. Однако, не всегда шаги разработчиков являются обоснованными, порой они гонятся за «наворотами», в ущерб нам с тобой. Что я имею ввиду? Например, файл template.css, который в стандартном шаблоне «побогател» настолько, что просто нет слов для описания. Его тысячи ненужных никому строк постоянно будут лишней обузой для твоих посетителей, лишней нагрузкой для серверов. Но это еще не все. Они решили свести меня с ума и добавили столько JS файлов на страницу, что становится вопрос о адекватности этих самых разработчиков. Такое впечатление, что Google Search живет отдельной страной от всех остальных, кто создает в его резиденции различные программные компоненты.

Продолжу тем, что в стандартной версии сборки в стандартном шаблоне protostar, а также при выводе материала при использовании стандартных средств (блог категории - материал) допущены SEO-ошибки. Например, вообще отсутствует тег H1, который поисковики считают главным. Хотя, это можно пропустить, учитывая, что есть хотя бы тег H2 и по аналогии с rel="canonical", ПС используют его, как H1, подстраивая свои алгоритмы под каждый отдельный сайт. Но и это еще не все. Честно, мне уже не вспомнить сколько всего я переделал, когда строил новый сайт на J3, но поверь мне, дело было долгим. Например, я поубирал: индекс печатной версии статьи, opensearch, много строк из css файлов, переделал страницу ошибки 404 (там был плохой перевод и странные возможные варианты решения проблем для пользователя) и т.п.

Итак, преступим к rel="canonical"

Все началось с того, что я поставил J3 и посмотрел исходный код, кроме стандартного Open suorce... я обнаружил этот самых rel... и посмотрел как он работает. Дело все в том, что почему-то разработчики сделали (как-будто специально) многие ошибки и «нагрузили» J3 так, чтобы потом пришлось изрядно постараться над своей сборкой. Так вот, если ввести URL http://site.org/300 , где 300 – это ID материала, то rel="canonical" выдавал запрошенную ссылку вместо реальной ссылки на материал, которую можно посмотреть в блоге категории. Например, она должна быть такой: http://site.org/video/300-videoklip-loya . Однако, этот самый каноникал не хотел правильно работать. Я его переделал. Для начала убрал его вызов в файле:

../plugins/system/sef/sef.php

закомментировал строку:

//$doc->addHeadLink(htmlspecialchars($link), 'canonical');

После чего, произвел некоторые манипуляции с выводом данных из БД. Условие: стандартная J3, вывод стандартного материала (т.е. ни K2, ни ZOO, просто Joomla и её файлы в components/com_content/views/article/tmpl)
Нужно найти файл

../components/com_content/views/article/tmpl/default.php

и в любое его место (желательно почти вверху, после $user = JFactory::getUser(); $info = $params->get('info_block_position', 0);) вставить код:

//достаем ID материала, который запросили
$id_content = JRequest::getInt('id', 0);

//достаем псевдоним ссылки (alias) материала
$db = JFactory::getDBO();
$query = 'SELECT alias,catid FROM #__content WHERE state=1 AND id = "'.$id_content.'"';
$db->setQuery($query);
$rows = $db->loadObjectList();

foreach ( $rows as $row )
{
$cont_alias = $row->alias;
$cont_catid = $row->catid;
}

//достаем alias категории
$query2 = 'SELECT path FROM #__menu WHERE catid_my = "'.$cont_catid.'"';
$db->setQuery($query2);
$rows2 = $db->loadObjectList();

foreach ( $rows2 as $row2 )
{
$cont_path = $row2->path;
}

//подставляем для своего сайта. можно, конечно, сделать универсальный код и вместо домена подставлять, например, JUri::base(), но зачем лишний раз нагружать PHP в статике?
$href = "http://site.org/".$cont_path."/".$id_content."-".$cont_alias;
//можно проверить вывод link в шапке так: echo $doc->addHeadLink("123");
$doc =& JFactory::getDocument();
//собственно выводим результат:
$doc->addHeadLink( $href, 'canonical', 'rel');

Внимание catid_my - это вручную созданная в структуре таблицы _menu, которой присвоены ID категорий. Логика: каждому меню присваиваю соответствующее ID категории. Например, у нас есть категория Яблоки с ID 26, я иду в базу данных, создаю новую ячейку в ПРЕФИКС_menu, после чего вручную прописываю ID категорий в соответствующее название пункта меню Яблоки, которое собственно и выводит эту категорию на сайте. Иначе я не знаю как сделать, но сделать стоит это всего 1 раз, даже если у тебя много категорий.

Теперь как бы мы не запрашивали URL http://site.org/300 или http://site.org/video/300-videoklip-loya, всегда будет выводится тот URL, который должен, а именно – http://site.org/video/300-videoklip-loya в rel="canonical"

Но на этом, удивительные приключения в коде Joomla не заканчиваются Оо ;-)

В данной ситуации мы присваиваем канонические ссылки только для материалов, а для категорий их не будет. Возможно, стоит сделать тоже самое только в файле ../plugins/system/sef/sef.php


Поделитесь в социльных сетях:

Информация:

Категория:
Web
Создан:
Просмотров:
1258


Метки:

joomla

Случайный материал: Еще

Война без правил. Русская рулетка
Подробнее
0+

Война без правил — документальные фильмы, которые рассказывают о судьбе России.


Последние 5 материалов:

Раскрыть все
Шаманские практики – Второй виток спирали
0+
Шаманские практики – Второй виток спирали
Подробнее

Шаманские практики. Второй виток спирали: игра с тенью на струнах мира – это книга, которая позволит соискателю научиться определенным практикам шаманов для самоисследования и погружения в измененные состояния сознания.

Ученые обнаружили новый человеческий орган
0+
Ученые обнаружили новый человеческий орган
Подробнее

Новый человеческий орган был обнаружен. Он скрывается в пищеварительной системе человека. Брыжейка до конца не изучена, но присутствие этого органа может положить начало к лечению заболеваний органов пищеварительной системы.

Импортный фашизм. Второе пришествие коричневой чумы
18+
Импортный фашизм. Второе пришествие коричневой чумы
Подробнее

Импортный фашизм – это документальный фильм о нацистских взглядах, группировках и батальонах, которые современное официальное общество упорно не хочет замечать... Фильм представляет собой расследование, насколько современная коричневая чума проникла вглубь наших дней.

Русские идут
0+
Русские идут
Подробнее

«Русские идут» Отсроченный крах Запада – это документальный фильм, авторы которого в его основу заложили исследование фактора панической боязни русских во всем мире. Так или иначе, русских боятся, он них пытаются избавиться, им приписывают ложные стереотипы, но на эти же ложные стереотипы откликаются верхушки государств, творя законы, принимая «срочные меры» в борьбе против придуманной русской угрозы.

Почему мы сражаемся (Битва за Россию)
18+
Почему мы сражаемся (Битва за Россию)
Подробнее

Почему мы сражаемся (Битва за Россию) / Why we fight (The battle of Russia) – это старый документальный фильм о том, кто такие русские, как они смогли выиграть не одну войну. Основное время фильма посвящено Второй Мировой Войне. Фильм смонтирован американцами для их солдат и спецслужб. За основу взяты документальные съемки вооружения, армии, быта и культура разных народностей России (СССР).


Следите за обновлениями VK:

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

Комментариев пока нет