Новости 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 Гость просматривают эту тему.
  • 13 Ответов
  • 3446 Просмотров
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Индексация ajax`а
« : 21.05.2012, 15:12:02 »
Сегодня Яндекс опубликовал новость

Цитировать
При создании AJAX-сайтов могут использоваться URL с #, но такой URL не используется поисковым роботом. Как правило, часть URL после # отсекается. Поэтому вместо URL вида http://site.ru/#example он обращается к главной странице сайта, расположенной по адресу http://site.ru. Это значит, что контент страницы может не проиндексироваться и, как следствие, не попасть в результаты поиска.

Для улучшения индексации AJAX-сайтов мы поддержали изменения в поисковом роботе и правилах обработки им URL таких сайтов.

Теперь вебмастер AJAX-сайта может указать поисковому роботу Яндекса на необходимость индексации, поддержав соответствующую схему в структуре сайта. Для этого нужно:

1. Заменить в URL страниц символ # на #!. Так робот будет понимать, что он может обратиться за HTML-версией контента этой страницы.
2. HTML-версия контента этой страницы размещается на URL, где #! заменен на ?_escaped_fragment_=.

Пример:
URL: http://www.examplesite.ru/#blog
Заменили на: http://www.examplesite.ru/#!blog
Положили HTML-контент на URL: http://www.examplesite.ru/?_escaped_fragment_=blog

3. При этом контент главной страницы должен быть доступен по адресу http://www.examplesite.ru/?_escaped_fragment_=
4. Чтобы робот понимал, что главная страница также на AJAX, нужно разместить мета-тег <meta name="fragment" content="!">. Мета-тег может использоваться на любой странице, сгенерированной с помощью AJAX.

В этом случае страница будет проиндексирована поисковым роботом, а в результатах поиска пользователи увидят «правильные» URL – без
?_escaped_fragment_=.
*

Rival

  • Захожу иногда
  • 188
  • 16 / 0
Re: Индексация ajax`а
« Ответ #1 : 21.05.2012, 17:39:27 »
Здорово было бы, если получится так индексировать JComments
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Индексация ajax`а
« Ответ #2 : 21.05.2012, 18:30:02 »
Опять через одно место всё.
Теперь Яндекс будет веб-стандарты разрабатывать?
Ради него везде срочно восклицательных знаков понаставить и наложить отдельно пачку '?_escaped_fragment_'
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Индексация ajax`а
« Ответ #3 : 21.05.2012, 19:00:16 »
Опять через одно место всё.
Теперь Яндекс будет веб-стандарты разрабатывать?
Ради него везде срочно восклицательных знаков понаставить и наложить отдельно пачку '?_escaped_fragment_'
Нет, Яндекс ничего не разработал. Разработал [url=http://www.google.com/]Google[/url].
А про соглашение использовать #! для навигации - давно уже встречал упоминание.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Индексация ajax`а
« Ответ #4 : 21.05.2012, 19:05:04 »
....Google...

Код
...Контент для поисковых систем, на статическом «традиционном» URL – Google относится к этому как «HTML-снимку»....

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

И их ботам работы меньше, и на наш сервер - нагрузки. ;)
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Индексация ajax`а
« Ответ #5 : 21.05.2012, 19:13:51 »
Код
...Контент для поисковых систем, на статическом «традиционном» URL – Google относится к этому как «HTML-снимку»....

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

И их ботам работы меньше, и на наш сервер - нагрузки. ;)
Ну вообще, да.  Вопрос очень интересный.
Я думаю дело тут в том, что алгоритм работы поисковика хранится в тайне. А значит нам в любом случае придется поисковику отдавать контент в виде, близком к человеческому.
Мне кажется, что не мы должны прогибаться под поисковик, предоставляя возможность индексировать ajax-генерируемые страницы, а наоборот - поисковик совершенствоваться.
По идее поисковик должен "рендерить страницу" и исполнять javascript, тоесть "видеть" сайт так, как видим его мы. А так - все это костыли какието.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

savenko

  • Захожу иногда
  • 83
  • 8 / 0
Re: Индексация ajax`а
« Ответ #6 : 21.05.2012, 19:45:19 »
Опять через одно место всё.
Теперь Яндекс будет веб-стандарты разрабатывать?
Ради него везде срочно восклицательных знаков понаставить и наложить отдельно пачку '?_escaped_fragment_'
УРА! Яндекс последовал за гуглом который ввел правило "#!" для одностаничных сайтов.
*

savenko

  • Захожу иногда
  • 83
  • 8 / 0
Re: Индексация ajax`а
« Ответ #7 : 21.05.2012, 19:48:11 »
Логическим продолжением этого является вопрос - а почему бы сразу не предоставлять поисковикам архив с нашим пониманием того, что является контентом сайта?
И их ботам работы меньше, и на наш сервер - нагрузки. ;)
Потому что в архив ты можешь положить все что угодно и это не обязательно должно совпадать с реальной информацией на сайте. Получится хня... В архиве одно а на деле другое.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Индексация ajax`а
« Ответ #8 : 21.05.2012, 19:52:55 »
Потому что в архив ты можешь положить все что угодно и это не обязательно должно совпадать с реальной информацией на сайте. Получится хня... В архиве одно а на деле другое.

А в специально для Google созданную, как они хотят, статичную html-страницу я что - не могу что угодно засунуть?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Индексация ajax`а
« Ответ #9 : 21.05.2012, 20:18:06 »
А разве у бота не указан соответсвующий юзерагент?
Че, трудно чтоли сделать проверку на юзерагент бота, и выдать левое содержимое?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Индексация ajax`а
« Ответ #10 : 21.05.2012, 20:19:40 »
А разве у бота не указан соответсвующий юзерагент?
Че, трудно чтоли сделать проверку на юзерагент бота, и выдать левое содержимое?
И нарываемся на бота, проверяющего на соответсвие отдачи ботам и людям..
И доказывай потом 2 месяца Яндексу, что ты не нехороший человек...
*

savenko

  • Захожу иногда
  • 83
  • 8 / 0
Re: Индексация ajax`а
« Ответ #11 : 21.05.2012, 20:52:06 »
А разве у бота не указан соответсвующий юзерагент?
Че, трудно чтоли сделать проверку на юзерагент бота, и выдать левое содержимое?
Караятся баном в поисковиках. Называется это Клоакингом
*

savenko

  • Захожу иногда
  • 83
  • 8 / 0
Re: Индексация ajax`а
« Ответ #12 : 21.05.2012, 20:57:21 »
А в специально для Google созданную, как они хотят, статичную html-страницу я что - не могу что угодно засунуть?
Она условно статичная. Да, но в этом случае содержимое сайта соответствует действительности и у Вас нет 2 версий сайта.
Мне кажется Вы немного не догоняете зачем нужно "#!" и что это следующий этап эволюции веба я считаю, так как не будет не какой перезагрузки страниц в принципи и один AJAX.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Индексация ajax`а
« Ответ #13 : 22.05.2012, 00:12:55 »
Мне кажется Вы немного не догоняете зачем нужно "#!"

Я много чего не догоняю, но мне за это не стыдно - поздно стыдиться уже )
Тем более до следующего этапа эволюции могу и не дожить ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Google не индексирует страницы через ajax ссылки

Автор illimited

Ответов: 0
Просмотров: 1425
Последний ответ 31.03.2022, 23:53:05
от illimited
Sp Page Builder индексация поисковиками

Автор MosTender

Ответов: 3
Просмотров: 2714
Последний ответ 30.05.2017, 17:16:33
от MosTender
Индексация страниц с объявлениями

Автор igor289

Ответов: 9
Просмотров: 1943
Последний ответ 17.03.2017, 23:13:48
от ChaosHead
Индексация и продвижение мультисайта

Автор easy_simple

Ответов: 1
Просмотров: 1622
Последний ответ 07.12.2016, 03:40:07
от Dmitriy M
Как скрыть ссылку от поисковика через AJAX в меню?

Автор ice99

Ответов: 1
Просмотров: 1291
Последний ответ 22.08.2016, 21:19:54
от ice99