Перелинковка Joomla. Компонент перелинковки страниц joomla Бесплатные плагины перелинковки для Wordpress

Категория ~ Код – Игорь (Администратор)

Внутренняя перелинковка страниц сайта это не только инструмент для поисковых машин. Хотя, необходимо признать, что правильная перелинковка действительно благоприятно влияет на позиции и индексацию страниц сайта. Все же перелинковка это еще и отличный способ ознакомить ваших читателей с другими материалами сайта. В простом виде, речь идет о схожих или связанных материалах, как, например, ссылка на обзор графических редакторов в статье создание миниатюры или логотипа сайта . Однако, на этом вариации перелинковки не кончаются. Пользователей может так же интересовать предыдущие и последующие материалы, последние материалы и многое другое. Часть из них создается в ручном режиме, а часть в автоматическом.

Безусловно, ручная простановка ссылок дает более лучший эффект, так как перед тем, как поставить ту или иную ссылку в текст (или же в модуль), вы учитываете ее актуальность и просматриваете результат каждой страницы. Однако, всегда будет желание иметь под рукой автоматизированный способ перелинковки страниц. Кроме того, в некоторых случаях без автоматизации просто не обойтись. Особенно, когда у вас уже не первая сотня материалов на сайте и перспектива провести несколько ночей за рутинным проставлением ссылок немного удручает.

В данной же статье будет рассмотрено идея построения множественных колец между категориями, а так же ее реализация для Joomla 2.5+ (для Joomla 3.0 и выше данный модуль должен так же подходить, но специального тестирования не проводилось).

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

Примечание : Как факт, но на данном сайте, после внедрения кольцевой перелинковки материалов категории, многие статьи, которые никак не индексировались, попали в основной индекс.

Если переносить вышесказанные слова на точку зрения обычного пользователя, то любой читатель, который открыл статью определенного раздела, практически не видит связи с другими категориями. Чаще всего, перед его глазами либо случайно проставленная перелинковка внутри статей, либо модули вида "последние материалы", "рубрики", "архив", "похожие материалы" и так далее. Утрируя, на странице видны либо хаотично проставленные ссылки (постоянно меняющиеся последние материалы, ссылки в статье и так далее), либо связи внутри одной категорий, включая организацию за счет тэгов и ключей. Если еще больше утрировать и говорить простым языком, то вероятность, что пользователь заглянет хотя бы в соседнюю категорию, на полных порах стремится к нулю. Ведь, энтузиастов и альтруистов не так уж много. Нет, ну честно. Вспомните хотя бы себя. Часто ли вы, заходя на незнакомые сайты, неудержимо рвались обследовать его вдоль и поперек? Безусловно, существуют и такие проекты, но тут ключевое слово "существуют". А теперь, попробуйте с учетом вышесказанных слов, посмотреть на картинку со стандартной древовидной структурой:

Примечание : Тем не менее, важно понимать, что речь идет только о том, что видит читатель и не более.

В основании дерева находится главная страница сайта. Дальше идут разделы (категории, теги и так далее). И в самом низу уже статьи. А теперь, просто представьте, что пользователь открыл страницу в нижнем левом углу, и задайтесь вопросом "как ему добраться до страницы в правом нижнем углу, если он даже об ее существовании не знает?". Конечно, в статье может быть просто ссылка на эту статью, но делать из статьи набор ссылок, чтобы можно было добраться до всех страниц, - далеко не самое лучшее решение. Но, все же что-то с этим можно сделать.

Тут и возникает идея автоматической перелинковки материалов разных категорий таким образом, чтобы образовать из них кольца, что в теории и при удачном сложении обстоятельств позволит пользователям пройтись по всем категориям сайта и полноценно оценить его. В самом простом виде, речь идет о ситуации, когда каждый материал из одной категории ссылается на материал из соседней категории. Таким образом, из всех категорий, в которых есть хотя бы один материал, можно образовать кольцо. Однако, одного кольца очень мало. Поэтому имеет смысл связывать в кольца несколько материалов из каждой категории. Так же необходимо учитывать, что количество материалов в категориях обычно разное. Редко можно найти сайты, где все категории сходятся тютелька в тютельку по количеству статей. Чаще же, все наоборот (где-то 20 статей, где-то 100 и так далее). Но, это еще не все условия и ограничения. Кроме того, такая перелинковка не должна быть мигающей, так как ссылки начинают набирать вес только со временем, и должна быть управляемой, то есть учитывать все добавленные статьи на сайт в автоматическом режиме таким образом, что вы всегда будете знать, к чему приведет добавление материала и как оно отразится на структуре.

Если посмотреть на страшную картинку чуть выше, то это примерно тот результат, которого необходимо добиться. Когда колец между категориями создается настолько много, что выпадение одной страницы будет быстро минимизироваться. И реализовать это достаточно легко. Для этого необходимо использовать всего лишь несколько правил.

  1. Все материалы каждого раздела сортируются в определенном порядке . Например, по дате создания.
  2. Каждый материал ссылается на несколько материалов из соседней категории . Например, ссылаемся на 5-6 материалов из соседнего раздела.
  3. Номер материала по порядку определяет стартовую позицию для выбора материалов из соседней категории . Допустим в двух категориях есть по 10 статей. Если мы открываем 4-ю по порядку статью, то первым материалом из соседнего раздела так же должен быть четвертый.
  4. Чтобы минимизировать большую разницу в количестве статей, каждый следующий материал может выбираться через выбранный промежуток . Например, через два (1-3-5-7-...)
  5. И последнее. Если при подборе статей мы достигли последней статьи, то продолжаем поиск с самого начала списка . Таким образом, последние статьи будут ссылаться на первые статьи соседней категории.

