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

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Команда в robots.txt
« : 05.03.2016, 18:52:02 »
В вебмастере Google появилась вот такая ссылка, как страница с повторяющимся метаописанием.

Скажите, является ли такая ссылка дублирующей. Если да, то как закрыть ее в robots.txt?

/ekskursii-na-madeire/gid-na-madeire.html#!kmt-start=10

Спасибо.
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Re: Команда в robots.txt
« Ответ #1 : 05.03.2016, 19:12:30 »
Disallow: /start или по знаку = хотя, по идее # если есть в урле, то это поисковик считает одной страницей с /ekskursii-na-madeire/gid-na-madeire.html, а не ее дублем.
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #2 : 05.03.2016, 19:14:07 »
Ага, спасибо. Но, думаю, лучше закрыть.
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #3 : 05.03.2016, 21:09:41 »
Disallow: /start или по знаку = хотя, по идее # если есть в урле, то это поисковик считает одной страницей с /ekskursii-na-madeire/gid-na-madeire.html, а не ее дублем.

Делал как указано - не помогло.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Команда в robots.txt
« Ответ #4 : 05.03.2016, 21:23:15 »
Вот так закроет все после .html все что будет дописываться
Код
Disallow: /ekskursii-na-madeire/gid-na-madeire.html*
только с ПС это удалиться со временем не забывайте
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #5 : 05.03.2016, 21:34:08 »
Вот так закроет все после .html все что будет дописываться
Код
Disallow: /ekskursii-na-madeire/gid-na-madeire.html*
только с ПС это удалиться со временем не забывайте

Вы уверены, что правильно написали? В таком порядке в вебмастере показывает, что обе ссылки запрещены. Тут что-то неправильно.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Команда в robots.txt
« Ответ #6 : 05.03.2016, 22:22:20 »
Вы уверены, что правильно написали? В таком порядке в вебмастере показывает, что обе ссылки запрещены. Тут что-то неправильно.
Вы сами уверены что туда смотрите и то делаете

* на конце означает что все что после HTML запрещено, разрешено только /ekskursii-na-madeire/gid-na-madeire.html
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #7 : 06.03.2016, 01:24:17 »
Вы сами уверены что туда смотрите и то делаете

* на конце означает что все что после HTML запрещено, разрешено только /ekskursii-na-madeire/gid-na-madeire.html

Да, я роботс прописал так, как написано, со звездочкой, но вебмастер показывает, что нужная URL /ekskursii-na-madeire/gid-na-madeire.html запрещен правилом.
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #8 : 06.03.2016, 01:28:02 »
Кажется, то, что вы указали, наоборот запрещает все то, что идет вместе с ссылкой, т.е. все, что после .html запрещено, включая и эту ссылку.

Тут нужно что-то другое прописать.

/ekskursii-na-madeire/gid-na-madeire.html#!kmt-start=10 - эта ссылка связана с Komento, т.е. если на нее нажать, то появятся продолжение комментариев. Может это как-то поможет сориентироваться.
« Последнее редактирование: 06.03.2016, 01:35:39 от uisr »
*

Benefactor

  • Захожу иногда
  • 154
  • 2 / 2
Re: Команда в robots.txt
« Ответ #9 : 06.03.2016, 10:55:10 »
Ребят, подскажите.
Есть страницы, который заканчиваются на
"https://site.ru/product/category/type/product/buy",
их порядка 100 штук, как их безболезненно закрыть в роботс?
Код:
Код
Disallow: */buy
Так?
При этом страницы вида: "https://site.ru/product/category/type/product"
нормально будут индексироваться?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Команда в robots.txt
« Ответ #10 : 06.03.2016, 11:25:44 »

