Thêm thẻ Meta Tags
Tìm kiếm trực tiếp trên Google là một nguồn Traffic tuyệt vời cho web của bạn. Để làm được điều này, chắc chắn bạn phải thực hiện rất nhiều thay đổi để cải thiện dự án của bạn Một trong những bước để cải thiện là cung cấp các thẻ Meta Tag khác nhau cho các trang web của bạn. Nó sẽ giúp bạn cải thiện rõ rệt trong việc tìm kiếm và thứ hạng trên Google. Trong Yii Framework đã cung cấp cho bạn các thẻ Meta Tag cơ bản.
Thẻ Meta Title
Đây là thẻ tiêu đề trang web của bạn, nó miêu tả tổng quát nội dung của trang web đó. Vì vậy, bạn phải đặt tiêu đề 1 cách ngắn ngọn, xúc tích. Mặc định hiển thị trên HTML như sau:
<title>Wordpress | Thế Giới PHP</title>
Nhưng trong Yii2, thì bạn khai báo như sau:
Đối với Controller:
\Yii::$app->view->title = 'Wordpress | Thế Giới PHP';
Đối với Views:
$this->title = 'Wordpress | Thế Giới PHP';
Lưu ý: Đặt $this->title trong Layout sẽ không tốt. Vì trong Views, nếu có set Title mới thì sẽ đè lên giá trị Title mặc định trong Layout. Do đó, đừng nên làm điều đó.
Thông thường trong 1 trang web, nên bố trí cách đặt tiêu đề như sau:
$this->title = $this->title ? $this->title : 'default title';
Meta Description và Meta Keywords
Meta Description là một đoạn văn ngắn tóm tắt nội dung trang của bạn. Nó được hiển thị trên trang kết quả của công cụ tìm kiếm (SERP) ngay bên dưới dòng tiêu đề (thẻ tiêu đề). Trong khi đó, Meta Keywords là 1 thẻ dùng để gắn các từ khóa liên quan. Tuy Google hiện tại không còn sử dụng thẻ này để đánh giá thứ hạng. Nhưng nó lại giúp ích cho bạn SEO ở các trang tìm kiếm khách như Bing… Trang web sẽ không hiện thị ra ngoài 2 thẻ keywords hoặc description, mà chỉ có thể xem bằng cách xem mã nguồn trang web . Vì đây là các thẻ meta tags. Và trong Yii Framework, bạn nên đặt chúng bằng phương thức registerMetaTag().
Đối với Controller:
\Yii::$app->view->registerMetaTag([ 'name' => 'description', 'content' => 'Mô tả bên trong Controller', ]); \Yii::$app->view->registerMetaTag([ 'name' => 'keywords', 'content' => 'Keywords bên trong Controller', ]);
Đối với View:
$this->registerMetaTag([ 'name' => 'description', 'content' => 'Description set inside view', ]); $this->registerMetaTag([ 'name' => 'keywords', 'content' => 'Keywords set inside view', ]);
Tất cả các thẻ meta đã đăng ký sẽ được hiển thị bên trong Layout thay vì gọi $this->head() . Lưu ý rằng khi cùng một thẻ meta tags được đăng ký hai lần thì nó được trả lại hai lần. Ví dụ: thẻ meta description được đăng ký cả trong Layout và View thì sẽ được hiển thị hai lần. Thông thường nó không tốt cho SEO. Để tránh việc trùng lập, bạn có thể làm bằng cách sau:
$this->registerMetaTag([ 'name' => 'description', 'content' => 'Description 1', ], 'description'); $this->registerMetaTag([ 'name' => 'description', 'content' => 'Description 2', ], 'description');
Trong trường hợp này, việc đăng ký lần hai sẽ ghi đè lần đầu và mô tả sẽ được đặt thành “Description 2”.