Возможно, правила вам показались немного сложными, но достаточно один раз представить (или в крайнем случае нарисовать на листке бумаги; ну, в совсем крайнем на пергаменте) и все станет понятно.

Итак с идеей определились. Необходимо определить схему, по которой будет происходить внутренняя перелинковка страниц кольцами категорий. Самым основным неопределенным моментом является порядок сортировки. Тем не менее, достаточно вспомнить, что алгоритм должен обеспечивать долговечность ссылок, и становится понятно, что в качестве порядка сортировки должно быть условие, которое очень редко меняется или вообще никогда не меняется. И первое, что приходит в голову, это либо идентификаторы, либо дата создания. В данном случае, привязываться к идентификаторам будет не очень хорошей идеей, как бы это не показалось странным. Причина в том, что дата создания, чаще всего, будет более стабильным признаком сортировки (и только сортировки, так как дат слишком много и поэтому мало кто даже на нее взгляд бросит). К примеру, если по каким-то причинам, вам придется копировать или пересоздавать с сохранением атрибутов материалы, то их идентификаторы, ровно как и даты модификации и публикации, могут легко смениться, а вот дата создания нет (все та же причина - это поле на фоне остальных вызывает малый интерес). Поэтому за основу для упорядочивания статей был взят признак даты создания.

Теперь, рассмотрим 4 варианта упорядочивания для выбора наиболее стабильного, чтобы обеспечивать долговечность ссылок.

Первый вариант. Связывание последних материалов с последними . Проблема очевидна. Стоит добавить статью в одну из категорий, как тут же начнут меняться ссылки внутри остальных статей. Поэтому этот вариант отпадает мгновенно.

Второй вариант. Связывание последних материалов со старыми . Проблема так же остается, хоть и частично. Стоит добавить в категорию один материал, так сразу все связи сдвинуться на одну ссылку, что на сайте с частым обновлением материалов будет означать невероятно быстрое мигание ссылок.

Третий вариант. Связывание старых материалов со старым . В таком случае, добавление статей в любую категорию не будет приводить к сдвигам ссылок. Подходящий вариант.

Четвертый вариант. Связывание старых и последних материалов . Проблема остается. Стоит добавить материал в соседнюю категорию, как порядок ссылок в текущем разделе нарушится. Что так же приведет к частому подмаргиванию ссылок.

Как видите, наиболее оптимальный вариант - это третий вариант . Безусловно, он так же не безупречен, так как у последних материалов будут меняться ссылки до тех пор, пока количество материалов в соседней категории не увеличится настолько, что не придется брать самые первые ссылки. Сложная фраза. но если вернуться к пергаменту, то все станет понятно. Тем не менее, все же этот вариант самый стабильный из рассмотренных и со временем он позволит создать достаточно прочные связи между материалами в основании сайта.

Создаем скрипт множественной перелинковки категорий кольцами из материалов для Joomla

Прежде, чем приступать к созданию скрипта множественной перелинковки материалов категорий кольцами в Joomla, необходимо определиться со списком требований и ограничений для скрипта

  • . Каждый добавленный материал должен в автоматическом режиме добавляться, чтобы не приходилось об этом заботиться.
  • Долговечность ссылок . Ссылки по максимуму должны быть немигающими (кокетливое моргание в жизни может и выглядит приятно, но поисковым системам не нравится). Если ссылки будут постоянно меняться, то особого толку от таких ссылок не будет.
  • Простота настройки . Модуль должен настраиваться очень просто и в одном месте.
  • . Ссылки должны быть разнообразными. Это позволит создать достаточно много колец.
  • . Практически на каждом сайте есть категории, которые предназначены только лишь для технических целей, поэтому их необходимо исключать. Кроме того, должна быть возможность задавать порядок категорий, чтобы предлагать читателям наиболее релевантную информацию.

Итак, с условиями и требованиями понятно, можно приступать к реализации. В качестве базового проекта был взят модуль перелинковки из предыдущей статьи, а так же подключена возможность создания миниатюр (в статье указывается, как подключить к сайту и настроить необходимый файл php; если вам не нужны миниатюры, то вы всегда можете подправить отображение модуля).

Так как изменений в модуле было достаточно много и большинство из них было косметических (например, замена названий переменных и файлов, изменение строк локализации и прочее), то в рамках статьи приводятся только наиболее важные. Но, не волнуйтесь, ссылка на исходный проект модуля есть в конце статьи, так что все оставшиеся изменения вы легко найдете в архиве (и не придется серчать на автора).

Настройки xml-файла определения модуля Joomla

Первое, что необходимо подправить, - это xml-файл модуля. Учтите, что в модуль добавились не только обычные параметры, но и настройки для кэширования, так как в отличии от joomla модуля перелинковки статей одной категории, sql-запросы к базе данных стали более требовательными. Вот набор параметров:

