باسلام، متاسفانه به دلیل عدم پشتیبانی SEO Friendly URLs از زبان فارسی در WHMCS امکان بهینه سازی آدرس ها نیست، همچنین چون به دلیل Core Class و کد بودن آن امکان دسترسی و ادیت آن هم نیست به همین دلیل روشی آماده کردیم که با چند مرحله ساده میتوانید Pattern دلخواه و آدرس بهینه همراه با پشتیبانی از زبان فارسی بسازید.
ابتدا فایل .htaccess را باز کنید و اگر از دستور شرطی <IfModule mod_rewrite.c> استفاده شده بعد از آن (یا قبل از بسته شدن </IfModule>) قرار دهید :
پترن ما به شکل زیر خواهد بود :کد:RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]
سپس به پوشه قالب خود مراجعه کرده و فایل announcements.tpl را باز کنید و در المان های HTML آن دنبال تگ های a باشید که آدرس آن ها معمولا به شکل های زیر قرار گرفته است :کد:https://www.faranevis.com/post/17/آموزش-بهینه-سازی-آدرس/
بعد از پیدا کردن تگ ها آدرس آن ها را به شکل زیر تغییر دهید :کد:{$smarty.server.PHP_SELF}?id={$announcement.id} {if $seofriendlyurls}{$WEB_ROOT}/announcements/{$announcement.id}/{$announcement.urlfriendlytitle}.html{else}{$smarty.server.PHP_SELF}?id={$announcement.id}{/if}
برای بهینه سازی آدرس ها در بالا با استفاده از متد Replace در اسمارتی Whitespace ها را با - در آدرس جایگزین کردیم و در آخر فایل را ذخیره کنید.کد:<a href="/post/{$announcement.id}/{$announcement.title|replace:' ':'-'}">
همچنین اگر نیاز دارید در یک قسمت از قالب خود لیست اخبر ها را با URL پترن بهینه شده به قالب پاس دهید، یک فایل با نام news.php در مسیر includes/hooks بسازید و داخل آن قرار دهید :
همکنون در در قالب خود میتوانید با اضافه کردن {footerannouncements} لیست آخرین اخبار ها را با SEO Friendly URLs نمایش دهید.کد:use Illuminate\Database\Capsule\Manager as Capsule; function hook_footerAnnouncements($vars){ $output = null; $data = Capsule::table('tblannouncements') ->select('*') ->where('published', '=', 1) ->limit('7') ->orderBy('date', 'desc') ->get(); foreach($data as $new) { $id = $new->id; $date = $new->date; $title = $new->title; $titleU = str_replace(' ', '-', $title); $announcement = $new->announcement; $date = fromMySQLDate($date); $output .= '<li><a href="/post/'.$id.'/'.$titleU.'/"><i class="material-icons">panorama_fish_eye</i> '.$title.'</a></li>'; } return array("footerannouncements" => $output); } add_hook("ClientAreaPage", 1, "hook_footerAnnouncements");
همچنین با ماژول نقشه سایت داینامیک همراه با لینک دستی [ WHMCS Sitemap ] که به صورت رایگان توسط فرانویس منتشر شده است می توانید WHMCS خود را به صورت قوی SEO کنید.
کد:http://www.webhostingtalk.ir/showthread.php?t=191171





پاسخ با نقل قول
