Новости Joomla

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 1833 Просмотров
*

napstric

  • Захожу иногда
  • 55
  • 0 / 0
Как исправить ссылки?
« : 02.03.2016, 23:43:35 »
Всем привет, зарегистрировал сайт на яндексе+метрике, добавил хмап, а вот почему то Файл robots.txt не будет учтён роботом Яндекса, т.к. при запросе выполняется перенаправление, хотя раньше было все норм.
Но проблема вот в чем, недавно заметил что все ссылки на сайте идут вот в таком некрасивом виде:
сайт/раздел/материал-detail.html
не люблю когда получаются километровые ссылки, поковырялся оказалось что в VirtueMart стоит SEO-суффикс -detail, я его убрал, и заодно поковырялся еще настроил что бы ссылки имели вид место
сайт/раздел/материал.html
сайт/материал.html - вот так, получилось но не до конца почему то, если зайти в раздел и выбрать подраздел, то ссылки будут иметь вид сайт/раздел/подраздел/материал.html - хотелось бы и это поправить.

И теперь самое главное, после всех моих нововведений, старые проиндексированные ссылки, получается стали мертвые. У меня вопрос если ничего не делать выпрямятся ли ссылки со временем на яндексе или нет?
Если нет то что можно сделать, главное что бы никаких Sef404 не надо было устанавливать уже на нем собаку съел умею и настраивать его, но давно пришел к выводу что это зло, по этому попрошу без сео оптимизаторов, нужна то мне всего навсего красивая прямая ссылка  сайт/материал.html и чтобы старые ссылки или перепроиндексировались и выпрямились или как то научить редиректировать на нужную страничку.

Мой CMS Joomla! 2.5.28
Установлен VirtueMart 3.0.12
Для выпрямления ссылки использовал такой прием:
www/includes/router.php
370 строка

Код
$built = false;
if (isset($query['Itemid']) && !empty($query['Itemid'])) {
$item = $menu->getItem($query['Itemid']);
if (is_object($item) && $query['option'] == $item->component) {
if (!$item->home || $item->language!='*') {
$tmp = !empty($tmp)? $item->route.'/'.$tmp : $item->route;
}
$built = true;
}
}
заменяем на
Код
$built = false;
if (isset($query['Itemid']) && !empty($query['Itemid'])) {
$item = $menu->getItem($query['Itemid']);
if (is_object($item) && $query['option'] == $item->component) {
if (!$item->home || $item->language!='*') {
//$tmp = !empty($tmp)? $item->route.'/'.$tmp : $item->route;
//Я не хочу что бы к материалу проставлялась категория и тип контента
$tmp = !empty($tmp)? '/'.$tmp : $item->route;
}
$built = true;
}
}
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Как исправить ссылки?
« Ответ #1 : 02.03.2016, 23:46:31 »
И теперь самое главное, после всех моих нововведений, старые проиндексированные ссылки, получается стали мертвые. У меня вопрос если ничего не делать выпрямятся ли ссылки со временем на яндексе или нет?
Если вопрос только в этом, то ответ - да. А вообще неплохо бы настроить 301-й редирект, что бы не терять эти проиндексированные страницы.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

napstric

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как исправить ссылки?
« Ответ #2 : 03.03.2016, 00:19:55 »
Если вопрос только в этом, то ответ - да. А вообще неплохо бы настроить 301-й редирект, что бы не терять эти проиндексированные страницы.
так объясните чайнику что такое 301 редирект и как это сделать, в вторых основной вопрос этот, но что думаете по поводу того что ссылки дублируются
сайт/раздел/материал1.html
сайт/раздел/подраздел/материал1.html
а хотелось, что б везде была одна красивая ссылка сайт/материал1.html
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Как исправить ссылки?
« Ответ #3 : 03.03.2016, 08:50:00 »
Поставьте вот этот плагин. Он удалит дубли, а так же удалит id материала из адреса. Если какие то проиндексированные страницы отдают ошибку 404, включите плагин "Перенаправление", он у вас есть.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

napstric

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как исправить ссылки?
« Ответ #4 : 03.03.2016, 14:01:06 »
Поставьте вот этот плагин. Он удалит дубли, а так же удалит id материала из адреса. Если какие то проиндексированные страницы отдают ошибку 404, включите плагин "Перенаправление", он у вас есть.
плагин поставил, перенапровление итак работало, как бы теперь исправить ссылку дублирующую ссылку захожу в корневую категорию допустим кофе у этой категории есть подкатегории например растворимы, молотый, зерновой, так вот в главной категории кофе все ссылки выглядит так сайт/материал1.html допустим материал1.html относится к подкатегории зерновой кофе захожу в эту подкатегорию, а тут ссылка будет выглядеть так сайт/категория/подкатегория/материал.html вот как бы это поправить, что бы заходишь в любую категорию подкатегорию и ссылка выглядела везде одинаково сайт/материал1.html так сказать что бы все дороги вели в одно место ?
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Как исправить ссылки?
« Ответ #5 : 03.03.2016, 14:14:19 »
Привязать товар к одной категории, а вывод если в главной нужен сделать
*

napstric

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как исправить ссылки?
« Ответ #6 : 05.03.2016, 16:54:57 »
Привязать товар к одной категории, а вывод если в главной нужен сделать
если я его привяжу к одной категории, будет ли он выводиться в других подкатегориях к которым относится, например главная категория кофе->растворимый кофе -  тут привяжу материал1 то будет ли он выводиться в главной категории кофе? И как это сделать?
*

napstric

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как исправить ссылки?
« Ответ #7 : 08.03.2016, 17:23:36 »
Если какие то проиндексированные страницы отдают ошибку 404, включите плагин "Перенаправление", он у вас есть.
такая штука плагин или сам компонент не работает, захожу в компонент перенапровления с включенным плагином вставляю ссылку которая устарела
сайт/раздел/материал-detail.html заменяю ее на сайт/раздел/материал.html ставлю состояние включено- сохраняю. дальше по логике захожу по старой ссылке, она открывается без перенапровления тобиш нет редиректа, быть может это из за VirtueMart но я хз. а и еще при вставлении полного URL т.е http:/сайт/раздел... и т.д когда сохраняется он обрезает  "http:/сайт/" и пишет сразу /раздел/... и т.д, но если зайти отредактировать то там все нормально полный URL введен.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Каким плагином можно закрыть внешние ссылки?

Автор gorbi_U

Ответов: 4
Просмотров: 2923
Последний ответ 25.02.2023, 02:29:35
от olegon
вопрос к решению из FAQ. Вместо отсутствия ссылки отсутствует название активного пункта меню

Автор Loh

Ответов: 5
Просмотров: 2494
Последний ответ 10.04.2022, 11:04:26
от fiksius
Google не индексирует страницы через ajax ссылки

Автор illimited

Ответов: 0
Просмотров: 1425
Последний ответ 31.03.2022, 23:53:05
от illimited
Работают ли сейчас ссылки для продвижения?

Автор web1

Ответов: 1
Просмотров: 880
Последний ответ 20.11.2021, 17:26:05
от Byzi
Ссылки на мой сайт не подтягивают фото

Автор MbJaws

Ответов: 7
Просмотров: 1777
Последний ответ 26.10.2020, 13:40:24
от MbJaws