حذف شناسه در آدرس مطالب جوملا با Sef Advanced Mode به راحتی آب خوردن

حذف شناسه یا id در آدرس مطالب جوملا با Sef Advanced Mode

امتیاز شما به این پست
(34)
چاپ  

خوشبختانه در طی یک سال اخیر مدیریت محتوای جوملا تغییرات زیادی به خود دیده است و هر روز این مدیریت محتوا بهتر از دیروز خود میشود.یکی از قابلیت هایی که میلیون ها کاربر جوملا در سراسر دنیا منتظر آن هستند ، ویژگی حذف شناسه مطالب از جوملا است که طبق وعده های تیم جوملا قرار است در جوملا 3.7 و نسخه 4 به بعد اضافه شود. اما ظاهرا این قابلیت در هسته جوملا نسخه 3.6 به بعد قرار داده شده است ولی در مدیریت جوملا به صورت مخفی قرار داده اند.

من در این آموزش به شما خواهم گفتم که با چه ترفندی این گزینه رو در مدیریت جوملا فعال کنید و سپس با رجوع به قسمت مربوط به آن و با فعال کردن گزینه Sef Advanced Mode خواهید دید تمام شناسه مطالب شما از لینک های سایت جوملایی شما حذف خواهد شد.

بروز رسانی شده در تاریخ 29 شهریور 1396

توجه : به دلیل آنکه در جوملا 3.8 به بعد این قابلیت به صورت پیش فرض قرار داده شده است ، از این روش در جوملا 3.8 به قبل استفاده کنید.

برای آموزش فعال سازی این ویژگی در جوملا 3.8 اینجا کلیک کنید

بزارید براتون یک مثالی بزنم ، فرض کنید ما مطلبی منتشر کرده ایم و شناسه یا ID مطلب در مدیریت مطالب جوملا 473 است و نام مستعار خود مطلب article-with-id و در مجموعه ای به نام بلاگ و با نام مستعار blog قرار دارد.اون وقت لینک تولیدی مطلب ما در سایت به این صورت خواهد بود :

www.example.com/blog/473-article-with-id

همانطور که در بالا مشاهده کردید شناسه مطالب به طور پیش فرض در لینک های جوملا مشاهده میشود که من میخواهم با ترفنید که امروز به شما آموزش میدهم این شناسه رو برداریم و یک لینک رو تولید کنیم که حس یک سایت حرفه ای رو به کاربران منتقل کند.

یعنی ما میخواهیم شناسه مطلب مورد نظر ما به صورت زیر شود :

www.example.com/blog/article-with-id

یعنی فقط و فقط نام مستعار مطلب نمایش داده شود و دیگر شناسه نمایش داده نخواهد شد.

برای شروع کافیست به مسیر زیر روید و فایل مربوطه رو باز کنید :

administrator\components\com_content\config.xml

سپس کد های زیر را به فایل بالا اضافه کنید :

<field name="sef_advanced_link"
    type="radio"
    default="0"
    label="Sef Advanced Mode"
    description="Remove ItemID from Content URL?">
        <option    value="0">JNO</option>
        <option    value="1">JYES</option>
</field>

فقط این نکته رو هم بگویم که در هر کجا میتوانید قرار دهید ولی دقت کنید که بعد از </field> قرار دهید. برای مثال به کد زیر دقت کنید :

		<field
			name="show_title"
			type="radio"
			class="btn-group btn-group-yesno"
			default="1"
			label="JGLOBAL_SHOW_TITLE_LABEL"
			description="JGLOBAL_SHOW_TITLE_DESC">
			<option value="1">JSHOW</option>
			<option value="0">JHIDE</option>
		</field>

        <field name="sef_advanced_link"
        type="radio"
        default="0"
        label="Sef Advanced Mode"
        description="Remove ItemID from Content URL?">
        <option    value="0">JNO</option>
        <option    value="1">JYES</option>
        </field>

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

آی سی ام اس :حذف شناسه در آدرس مطالب جوملا

در صفحه ای که برای شما باز خواهد شد گزینه Sef Advanced Mode برای شما ظاهر خواهد شد که با گذاشتن روی بلی تمامی شناسه مطالب شما حذف خواهد شد.فراموش نکنید که سادگی این روش نسبت به روش تغییر فایل Router.php بدین خاطر است که این قابلیت به صورت پیش فرض در هسته جوملا 3.6 قرار داده شده است و فقط در مدیریت مخفی شده است که با انجام این روش ما گزینه رو در مدیریت نمایش میدهیم و ما بقی کارها با خود جوملا است.

