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

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

خوشبختانه در طی یک سال اخیر مدیریت محتوای جوملا تغییرات زیادی به خود دیده است و هر روز این مدیریت محتوا بهتر از دیروز خود میشود.یکی از قابلیت هایی که میلیون ها کاربر جوملا در سراسر دنیا منتظر آن هستند ، ویژگی حذف شناسه مطالب از جوملا است که طبق وعده های تیم جوملا قرار است در جوملا 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/

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

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

موفق باشید

نوشته شده با عشق

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

محمدحسین نیازی

پست های مرتبط

36 دیدگاه تاکنون ارسال شده
  • رامین
    مهمان
    سلام ارادت میدونم پستها قدیمیه ولی برای جوملا 3.9.22 فایلی ندارید
    • محمدحسین نیازی
      مدیر
      در پاسخ به رامین. گفته :
      سلام رامین جان از جوملا 3.8 به بعد این قابلیت به صورت پیش فرض بروی جوملا هست ، فقط کافیه بری وارد تنظیمات بشی و فعالش کنی
  • عاطفه
    مهمان
    عالی بود مرسی
  • امیرعلی مهدوی
    مهمان
    سایتتون تکه هم محصول با کیفتی دارید هم مطالب آموزشی ناب خسته نباشد امیدوارم همینطور ادامه بدید
  • ata
    مهمان
    با سلام و سپاس بابت مطالب و آموزه های خیلی خوبتون. من جوملام 3.7 بود. و دنبال این مطلب بودم که هیچ جا پیدا نکردم. خیلی خیلی ممنون از شما
  • اردلان رضایی
    مهمان
    جوملا 3.7.4 پنج دقیقه پیش منتشر شد و شما سریعا فایلشو گذاشتید احسنتم داره واقعا مرسی
  • امیر مهدی
    مهمان
    جناب نیازی ایولللللل دمتون گرم واقعا پیگر هستید تمام چیزهارو خلاصم کردید;) مرسی
  • سیروان
    مهمان
    عالی بود جناب نیازی عزیز موفق باشید
    • رضا
      مهمان
      در پاسخ به سیروان. گفته :
      جناب نیازی جوملا 3.7.3 منتشر شد لطفا برای نسخه 3.7.3 هم فایلشو بزارید سپاس
      • محمدحسین نیازی
        مدیر
        در پاسخ به رضا. گفته :
        قرار داده شد رضا جان :)
  • امیر
    مهمان
    سلام خسته نباشید چجوری میشه از لینک category رو حذف کرد یعنی آدرس به شکل زیر باشه www.site.ir/article. البته این کار رو افزونه sh404sef انجام میده منتها مشکل این افزونه رو هم براتون فرستادم یکی از جدولای (sh404sef_urls) این افزونه در دیتابیس حجمش میره بالا و فضا رو کاملا اشغال میکنه همه تنظیمات رو هم که مرتبط با رکورد هاس غیر فعال کرده ام اما بازم فایده ندار
    • محمدحسین نیازی
      مدیر
      در پاسخ به امیر. گفته :
      سلام امیر جان اگر امکانش هست جزییات دقیقش رو برام بفرست دقیقا category توی کدوم قسمت نشون داده میشه ؟ اگر مطالب یا مجوعه شما منو نداشته باشه چنین حالتی رخ میده برای اینکه دقیقا به جوابت برسی لطفا جزییات دقیقشو برام بفرست تا کامل توضیحش بدم;)
      • امیر
        مهمان
        در پاسخ به محمدحسین نیازی. گفته :
        سلام جناب نیازی خب تو جوملا اصولا لینک ها به صورت زیر هست www.site.com/category1/subcategory/article من هدفم اینه که لینک رو به صورت زیر در بیارم www.site.com/article تقریبا ووردپرس هم از این حالت استفاده میکنه خروجی افزونه sh404sef هم به این شکل هست منتها نمی تونم مشکل جلوی افزایش حجم یکی از جدول های این افزونه اش رو بگیرم من از k2 استفاده میکنم
        • محمدحسین نیازی
          مدیر
          در پاسخ به امیر. گفته :
          سلام اون حالت وردپرس بر میگرده به سیستم seo وردپرس که با جوملا کمی متفاوت هست و با اون حالت سیستم لینک های وردپرس همه مطالب لینک یونیک دارند و مشکل داپلیکیت یا مطالب تکراری هم دیگه بوجود نمیاد البته توی خود جوملا هم از نسخه 3.5 به بعد مشکل مطالب تکراری با قانون canonical حل شد این حالتی که گفتید تنها در یک حالت شدنی هست که برای هر مطلب یه منو ساخت که اینکار برای مطالب زیاد در واقع شدنی اصلا نیست اما یه نام مستعار و بعدش اسم مقاله اگر بخوایید این روش شدنی هست مثلا : site.com/blog/article-name که شما یک مجموعه میسازید و بعد یک منو برای اون مجموعه ای که ساختید در نظر میگیرید بعد مطالب خودتون رو در اون منتشر میکنبد این روش رو روی یه جوملای خام تست کنید تا سایت اصلیتون seo اسیبی نبینه بعد حالت advance sef مدیریت k2که توی تنظیمات پارامتر هست رو فعال کنید برای داپلیکیت نشدن مطالب هم میتونید از پلاگین canonical کا ۲استفاده کنید البته این یه نظر شخصی هست اگر قابلیت های خاصی نمیخواهید میتونید از سیستم های پیش فرض خود جوملا استفاده کنید تا سایتتون به افزونه شخص ثالثی نیازمند نباشه هر چند k2قابلیت های خاص خودش رو داره ولی تیم جوملا خیلی خیلی بهبودش دادند و هر روز داره کاملتر میشع از فیلد اضافی تا سیستم تگ ها و.. چون طبیعتا پشتیبانی خود تیم جوملا قویتر از شخص ثالث ها هست اگر جایی رو دقیقا متوجه نشدید بگید من دوباره براتون توضیح میدم
          • امیر
            مهمان
            در پاسخ به محمدحسین نیازی. گفته :
            ممنون از وقتی که گذاشتین این کار رو تنها افزونه sh404sef انجام میده که با اینکار بجای لیکن های طویل لینک های کوتاه دارید منتها همونطور که عرض کردم این افزونه فقط یک مشکل کوچولو داره که نتونستم رفعش کنم اونم افزایش یکی از جدولاش هست اگه کسی راه حلی برای این مورد داشته باشه خیلی ممنون میشم به من اطلاع بده بازم ممنون
            • امیر
              مهمان
              در پاسخ به امیر. گفته :
              نه نال نیست افزایش حجم دیتا بیس دز اثر استفاده از sh404sef در صورتی که تنظیمات مربوطه انجام نشده باشه صورت میگیره منتها من هر کاری میکنم این مشکل حل نمیشه هر چند به صورت پیش فرض رکوردینگ اطلاعات غیر فعال هست https://weeblr.com/helpdesk/sh404sef/2648-huge-database-table-sh404sef-url-src
              • زهرا مقدم
                مهمان
                در پاسخ به امیر. گفته :
                واقعا عجیبه :o ولی حتما باید راه حلی براش پیدا بشه چون اگر حجم به این صورت زیاد بشه در آینده خیلی مشکلات براتون ایجاد میکنه
                • امیر
                  مهمان
                  در پاسخ به زهرا مقدم. گفته :
                  آره واقعا دردسر ساز شده برای تقریبا 10 کلیک در منوی اصلی حدود 3 مگ حجم ایجاد میکنه در دیتا بیس اون تنظیماتی هم که گفتین به صورت پیش فرض غیر فعال هست
            • زهرا مقدم
              مهمان
              در پاسخ به امیر. گفته :
              این مسیر رو برید ببنید حل میشه یا نه ;) Configuration ----- General ------- Data Recoding
            • محمدجواد
              مهمان
              در پاسخ به امیر. گفته :
              سلام آقا امیر افزونتون نال هست یا اورجیناله ؟ من وقتی افزونه های نال استفاده میکنم چنین حالتی توی سایت و دیتابیسم رخ میده البته یه گزینه ای هم به نام Data Recoding بود که برای جلوگیری بود اما من از وقتی اصلی رو جایگزین کردم کلا مشکلم حل شده
ارسال نظر
در پاسخ به Some User

آی سی ام اس

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