احسان رضایی

یک توسعه دهنده

درس های yii2 شماره 14: اضافه کردن تگ های SEO

در yii2 , / تاریخ ارسال 02-02-1396 / 10 نظر / آخرین ویرایش 01-12-1402

چیزی که الان براش محتوای زیادی توی اینترنت پیدا میشه توضیحات و راه کارهای مفصلی درباره SEO و بهینه کردنش هست. جالبتر اینکه بیشتر از تعداد این محتواها متخصص SEO پیدا خواهید کرد!

به عنوان انجام یک گام کوچیک در جهت بهبود SEO بهتره صفحات متفاوت meta tag های متفاوت و مربوط به خودشون رو داشته باشن.

میدونیم که برای تعریف عنوان یک صفحه(در controller) اینطور باید عمل کرد:

\Yii::$app->view->title = 'my title';

یا بیاییمُ داخل خود view این کارُ انجام بدیم که من این حالتُ بیشتر میپسندم:

$this->title = 'my title';

ولی برای keyword ها یا description مثل title یک پارامتر اختصاصی نداریم و از اونجایی که هر دو meta tag به حساب میان باید از متد registerMetaTag برای ست کردنشون استفاده کنیم.

مثلا داخل controller:

\Yii::$app->view->registerMetaTag([
    'name' => 'description',
    'content' => 'my description',]);\Yii::$app->view->registerMetaTag([
    'name' => 'keywords',
    'content' => 'my keywords',
]);

یا در view:

$this->registerMetaTag([
    'name' => 'description',
    'content' => 'my description',]);$this->registerMetaTag([
    'name' => 'keywords',
    'content' => 'my keywords',
]);

پیشنهاد

کتاب‌ها

کتاب الگوهای طراحی به بیان ساده(design patterns / دیزاین پترن)

در مهندسی نرم افزار، design patterns(الگوهای طراحی) راه حل‌های قابل استفاده برای مشکلاتی هستند که معمولاً در طراحی نرم‌افزار اتفاق می افتند.

طرح های از پیش ساخته شده‌ای که می‌توانید برای حل مشکلات آن‌ها را سفارشی کنید. شما نمی‌توانید یک الگو را با جستجو در stackoverflow پیدا و در برنامه خود کپی کنید. الگو ها یک قطعه کد خاص نیستند، مفاهیم کلی برای حل مشکلات خاص هستند. شما باید با درک این مفاهیم آن‌ها را در برنامه خود پیاده‌سازی کنید.

کتاب refactoring / ریفکتورینگ

Refactoring مجموعه‌ای از تکنیک‌هاست که به منظور اصلاح و بهبود کدهای قبلی بدون تغییر در عملکرد و رفتارشان جهت خوانایی، کارامدی و قابلیت نگهداری بیشتر انجام می‌شود.

در کتاب Refactoring اثر Martin Fowler نوشته شده: refactoring تکنیک مرتب/منظم سازی برای تجدید ساختار کد موجود است. تغییر ساختار داخلی کد بدون تغییر رفتار خارجی آن.

refactoring یک سرمایه‌گذاری و راه حلی برای مقابله با کد کثیف و بدهی فنی است که باعث کاهش هزینه‌های توسعه نرم‌افزار در آینده خواهد شد.

ارسال نظر

علی در تاریخ 1396/02/04 - 00:41 نوشته
بیشتر از تعداد این محتواها متخصص SEO پیدا خواهید کرد :=))))))))))
lady در تاریخ 1396/02/07 - 06:55 نوشته
با سلام .برای نمایش این کدهای آموزشی ، در برنامه نویسی از چی استفاده کردید ؟
پاسخ احسان:

prismjs.com

lady در تاریخ 1396/02/19 - 12:16 نوشته
سایتی که گفتید رو دیدم ولی متوجه نشدم چطور باید استفاده کنم
پاسخ احسان:

مثلا اینجا رو ببینید:
https://codepen.io/eksch/pen/jukqf

lady در تاریخ 1396/02/19 - 18:14 نوشته
تشکر از شما
پاسخ احسان:

خواهش میکنم.

lady در تاریخ 1396/02/22 - 09:33 نوشته
تست کردم .ولی منظورم اینه که در قسمت مدیریت سایت ، این آپشن رو چطور به تکست ایریا اضافه کنم که بتونم تو مدیریت کدنویسی کنم و کدها مثل سایت شما نمایش داده بشه ؟
پاسخ احسان:

هر ادیتوری که پلاگین code رو داشته باشه این کارُ براتون انجام میده. من از tinymce استفاده میکنم. یادمه به طور پیشفرض این پلاگین براش فعال نبود و خودم بعد از نصب فعالش کردم. داخل مستندات سایتش توضیح داده.

lady در تاریخ 1396/02/22 - 09:56 نوشته
در واقع ادیتوری میخوام که به راحتی قابلیت نوشتن کد به صورتی که شما تو سایتتون استفاده میکنید ، ایجاد کنه .اسم ادیتورتون چیه ؟
lady در تاریخ 1396/02/24 - 09:25 نوشته
سلام . مستندات رو نگاه کردم . میگه باید پلاگین avcode رو فعال کنی . اما در لیست پلاگین هاش نداره و انگار پولیه . میشه بگید شما پلاگینش رو چطور گرفتید ؟
پاسخ احسان:

مطالعه کنید:
https://www.tinymce.com/docs/plugins/codesample

lady در تاریخ 1396/02/24 - 09:27 نوشته
راستی چرا پست مربوط به حمایت از جناب روحانی رو برداشتید ؟ البته من به ایشون رای نمیدم
پاسخ احسان:

اومدم یه مطلب دیگه رو حذف کنم اشتباهی اون مطلب رو حذف کردم.

lady در تاریخ 1396/02/26 - 22:44 نوشته
با سلام . لینکی که گفتید رو مطالعه کردم و دکمه ی کدنویسی ایجاد شده ، فقط وقتی کدها رو که قبلا در دیتابیس ذخیره شدند ، فراخوانی میکنم ، در کادر و مرتب نمایش داده نمیشه .آیا کد خاصی برای خروجی باید استفاده کنم ؟با تشکر
پاسخ احسان:

سلام، تمام کد های شما باید داخل دو بلاک زیر قرار بگیرن:

<pre class="language-php">   <code class="language-php">      ...   </code><pre>

اگر مستندات prismjs رو بخونید متوجه میشید که به جای language-php میشه کلاس های دیگه ای هم گذاشت.

lady در تاریخ 1396/02/27 - 06:30 نوشته
بله ممنون . تا حدودی درست شد . فقط اینکه شما از advance استفاده کردید یا کد خاصی تو css نوشتید که کدهاتون با رنگ های مختلفه ؟
پاسخ احسان:

من از extension های موجود برای فریمورک yii استفاده کردم. نه من و نه  extension کار خاصی انجام ندادیم.

https://github.com/2amigos/yii2-tinymce-widget