آی سی ام اس : حذف شناسه در آدرس مطالب جوملا

اگر اکنون نقشه سایت و یا جداول مربوط به مطالب خود را در دیتابیس مشاهده کنید ، خواهید دید که شناسه مطالب حذف شده است.همچنین ممکن هست اگر شناسه مطلب رو قبل از نام مستعار وارد کنید دوباره همان مطالب اورده شود اما جای نگرانی نیست چون canonical URL در جوملا مطالب بدون شناسه را الویت قرار میدهد.

بروز رسانی 3 مرداد 1396 : جوملا 3.7.4 اضافه شد

بعد از طی کردن مراحل بالا طبق بازخوردهای کاربران مطالب سایت شما با اینکه بدون شناسه میشود ولی با شناسه یا id مطالب هم باز در دسترس است که البته طبق گفته های جوملا با روش canonical این مشکل حل خواهد شد اما طبق تست هایی انجام داده ایم در برخی مواقع گوگل این مطالب را به عنوان محتوای دوقلو یا Duplicate Content نشان گذاری میکند که اینبار خودمان دست به کار شدیم و این مشکل را برای همیشه حل کرده ایم.لازم به ذکر است که ما این مشکل را در جوملا 2.5 تا 3.7.2 رفع کرده ایم و فایل ویرایشی آن را برای استفاده شما کاربران عزیز قرار داده ایم و بعد از هر آپدیت جدید جوملا این پست بروزرسانی خواهد شد تا زمانی که تیم رسمی جوملا این مشکل را به طور رسمی حل کنند و جزو قابلیت های پیش فرض جوملا شود.

نکته : برای اینکه دیگر مطالب با شناسه در دسترس نباشند حتما باید Sef Advanced Mode را فعال کنید و مراحل زیر را پیش بروید.

طبق نسخه فعلی جوملای خود بروی لینک های زیر کلیک کنید :

جوملا 2.5.14

جوملا 3.1.5

جوملا 3.2.2

جوملا 3.2.3

جوملا 3.2.4

جوملا 3.3.0

جوملا 3.3.6

جوملا 3.4.1

جوملا 3.4.3

جوملا 3.4.3 تا جوملا 3.4.8

جوملا 3.5.0 تا جوملا 3.5.1

جوملا 3.6.4 تا جوملا 3.6.5

جوملا 3.7.0 تا جوملا 3.7.2

جوملا 3.7.3

جوملا 3.7.4

پس از دانلود فایل های بالا متناسب با جوملا خود اقدامات زیر را انجام دهید :

1- ابتدا Sef Advanced Mode را فعال کنید.

2- فایل های دانلود شده را در مسیرهای تعیین شده جایگزین قبلی کنید

اگر جوملای شما نسخه 2.5 تا 3.6 است ، فایل دانلود شده را در مسیر زیر جایگزین کنید:

/YOUR-SITE/component/com_content/

 و اگر جوملای شما نسخه 3.7 به بعد است ، فایل دانلود شده را در مسیر زیر جایگزین کنید :

/YOUR-SITE/component/com_content/helpers/

این نکته رو هم فراموش نکنید که بعد از آپدیت جوملا باید اینکارها رو دوباره انجام دهید مگر اینکه جوملا های بعدی منتشر شوند تا دیگر به صورت پیش فرض همیشه این قابلیت را داشته باشد.

منتظر نظرات و تجربیات شما هستم

موفق باشید

پیشنهاد میکنیم این پست ها را هم بخوانید

نیاز به مشاوره بیشتر دارید؟ برای صحبت با متخصصان ما تماس بگیرید.
0933-8883035 5 دقیقه رایگان

مطالعه در 6 دقیقه

به همراه یک فنجان قهوه

دیدگاه کاربران

مکانی برای پرسش و پاسخ شما

دیدگاه های اخیر

  • سلام اگر طبق همین روش جلو رفته باشید ، free-product و free-product-batch دوتا کلاس رایگان هستند که ...
  • سلام محمد جان منم مشکل آقا حمید رو داشتم. کلمه رایگانو نمیتونم درست استایل دهی کنم! کلمه رایگانو ت...
  • سلام رامین جان از جوملا 3.8 به بعد این قابلیت به صورت پیش فرض بروی جوملا هست ، فقط کافیه بری وارد ت...
  • سلام ارادت میدونم پستها قدیمیه ولی برای جوملا 3.9.22 فایلی ندارید