احسان رضایی

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

درس های yii2 شماره 22: بهینه سازی SEO با pretty URLs

گاهی کاربران url های سایت شما رو در شبکه های اجتماعی به اشتراک میذارن. مثلا به طور پیشفرض آدرس صفحه "درباره من" چیزی مثل http://webproject.ru/index.php?r=site%2Fabout هست.

اکثر کاربران هیچ تصوری از index.php یا 2% ندارن و به اون اعتماد نمیکنن در نتیجه کمتر روی لینک کلیک میشه. آدرس هایی مثل http://webproject.ru/about بهتر به نظر میرسه. در واقع کاربران به راحتی میتونن متوجه بشن که قراره چه چیزی رو ببینن. برای تبدیل آدرس ها به نمونه بالا کافیه سه مرحله زیرُ انجام بدین.
یک فایل htaccess بسازید یا اگر از قبل وجود داره موارد زیرُ بهش اضافه کنید(به عنوان مثال محل فایل در نسخه advanced میتونه frontend/web باشه).

RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php

urlManager رو پیکره بندی کنید.

'components' => [
    // ...
    'urlManager' => [
        'class' => 'yii\web\UrlManager',
        // Hide index.php
        'showScriptName' => false,
        // Use pretty URLs
        'enablePrettyUrl' => true,
        'rules' => [
        ],
    ],
    // ...
],

 حالا آدرس ها چیزی مثل http://webproject.ru/site/about شدن. هیچ دلیلی برای وجود پارامتر site داخل url نیست پس با ضافه کردن rule زیر در پیکره بندی بالا اون رو حذف میکنیم.

    'rules' => [
        '<alias:\w+>' => 'site/<alias>',
    ],

 در قسمت rules کارهای بیشتری هم میتونیم انجام بدیم، مثلا اینکه به انتهای url پسوند html. اضافه کنیم. این مورد هم در SEO تاثیرگذار هست. پسوند url رو میتونیم در قسمت suffix مثل نمونه زیر تعریف کنیم.

'rules' => [
    [
        'pattern' => 'user/about/<username:\w+>',
        'route' => 'user/about',
        'suffix' => '.html',
    ],
]

 

کتاب‌ها

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

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

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

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

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

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

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