An Si

An Si

Был в сети 13 мая 2021, 09:45
Заказы не принимаю
Мне не понравилось что в статье есть небольшая обманка по поводу оценки Google Page Insight. На большинстве сайтов прикрутка LazyLoad дает совсем незначительный прирост, пунктов на 10 в самом лучшем случае. В статье же на скриншотах прирост аж на 40 пунктов и если приглядеться, то видно что испытывалась страница с какой-то огромной галереей изображений.
К компоненту претензий нет, слышал про такие штуки. Но, как по мне, это не совсем законно. Фактически, это кейлогер, который перехватывает ПДн и отсылает их 3м лицам без ведома пользователя. Хотя когда это кого-то останавливало?))
Связка Modx и Fenom это круто. Но есть причины, по которым я против внедрения его в компоненты как default решения. Как бы крут феном не был, он не входит в ядро Modx. Для его работы требуется pdo парсер и… он не будет работать на готовых проектах где есть inline стили или js. Я знаю что нужно обрамлять в ignore и вообще inline css и js зло, но бывает так.

Такое решение для тех, кто знает что такое Fenom, что такое pdoTools, как их подружить и знает что перед началом использования во всём проекте необходимо экранировать блоки с фигурными скобками. Для новичков порог вхождения высокий. Может это и к лучшему, пусть остаются «избранные», а остальные идут на wp и joomla?
Сергей, а заход ботов как то фильтруется? В hitsPage дописывал функцию для фильтрации по USER_AGENT:
$bots = array( 
        'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
        'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
        'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
        'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
        'dataparksearch','google-sitemaps','appengine-google','feedfetcher-google',
        'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
        'googlealert.com','seo-rus.com','yadirectbot','yandeg','yandex',
        'yandexsomething','copyscape.com','adsbot-google','domaintools.com',
        'nigma.ru','bing.com','dotnetdotcom','yandexbot','ahrefsbot'
    );
Ну вопрос был потому что в посте были в основном технические моменты интеграции со Slack. Для меня это очередной мессенджер, поэтому хотелось узнать, может меня это заинтересовать или нет. С ходу нельзя придумать как это применить на новостном портале или в интернет-магазине. Как я понял, это решение для чего-то более специфического, требующего организации командной работы или тех. поддержки в связке с онлайн площадкой.
Василий, на modstore не могу восстановить пароль. Возможно по причине обновления.
При входе оставляю поле пароля пустым, письмо со ссылкой и кодом приходит. Перехожу по ссылке и вверху где кнопка войти выводится сообщение «Could not load controller „auth“».
С технической точки зрения может всё и в порядке, но для SEO это никуда не годится. Никогда не делайте так, если собираетесь продвигать сайт. Лучше некрасивая прямая ссылка, чем красивая ссылка с домена и адреса, который никогда не были в индексе и по сути никак не относятся к Вашему сайту.

Ведь 301й редирект это перенаправление со старого адреса страницы на новый. А Вы будете пытаться подсунуть поисковику редирект со страниц, которых никогда и не было. В лучшем случае, такие ссылки поисковые роботы не проиндексируют, в худшем — заподозрят вас в чёрном СЕО со всеми вытекающими последствиями.
Привет. В файле core/components/tickets/model/tickets/ticketfile.class.php менял функцию save:

public function save($cacheFlag = null) {
		if ($this->isDirty('parent')) {
			if ($this->prepareSource()) {
			    
				$old_path = $this->get('path');
				$file = $this->get('file');
				$new_path = $this->get('parent') . '/';

				$this->mediaSource->createContainer($new_path, '/');

		        if ($old_path!=$new_path) {
			        $fContent = $this->mediaSource->getObjectContents($old_path . $file);
					$this->mediaSource->createObject($new_path, $file, $fContent['content']);
					$this->mediaSource->removeObject($old_path . $file);
					$this->set('path', $new_path);
					$this->set('url', $this->mediaSource->getObjectUrl($new_path . $file));
				}

				if (!$thumbs = $this->get('thumbs')) {
					$thumbs = array('thumb' => $this->get('thumb'));
				}
				foreach ($thumbs as $key => $thumb) {
					if (empty($thumb)) {
						continue;
					}
					$tmp = explode('/', $thumb);
					$thumb = end($tmp);

					if ($old_path!=$new_path) {
						$fContent = $this->mediaSource->getObjectContents($old_path . $thumb);
						$this->mediaSource->createObject($new_path, $thumb, $fContent['content']);
						$this->mediaSource->removeObject($old_path . $thumb);
						$thumbs[$key] = $this->mediaSource->getObjectUrl($new_path . $thumb);
							if ($key == 'thumb') {
								$this->set('thumb', $this->mediaSource->getObjectUrl($new_path . $thumb));
							}
					}
				}
				$this->set('thumbs', $thumbs);
			}
		}
		return parent::save($cacheFlag);
	}