پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
باسلام، متاسفانه به دلیل عدم پشتیبانی SEO Friendly URLs از زبان فارسی در WHMCS امکان بهینه سازی آدرس ها نیست، همچنین چون به دلیل Core Class و کد بودن آن امکان دسترسی و ادیت آن هم نیست به همین دلیل روشی آماده کردیم که با چند مرحله ساده میتوانید Pattern دلخواه و آدرس بهینه همراه با پشتیبانی از زبان فارسی بسازید.
ابتدا فایل .htaccess را باز کنید و اگر از دستور شرطی <IfModule mod_rewrite.c> استفاده شده بعد از آن (یا قبل از بسته شدن </IfModule>) قرار دهید :
کد:
RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]
پترن ما به شکل زیر خواهد بود :
کد:
https://www.faranevis.com/post/17/آموزش-بهینه-سازی-آدرس/
سپس به پوشه قالب خود مراجعه کرده و فایل announcements.tpl را باز کنید و در المان های HTML آن دنبال تگ های a باشید که آدرس آن ها معمولا به شکل های زیر قرار گرفته است :
کد:
{$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}
بعد از پیدا کردن تگ ها آدرس آن ها را به شکل زیر تغییر دهید :
کد:
<a href="/post/{$announcement.id}/{$announcement.title|replace:' ':'-'}">
برای بهینه سازی آدرس ها در بالا با استفاده از متد Replace در اسمارتی Whitespace ها را با - در آدرس جایگزین کردیم و در آخر فایل را ذخیره کنید.
همچنین اگر نیاز دارید در یک قسمت از قالب خود لیست اخبر ها را با URL پترن بهینه شده به قالب پاس دهید، یک فایل با نام news.php در مسیر includes/hooks بسازید و داخل آن قرار دهید :
کد:
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");
همکنون در در قالب خود میتوانید با اضافه کردن {footerannouncements} لیست آخرین اخبار ها را با SEO Friendly URLs نمایش دهید.
همچنین با ماژول نقشه سایت داینامیک همراه با لینک دستی [ WHMCS Sitemap ] که به صورت رایگان توسط فرانویس منتشر شده است می توانید WHMCS خود را به صورت قوی SEO کنید.
کد:
http://www.webhostingtalk.ir/showthread.php?t=191171
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
باسلام، یکی دیگر از مشکلات WHMCS عدم نمایش Title اخبار در هید صفحه است، اگر از پترن بالا در آدرس های خود استفاده می کنید از هوک زیر می توانید استفاده کنید :
کد:
function hook_AnnouncementsTitle($vars){
$newsTitle = false;
foreach( explode('/', $_SERVER['REQUEST_URI']) as $dir ) {
if( $dir === "post" ) {
$newsTitle = $vars['title'];
break;
}
}
return ['newsTitle' => $newsTitle];
}
add_hook("ClientAreaPage", 1, "hook_AnnouncementsTitle");
فایل header.tpl قالب خود را باز کنید و تگ title در هید خود را جایگزین کنید :
کد:
<title>{if $kbarticle.title}{$kbarticle.title} - {/if}{if $newsTitle}{$companyname} - {$newsTitle}{else}{$companyname} - {$pagetitle}{/if}</title>
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
سلام
من زدم ارور ۴۰۴ میده
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
امکانش هست راهنمایی کنید که مشکل از چیه ارور ۴۰۴ میده ؟
دقیقا طبق فرمایش شما پیش رفتم
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
نقل قول:
نوشته اصلی توسط
mandana32
امکانش هست راهنمایی کنید که مشکل از چیه ارور ۴۰۴ میده ؟
دقیقا طبق فرمایش شما پیش رفتم
سلام، نمونه کد های بالا فقط برای announcements های whmcs هست، مرحله اول را دوباره بررسی و با دقت انجام دهید.
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
نقل قول:
نوشته اصلی توسط
T.Toosi
سلام، نمونه کد های بالا فقط برای announcements های whmcs هست، مرحله اول را دوباره بررسی و با دقت انجام دهید.
بله برای WHMCS انجام دادم
امکانش هست محتویاتhtacsess. را برام خصوصی ارسال کنید ؟
احساس میکنم مشکل از این بخش هست
آدرس اخبار ها تغییر می کنند اما وقتی میزنم ارور ۴۰۴ می دهد
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
انجام دادم اما ارور 404 میده :71:
- - - Updated - - -
برای رفع ارور 404 باید در فایل .htaccess بعد از # Announcements کد
کد HTML:
RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]
را وارد نماییم
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
نقل قول:
نوشته اصلی توسط
ashadata
انجام دادم اما ارور 404 میده :71:
- - - Updated - - -
برای رفع ارور 404 باید در فایل .htaccess بعد از # Announcements کد
کد HTML:
RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]
را وارد نماییم
سلام
ممنون از شما
دقیقا کجا باید بزنم منم این مشکل را دارم اما دستور رو همون طور که شما گفتی بصورت :
کد HTML:
# Announcements
RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]
زدم بازم حل نشد
- - - Updated - - -
فک کنم به خاطر مسیر whmcs باشه
مسیر نصبی من به این صورت هست :
https://domain.com/whmcs
لطفا اگر کد روی این حالت تغییر می کند بهم بگید
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
نقل قول:
فک کنم به خاطر مسیر whmcs باشه
مسیر نصبی من به این صورت هست :
https://domain.com/whmcs
لطفا اگر کد روی این حالت تغییر می کند بهم بگید
سلام، محتوای فایل .htaccess در پوشه whmcs اینجا قرار بدهید.
پاسخ : پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]
نقل قول:
نوشته اصلی توسط
T.Toosi
باسلام، متاسفانه به دلیل عدم پشتیبانی SEO Friendly URLs از زبان فارسی در WHMCS امکان بهینه سازی آدرس ها نیست، همچنین چون به دلیل Core Class و کد بودن آن امکان دسترسی و ادیت آن هم نیست به همین دلیل روشی آماده کردیم که با چند مرحله ساده میتوانید Pattern دلخواه و آدرس بهینه همراه با پشتیبانی از زبان فارسی بسازید.
ابتدا فایل .htaccess را باز کنید و اگر از دستور شرطی <IfModule mod_rewrite.c> استفاده شده بعد از آن (یا قبل از بسته شدن </IfModule>) قرار دهید :
کد:
RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]
پترن ما به شکل زیر خواهد بود :
کد:
https://www.faranevis.com/post/17/آموزش-بهینه-سازی-آدرس/
سپس به پوشه قالب خود مراجعه کرده و فایل announcements.tpl را باز کنید و در المان های HTML آن دنبال تگ های a باشید که آدرس آن ها معمولا به شکل های زیر قرار گرفته است :
کد:
{$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}
بعد از پیدا کردن تگ ها آدرس آن ها را به شکل زیر تغییر دهید :
کد:
<a href="/post/{$announcement.id}/{$announcement.title|replace:' ':'-'}">
برای بهینه سازی آدرس ها در بالا با استفاده از متد Replace در اسمارتی Whitespace ها را با - در آدرس جایگزین کردیم و در آخر فایل را ذخیره کنید.
همچنین اگر نیاز دارید در یک قسمت از قالب خود لیست اخبر ها را با URL پترن بهینه شده به قالب پاس دهید، یک فایل با نام news.php در مسیر includes/hooks بسازید و داخل آن قرار دهید :
کد:
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");
همکنون در در قالب خود میتوانید با اضافه کردن {footerannouncements} لیست آخرین اخبار ها را با SEO Friendly URLs نمایش دهید.
همچنین با ماژول نقشه سایت داینامیک همراه با لینک دستی [ WHMCS Sitemap ] که به صورت رایگان توسط فرانویس منتشر شده است می توانید WHMCS خود را به صورت قوی SEO کنید.
کد:
http://www.webhostingtalk.ir/showthread.php?t=191171
امکان استفاده برای knowledge base هم وجود داره ؟