×
Blue Eagle 5 v1.6.2 has been Released for Kunena 5.2 (20 Jan 2021)

The Kunena team has announce the arrival of Kunena template Blue Eagle 5 v1.6.2 which is now available for download. This version addresses most of the issues that were discovered in development.

REQUIREMENTS
Blue Eagle 1.6.x requires Kunena 5.2.x to work with

Idea Change configuration of Meta Title, Keywords and Description

  • Trony
  • Trony's Avatar Topic Author
  • Offline
  • Junior Member
  • Music and Electronic Devices Designer.
More
5 years 10 months ago - 5 years 10 months ago #1 by Trony
Sometimes, with Kunena 3.0.8, if i put an image/video before text in the messagge, meta description is truncated to a few characters.

So in: components / com_kunena / views / topic / view.html.php
I've changed:
protected function _prepareDocument($type){
		if ($type=='default'){
			$this->headerText =  JText::_('COM_KUNENA_MENU_LATEST_DESC');
			$this->title = JText::_('COM_KUNENA_ALL_DISCUSSIONS');
 
			$page = intval ( $this->state->get('list.start') / $this->state->get('list.limit') ) + 1;
			$pages = intval ( ($this->total-1) / $this->state->get('list.limit') ) + 1;
 
			$titleClean = preg_replace("/[\"]/", "", $this->topic->subject);
			$title = JText::sprintf($titleClean) . " | Page {$page}";
			$this->setTitle($title);
 
			// TODO: use real keywords, too
			$keywords = $this->escape ( "{$this->topic->subject}, {$this->category->name}, {$this->category->getParent()->name}, {$this->config->board_title}" );
			$keywordsClean = preg_replace("/&#?[a-z0-9]+;/i","",$keywords);
			$this->setKeywords ( $keywordsClean );
 
			// Create Meta Description form the content of the first message
			// better for search results display but NOT for search ranking!
			$description = KunenaHtmlParser::stripBBCode($this->topic->first_post_message, 182);
            $description = preg_replace('/\s+/', ' ', $description); // remove newlines
			$description = trim($description); // Remove trailing spaces and beginning
			$description = preg_replace('|[[\/\!]*?[^\[\]]*?]|si', '', $description); // remove BBCode 
			$subjectClean = preg_replace("/[\"]/", "", $this->topic->subject);
			if (strlen($subjectClean) <= 79 )  {
			$keystrim = $subjectClean.".".' '. $this->category->name .', '.$this->category->getParent()->name.'.';
			} else {
			$keystrim = substr($subjectClean, 0, 80)."...".' '.$this->category->name.', '.$this->category->getParent()->name.'.';
			}
			$keysdesc = 'Page '.$page.' | '.$keystrim;
 
			// if ($page) {
			//	$description .= " ({$page}/{$pages})";  //avoid the "duplicate meta description" error in google webmaster tools
			// }
			$this->setDescription ( $keysdesc );

With this, i clean character and add | Page to meta title:
$titleClean = preg_replace("/[\"]/", "", $this->topic->subject);
			$title = JText::sprintf($titleClean) . " | Page {$page}";
			$this->setTitle($title);

With this, i clean Keywords:
$keywords = $this->escape ( "{$this->topic->subject}, {$this->category->name}, {$this->category->getParent()->name}, {$this->config->board_title}" );
			$keywordsClean = preg_replace("/&#?[a-z0-9]+;/i","",$keywords);
			$this->setKeywords ( $keywordsClean );

With this, i clean Description, strip BBCode and i control the length of the title for add ... if it's too long (Fixed 80 characters) and i add Categories.
// Create Meta Description form the content of the first message
			// better for search results display but NOT for search ranking!
			$description = KunenaHtmlParser::stripBBCode($this->topic->first_post_message, 182);
            $description = preg_replace('/\s+/', ' ', $description); // remove newlines
			$description = trim($description); // Remove trailing spaces and beginning
			$description = preg_replace('|[[\/\!]*?[^\[\]]*?]|si', '', $description); // remove BBCode 
			$subjectClean = preg_replace("/[\"]/", "", $this->topic->subject);
			if (strlen($subjectClean) <= 79 )  {
			$keystrim = $subjectClean.".".' '. $this->category->name .', '.$this->category->getParent()->name.'.';
			} else {
			$keystrim = substr($subjectClean, 0, 80)."...".' '.$this->category->name.', '.$this->category->getParent()->name.'.';
			}
			$keysdesc = 'Page '.$page.' | '.$keystrim;
 
			// if ($page) {
			//	$description .= " ({$page}/{$pages})";  //avoid the "duplicate meta description" error in google webmaster tools
			// }
			$this->setDescription ( $keysdesc );

The result is:
Meta Title: Forum: Change configuration of Meta Title, Keywords and Description | Page 1
Meta Description: Page 1 | Change configuration of Meta Title, Keywords and Description. The Kunena Project, Kunena 4.0 Feature Requests.

What do you think ?!?

Music and Electronic Devices Designer. Drum and Bass Addict. Creative Mind as Lifestyle. Cat in past Life. Soccer, Ice Hockey and Snowboard Lover.

Last edit: 5 years 10 months ago by Trony.

Please Log in or Create an account to join the conversation.

  • Not Allowed: to create new topic.
  • Not Allowed: to reply.
  • Not Allowed: to edit your message.
Time to create page: 0.114 seconds