Основные изменения. Переименованы и добавлены следующие основные параметры: "mat_number" (количество ссылок на соседнюю категорию), "shift_number" (промежуток или сдвиг для выбора следующего материала в соседней категории), "orderCat" (текстовое поле, где в ручную через запятую указывается порядок следования категорий). Добавлены дополнительные параметры для кэширования: "cachemode" (тип кэширования), "cache_time" (время кэширования), "cache" (включение кэширования, если оно включено глобально). На этом основные изменения в xml-файле закончены.

Правка helper.php - функция выбора номеров статей из соседней категории

Теперь, необходимо написать функцию, которая будет формировать номера статей для выбора из соседней категории. Для этого добавим в код helper.php функцию getMaterialWhereForModule:

// Формируем условие для выборки id статей function getMaterialWhereForModule($startPart, $materialNumber, $linksCount, $shiftCount, $maxCount) { if ($maxCount == 0) return ""; $result = " ("; $findElements = array(); $matRownum = 0; $shift = 0; // Если сдвиг больше количества материалов, то ограничиваем его if ($shiftCount >= $maxCount) $shift = $maxCount == 1 ? 1: $maxCount - 1; // иначе просто запоминаем сдвиг else $shift = $shiftCount; // Определяем стартовую позицию $matRownum = ($shift + $materialNumber) % $maxCount; if ($matRownum == 0) $matRownum = $maxCount; // Проходимся по кольцу ровно столько раз, сколько нужно ссылок for($i = 0; $i < $linksCount; $i++) { if (!in_array($matRownum, $findElements)) { $findElements = $matRownum; } // Сдвигаем элемент $matRownum = ($matRownum + $shift) % $maxCount; if ($matRownum == 0) $matRownum = $maxCount; } // Если нашлось меньше ссылок, чем нужно, но элементы все еще есть, // то просто добавляем ближайшие элементы к материалу if (count($findElements) < $linksCount && count($findElements) < $maxCount) { $addingCounter = ($materialNumber + 1) % $maxCount; if ($addingCounter == 0) $addingCounter = $maxCount; // Заполняем набор пока либо не найдем нужное количество ссылок, либо не закончится набор доступных ссылок while(count($findElements) < $linksCount && count($findElements) < $maxCount) { // Если элемента нет в массиве, то добавляем его if (!in_array($addingCounter, $findElements)) { $findElements = $addingCounter; } // Сдвигаем элемент $addingCounter = ($addingCounter + 1) % $maxCount; if ($addingCounter == 0) $addingCounter = $maxCount; } } // Формируем набор for($i = 0; $i < count($findElements); $i++) { $result .= $findElements[$i]; if ($i + 1 != count($findElements)) $result .= ", "; } return $startPart.$result.") "; }

Функция достаточно просто и снабжена подробными комментариями, так что вы в ней легко разберетесь. Единственное уточнение, в задачи этой функции входит формирования части условия для sql-запроса, а именно конструкции "IN (...)".

Правка helper.php - получение идентификатора соседней категории

Теперь необходимо добавить в функцию getList получение идентификатора соседней категории (если она не была определена в параметрах), в которой есть хотя бы один материал, доступный читателям.

// Получаем элементы номер следующей категории, если таковое возможно if (($this->isArticle() || $this->isCategory()) && ($menu->getActive()!= $menu->getDefault())) { // Получаем следующую категорию // Если указан порядок для элемента if (!empty($orderCat) && is_array($orderCat) && in_array($idCat, $orderCat) && array_search($idCat, $orderCat) < count($orderCat) - 1) { $nextCatID = $orderCat; } // Иначе ищем следующую категорию с учетом кольца else { $queryGetNextCat = " select a.id from (select distinct cat.id, 0 as afterCircle from #__categories cat join #__content mat on cat.id = mat.catid and mat.state > 0 and (mat.publish_down is null or mat.publish_down > < NOW()) and cat.published > 0 where cat.id > ".$idCat." ".$this->getExceptWhereForCatSearch(" and cat.id not in ", $exceptCat)." ".$this->getAccessWhereForUser(" and mat.access ", $user)." ".$this->getAccessWhereForUser(" and cat.access ", $user)." union select distinct cat.id, 1 as afterCircle from #__categories cat join #__content mat on cat.id = mat.catid and mat.state > 0 and (mat.publish_down is null or mat.publish_down >= NOW()) and (mat.publish_up is null or mat.publish_up < NOW()) and cat.published > 0 where cat.id < ".$idCat." ".$this->getExceptWhereForCatSearch(" and cat.id not in ", $exceptCat)." ".$this->getAccessWhereForUser(" and mat.access ", $user)." ".$this->getAccessWhereForUser(" and cat.access ", $user).") a order by a.afterCircle asc, id asc limit 1 "; $db->setQuery($queryGetNextCat); $nextCatID = $db->loadResult(); } }

Как видите в основе данной части лежит один большой по тексту, но простой по смыслу, sql-запрос к БД. Суть его заключается в том, что мы получаем список всех категорий (исключая текущую категорию и указанные категории в модули), затем сортируем его и берем первый подходящий идентификатор. Единственным, что может показаться сложным, это параметры для фильтрации, но если вы присмотритесь внимательно, то они просто фильтруют все доступные пользователю материалы на сайте в данный момент времени (а так как фильтров несколько, то создается объем).

Правка helper.php - получаем все элементы из соседней категории

Теперь, нужно сформировать запросы для получения элементов. И тут есть три варианта.

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

