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 Annie 21.06.2018 15:07
Nice read, I just passed this onto a colleague who waas doiing a little
research on that. And he just bought me lujch because I found it
for him smile Therefore let me rephrase that: Thank you for lunch!


Look at my web-site :: old sequin kit: https://www.etsy.com/listing/609186231/42-gold-glitter-papers-12-inch-300-dpi
Цитировать
0 #14 Ute 17.06.2018 23:17
Outstanding post, I conceive blog owners should acquire a lot frokm
this blog its rattling user genial. So much wonderful information oon here :
D.

Also visit my web blog digital gold glitter background: https://www.etsy.com/listing/610049525/gold-balloon-alphabet-41-cliparts-300
Цитировать
0 #13 Hassan 16.06.2018 20:56
I've learn sevral excellent stuff here. Certainly worth bookmarking for revisiting.
I surprise how much attempt you place to make the sort
of great informative web site.

Also vieit my blog post; digital paper pack: https://www.etsy.com/listing/566685948/16-gold-glitter-gingham-pattern-papers
Цитировать
0 #12 Garry 12.06.2018 09:42
I was just searching for this information ffor a while.
After six hours off continuous Googleing, finmally I got it in your site.
I wonder what is the lack of Google strategy that do not rank thiks kind of informative weeb sites in top of
the list. Generally the top websites are full of garbage.


Have a look at my site ::glitter: https://www.etsy.com/listing/580484967/16-glitter-gingham-pattern-papers-12x12
Цитировать
0 #11 Kate 03.06.2018 22:34
I was curious if you ever considered changing the layout of your site?
Its very well written; I love what youve got to say. But maybe you could a lottle more in the way of content so people could connect with it better.
Youve got an awful lot off text for only having
one or 2 pictures. Maybe yyou could space it out better?


Also visit my blog post scrapbook sequin glitter: https://www.etsy.com/listing/602329310/16-luxury-gold-and-pink-glitter-plaid
Цитировать
0 #10 Aurelia 30.05.2018 07:54
Somee truly marvelous work oon behalf of the owner of this website,
perfectly outstanding content.

Look into my blog post :: Lucas: https://www.etsy.com/listing/611845665/16-gold-and-silver-metallic-papers-12
Цитировать
0 #9 Mira 25.05.2018 17:12
Что позволяет воплотить все дизайнерские фантазии.


Review my page Визитки На Дизайнерском Картоне: https://1design.org/pechat-vizitok-kiev-ukraine-na-dizainerskom-kartone
Цитировать
0 #8 Roland 24.05.2018 19:43
Hi there! This is my 1st comment here so I just wanted to give a quick shout out
and tell you I really enjoy reading through your posts.
Can you suggest any other blogs/websites/forums that
cover the same subjects? Thanks a ton!

Also visit my webpage - производство календарей -
auktionssuche.de: http://www.auktionssuche.de/aa/aagate.php4?as=307&go=http://www.1design.org/poligraficheskie-uslugi/,
Цитировать
0 #7 Margie 14.05.2018 05:57
I think everything composed was actually very logical.
But, think about this, suppose you wrote a catchier title?
I am not saying your information is not solid, but what if you added a headline that makes people desire more?
I mean Как добавить настраиваемый rel="canonical" в Joomla 3 is kinda
boring. You could peek at Yahoo's home page and see how they create news
titles to get viewers to click. You might try adding
a video or a related pic or two to grab people interested about what
you've written. In my opinion, it would bring your posts a little bit more interesting.


Take a look at my web page; цифровая печать флаеров (http://www.multiplelistingservices.net/__media__/js/netsoltrademark.php?d=www.1design.org: http://www.multiplelistingservices.net/__media__/js/netsoltrademark.php?d=www.1design.org)
Цитировать
+1 #6 Сергей 05.08.2017 18:52
А что же будет со страницами, где в поле "keywords" введены именно ключевые слова?
Цитировать

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


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

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