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

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.

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

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

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

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

В данной же статье будет рассмотрено идея построения множественных колец между категориями, а так же ее реализация для 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-архив .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задача такова:

У нас есть сайт, содержащий множество статей. Эти статьи можно разделить, например, на несколько тематик: Автомобили, Мотоциклы, Катера, Самолеты, Поезда. Ну, грубо говоря, такой сайт. Хотя все тематики родственные, они все же сильно различаются. В предыдущих статьях серии я рассказывал о важности внутренней оптимизации. Статьи сходной тематики должны ссылаться друг на друга. Кроме того, посетители сайта, прочитав одну статью, должны видеть похожие, т.е. те, которые могли бы их заинтересовать. Это очень важное условие для каждого сайта, который сделан для людей, поскольку «интересность» сайта в глазах человека, в отличие от поисковой системы, измеряется не количеством материала, а его качеством и доступностью. Проще говоря, чем больше посетитель найдет интересных ему материалов за время, которое он готов потратить на поиск на данном сайте, тем более полезным покажется ему сайт, и тем больше вероятность, что он вернется снова. Если сайт содержит много материалов, то задача поиска усложняется. Человек – существо ленивое. Ему, в большинстве случаев, лень вбивать что-то в строку поиска по сайту, копаться в архивах или категориях статей. Единственное, на что его хватает чаще всего – это, воодушевившись прочитанной статьей, посмотреть список похожих статей в ее конце. Может кто-то со мной не согласиться, но я считаю, что большая часть посетителей поступает именно так.

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

Прежде всего, определимся для себя, что делать столь рутинную работу вручную – не вариант. Да, можно сделать это один раз, два… десять, но рано или поздно становится лень самостоятельно выискивать и добавлять похожие статьи. К тому же это может отнимать достаточно много времени. Значит, процесс нужно автоматизировать. Встроенные возможности Joomla позволяют нам сделать это, но лишь частично. В Joomla есть модуль, так называемых, похожих статей. Данный модуль подбирает релевантные статьи по ключевым словам, которые указывает автор статей в соответствующем поле, при публикации. Т.е. например, есть две статьи. В одной указаны ключевые слова: «автомобили, спорт» в другой – «мотоциклы, спорт». Т.к. в обеих статьях указано ключевое слово «спорт», модуль Joomla будет считать их релевантными, и показывать друг для друга. В принципе, этот способ имеет право на жизнь, но есть несколько НО:

  1. Опять же таки ключевые слова нужно подбирать и вписывать вручную для каждой статьи, что бывает делать попросту лень.
  2. Совпадение одного из ключевых слов вовсе не означает релевантность статьи для посетителей. Например, посетителю интересны автомобильные гонки, но гонки на мотоциклах ему безразличны. При этом, в вышеописанном примере, модуль Joomla выведет статью, в качестве релевантной, именно про гонки на мотоциклах. Посетитель взглянет на эту ссылку, не заинтересуется и уйдет.
  3. И последнее, что мне очень не нравится – модуль есть модуль и далеко не всегда его удобно вставлять в конец статьи. Можно делать это вручную с помощью плагина loadposition, можно подобрать подходящую позицию, но в любом случае, это лишние проблемы.

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

Итак, что же может ?

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

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

Третье, что меня приятно удивило, это наличие функции всплывающих подсказок – описания статей, ссылки на которые создает плагин. Это выглядит вот так:

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

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

Вот так это выглядит:

Теперь перейдем к настройке модуля.

Устанавливается Plugin extranews как и все другие плагины. После установки его нужно настроить и активировать.

Ниже показано окно настроек Plugin extranews:

Плагин богат настройками. Рассмотрим их ниже:

  • Disable section id List – список ID разделов, для которых плагин не будет использоваться. ID разделов указываются через запятую. «-» – означает, что плагин используется для всех разделов;
  • Disable category id List – аналогично предыдущей опции, список ID категорий, для которых плагин не будет использоваться;
  • Disable article id List – как и в предыдущих двух опциях, список ID статей, для которых плагин не будет использоваться;
  • Query by – упорядочить по. Доступны два варианта: по дате создания и по ID;
  • Linked Title Char Count – эта опция позволяет ограничить длину заголовка статьи (ссылки) определенным количеством символов. 0 – означает, что заголовок будет показан полностью;
  • Number of related items – количество похожих статей, которое будет показано;
  • Number of newer news items – количество следующих статей, которое будет показано;
  • Number of older news items – количество предыдущих статей, которое будет показано;
  • Show date with title – показывать или нет дату создания перед ссылкой (заголовком)
  • Created date display – формат отображения даты. Подробнее описано во всплывающей подсказке данной опции;
  • Linked title format with date – формат отображения даты с заголовком, т.е то, как именно они будут отображаться вместе(через тире, двоеточие, пробел, и.т.д.);
  • Text before – текст перед отображением ссылок;
  • Text after – текст после отображения ссылок;
  • Margin- left – отступ слева отображения ссылок;
  • Margin- right – отступ справа отображения ссылок;
  • Enable Tooltip – активировать или нет всплывающие подсказки;
  • Tooltip Script – скрипт для создания всплывающих подсказок. Советую использовать Joomla Mootool;
  • IE6 Tooltip Script – выбор скрипта для 6-го ослика. Ему нужен королевский подход и отдельная опция;
  • Tooltip Title Char Count Count – эта опция позволяет ограничить длину заголовка статьи во всплывающей подсказке определенным количеством символов. 0 – означает, что заголовок будет показан полностью;
  • Tooltip Description Char Count – то же, что и предыдущий пункт, только для описания. Хочу заметить, что тут речь идет не про описание, как таковое, а про статью, т.е. в этом поле можно ограничить количество символов вводного текста;
  • Tooltip Description Text Images – показывать или нет изображения во всплывающей подсказке;
  • Image Width – ширина изображения:
  • Image Height – высота изображения;
  • Tooltip Width – ширина всплывающей подсказки;
  • Tooltip Height – высота всплывающей подсказки;
  • Tooltip Caption Background Color – цвет фона заголовка всплывающей подсказки;
  • Tooltip Caption Font Color – цвет текста заголовка всплывающей подсказки;
  • Tooltip Body Background Color – цвет фона тела всплывающей подсказки;
  • Tooltip Body Font Color – цвет текста тела всплывающей подсказки;
  • Tooltip Border Width – ширина рамки вокруг всплывающей подсказки;
  • Extra Tooltip Parameters – дополнительные параметры всплывающей подсказки;
  • Extranews above Comment – в данной опции можно задать отображение похожих статей выше отображения комментариев для различных расширений комментариев;

Вот такой вот отличный плагин! Конечно, Plugin extranews не сможет определить релевантность статей лучше их автора, но получается у него это очень даже неплохо.

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

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

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

Перелинковка Joomla

1.Устанавливаем плагин в стандартном режиме

2.Заходим в плагин и в настройках прописываем :

Например мы хотим что бы во всех статьях в слово "блог " вставлялась ссылка ведущая на главную страницу , прописываем :

блог =http://сайт /

Если нам нужно что бы ссылка вела с нескольких слов например : блог , Joomla, раскрутка то пишем :

Если необходимо что бы в разные слова вставлялись разные ссылки пишем :

блог ,Joomla,раскрутка =http://сайт /

3. Публикуем плагин и наслаждаемся внутренней автоматической перелинковкой Joomla .

Аналогичные плагины применяются и на WordPress, но об этом в следующий раз. При самостоятельной раскрутке блога такой плагин как перелинковка 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.



error: Контент защищен !!