// Иначе формируем случайный вывод статей из всех доступных категорий else { $queryGetMaterials = " select id, catid, \"\" as link, title, access, alias, introtext from #__content mat where mat.state > 0 and (mat.publish_down is null or mat.publish_down >= NOW()) and (mat.publish_up is null or mat.publish_up < NOW()) ".$this->getExceptWhereForCatSearch(" and mat.catid not in ", $exceptCat)." ".$this->

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

// Если на странице отображена категория и есть соседняя категория, // то берем случайные статьи из следующей категории else if ($this->isCategory() && !empty($nextCatID)) { $queryGetMaterials = " select id, catid, \"\" as link, title, access, alias, introtext from #__content mat where mat.state > 0 and (mat.publish_down is null or mat.publish_down >= NOW()) and (mat.publish_up is null or mat.publish_up < NOW()) ".$this->getExceptWhereForCatSearch(" and mat.catid not in ", $exceptCat)." and mat.catid = ".$nextCatID." ".$this->getAccessWhereForUser(" and mat.access ", $user)." order by rand() limit ".$linksCount." "; }

Третий вариант. Открыли страницу материала . Это означает, что подобрать соседнюю категорию можно, ровно как и вычислить необходимые номера для выбора материалов. Однако, в данном случае одним запросом не обойтись и их будет три. Первый возвращает номер текущей статьи относительно других материалов в категории. Второй получает количество доступных читателю материалов в соседней категории. И наконец, третий запрос - это sql-запрос на получение необходимых статей в joomla.

$queryGetMaterials = ""; // Если на странице отображена статья и есть соседняя категория, if ($this->isArticle() && !empty($nextCatID)) { // Получаем номер элемента в списке $db->setQuery(" select rownum from (select *, @rownum:= @rownum + 1 as rownum from #__content mat, (select @rownum:=0) a where mat.state > 0 and (mat.publish_down is null or mat.publish_down >= NOW()) and (mat.publish_up is null or mat.publish_up < NOW()) ".$this->getAccessWhereForUser(" and mat.access ", $user)." and mat.catid = ".$idCat." order by mat.created) a where id = ".$idMat." "); $materialNumber = $db->loadResult(); // Получаем количество статей в нужной категории // Получаем номер элемента в списке $db->setQuery(" select count(*) from #__content mat where mat.state > 0 and (mat.publish_down is null or mat.publish_down >= NOW()) and (mat.publish_up is null or mat.publish_up < NOW()) ".$this->getAccessWhereForUser(" and mat.access ", $user)." and mat.catid = ".$nextCatID." "); $maxCount = $db->loadResult(); // Формируем итоговый запрос $queryGetMaterials = " select id, catid, \"\" as link, title, access, alias, introtext from (select *, @rownum:= @rownum + 1 as rownum from #__content mat, (select @rownum:= 0) a where mat.state > 0 and (mat.publish_down is null or mat.publish_down >= NOW()) and (mat.publish_up is null or mat.publish_up < NOW()) ".$this->getAccessWhereForUser(" and mat.access ", $user)." and mat.catid = ".$nextCatID." order by mat.created) a where ".$this->getMaterialWhereForModule(" a.rownum in ", $materialNumber, $linksCount, $shiftCount, $maxCount)." "; }

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

Установка и настройка готового модуля перелинковки

Теперь, можно приступить к самому приятному, к установке и настройке готового модуля перелинковки категорий.

Откройте "менеджер расширений " в меню панели администратора Joomla, а затем загрузите и установите архив с модулем.

Примечание : Для тех, кто еще с этой особенностью не знаком, учтите, что модуль должен быть упакован в zip-архив .

Как только вы установите модуль, в общем списке модулей появится выключенный модуль кольцевой перелинковки материалов между категориями (хоть и длинное, но зато корректное название).

Примечание : Тип данного модуля будет доступен в интерфейсе настройки модулей, так что если вы удалите его случайно, то не нужно пытаться повторно устанавливать модуль. Кроме того, для создания нескольких колец категорий или же здания разных направлений, вы так же можете создать еще несколько модулей, так как их настройки независимы друг от друга

Приступаем к настройке модуля. Щелкните на ссылке с названием "кольцевая перелинковка материалов между категориями ". Вначале выберите состояние "Опубликовано " и укажите общие настройки, такие как заголовок, позиция в шаблоне.

Примечание : В рамках данной статьи рассматривается общий случай. Поэтому остальные настройки области "Подробно " выберите так, как вам нужно.

Теперь необходимо настроить привязку к пунктам меню. Если у вас нет каких-либо особенных страниц, которые необходимо исключить, то выберите пункт "На всех страницах ".

Примечание : Настройка доступа ничем не отличается от настройки доступа остальных модулей. Так что если у вас уже был настроен один из модулей нужным образом, то вы можете просто скопировать настройки.

После того, как вы закончили с указанием стандартных параметров, необходимо приступить к настройке основных и дополнительных параметров модуля. Укажите включать или исключать главную страницу. Перечислите через запятую категории, которые необходимо исключить из перелинковки. Желательно указать порядок категорий через запятую. Это позволит вам создать логичную цепь переходов между категориями и сэкономит на запросах в БД. Выберите количество ссылок, которые будут рассчитываться для каждой страницы, а так же сдвиг при пересчете. В дополнительных параметрах, укажите желаемые настройки кэширования.

Примечание : В отличии от кольцевой перелинковки материалов одной категории, запросы к БД более требовательны, поэтому настоятельно рекомендуем оставить кэширование включенным, тем более, что речь идет о долговременных ссылках.

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

