Как переставить rel="nofollow" перед href=""?

Сейчас вот так делает

<a href="" rel="nofollow"></a>


Где поменять, чтобы rel перед href было?

<a rel="nofollow" href=""></a>


Я пошарился по Text.class.php, jevix.class.php, jevix.php. Но там не понятно как поменять, чтобы вперёд вставить.

11 комментариев

avatar
Это максимализм или важная необходимость?
avatar
Важная необходимость, вызванная эстетическим порывом)
avatar
А разница какая?
avatar
Если не сложно, обьясните, пожалуйста, есть ли какая-то разница в конструкции или это просто ваше эстетическое желание.
  • Zeem
  • 0
avatar
Разницы поидее нет, вернее я не знаю точно.

Ну вообще чаще просто так пишут в html5. Например head-секции этого сайт rel тоже впереде стоит везде.

<link rel='stylesheet' type='text/css' href='

и

<link rel="search" type="application/opensearchdescription+xml" href="


Чисто логически rel=«nofollow» лучше ставить перед ссылкой, меты noindex, nofollow ведь советуют перед контентом ставить. Но это чисто мои догадки.

У меня парсер для админа отключён, я руками автоматом rel привык доставлять вперёд, так гораздо понятнее. Хочу тоже самое сделать, чтобы у пользователей вперёд ставился, чтобы всё одинаково было. Объясните где это подредактировать и можно ли вообще. Если нельзя сильно не расстроюсь.
avatar
Разницы нет, абсолютно точно. rel такой же атрибут тега, как и href и многие другие и от порядка следования их внутри тега действие их никак не зависит.
avatar
Окей, а вообще поменять где-то можно?
avatar
Делаем поиск по «nofollow» во всех файлах движка и находим, что нужный код для размышлений тут:
\engine\modules\text\Text.class.php
\engine\lib\external\Jevix\jevix.class.php
avatar
Да я ж написал в теме. Я нашёл эти файлы и строки, где вставляется nofollow. Не понятно как там поменять. Об этом и тема.
avatar
Вот это Text.class.php

/**
			 * Хардкодим некоторые параметры
			 */
			unset($this->oJevix->entities1['&']); // разрешаем в параметрах символ &
			if (Config::Get('view.noindex') and isset($this->oJevix->tagsRules['a'])) {
				$this->oJevix->cfgSetTagParamDefault('a','rel','nofollow',true);
			}


А это

const TR_PARAM_AUTO_ADD = 11;    // Auto add parameters + default values (a->rel[=nofollow])


и

/**
	 * КОНФИГУРАЦИЯ: Установка дефолтных значений для атрибутов тега
	 * @param string $tag тег
	 * @param string $param атрибут
	 * @param string $value значение
	 * @param boolean $isRewrite заменять указанное значение дефолтным
	 */
	function cfgSetTagParamDefault($tag, $param, $value, $isRewrite = false){
		if(!isset($this->tagsRules[$tag])) throw new Exception("Tag $tag is missing in allowed tags list");

		if(!isset($this->tagsRules[$tag][self::TR_PARAM_AUTO_ADD])) {
			$this->tagsRules[$tag][self::TR_PARAM_AUTO_ADD] = array();
		}

		$this->tagsRules[$tag][self::TR_PARAM_AUTO_ADD][$param] = array('value'=>$value, 'rewrite'=>$isRewrite);
	}


и

// Автодобавляемые параметры
		if(!empty($tagRules[self::TR_PARAM_AUTO_ADD])){
		  foreach($tagRules[self::TR_PARAM_AUTO_ADD] as $name => $aValue) {
		      // If there isn't such attribute - setup it
		      if(!array_key_exists($name, $resParams) or ($aValue['rewrite'] and $resParams[$name] != $aValue['value'])) {
			  $resParams[$name] = $aValue['value'];
		      }
		  }
		}


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