نحوه حذف revision هاي زايد از ديتابيس

16 دیدگاه
phpmyadmin

وردپرس داراي ويژه گي هاي بسيار خوبي است كه يكي از آنها پيش نويس يا revision است.اين قابليت كه از وردپرس 2.6 اضافه شد،با اينكه قابليت مهمي است در عين حال مي تواند دردسر ساز هم باشد.يكي از مهمترين مشكلات آن بالا بردن حجم ديتابيس است،زيرا مادامي كه شما در حال نوشتن پست در وردپرس هستيد،وردپرس مدام در حال ذخيره كردن مطلب شماست تا از بين نروند و همين باعث مي شود بعد از مدتي ديتابيس شما پر از revision ها بي مصرف شود.

كاري كه بايد انجام دهيم اين است كه آنها را از ديتابيس پاك كنيم.براي اين كار مي توانيم با اجراي يك خط query خيال مان را راحت كنيم.پس ابتدا به phpmyadmin هاست خود رفته(دسترسي مستقيم به phpmyadmin) و پرس و جوي زير را اجرا كنيد:

DELETE FROM wp_posts WHERE post_type = "revision";

حالا همه آنها پاك شدند.

نكته مهم : قبل از اين كار حتما از كل پايگاه داده يا جدول wp_posts پشتيبان تهيه كنيد.

در همین رابطه :   نمایش دکمه لایک فیس بوک و توییتر در سایت فقط برای IP های خارجی
دسته بندی : هک های وردپرس