А теперь еще раз смотрим на требования и проверяем выполнились ли они:

  • Автоматическое добавление материалов . Выполнено. Все происходит в автоматическом режиме. Установили и занялись другими делами.
  • Долговечность ссылок . Выполнено. Старые материалы будут содержать долговечные ссылки. Постепенно основа сайта наберет вес в глазах поисковиков.
  • Простота настройки . Выполнено. Модуль имеет достаточно простые настройки, которые настраиваются в одном месте и отдельно для каждого модуля.
  • Возможность обхватить как можно больше материалов . Выполнено. За счет сдвига и особенностей изначального алгоритма, покрываться будет достаточно много материалов. Безусловно, в рамках разумного и возможного.
  • Должны быть возможности исключать и указывать порядок категорий . Выполнено. Можно исключать технические категории и указывать порядок следования разделов, а заодно и экономить на вычислениях в БД.

Итак, как видите, получился вполне удобный и мощный модуль для перелинковки категорий.

Скачать модуль перелинковки кольцами категорий вы можете по этой ссылке (Важно! не забудьте подключить миниатюры

08.12.2016

Здраствуйте наши дорогие читатели! Важной составляющей SEO оптимизации является перелинковка. Это процесс связывания ссылок, с помощью которого связываются веб-страницы. Эта функция позволяет распределить вес сайта в пользу наиболее значимых страниц.

Компоненты для внутренней перелинковки в системе joomla

Внутренняя перелинковка в joomla может быть осуществлена с помощью встроенных в неё модулей. На первое время они могут быть полезны. Найти их можно в верхнем меню, в пункте «расширения», далее – «менеджер модулей». В этом окне будут перечислены все установленные расширения. Их можно включить или выключить. Вот список встроенных модулей, которые можно использовать:


Все модули значительно упрощают навигацию по сайту, повышают удобство пользования. В русской версии плагина они могут иметь другие названия (связанные материалы, навигатор, последние новости, RSS-лента). Однако для выполнения более точной и качественной работы понадобится дополнительный компонент перелинковки страниц joomla. Они находятся в свободном доступе в интернете. Рассмотрим список дополнительных модулей для joomla:

  • Smart SEO – плагин для удобного редактирования данных и статей страницы. Он удобен тем, что для выполнения своих функций не требует правки кода, в отличие от других компонентов. Он приспособлен под поисковые системы Google, Bing, Yahoo, MSN и другие. С помощью его инструментов можно редактировать мета-теги, заголовки, ключевые слова и отдельные настройки сео для каждой статьи. Самое главное – существующие мета-теги будут использоваться если вы не указали какое-либо другое значение для них. К первоначальным тегам всегда можно вернуться посредством настроек. Smart_seo joomla внутренней перелинковки не имеет проблем с совместимостью компонентов сео и доступности определённых страниц, как это бывает с блогом категорий макетов, страниц форума и т. д.
  • JV-LinkExchanger – расширение для организации обмена баннерами и ссылками. Обладает всеми необходимыми функциями для удобного обмена ссылками joomla и другими веб-сайтами. С его помощью любой пользователь может обменяться с вами графическим баннером или ссылкой, вы же можете как принять, так и отклонить предложение. Принимая, вам предоставляется возможность выбрать тип обмена и регулировать количество ссылок в любой категории.
  • Automatic Backlinks – сервис по обмену ссылками с другими сайтами. Процесс реализации таков: нужно зарегистрироваться в системе, указать те страницы вашего источника, на которых вы хотите разместить другие ссылки и в скором времени вам будет подобрано несколько других веб-ресурсов на выбранную вами тематику, ссылки на которые, в свою очередь, укажете вы. В любой момент ссылки на эти сайты можно удалить.
  • ArtioSEF – расширенная версия стандартного SEF joomla. Плагин позволяет создать адрес ссылок, которые будут иметь в себе ключевые слова в заголовках. Таким образом будет проще ориентироваться среди многочисленных страниц. В нём существует ещё несколько полезных инструментов типа кеширования, создания страницы ошибки 404.
  • SEF Patch – компонент перелинковки страниц . Если вы всё еще пользуетесь этой устаревшей версией joomla, то этот модуль облегчит вам работу. Он позволяет сделать сео редактирование сайта и управление заголовками страниц, метаданными блога статей.
  • XMAP – плагин, призванный создать карту сайта, опираясь на структуру вашего меню. Её можно формировать согласно вашим пожеланиям, исключая меню из карты, создавая их в нескольких вариантах, кешируя систему и т. д.
  • SeoGenerator – представляет удобные инструменты, с помощью которых можно прогенерировать тексты, анкоры и названия. Позволяет сэкономить время на ручном заполнении данных. Плагин сам сформирует ключевые слова, мета-теги и описания, а вам нужно будет только опубликовать статью на свой сайт.
  • Auto Backlinks – позволяет вам посетить определённые сайты, которые оставляют вам свою ссылку, и компонент сам размещает их на вашем источнике. Стоит подметить, что сайты он подбирает с высоким рейтингом.

Правильная перелинковка

Использование дополнительных плагинов для внутренней перелинковки в joomla позволяет значительно упростить этот процесс. Однако даже с их помощью можно допустить ошибки, которые впоследствии повлияют на всю работу сайта. Как это обычно бывает, самые грубые ошибки допускаются в простых вещах, поэтому прежде всего, нужно проверить чтобы на всех внутренних страницах была ссылка на главную, с одинаковым URL-адресом. Особенно если вы продвигаете внутренние страницы, лучше всего чтобы их ссылки были сквозными и вели к главной. Если вы ставите на них внешние ссылки – сделайте им перелинковку. Таким образом они будут передавать вес с одной продвигаемой страницы на другую. Даже если у вас страница без текста, а с одними картинками – их всё равно лучше перелинковать. Так значительно упрощается навигация сайта. Такой метод также известен как кольцевая перелинковка. На одну и ту же страницу лучше применять разные анкоры – эффективней будет результат. Создавая новый контент, важно не забывать создать ссылку на него и из него, это поможет ускорить его индексацию, а также добавит вес упоминаемым страницам. Правильной перелинковкой можно назвать ту, которая сочетает в себе баланс между тремя категориями: навигация, статистический вес и ссылочный. Первое – это максимальное удобство пользования; второе – страницы, которые вы хотите выделить должны быть самыми весомыми; и третье – по дополнительным ссылкам должна быть понятна тематика. Это важно как для пользователя, так и для поисковых систем.

Заключение

Внутренняя перелинковка joomla требует большой осведомлённости как о возможных инструментах-модулях системы, так и о грамотном выполнении задания. Мы предоставили вам большой выбор программ, используемых специалистами по SEO и краткий обзор на каждую. Для начала можно использовать имеющиеся у joomla модули, но если вы хотите делать работу качественно – без дополнительных компонентов не обойтись. Они есть все в свободном доступе, возможно, некоторые дополнительные элементы предоставляются за дополнительную плату. Хоть они и упрощают процесс внутренней перелинковки, следует не забывать основные правила успешного результата, которые мы упомянули выше – удобство пользования, статистический вес и ссылочный. Это всё, что нужно знать о перелинковке в системе joomla.

С уважением, Иван Балашов!

Продолжим тему перелинковки. Ручная перелинковка — это крайне хорошо и правильно. Но на порталах или крупных интернет-магазинах сделать ее руками проблематично, особенно на 20 000 страниц. Поэтому в таких случаях будем пользоваться плагинами для перелинковки.

А теперь подробнее.

Начнем мы с одной из самых популярных CMS. Данный движок работает крайне хорошо и легко настраивается. Рассмотрим 2 плагина:

  1. Yet-another-related-posts-plugin.
  2. Simple tags.

Данные плагины хорошо работают в связке. 1 плагин для wordpress перелинковки дает возможность автоматически вставить в конце статьи релевантные страницы c картинкой (пример можете видеть у меня на логе). Скачать данный плагин можно на официальном сайте — .

Simple tags же дает возможность задать метки к статье, по которой потом будут перелинковываться статьи. Таким образом мы можем перелинковать автоматом релевантные странице не намного хуже, чем вручную. Однако тут нет возможности поставить картинки. Если для вас это не критично — используйте 2 плагин. Шикарно же 🙂

Для Joomla я приведу так же 2 плагина на выбор:

  1. Joomla Extra News
  2. Smart SeoLinks

Модуль Joomla Extra News — выводит в конце статьи или в любом другом месте список похожих материалов. Это более качественный аналог стандартного «Похожие статьи». Единственное что стоит заметить — есть версии 2.х.х и 3.х.х. Во 2-х версиях модуля есть «общие настройки», которые за пару минут позволят все настроить и проверить. А в 3-х версия «общие настройки» полностью убрали, заменив на более гибкие «индивидуальные настройки». Тут следует попробовать оба модуля и решить, какой плагин для перелинковки Joomla вам подходит (какая версия имею ввиду).

Второй же модуль — Smart SeoLinks совсем другого плана и подходит для крупных многостраничных сайтов. Объясню суть плагина: вы ввели слово «внутренняя перелинковка Joomla» и вуаля! На всех страницах данное словосочетание будет ссылкой на заданную страницу. Несмотря на всю видимую пользу — есть возможность попасть под фильтры из-за переоптимизации и спама. Поэтому будьте крайне осторожны с ним и проведите больше времени за настройками.

Модуль перелинковки DLE

Признаюсь честно — не особо люблю данную CMS. Просто потому, что обычно на ней клепают ГСы. Точнее на ней их очень много сделано, хотя сам движок неплохой. Сколько не пытался с ней возиться, выбор сошелся на 1 модуле перелинковки DLE:

  1. LinkEnso PRO

Это платный модуль, конечно же его можно найти и ломаный, как и весь DLE 🙂

Вы с легкостью сможете его настроить, а позволяет он выводить в блоках ссылки с картинкой на предыдущие и будущие статьи. Схема работы схожа со всеми вышеперечисленными CMS.

Внутренняя перелинковка представляет собой огромную паутину ссылок между страницами сайта. Само слово «перелинковка» образовалось от слова «link» (в переводе с англ. - «ссылка»). Грамотная перелинковка страниц сайта и Интернет-магазина гарантированно окажет большое влияние на ранжирование в поисковых системах как отдельных документов, так и сайта в целом.

Навигация

Самым простым примером внутренней перелинковки сайта является его навигация. Поисковым системам она помогает в индексировании, а пользователям - в поиске необходимой информации. Навигация должна быть составлена таким образом, чтоб каждая страница находилась не далее, чем через 3 клика от Главной. Разумеется, есть и исключения из этого правила. Например, если на сайте миллион документов, то кликов может быть и 4, и даже 5.

Если на сайте есть страницы, на которые через навигацию попасть нереально - это плохо.

Существует множество способов сократить число кликов для доступа к нужной странице. Можно использовать html-карты сайтов, облака тегов, «хлебные крошки», а также воспользоваться специальными скриптами.

Распределение веса

Итак, у Вас уже есть собранное семантическое ядро , причем уже кластеризованное, т.е. поисковые запросы уже распределены по продвигаемым страницам. Теперь необходимо примерно то же самое сделать и со ссылками.

Для распределения веса ключевых слов можно:

  • Воспользоваться специальными скриптами или плагинами
  • Сделать ручную перелинковку самостоятельно (для небольших сайтов)

Чтобы было проще понять, о чем идет речь, рассмотрим несколько простейших схем.

Схемы перелинковки сайта

1. «Звездная» перелинковка.

Ее суть в том, что одна страница ссылается на все остальные. Т.е. если страниц 5, то с каждой страницы уходит 4 ссылки.

В этом случае все страницы имеют одинаковый «вес». Такой способ эффективен для небольших сайтов (визитки, портфолио и т.д.)

2. Грамотная «кольцевая» перелинковка.

Тоже «старый дедовский метод», «классика жанра», кому как угодно. Т.е. каждая из страниц имеет 2 исходящие ссылки: одна на «следующую по кругу» страницу, а вторая - на более приоритетную по продвижению страницу (например, на главную страницу сайта).

В итоге получается дополнительная «страховка» на тот случай, если одна из страниц данной схемы все-таки вылетела из индекса.

Кольцо, кстати, может быть и многоуровневым:

По сути это страховка к страховке, а в качестве бонуса - передача большего количества веса.

3. Иерархия.

По сути, в данной схеме просто выстраивается структура, напоминающая прогрессию.

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

Но есть и не менее жирный плюс - по такой схеме можно продвигать несколько «основных» страниц:

Как правило, данная схема реализуется с помощью скриптов.

4. И еще одна схема перелинковки - «карусель».

Работает она очень просто. Если на сайте 5 страниц, то первые 4 ссылаются на пятую, а пятая - на первые 4. Это тоже достаточно элементарная схема. Ее основной минус - очень большое «скопление» ссылок на одну и ту же страницу. Поэтому такие ссылки должны оформляться «естественными» анкорами (чтобы не получить санкции со стороны поисковиков). Еще один минус заключается в том, что из всех ссылок, идущих на одну и ту же страницу, поисковые системы будут считать только одну. Т.е. из 100500 ссылок прямое влияние на оказывает только одна. Именно поэтому такая схема используется только с одной целью - для позитивных поведенческих факторов со стороны пользователей, т.е. чтобы пользователи «гуляли» по сайту и активно изучали размещенные на нем материалы.

Существуют и более сложные схемы перелинковки, однако, большинство из них заточено под «специальные» задачи.

Правильная перелинковка страниц сайта

Если правильно и грамотно сделать перелинковку на сайте, то Вы автоматически получаете следующие преимущества:

  • Повышение релевантности страниц сайта в поисковых системах, т.е. каждая ссылка является дополнительным «сигналом» для поискового робота;
  • Увеличение статического «веса» страниц (он тоже играет большую роль в ранжировании);
  • Ускорение индексации новых страниц сайта, т.к. поисковые роботы очень любят «гулять» по ссылкам, соответственно, найти «новые вкусности» роботу будет проще (даже если по каким-то причинам адрес страницы отсутствует в xml-карте сайта);
  • Пусть и небольшая, но защита от копирования информации с сайта, т.к. в основном текст тырят вместе со всеми ссылками.
  • Повышение юзабилити, т.е. Вы облегчаете пользователю задачу по поиску нужной информации на сайте.

Помимо внутренней перелинковки страниц существует еще и внешняя. В чем разница - Вы уже и сами догадались: внутренняя производится ВНУТРИ сайта, а внешняя - МЕЖДУ сайтами.

Ручная перелинковка

В перелинковке нет ничего сложного - просто в новых материалах ссылаетесь на старые, упоминание которых в данном контексте является уместным. Если делать такую перелинковку вручную, то потребуется достаточно много сил и времени для ее полной реализации (чем больше сайт - тем больше трудозатрат). Однако, она дает очень мощный и долгосрочный эффект в плане оптимизации.

Автоматическая внутренняя перелинковка

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

Основные виды автоматической перелинковки:

1. HTML-карта сайта. Она просто обязана быть на каждом сайте. Грамотно составленная HTML-карта сайта позволит пользователю быстро сориентироваться в поисках нужной страницы. Также она позволяет правильно распределять параметр PR (индекс цитирования Google), ну а в качестве бонуса - ссылку на карту сайта можно вмонтировать в шаблон 404 страницы. Т.е. HTML-карта сайта если и не поможет, то как минимум не повредит. Ниже приведены 2 примера реализации такой карты.

Если сайт очень большой, то допускается сделать HTML-карту по каждому разделу, а затем составить HTML-карту HTML-карт. Однако, так почти никто и никогда не делает.

2. Блок «Похожие статьи».

Элементарнейший способ внутренней перелинковки. Т.е. на каждой странице под статьей делается отдельный блок, в котором размещается 3-4 ссылки на статьи. Они могут быть как схожего содержания, так и «продолжением истории». Именно таким образом и накручиваются (точнее - генерируются) позитивные поведенческие факторы, которые оказывают прямое влияние на ранжирование сайта и, как следствие, на позиции в поисковой выдаче.

Реализовывается такая перелинковка с помощью плагинов, которые пишутся под каждый движок индивидуально. Единственный минус такого подхода - серьезно повышается нагрузка на сервера. Как следствие, увеличивается время загрузки сайта, а также в процессе загрузки могут возникать ошибки 4xx и 5xx серии.

3. Генерирование контекстных ссылок - т.е. ссылки закрепляются прямо в тексте статьи.

4. Так называемые «хлебные крошки» - они показывают пользователю, насколько он «далеко ушел» от главной страницы. Т.е. там есть ссылка на главную, ссылка на раздел, ссылка на подраздел, ссылка на подраздел подраздела и т.д. Это делается для того, чтоб упростить пользователю навигацию по сайту. Данные ссылки также хорошо индексируются.

Как сделать перелинковку сайта на популярных CMS

Ну а теперь переходим к тому, как реализовать перелинковку на разных движках.

Бесплатные плагины перелинковки для Wordpress

1. WordPress Related Posts

С его помощью организуется перелинковка Wordpress через блок «Похожие статьи». Можно выводить с миниатюрами, текстом, или и с тем и другим. Можно задать параметры выведения «похожих статей», а если их нет - выведение случайных, либо самых популярных статей. Также можно настроить их количество в блоке. Обычно хватает штуки 3-4.

Если это и не самый популярный плагин для перелинковки на Wordpress, то как минимум один из них.

2. Yet Another Related Posts

Аналогичен предыдущему, но гораздо продвинутее. При поиске похожих статей он анализирует категорию, в которой размещена статья, теги документа, и даже заголовки и текст целиком. Это самый правильный подход. Пользоваться им немного сложнее, чем предыдущим, но и эффекта можно добиться гораздо большего - достаточно просто правильно настроить «Критерии похожести».

Еще одна интересная фишка плагина - выведение блока «Похожие статьи» через виджет в сайдбаре.

3. Breadcrumb Navigation XT

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

Перелинковка страниц на Joomla и Joomla 3

На движке Joomla перелинковка организовывается в основном этими тремя плагинами:

1. mod_related_items (Материалы - Связанные материалы). Данный плагин предназначен для формирования блока «Похожие новости». И если в случае с WordPress плагины надо скачивать и устанавливать, то с Joomla (точнее - с этим плагином для Joomla и Joomla 3) все еще проще - он установлен в движок по умолчанию. Его надо просто включить и задать местоположение блока. Подбор статей осуществляется путем считывания ключевых слов из соответствующего поля. Для каждой статьи их надо прописывать индивидуально (это единственный минус плагина).

2. mod_breadcrumbs (Навигатор сайта). Плагин для «хлебных крошек». Тоже установлен в движок по умолчанию. Все что требуется - активировать его и выбрать расположение «хлебных крошек». Как правило, под «шапкой», но над H1. Настраивается настолько быстро и просто, что даже нет смысла об этом рассказывать.

3. mod_latestnews (Материалы - Последние новости). Аналогичен первому, но выводит в блок не схожие новости, а последние. Т.е. настраивать вообще ничего не нужно.

Данный плагин лучше всего использовать на новостных сайтах, поскольку:

  • у материалов есть «срок годности», поэтому свежие материалы всегда будут привлекать больше внимания, чем похожие;
  • свежие материалы будут быстрее индексироваться поисковиками;
  • увеличится общее число внутренних ссылок и улучшится навигация по сайту.

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

Настроек тут крайне мало:

  • количество «свежих новостей» (обычно - 5 штук);
  • в каком порядке они будут выводиться;
  • страницы, на которых этот блок вообще будет.

Т.е. Joomla Вам сразу дает все необходимое для грамотной организации внутренней перелинковки. Пренебрегать ими не нужно, т.к. от этого зависят поведенческие факторы, юзабилити и, как следствие, позиции сайта в поисковой выдаче.

Перелинковка интернет-магазина на OpenCart

Парадокс, но тут с перелинковкой все еще проще, чем в Joomla, т.к. в OpenCart она включена по умолчанию и осуществляется с помощью плагина «SEO генератор перелинковки». Перелинковка на OpenCart осуществляется между страницами и товарами. Здесь можно управлять заполнением похожих, связанных и/или сопутствующих товаров. Единственный минус данного плагина заключается в том, что в нем достаточно сложно разобраться (по сравнению с теми, о которых уже рассказано). Однако, этот минус компенсируется жирнейшим плюсом, т.к. вручную добавлять товары для перелинковки уже не потребуется.

Итог

Грамотная внутренняя перелинковка сайта и страниц - одна из самых важных «многоходовок» по продвижению сайтов в поисковых системах. Прямого влияния на позиции в поисковой выдаче она почти не оказывает, однако, при правильном подходе и грамотной реализации, мощно влияет на поведенческие показатели, являющиеся одним из основных факторов ранжирования сайта и, как следствие, на позиции. Надеемся, данная статья раскрыла тему о том, как правильно делать перелинковку для сайта на Bitrix (Битрикс), Joomla, WordPress, OpenCart и другим CMS. Подписывайтесь на наши новости!