ウェブサイト検索

WordPress の時間を節約する SQL クエリ


あなたが WordPress ウェブサイトの所有者であれば、気をつけなければならないことがたくさんあります。

ブログコンテンツを継続的に更新し、新製品を追加し、価格を変更し、定期的なプラグインの更新については言及しませんが、開発者にアクセスを提供し、WordPress の日常業務の一部としてさらに多くのことを行います。

設定を微調整する必要がある場合、単一のアクションを実行するための多くの指示が記載された長い Web ページのチュートリアルを見つけることがあります。しかし、これらの変更の大部分は、データベース マネージャー メニューで実行する単純な SQL クエリで変更できることがわかったらどうなるでしょうか。

忙しいあなたは時間を節約することが最優先事項なので、数分で結果を得るのに役立つ基本的な SQL クエリを次に示します。

最初のステップ

ホスティング アカウントに複数の Web サイトがある場合は、SQL クエリを実行する前に、適切なデータベースを変更していることを確認する必要があります。特定の WordPress インストールに割り当てられたデータベース名は、wp-config.php ファイル内の文字列で確認できます。

define (‘DB_NAME’, ‘yourdbname’)

また、SQL コマンドを実行するときにテーブルのプレフィックスを指定する必要があるため、テーブルのプレフィックスにも注意してください。これは、ページ設定の下部にある同じファイルにあります。

上記の例では、データベース名は _wp622 です。テーブルの接頭辞は wpc7_ です。それがわかったら、データベース マネージャーに行きましょう。コントロール パネルの大部分は、データベース管理に PHPMyAdmin を使用します。

そこに移動したら、リスト内でデータベース名を見つけてクリックします。

変更を加える前に、このデータベースのバックアップを作成して、問題が発生した場合に備えてすぐに復元できるようにしてください。

WordPress をバックアップする方法については、一般的なバックアップ ガイドで詳しく説明しています。ただし、簡単なチュートリアルとして、エクスポート オプションを選択し、必要に応じて方法と形式を選択し、実行 を押します (ここではすべてのデフォルト オプションを設定しています)。

完了したら、安全に続行できます。メニューの [SQL] をクリックして始めましょう。

URLを置換

Web サイトに SSL 証明書を追加するか、その他の変更を行って Web サイトの URL を更新する場合は、必ず次のコマンドを使用してください。

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurlofthewebsite.com', 'http://www.newurlofthewebsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';

URL を https//: 、ドメイン名を example.com にしたいとします。この場合、wp_options テーブル名と URL を変更する必要があります。

UPDATE wpc7_options SET option_value = replace(option_value, 'http://www.example.com', 'https://www.example.com') WHERE option_name = 'home' OR option_name = 'siteurl';

そして、成功メッセージが表示されるまで待ちます。

それを見ることがなぜそれほど重要なのでしょうか? Go を押してもクエリにエラーがある場合、システムはリクエストを実行できず、実行が失敗したことを意味するエラーが表示されます。エラーは次のように表示され、プロセスが失敗した理由が示されます。

このコマンドは基本的なコマンドであり、Web サイトのメイン URL のみを置き換えるので、Web サイトのドメイン名を example.com から test.net に変更する場合は、すべてのドメイン名を含めて変更する必要があることに注意してください。 wp-posts、wp-postmeta など、Web サイトの URL が一致するテーブルや、プラグイン (WooCommerce など) によって生成された URL を含む行を含むテーブルにも注意してください。

そのためには、少なくとも基本的な SQL トレーニングが必要です。もう 1 つのオプションは、エクスポートしたデータベースをテキスト エディタで開き、Ctrl+H を押して古いドメインのすべての言及を新しいドメインに置き換えることです。これが複雑すぎると思われる場合は、ファイルを作業サイトの Web サイト フォルダーを開き、ブラウザーで開きます。

新しい管理者ユーザーの作成

管理者ロールを持つ新しいユーザーをインストールに追加する必要がある場合は、次のコマンドを使用し、好みに応じて変更する必要があります。

INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
 VALUES ('yourlogin', MD5('yourpassword'), 'firstname lastname', 'email@example.com', '0');
 
 INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
 VALUES (NULL, (Select max(id) FROM wp_users), 
 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
 
 INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
 VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');

希望するユーザー名データベースに応じてテーブルとログイン値を変更する必要があることに注意してください。

ユーザー mydeveloper をパスワード mypassword で作成したいと考えています。開発者の名前は John Doe 、電子メールは test@test です。コムにアクセスしてください。したがって、私のクエリは次のようになります。

INSERT INTO `wpc7_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
 VALUES ('Mydev', MD5('mypassword'), 'John Doe', 'test@test.com', '0');
 
 INSERT INTO `wpc7_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
 VALUES (NULL, (Select max(id) FROM wp_users), 
 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
 
 INSERT INTO `wpc7_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 
 VALUES (NULL, (Select max(id) FROM wpc7_users), 'wp_user_level', '10'

行の名前 (wp_user_level など) を変更したり、0、10、13 という数字をいじる必要はないことに注意してください。これらの数字はユーザーの役割と対応する権限を意味します。 、実行を押します。

出力には、次のような成功した結果が表示されるはずです。

管理者ログインユーザー名の変更

ユーザー名のログイン名を変更するには、MySQL タブに戻り、次のコマンドを実行します。

UPDATE wp_users SET user_login = 'newlogin' WHERE user_login = 'admin';

デフォルトのユーザー名が以前に作成した mydeveloper で、代わりに secureduser を設定するとします。私たちの特定のケースでは、デフォルトのプレフィックス wp7c_ もあるため、次のコマンドを実行します。

UPDATE wpc7_users_users SET user_login = 'secureduser' WHERE user_login = 'mydeveloper';

成功した出力は次のようになります。

管理者パスワードの変更

定期的なパスワード変更のセキュリティ ルールに従って、secureduser のパスワードを変更することもできます。これに対するクエリは次のとおりです。

UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'youruser';

この特定のパスワード変更コマンドの場合、コマンドは次のとおりです。

UPDATE wpc7_users SET user_pass = MD5( '$tR0ngP@s$w03D' ) WHERE user_login = 'secureduser';

Go を押して、成功メッセージが表示されるまで待ちます。

スパムの削除

多くの投稿を公開し、コメントをやり取りのためにオープンにしたままにするユーザーにとって、スパム コメントの問題は非常に苦痛になる可能性があります。手動承認によってコメントをフィルタリングすることもできますが、承認していないものをすべてすぐに削除する方法を見つけたいと思うかもしれません。その方法は次のとおりです。

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

特定のケースに合わせてカスタマイズする場合、ここで説明します。

DELETE FROM wpc7_comments WHERE wpc7_comments.comment_approved = 'spam';

: wp_comments.comment_approved はテーブル内の別のフィールドであるため、プレフィックスは一致する両方の場所で変更する必要があります。

成功した出力は次のとおりです。

未承認の投稿コメントをすべて削除

ある時点で、記事を公開するかどうかを最終決定する前に、記事のコメントをフィルタリングして読むのにうんざりし、記事を削除したいと思うかもしれません。そのためのコマンドがあります。

DELETE FROM wp_comments WHERE comment_approved = 0

このタブはテーブル内の不変のデフォルト関数を表すため、comment_approved セクションを変更する必要がないことに注意してください。

変更されたコマンドは次のようになります。

DELETE FROM wpc7_comments WHERE comment_approved = 0

完了すると、正常に実行されたコマンドの通常の結果が表示されます。


指示に従うと、単に手動で行うよりも時間がかかるように思えるかもしれませんが、実際はそうではありません。ウェブサイトが大きくなればなるほど、ウェブサイトに費やす時間も長くなります。 1 つのアクションが 10 件の投稿に対して個別に実行されると、実行に 10 倍の時間がかかることになります。

したがって、実際には、これらのコマンドを実行することで貴重な時間を大幅に節約し、その時間をコンテンツの計画やインスピレーションのアイデアの検索など、より重要なことに費やすことができます。

ブログを楽しんでください!