/ekskursii-na-madeire/gid-na-madeire.html#!kmt-start=10 - эта ссылка связана с Komento, т.е. если на нее нажать, то появятся продолжение комментариев. Может это как-то поможет сориентироваться.
Это не закрывается в robots.txt, все что после решетки # считается якорем, для поисковика одна и та же страница, закрывать тут нечего
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Команда в robots.txt
« Ответ #11 : 06.03.2016, 11:58:17 »
Это не закрывается в robots.txt, все что после решетки # считается якорем, для поисковика одна и та же страница, закрывать тут нечего
Если после решётки стоит восклицательный знак: #! то это считается AJAX страницей, и ПС превращают этот фрагмент в GET-запрос: ?_escaped_fragment_=, соответственно, индексирует страницу.
Документация на тему
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Re: Команда в robots.txt
« Ответ #12 : 06.03.2016, 16:17:03 »
А почему нельзя просто Disallow: /*!
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Команда в robots.txt
« Ответ #13 : 06.03.2016, 16:22:50 »
Да можно, почему бы и нет? Если нужно вырубить индексацию AJAX-страниц полностью.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Команда в robots.txt
« Ответ #14 : 06.03.2016, 23:52:42 »
Да можно, почему бы и нет? Если нужно вырубить индексацию AJAX-страниц полностью.
Вы вот учите, но сами синтаксиса не знаете.


А все просто - # в robots.txt знак комментирования (все что за символом # в строке - будет пропущено)
! - недопустимый символ

А значит, в конкретном случае можно  запретить (исходя из вашей же ссылки) только
http://www.example.com/?_escaped_fragment_=blog
Disallow: /*escaped_fragment

А вот http://www.example.com/#!blog уже не запретить, потомушта якорь! То, что бота обучили запрашивать
 ?_escaped_fragment_=blog, еще не делает из этой конструкции не якорь
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Команда в robots.txt
« Ответ #15 : 07.03.2016, 11:24:54 »
Цитировать
Вы вот учите, но сами синтаксиса не знаете.
Благодаря "коллективному разуму" форума вероятность ошибки сводится к минимуму. =)
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #16 : 07.03.2016, 11:26:33 »
Хорошо, спасибо всем за разъяснения.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Команда в robots.txt
« Ответ #17 : 07.03.2016, 11:33:53 »
все что после решетки # считается якорем, для поисковика одна и та же страница, закрывать тут нечего
о чем ранее и писали
Кажется, то, что вы указали, наоборот запрещает все то, что идет вместе с ссылкой, т.е. все, что после .html запрещено, включая и эту ссылку.

Тут нужно что-то другое прописать.

/ekskursii-na-madeire/gid-na-madeire.html#!kmt-start=10 - эта ссылка связана с Komento, т.е. если на нее нажать, то появятся продолжение комментариев. Может это как-то поможет сориентироваться.
start, limit и аналоги если нужно можно и так закрывать
Код
Disallow: /*kmt-start=*
но не факт что ! знак в URL корректно воспримется для закрытия
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Команда в robots.txt
« Ответ #18 : 07.03.2016, 12:07:35 »
но не факт что ! знак в URL корректно воспримется для закрытия
так а ! и не нужно закрывать. как ELLE и написала, проще всего закрыть
Код
Disallow: /*escaped_fragment
тем самым закрыв все возможные дубли из-за #!
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Команда в robots.txt
« Ответ #19 : 07.03.2016, 12:18:24 »
А можно ещё через шаблон закрыть:
Код
if(isset($_GET['_escaped_fragment_']))
{
    JFactory::getDocument()->setMetaData('robots', 'noindex');
}
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Команда в robots.txt
« Ответ #20 : 07.03.2016, 13:35:05 »
А у ТС отдает вообще этот escaped_fragment? Это же пс-ы рекомендуют отдавать по такому параметру контент для индексации, но это не значит, что в Комменто оно так

Учитывая реалии Joomla, к ссылке можно дописать хоть ?_escaped_fragment_, а можно что угодно, сути проблемы это не решает. Решит, может быть в данном случае, только тег каноникал
« Последнее редактирование: 07.03.2016, 13:41:40 от ELLE »
*

uisr

  • Захожу иногда
  • 197
  • 1 / 1
Re: Команда в robots.txt
« Ответ #21 : 07.03.2016, 13:44:12 »
так а ! и не нужно закрывать. как ELLE и написала, проще всего закрыть
Код
Disallow: /*escaped_fragment
тем самым закрыв все возможные дубли из-за #!

Пробовал ввести эту команду, но все равно не запрещает.

В итоге, как я понял, эта ссылка с якорем не является дублем, так?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Команда в robots.txt
« Ответ #22 : 07.03.2016, 13:56:26 »
А у ТС отдает вообще этот escaped_fragment?
99% что нет. думаю с escaped_fragment отдается просто точно такая же страница, как и без него. отсюда и дубль. ну а поскольку Яндекс не будет добавлять "что угодно" (я надеюсь :) ), то в данном случае проблема только с ?_escaped_fragment_ , поэтому можно закрыть только это, и все.

хотя конечно в общем случае
Учитывая реалии Joomla
каноникал - это вообще будет универсальное решение для всех случаев. проблема только в том, чтобы понять, какая же ссылка будет канонической :) в разных компонентах - разные методы, и так далее. соответственно нужно будет провести работу по каждому, и одним условием в шаблоне это не ограничится.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Команда в robots.txt
« Ответ #23 : 07.03.2016, 13:56:47 »
ссылка с якорем не является дублем, так?
да
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Команда в robots.txt
« Ответ #24 : 07.03.2016, 14:36:24 »
Цитировать
ну а поскольку Яндекс не будет добавлять "что угодно" (я надеюсь Azn )
Надейтесь! Яндекс будет добавлять в индекс всё, что не запрещено. А каноникал не работает ничерта с GET параметрами - и это не секрет - нужно его вручную прописывать.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Команда в robots.txt
« Ответ #25 : 07.03.2016, 14:47:12 »
надеюсь не добавит - это не про индекс, а про ссылку. надеюсь не добавить "что угодно" к ссылке
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Команда в robots.txt
« Ответ #26 : 07.03.2016, 14:51:04 »
надеюсь не добавит - это не про индекс, а про ссылку. надеюсь не добавить "что угодно" к ссылке
Во намудрили! Я, кстати, тоже думал над этим. Кто-нибудь на каком-нибудь форуме напишет ссылку: site.ru/article?blablabla и получится дубль страницы. Поэтому на всех моих сайтах я запретил индексацию страниц с GET параметрами вообще, кроме пагинаторов, конечно, и других компонентов, которые не нужно запрещать.
« Последнее редактирование: 07.03.2016, 15:15:37 от Филипп Сорокин »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Команда в robots.txt
« Ответ #27 : 07.03.2016, 19:52:41 »
Кто-нибудь на каком-нибудь форуме напишет ссылку: site.ru/article?blablabla и получится дубль страницы

угу, по факту так и получается. ELLE об этом же и написала
Учитывая реалии Joomla, к ссылке можно дописать хоть ?_escaped_fragment_, а можно что угодно



Поэтому на всех моих сайтах я запретил индексацию страниц с GET параметрами вообще
я тоже :)
Код
Disallow: /*?
и пусть весь мир подождет :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Команда в robots.txt
« Ответ #28 : 07.03.2016, 19:57:36 »
надеюсь не добавить "что угодно" к ссылке
судя по логам бывает, добавляют боты всякую чушь в URL, и с параметрами и без, проверяют таким образом корректность ответа 404. потом если что, в вебмастере предупреждение выносят

у меня на одном заброшенном сайте так даже права слетели :) из-за того что не было отдачи 404
Спойлер
[свернуть]
« Последнее редактирование: 07.03.2016, 20:10:58 от ELLE »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Команда в robots.txt
« Ответ #29 : 07.03.2016, 20:18:50 »
ндя...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Роботу Googlebot заблокирован доступ в файле robots.txt

Автор illimited

Ответов: 3
Просмотров: 4071
Последний ответ 29.05.2022, 14:57:55
от web1
Правильный robots.txt? [вопросы/обсуждение]

Автор wishlight

Ответов: 447
Просмотров: 210071
Последний ответ 20.11.2021, 16:53:49
от Byzi
Как лучше прописать robots.txt?

Автор web1

Ответов: 2
Просмотров: 1251
Последний ответ 25.07.2021, 21:38:12
от web1
Разные robots.txt

Автор yyyuuu

Ответов: 7
Просмотров: 1235
Последний ответ 14.01.2021, 14:06:58
от rsn
Языки /en/ /ru/ проблема с входом в админку и редиректит на site.r/ru/robots.txt

Автор HolySong

Ответов: 0
Просмотров: 1126
Последний ответ 10.07.2020, 13:12:46
от HolySong