16 نظر

  1. سلام

    امین عزیز

    اسندکس‌سازی Spiderها در ورودی‌های داینامیک از صفحات شروع نمیشه، فراموش نکنید که چیزی به نام صفحه اول در سایت شما وجود ندارد.

    هر صفحه‌ای بنا به فراخور درخواست و تنظیمات کاربر و همچنین تنظیمات نمایشی شما که برای قالب قرار داده‌اید ایجاد می‌شود.

    و اما رسول عزیزم

    چرا، سنگ رو سنگ بند میشه.

    در مورد پست‌های و یا برگه‌های رمزگذاری شده هم توضیح دادم

    علی‌جان

    سؤال کوچکی می‌تواند این موضوع را خیلی ساده توضیح دهد.

    اگر قرار باشد Spiderها به قول امین عزیزم از لینک‌های صفحه اول و یا به قول رسول عزیز "موتورهای جستجو فقط به قسمتهایی دسترسی دارند و بررسی میکنند که در دسترس همه هست" پس چه لزومی یا بهتر بگویم چه فایده‌ای دارد که شما برای هر پست یا برگه‌ای امکان ایجاد تعاریف غیر قابل نمایش برای عموم داشته باشید !!!!؟؟؟؟

    دانسته‌های حقیر در یادآوری این نکته که همه چیز را نمی‌دانم دائماً تاکید دارد و همین باعث می‌شود از واژه غیر ممکن و مردود استفاده نکنم.

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

    1. سلام اكبر عزيز

      دوست من ما كه جنگ نمي كنيم،صحبت هاي هيچ كدوم مون هم وحي منزل نيست.هدف فقط يادگرفتن چيزهاي جديدي است كه ممكنه بلد نباشيم.

      راستش هر چي به منطق موضوع فكر مي كنم،درست به نظر نمي رسه.شما مي فرماييد مثلا ربات گوگل به revision هاي ما دسترسي دارد.چه تضميني هست كه يه هكر از اين راه،خودش رو به عنوان رباط جا نزنه و وارد بخش هاي خصوصي بشه.
      در مورد تعاريف غيرقابل نمايش اگر منظورتون اين كارهاي سئو است مثل افزودن keyword و description اونها نمايش داده نمي شن،ولي مي دونيد كه موتورهاي جستجو كاري با نمايش ندارند و فقط سورس صفحه رو پردازش مي كنند.
      به هر حال دسترسي ربات ها به revision كمي غيرقابل باوره !

      در ضمن اگر از به نظر مربوطه پاسخ بديد،اون كاربر هم از نظر شما مطلع شده و مي تونه بياد و جواب بده

      ممنونم

      1. حرف شما کاملا درسته علی آقا

        موتور جستجو سورس صفحه رو که در دسترس همگان هم قرار داره پردازش و بررسی میکنه

        ولی مرورگر همین سورس ها رو برای کاربر به حالت گرافیکی نمایش میده.

    2. دوست عزیزم،

      جواب سوال بنده رو در مورد اینکه "چه دلیلی داره تا رباتها به revisionها دسترسی داشته باشند؟ " رو ندادید.

      شما الان سوال و بحثتون رو از revisionها به پستهای private و رمز دار تغییر دادید.

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

      به عنوان مثال فایل wp-includes/post.php خط 3870 را ملاحظه کنید :

      if (current_user_can($cap)) {

      // Does the user have the capability to view private posts? Guess so.

      $sql .= " OR post_status = 'private'";

      همچنین توضیحات توسعه دهندگان ورد پرس :

      Publish box

      Visibility – This determines how your post appears to the world. Public posts will be visible by all website visitors once published. Password Protected posts are published to all, but visitors must know the password to view the post content. Private posts are visible only to you (and to other editors or admins within your site)

      لینک : https://codex.wordpress.org/Writing_Posts

    3. باز هم سلام

      خیلی جالبه که ما الان داریم سر یه چیز بدیهی و تابلو بحث میکنیم.

      =====

      اکبر آقای عزیز هیچ شخصی نیست که همه چیز رو بدونه و بالطبع منم همچین ادعائی ندارم

      ====

      برای اثبات این موضوع اصلا به مستندات وردپرس کاری نمیگیریم

      یه چیزه خیی ساده و واضح

      بنا بر اون چیزی که شما میفرمائید :

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

      این رو بی زحمت امتحان کن و خبرشم بهم بده لطفا

      ==========

      ثانیا هیچ کدوممون قصد و غرضی نداریم،فقط اومدیم دور هم یه چیزی یاد بگیریم،همین

      در ضمن بابت افزونه ای هم که معرفی کردی ممنون

      اون رو برای کسی معرفی کردم ،خیلی لذت برد و دعات کرد و همینطور نویسندش رو.

  2. سلام

    خیلی خوبه که در این موارد بحث میکنید ،همین باعث میشه هرچند ناچیز ولی حداقل یه چیزی یاد بگیره.

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

    پس این نظر که موتورهای جستجو میتونند به محتوای دیتابیس دسترسی داشته باشند کاملا مردوده، و اگه بتونند به همین راحتی دسترسی داشته باشند که سنگ روی سنگ بند نمیشه،چون همه اطلاعات ما درون دیتابیسه

    ===========

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

    موفق و پیروز باشید

  3. سلام

    ممنون از دقتی که در این مورد به خرج دادی.

    با اینکه این موضوع در SEO نیز خیلی تاثیر داره ولی متاسفانه خیلی از دوستان به اون توجهی ندارند.

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

    افزونه Delete-Revision ضمن اینکه تمامی Revisionهای موجود را لیست و امکان حذف آنها رو به شما میده، این قابلیت رو هم داره که بعد از انجام این کار دیتابیس رو optimize کنه.

    این افزونه رو از آدرس پایین می‌تونید نصب کنید
    http://wordpress.org/extend/plugins/delete-revisi

    1. سلام دوست عزيز

      ممنون از اينكه اين افزونه رو معرفي كردي ولي اصل كاري كه مي كنه همين يك خط پر و جوئه.در ضمن ميشه در مورد seo و اين revision ها كمي توضيح بديد،راستش متوجه رابطه اينها نشدم.

      موفقيت

      1. علی جان دقیقاً درسته

        بخش اول کار این افزونه که کارش حذف revisionهاست رو با همون خط فرمان میشه انجام داد.

        من هم عرض کردم این افزونه به درد کابرایی می‌خوره که در دسته زیر قرار دارند:

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

        در مورد SEO و revision هم خیلی ساده است.

        وقتی تغییرات شما زیاد میشه و یا به عبارتی تعداد پست‌هایی که revision متعدد دارند، هنگام بازبینی توسط Search Engine ها با نسخه‌های revision شده خودشون مقایسه میشن و همین امر باعث ایجاد وقفه برای کارشون میشه.

        روبوت‌های مربوطه طوری برنامه‌ریزی شدن که وقتی Date & Time پست تغییر داشته باشه اون رو بازنگری کنن و طبیعتاً وقتی revision نداشته باشند این کار سریعتر انجام میشه.

        باز هم ربوت‌ها کاری که انجام میدن اینه که مدت زمانی که به تناسب یافتن مطالب جدید در یک URL صرف می‌کنند رو برای طبقه‌بندی سرعت کارشون ذخیره می‌کنند و طبیعتاً وقتی شما در رده زمانی بالاتری قرار داشته باشید رجوع سریعتر (بیشتری) به شما خواهند داشت.

        امیدوارم سؤال شما رو درست متوجه شده باشم و جوابت رو گرفته باشی.

        1. سلام

          مگه revision ها براي كاربران و موتورهاي جستجو قابل مشاهده هستند؟آخه تا جايي كه مي دونم،فقط نويسندگان و مديران سايت قادر به ديدن اينها هستند نه همه

          1. بله، spiderهای موتورهای جستجو به محتواتش دسترسی دارند.

            شما خودتون توی بخش "تنظیمات حریم خصوصی" این امکان رو بهشون میدی 🙂

            "می‌خواهم سایتم برای همه در دسترس باشد٬ ازجمله موتورهای جست‌وجو (مانند گوگل٬ تکنوراتی٬ بینگ) و بایگانی‌کنندگان"

            با با انتخاب این گزینه به Spiderها امکان دسترسی به تمامی محتواهای ((غیر رمزگذاری شده)) رو میدید.

            حتی revisionها (چه در پست‌ها و چه در برگه‌ها)

            البته این در مورد کامنت‌های تائید نشده صدق نمی‌کنه

          2. سلام
            البته دوستان ديگر هم فرمودند كه ممكن نيست revision ها براي موتورهاي جستجو قابل ديدن باشه.من هم فكر مي كنم همينطور هست چون revision ها محرمانه هستند.ولي اگر شما هم دليلي داريد با كمال ميل گوش مي دهيم تا ياد بگيريم

            موفقيت

          3. خیلی می‌بخشید، موتورهای جستجو از کدام لینک و یا صفحه به revisionها دسترسی دارند؟

            موتور جستجوی گوگل با user agent گوگل بات وارد صفحه ایندکس میشه و همون سورسی رو میبینه که ما با user agent به عنوان مثال فایر فاکس.

            مگر اینکه در فایل general template خود وردپرس که قالب کلی رو تعیین میکنه، دستوری باشه که با بررسی user agent مطالب متفاوتی رو برای هر کدام نشان دهد، که من چنین موردی تا حالا ندیدم.

            اصلا چه دلیلی وجود داره تا revisionها در دسترس موتورهای جستجو باشه؟

            اون موردی هم که می‌فرمایید:

            "شما خودتون توی بخش “تنظیمات حریم خصوصی” این امکان رو بهشون میدی 🙂

            “می‌خواهم سایتم برای همه در دسترس باشد٬ ازجمله موتورهای جست‌وجو (مانند گوگل٬ تکنوراتی٬ بینگ) و بایگانی‌کنندگان”"

            فکر میکنم (شاید هم اشتباه کنم) برای جلوگیری از ایندکس شدن مطالب توسط روباتهای موتورهای جستجو کننده از طریق فایل robots.txt هست.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *