4.875 1 1 1 1 1 1 1 1 1 1 Rating 4.88 (4 Votes)

Попытка разработчиков в Джумле 3 решить проблему с атрибутом rel="canonical" окончилась фиаско.

Поэтому, сделаем возможность прописать rel="canonical" для каждого материала.

 

В джумле существует куча полей которые я никогда не прописываю, но которые могут выводить информацию в мета тегах, это:

<meta name="rights" content="авторские права" />
<meta name="author" content="автор" />
<meta name="xreference" content="внешняя ссылка" />
<meta name="keywords" content="ключи">

Я решил использовать одно из ненужных полей для вывода ссылки на каноническую страницу:

<link rel="canonical" href="/" />

Мой выбор пал на мета-тег keywords, потому что он есть во всех внешних компонентах (особено меня интересова JoomGallery).

Итак, для того что бы сделать настраиваемый и управляемый рел каноникал нужно открыть файл head.php, находящийся по адресу:

/libraries/joomla/document/html/renderer

Найти вот такой код:

// Generate META tags (needs to happen as early as possible in the head)
		foreach ($document->_metaTags as $type => $tag)
		{
			foreach ($tag as $name => $content)
			{
				if ($type == 'http-equiv' && !($document->isHtml5() && $name == 'content-type'))
				{
					$buffer .= $tab . '<meta http-equiv="' . $name . '" content="' . htmlspecialchars($content) . '" />' . $lnEnd;
				}
				elseif ($type == 'standard' && !empty($content))
				{
					$buffer .= $tab . '<meta name="' . $name . '" content="' . htmlspecialchars($content) . '" />' . $lnEnd;
				}
			}
		}




И заменить на этот:

// Generate META tags (needs to happen as early as possible in the head)
		foreach ($document->_metaTags as $type => $tag)
		{
			foreach ($tag as $name => $content)
			{
				if ($type == 'http-equiv' && !($document->isHtml5() && $name == 'content-type'))
				{
					$buffer .= $tab . '<meta http-equiv="' . $name . '" content="' . htmlspecialchars($content) . '" />' . $lnEnd;
				}
				elseif ($type == 'standard' && !empty($content))
				{
//canonical
                if ($content) {
                if ($name=='keywords') {
                $buffer .= $tab . '<link rel="canonical" href="' . htmlspecialchars($content) . '" />' . $lnEnd; 
                continue;
                }
					$buffer .= $tab . '<meta name="' . $name . '" content="' . htmlspecialchars($content) . '" />' . $lnEnd;
					}
				}
			}
		}




Теперь, если нужен любой рел-каноникал, мне достаточно прописать его в поле «Мета-тег Keywords».

P.S. Метод так же работает в Joomla 2.5

P. P.S. При обновлении Джумлы файл head.php, обновиться. Поэтому сделайте дубль и после замените его.

Сказать спасибо лучше кнопками:

Комментарии   

0 #15 Ima 18.09.2017 21:19
It has not till hell freezes over been easier to prefer between the
interpretation services, as all bloke opinions and
testimonials are gathered in one categorize as a service to you to pick the best.
Bolt awful quality and as a end result miserable face alongside consulting any transmission website
reviews. Unreservedly written testimonials choice influence you including the process of selecting the entire and only change checking that
last will and testament fit your needs.

Here is my blog :: The Word Point Translation Service: http://thewordpoint.myfreesites.net
Цитировать
0 #14 Elaine 27.08.2017 12:01
http://www.abcd1234abcdtest--.xyz: http://www.abcd1234abcdtest--.xyz One
such website has exploded beyond all expectations in the above requirements, understanding that website is .
Maybe Brave probably will turn into a brand new legend of Pixar animated movie.
WHERE TO BUYBuying a guitar coming from a physical retail music
store allows you to .
Цитировать
0 #13 Jorg 23.08.2017 09:10
Hi there, I believe your web site might be having internet browser compatibility problems.
Whenever I look at your site in Safari, it looks fine however when opening in IE, it's got some overlapping issues.
I simply wanted to give you a quick heads up!
Other than that, excellent blog!

Here is my blog ... Understanding (Http://Maxblack.Caucasus.Net/: http://maxblack.caucasus.net/user/KourtneyLenihan/)
Цитировать
0 #12 Rozella 22.08.2017 01:05
I appreciate, cause I found just what I was looking for.
You've ended my four day lengthy hunt! God Bless you man. Have a nice day.
Bye

Stop by my web blog: Read the Full Article: http://kinoron.co/user/Ewan98044640735/
Цитировать
0 #11 Ivy 21.08.2017 14:12
I do not even know how I ended up here, but I thought this post was great.
I don't know who you are but certainly you're going to a famous blogger if you aren't already ;) Cheers!


Also visit my blog ... enquiry: https://www.Putlockers9.ws/user/EddySternberg/
Цитировать
0 #10 Сергей 05.08.2017 18:52
А что же будет со страницами, где в поле "keywords" введены именно ключевые слова?
Цитировать
0 #9 Оксана 04.07.2017 06:49
Заменила код как указано в данной статье, ввожу ссылку в поле «Мета-тег Keywords»в пункте меню Joomla: после сохранения «Мета-тег Keywords» остается чистым, ничего не меняется! что делаю ни так? :sad:
Цитировать
0 #8 Scot 25.06.2017 17:42
Sustain the helpful work and bringing in the crowd!

[url=http://www.gamestrack.net/index.php?task=profiletitle=PostReply - http://www.veeforum.de/deanconroy-u-19290.html - http://yazdfair.com/?option=com_k2 http://www.commentmaigrir.us: http://myescapegames.net/profile/melanie22v
Цитировать
0 #7 Weldon 17.06.2017 01:30
Seriously such a beneficial web-site.

[url=http://www.ttjdw.net/comment/html/index.php?page=1 https://www.commentmaigrir.us: http://vrmobas.com/forum/member.php?action=profile&uid=98485
Цитировать
0 #6 Виталий 01.06.2017 19:58
http://trakhtenberg.info/2017/05/30/tag-canonical-and-joomla3/ - хохо, схожими путями фиксили проблему! И у меня как раз та 3.6.5., про которую категорично пишут "вопрос не решен!" - мда, совсем уж "веб-девелОперы" обленились, поискать в других папках даже простым поиском ну никак! Лично в моей версии было 2 head.php - запустил поиск, сварил кофе, получил результат!
Цитировать

Добавить комментарий


Защитный код
Обновить

Feedburner
Поиск
Новые материалы
Последнии Комментарии