Yii2 SEO: Przyjazne adresy URL, meta tytuły i meta opisy

Autor: Rafal Marguzewicz
Opublikowany:
Kategorie: Yii2
Tagi:


yii2 seoNa optymalizację SEO składa się wiele elementów. To kilka z nich:

  1. Odpowiedni meta tytuł o długości około 60 znaków
  2. Meta opis składający się z około 140 znaków
  3. Nagłówek H1 i H2
  4. Adresu URL przyjazne wyszukiwarkom
  5. Dobrze opisane alternatywne teksty zdjęć (atrybut ALT)
  6. Stosowanie kanonicznych URL
  7. Stosowanie https i minimalizm jednej [sub]domeny (np. WWW na nie-WWW)

A jak Framework Yii2 pozwala realizować te punkty:


1. Odpowiedni meta title o długości około 60 znaków

w widoku

$this->title = "Meta tytuł strony"

w modelu lub rozszerzeniu

Yii::$app->view->title = "Meta tytuł strony z dwoma słowami kluczowymi" 

2. Meta description składający się z około 140 znaków

Yii::$app->view->registerMetaTag([
			'name' => 'description',
			'content' => 'Jakiś fajny opis. Pomagający podjąć decyzję dla użytkownika wyszukiwarki.'
		]); 

3. Nagłówek H1 i H2


use yii\helpers\Html;

echo Html::tag('h1', 'Yii2 SEO: Przyjazne adresy URL, meta tytuły i meta opisy' );
echo Html::tag('h2', 'Nagłówek H2', ['class' => 'small'] );

4. Adresu URL przyjazne wyszukiwarkom

Aby używać pretty URL’s trzeba dodać do pliku konfiguracji

'components' => [
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                '<controller:\w+>' => '<controller>/index',
		      '<controller:\w+>/<id:\d+>' => '/view',
            ],
        ],
    ],

W tedy możemy tworzyć adresy url za pomocą następującego kodu:



    <?= yii\helpers\Url::Url::to(['post/view', 'id' => 1]);?>  //  /post/view/1

5. Dobrze opisane alternatywne teksty zdjęć (atrybut ALT)



<?= yii\helpers\Html::img('@web/images/photo.jpg', ['alt' => 'jeżeli nie widzisz, możesz usłyszeć']);?>

6. Stosowanie kanonicznych URL


  use Yii;
  Yii::$app->view->registerLinkTag(['rel' => 'canonical', 'href' => URL::to()]);

Bonus.

Klasa SEO do łatwiejszej optymalizacji stron. Np w modelu:

<?php
namespace app\models;

use Yii;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\helpers\BaseInflector;
use yii\helpers\StringHelper;

class Seo extends \yii\base\Widget {

public $model;
private $action;

	public function init(){
		parent::init();
		if ($this->model === null) {
			print_r('model is required');die();
		}
		
		$seo_title = BaseInflector::slug(StringHelper::truncateWords($this->model->title, 8), "-");
		
		$this->action = Url::to(['', 'id' => 1, 'seotitle' => $seo_title], true);
	}

	public function title(){
		Yii::$app->view->title = ($this->model->meta_title != null) ? $this->model->meta_title : $this->model->title;
	}

	public function description(){
		Yii::$app->view->registerMetaTag([
			'name' => 'description',
			'content' => 'Meta opis strony dla wyszukiwarek np DuckDuckGo'
		]); 
	}
	
	public function canonical(){
		Yii::$app->view->registerLinkTag(['rel' => 'canonical', 'href' => $this->canonical]);
	}
}
?>

Widok:

<?php use common\models\Seo;

$seo = new Seo([
	'model' => $model,
]);
$seo->title();
$seo->description();
$seo->canonical();


<article>
	<h1><?= $model->title ?></h1>
	<?= $model->content?>
</article>

Yii2 SEO: Przyjazne adresy URL, meta tytuły i meta opisy
0 / 0 vote


Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Nazwa *
E-mail *

Przeczytaj poprzedni wpis:
Instalacja framework’a Yii2 basic lub advanced na Linux

Instalacja Framework'a Yii2 jest bardzo prosta. Sprawę ułatwia Composer - system do zarządzania pakietami PHP. Więc jeżeli mamy zainstalowany Composer...

Zamknij