سیزده کوئری مفید وردپرس که هر مدیر وب سایتی باید بداند

shahin_w3

کاربر عضو
یک راه ساده برای اجرای هر کدام از کوئری های زیر استفاده از phpMyAdmin می باشد. این ابزار یکی از معمولی ترین ابزارهای مراجعه و ایجاد تغییرات در دیتابیس می باشد. تقریبا تمام کنترل پنل های موجود این ابزار را دارا می باشند. البته شما می توانید از پلاگین WordPress SQL Executioner نیز برای اجرای کوئری های وردپرس استفاده نمایید. برای وارد کردن کوئری های مورد نظر لطفا با استفاده از phpMyAdmin مراحل زیر را دنبال نمایید. 1. وارد phpMyAdmin شده و دیتابیس وردپرس را انتخاب نمایید. 2. بر روی زبانه ی SQL کلیک نمایید که شما را به یک صفحه با کادری برای کوئری SQL میبرد.


توجه
: همه ی کوئری ها، کوئری مستقیم SQL هستند و پیشوند استاندارد 'wp_' را برای جداول فرض خواهند کرد. اگر از پیشوند متفاوتی استفاده می کنید، کوئری ها را به همان شکل تغییر دهید.
[h=1]1. تغییر آدرس سایت ( SITEURL و HOMEURL )[/h] وردپرس مسیر نهایی آدرس سایت و خانه را در دیتابیس ذخیره می کند. بنابراین اگر وردپرس را از روی رایانه ی خود ( local host ) به سرور منتقل نموده اید و یا آدرس وبسایت را تغییر داده اید ، سایت شما بارگزاری نخواهد شد. دلیل این امر مسیر نهایی آدرس سایت است که هنوز به localhost یا آدرس قبلی وبسایت اشاره می کند. برای راه اندازی مجدد سایت، شما می بایست آدرس سایت و خانه را اصلاح نمایید. راه حل:


کد:
UPDATE wp_options SET  option_value = replace (option_value, 'http://www.oldsiteurl.com',  'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name =  'siteurl';
[h=1]2. تغییر GUID[/h] بعد از انتقال سایت از localhost به سرورتان، یا از یک دامنه به دامنه ی دیگر، شما می بایست آدرس ها را برای GUID field در جدول wp_posts اصلاح نمایید. این موضوع حیاتی است، زیرا GUID برای ترجمه ی پست ها و کد شماره ی صفحه به مسیر نهایی مطلب درست، در صورتی که به اشتباه وارد شده باشند، لازم است. راه حل:


کد:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
[h=1]3. تغییر آدرس در محتوا[/h] وردپرس از لینک کامل سایت همراه با دامنه برای ذخیره در دیتابیس استفاده می کند. داخل محتوای هر رکورد یک پست، همه ی آدرس های قدیمی را که به محتوای قدیمی اشاره می کنند را ذخیره می کند. بنابراین شما نیاز به تغییر همه ی این آدرس ها به نام دامنه ی جدید خواهید داشت. راه حل:


کد:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
[h=1]4. فقط تغییر آدرس تصاویر[/h] اگر تصمیم دارید که تصاویر را بر روی سرور دیگری ذخیره کنید، تا ترافیک بارگزاری تصاویر از روی سرور شما نباشد، می توانید از کوئری زیر برای تغییر مسیر همه ی تصاویر در وردپرس به بارگزاری از روی سرور دیگری استفاده نمایید. لازم به توضیح است که آدرس "http://yourcdn.newsiteurl.com" برابر با آدرس سرور جدید محل میزبانی تصاویر شما می باشد. راه حل:


کد:
 UPDATE wp_posts SET  post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com"',  'src="http://yourcdn.newsiteurl.com"');
شما همچنین نیاز خواهید داشت که با استفاده از کوئری زیر GUID را برای تصاویر الصاق شده، اصلاح نمایید.


کد:
UPDATE wp_posts SET guid =  REPLACE (guid, 'http://www.oldsiteurl.com',  'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';
[h=1]5. به روز کردن META پست ها[/h] به روز کردن META یک پست تقریبا مشابه آپدیت کردن آدرس در محتوای یک پست است. اگر آدرس های اضافی برای یک پست ذخیره نموده اید، شما می توانید از کوئری زیر برای اصلاح آنها استفاده نمایید. راه حل:


کد:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');
[h=1]6. تغییر نام کاربری “admin” پیش فرض[/h] با نصب وردپرس به صورت پیش فرض یک اکانت با نام کاربری Admin ساخته می شود. این یک مورد کلی است که هر کسی که از وردپرس استفاده می کند، آن را می داند. اما همین مسئله می تواند یک مشکل امنیتی بزرگ باشد، زیرا که هکر می تواند با استفاده از BruteForce رمز عبور ادمین وردپرس را بیابد. اگر شما بتوانید نام کاربری پیش فرض ادمین را تغییر دهید، شما امنیت پنل ادمین وردپرس خود را به میزان قابل توجهی افزایش داده اید.

راه حل:


کد:
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';
[h=1]7. تغییر رمز عبور[/h] آیا هیچ وقت خواسته اید که رمز عبور خود را داخل وردپرس تغییر دهید، اما به نظر رسیده که ریست پسورد به دلیل نا مشخصی کار نمی کند؟ راه حل:


کد:
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';
[h=1]8. اختصاص دادن همه ی مقاله های نویسنده ی B به نویسنده ی A[/h] اگر شما می خواهید که تمام مقالات نویسنده ی B را به نام نویسنده ی A تنظیم نمایید، این امر بسیار زمانبر خواهد بود. به کمک کوئری SQL زیر شما به آسانی می توانید تمام رکوردها را بررسی کرده و تغییرات را ایجاد نمایید. شما ابتدا نیاز به داشتن شناسه ی نویسنده ها با رفتن به صفحه ی "نویسنده و کاربر" در پنل ادمین وردپرس خواهید داشت. بر روی نام نویسنده کلیک نمایید تا پروفایل آنها را مشاهده نمایید. در نوار آدرس مرورگر، به دنبال "user_id" بگردید. این همان شناسه ی نویسنده است که ما لازم داریم. راه حل:


کد:
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id';
[h=1]9. پاک کردن پشتیبان پست ها ( Revision )[/h] رویژن ها نسخه های پشتیبانی هستند که وردپرس به هنگام ویرایش، برای هر پست نگهداری می کند تا امکان بازگشت تغییرات یک پست تا 25 مرحله برای شما فراهم باشد. این امکان بسیار مفیدی است اما موجب می شود که دیتابیس شما کمی سنگین شود. برای حذف رویژن ها می توانید از کوئری زیر استفاده نمایید. راه حل:


کد:
DELETE a,b,c FROM wp_posts a LEFT JOIN  wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c  ON (a.ID = c.post_id) WHERE a.post_type = 'revision' ;


توجه
: در نظر داشته باشید که همه ی Revision ها شامل هر پست و اطلاعات متا ، آن حذف خواهد شد. به همین دلیل بهتر است قبل از انجام این کار حتما از دیتابیس بک آپ تهیه نمایید.
[h=1]10. لیست تمام ایمیل های کامنت ها، بدون تکرار[/h] اگر می خواهید ایمیل تمام کاربرانی که تا به حال در وبلاگ شما کامنت گذاشته اند را در یک لیست جمع آوری کنید، می توانید از کوئری زیر استفاده نمایید. راه حل:


کد:
SELECT DISTINCT comment_author_email FROM wp_comments;
[h=1]11. حذف کردن یک pingback[/h] در وردپرس مقالات محبوب معمولا تعداد زیادی پینگ بک دریافت می کنند. این امر حجم دیتابیس شما را افزایش خواهد داد و ممکن است تمایل به حذف آنها داشته باشید که کوئری زیر به شما در انجام این امر کمک خواهد کرد. راه حل:


کد:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
[h=1]12. پاک کردن همه ی کامنت های اسپم[/h] در صورتی که تعداد زیادی کامنت اسپم دریافت می کنید، رفتن به هر صفحه و پاک کردن اسپم ها می تواند خسته کننده و ملالت آور باشد. با کمک کوئری زیر می تونید، حتی اگر می خواهید 500 کامنت اسپم را حذف کنید، این امر را به سرعت انجام دهید. راه حل:


کد:
 DELETE FROM wp_comments WHERE comment_approved = 'spam';
0= کامنتی که در انتظار تایید است 1= کامنت تایید شده Spam= کامنت هایی که به عنوان اسپم شناخته شده اند. [h=1]13. شناسایی Tag های استفاده نشده[/h] اگر در وردپرس، پست های قدیمی را به صورت دستی از Mysql حذف نمایید، تگ های قدیمی همچنان باقی خواهند ماند و در لیست تگ ها قابل مشاهده خواهند بود. کوئری زیر تگ های استفاده نشده را برای شما مشخص خواهد کرد. راه حل:


کد:
SELECT * From wp_terms wt  INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE  wtt.taxonomy='post_tag' AND wtt.count=0;
 
بالا