تخصصی تر ها, سئو

مشکل سایت پالاز وقتی دنبال شعبه شهری می‌گردی چیه؟ شورت‌کد ها و تنظیم تگ های سئو

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

من توی گوگل سرچ کردم “پالاز موکت مشهد” و با نتیجه زیر مواجه شدم:

نتیجه جستجو “پالاز مشهد” توی گوگل

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

چه مشکلاتی دیدیم؟

  • صفحه نمایندگی ها توضیحات (Description) مشابهی با صفحه اصلی داره و این یعنی مجزا براش تعریف نشده.
  • صفحه مربوط به مشهد در واقع مربوط به یک صفحه single post، single custom post type یا single page توی وردپرس نیست و بلکه مربوط به برگه ای هستش (آرشیو) که توش ما خلاصه از از متن صفحه مربوط به مشهد یا هر شهری داریم و باید وارد صفحه داخلی این صفحه بشیم تا بتونیم مشخصات رو ببینیم.
  • توی توضیحات صفحه آرشیو مشهد می‌تونیم محتوا بریده شده و نامربوطی و نامفهومی رو ببینیم که به هیچ دردی نمی‌خوره برای کسی.

چرا اینجوری شد؟ اون متن داغون چیه؟

بیاید بریم توی صفحه دومی:

صفحه Archive مربوط به مشهد در سایت پالاز

می‌بینید؟ این صفحه قرار بوده لیستی از نمایندگی های مشهد رو نشون بده و ما الان یک نمایندگی توی مشهد داریم به اسم نمایندگی عطائی. پس اون متن چیه؟ برای اینکه بفهمید چیه، بذارید بریم داخل صفحه نمایندگی عطایی:

صفحه یک نمایندگی توی سایت پالاز

عه؟ اون متنه کوش؟ اون متنه شده همین صفحه که می‌‎بینید! اینجا از Page Builder های وردپرس استفاده شده که کارشون اینه که با حرکات ساده ای و بدون نوشتن کد یا چندان کدی، یک صفحه ساخت و توش المان های مختلفی داشت که کنار هم چیده شدن. صفحه ساز هایی مثل Elementor، Visual Composer و Divi از داغ های این روز های بازار هستند. توی این مورد با توجه به چیزایی که دیدیم احتمال می‌دم با Visual Composer سر و کار داشته باشیم (که با دیدن سورس سایت خیلی ساده مشخصه.)

کد هایی که دیدیم در واقع چیجوری کار میکنن؟

ما توی وردپرس از shortcode ها لا به لای محتوا استفاده می‌کنیم گاهی که از ساختار های اصلی این Page Builder ها یا صفحه ساز ها هستند. مثلا:

[shortcode_name]Havij[/shortcodename]

یک شورت کد به اسم shortcode_name هستش و Havij رو توی دل خودش جا داده. اینجوری می‌تونیم “هویج” رو استایل بدیم، باهاش کار های جالب کُدی کنیم و بهش قابلیت اضافه کنیم توی کدمون. گاهی این شورت‌کد ها میتونن توی دل هم قرار بگیرن. مثلا:

[shortcode_dad][shortcode_bacheh]Too Bacheh[/shortcode_bacheh][/shortcode_dad]

و مجموع این شورت‌کد های تو در تو هم با ویژگی های اضافشون میشن خروجی یک صفحه ساز. اینجا هم توی مثالمون ابتدا خروجی یکی از همین صفحه ساز هارو دیدیم که توی محتوا قرار گرفته، ولی سوال اینجاست که:

چرا شورت‌کد ها اینجا کار نکردن و به صورت خام دیده شدن؟

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

توی وردپرس برای اجرا پردازش روی یک شورت‌کد که اساسا تیکه ای متنه، از تابع do_shortcode استفاده میشه. یعنی با استفاده ازهوک (Hook) های وردپرس، روی کل یک بخش خاص، تابع do_shortcode اجرا میشه و توی اون متن اگر شورت‌کد قابل درک و تعریف شده ای باشه پردازش میشه و خروجی بدرد بخور دیده میشه. مثل عکس آخر از سایت پالاز. پس اونجا چه خبر بوده؟

