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


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

Информация:

Создан:
Просмотров:
1698


Метки:

joomla

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

Kerish Doctor
Подробнее
0+

Если ты не знаешь как почистить Виндовс 7, 8 или 10, то программа Kerish Doctor поможет тебе в этом.


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

Раскрыть все
Всеясветная Грамота
0+
Подробнее

Всеясветная Грамота – это изначальная речь, которая была оставлена нам нашими предками. Из которой в итоге получились различные языки мира, в том числе и современный русский, английский, греческий и другие языки. Т.е. всеясветная грамота – это основа, на которой строились современные языки, последовательно разрываясь на все более мелкие составляющие, которые и известны нам сегодняшним.

Наркотики. Секреты манипуляции!
0+
Подробнее

«Наркотики. Секреты манипуляции!» – это документальный фильм, посвященный острой, но так мало освященной в обществе проблеме. Ежегодные потери населения России от наркомании составляют десятки тысяч жизней. Может быть хватить замалчивать это?

Смертельный «Выбор»
0+
Подробнее

Смертельный «Выбор» – это документальный фильм, который поднимает острые для общества проблемы: алкоголизм, наркоманию, табакокурение. Авторы последовательно преподносят информацию о том, как каждый из нас может быть подвержен открытой пропаганде этих сильнодействующих наркотиков.

Photoshop. Полное руководство
0+
Подробнее

Photoshop – самый известный в мире полноценный редактор растровой и частично векторной графики. Его популярность завоевана качественно новыми и новейшими достижениями коллегии авторов программы, включенным в состав программы и входящих в состав дополнительных компонентов, устанавливаемых отдельно.

Арктический форт
0+
Подробнее

Арктический форт – репортаж Дмитрия Кодаченко, в котором Вы узнаете о новой российской арктической базе.


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

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

Комментариев пока нет
Загрузка...
RubberDoc
Подробнее
0+
div вместо p Joomla
Подробнее
0+
Проблема с jSecure Authentication
Подробнее
0+
CMS Magento
Подробнее
0+
K2
Подробнее
0+
K2 для Joomla
Подробнее
0+
Как отключить рекламу Google
Подробнее
0+
HD Web Player
Подробнее
0+
Настройка и установка сервера для видео
Подробнее
0+
Kunena
Подробнее
0+
Daum Pot Player
Подробнее
0+
Яндекс браузер
Подробнее
0+
Mozilla Firefox
Подробнее
0+
Google Chrome
Подробнее
0+
Opera
Подробнее
0+
Any video converter
Подробнее
0+
Microsoft Visual C++
Подробнее
0+
Microsoft.NET Framework
Подробнее
0+
BandiCam
Подробнее
0+
Tor Browser
Подробнее
0+