دقت کنید، صفحه ای که متن رو نشون می‌داد بجای اجرا کردنش، قرار بوده خلاصه ای از متن رو نشون بده، نه کلشو و توی توابع خلاصه متن ها (تا الان که من اینو می‌نویسم) do_shortcode یا پردازش شورت‌ک ها روی خلاصه ها (Excerpt) انجام نمیشه. حتی اگر هم قرار باشه انجام بشه، یادتون باشه خلاصه متن ها تعداد محدودی از کاراکتر های متن اصلی (در حالت پیشفرض) میگیرن و بقیه رو نشون نمیدن و توی اون تعداد کاراکتر های محدود، ممکنه شورتکد ناقص بریده بشه و shortcode های بریده شده مثل همه تگ های ناقص، ناشناخته، تعریف نشده و خراب هستند و کار نمیکنند!

قضیه رو متوجه شدید؟

حالا چیکار کنیم با خلاصه متن ها پس وقتی قراره از shortcode ها استفاده کنیم؟

  • راه اول اینه که متن خلاصه رو دستی بنویسیم توی باکس مخصوصش که وردپرس مجبور نباشه از متن اصلی تیکه ای رو ببُره.
  • یا تابع اصلی رو فیلتر کنیم یا از تابع خودمون استفاده کنیم که توش اول شورتکد هارو با strip_shortcodes تمیزش میکنیم و متن خالص شمارش میکنیم کاراکتر های محدودش رو و بعد نمایش می‌دیم.
  • اگر خیلی به این اعتماد داریم که شورت کد ها بریده و ناقص نمی‌شن و میخوایم که اجرا بشن با یک فیلتر میگیم وردپرس جان، روی خلاصه ها هم do_shortcode رو اجرا کن. اینجوری. توضیحات بیشتر توی وبلاگ یه بنده خدایی.

پالاز یا طراح و برنامه‌نویسش باید چطوری بهتر عمل کنه؟

عموما (به نظر شخصی بنده) صفحه ساز ها، Page Builder ها یا هرچیزی که اسمشونو بذاریم، برای کار های آنی بدرد میخورن، بدرد چیدن سایت هایی می‌خورن که صفحه اصلی قشنگی دارن با کلی انیمیشن و صفحات داخلی مشکل داری دارن. نه چون نمی‌شه درستشون کرد، چون میخوان سریع تحویل داده بشن و تاثیر مثبتی روی کارفرما بذارن.

چیدمان اصلی باید استاندارد باشه. صفحات باید بررسی بشن، تگ های سئو باید مجزا در صورت نیاز تعریف بشن. به نظر من باید برای شعبه ها و معرفی نمایندگی ها باید CPT )Custom Post Type) های اختصاصی تعریف بشه همراه با شاخه بندی های مجزا برای تفکیک شهر ها و استان ها (Custom Taxonomies) و بخش جستجو شعبه ها اصلاح بشه. این شکل نمایش، دم دستی، سَرسَری و بدون در نظر گرفتن آیندست.

لازمه برای صفحات شعبات و نمایندگی ها Meta های اختصاصی نوشته بشه یا یک الگوی اختصاصی برای افزونه های سئو نوشت (در مورد این بخش بعدا فنی می‌نویسم براتون که توی پروژه هاتون استفاده کنید). بخش برگه های وردپرس برای نمایش این نوع محتوا ایده خوبی نیست.

مجموعه بزرگی مثل پالاز که صد ها میلیون تومان برای هر شعبه هزینه می‌کنه، داره مارکت سراسری ایران رو به واسطه بعضی اشتباه های ساده توی سایتش ضعیف میکنه و نیاز خودش رو به تبلیغات های سراسری بیشتر میکنه. با یک دهم هزینه هر “خانه پالاز” میشه برنامه طولانی مدتی برای سایت داشت که چنین مشکلات پیش پا افتاده ای نداشته باشه.

دیدگاه شما چیه؟

ممنون میشم دیدگاهتون رو مثبت یا منفی با من و بقیه به اشتراک بذارید 😊