【STORK19】All in One SEOを削除してサイトを軽くする方法
WordPressブログを始めて今プラグインを設定しているそこのあなた。
All in One SEOを入れようか迷っているかもしれません。
「All in One SEOはSEO設定に必要」と言われているかもしれませんが、サイトのスピード遅くなるので不要論もあります。
Twitterでも「All in One SEO」と検索すると、有名なブロガーやアフィリエイターも利用していないことの方が多いです。
WordPressのテーマによってはすでに「All in One SEO」のような機能が実装されており、プラグインをインストールしなくてもSEO設定してくれる高機能なものもあります。
STORK19
ではある程度SEO機能が実装されてますが、主要な部分はSEO対策のプラグインが必要です。
STORK19の公式サイトでも、SEO対策のプラグインをインストールすることを推奨してます。
ですがSTORK19を使いたいけど、SEO対策をインストールしたくない方もいると思います。
今回はSEO対策のプラグインをインストールすることなく、STORK19を利用する方法を紹介します。
この記事で分かる事
All in One SEOを削除した後の効果
STORK19でもAll in One SEOを利用しない方法
今まで利用していたAll in One SEOを削除する方法
All in One SEOとはなに?
All in One SEOとは、ブログ運営に必要なSEO対策を自動で行なってくれるプラグインです。
SEOとは?
Search Engine Optimizationの略で、日本語に翻訳すると「検索エンジン最適化」です。SEO対策をすることで、Google検索結果画面の上位に表示されやすくなります。
SEOには難しい設定がたくさんありますが、All in One SEOを利用するとその一部を自動で設定してくれます。
ですがどの環境にも対応できるように機能が豊富に備わっているので、どうしても不備や不具合が出てしまう可能性もあります。
SEOの設定をしてくれるWordPressのプラグイン
SEO対策にはウェブサイトの作りや記事の作り、 キーワードなど様々ありますが、 All in One SEOはタイトルの設定やdescriptionの設定ができます。
タイトル
ディスクリプション
indexやnofollowタグ
リダイレクト
サイトの基本設定
他にも設定できる項目はあります。
基本的には無料版でも問題ありませんが、より機能が欲しい場合は有料版もあります。
初心者でも簡単にSEO設定できる
SEO設定に必要なタイトルタグやメタタグなど、サイトを作る時に実装する必要がありますが、プラグインをインストールすれば難しい作業は必要ありません。
なので、初心者でも簡単にSEO設定ができます。
タイトルやdescriptionも記事のページに、入力できるボックスがあるので、そこに入力するだけで設定が完了します。
サイトスピードが重くなり、たまに不審な動きをする
これまでメリット紹介してきましたが逆にデメリットも存在します。
一般的にプラグインはどのような環境でも動作するように、多くの機能が実装されてます。
機能が増えることによりプラグインの容量が増えてしまい、サイト全体のスピードが遅くなってしまいます。
サイトスピードが遅くなってしまうと、SEOの観点から見てもあまりいいものではありません。
さらに、利用している環境によっては正常に動かない場合もあり、タイトルが思うように設定できないこともありました。
セキュリティ面で不安な場面もある
2021年の12月にセキュリティに関する問題があると、警告されていました。
セキュリティ面に問題があると、データベースを書き換えられてしまったり、サイト全体を乗っ取られてしまう可能性があります。
2022年の現在は解消されてますが、今後新たな問題も発生するかもしれません。
プラグインをなるべく少なくするのも、セキュリティ対策の一つになります。
All in One SEOを削除した効果は?
僕は今までAll in One SEOを利用していましたが、削除することにしました。
実際に削除する前の状態と、削除後の状態を比較してみます。
サイトスピード
All in One SEO削除前

All in One SEO削除後

削除前と削除後ではサイトスピードが2点しか変わりませんでした。
元々サイトスピードが早かったのが原因かもしれません。
50点以下だととても点数が悪い場合に、 All in One SEOを削除するとより効果が感じられるかもしれません 。
表示回数や、クリック数
表示回数や、クリック数の変化が一番重要ですよね。

削除してから全然月日が経ってないので、もうしばらく様子を見る必要があります。
All in One SEOでディスクリプションを設定していた人
これから始めてWordPressを始める方は、この章の内容は不要なのでSTORK19の設定に移動してください。
プラグインの管理画面から簡単に削除できますが、 All in One SEOを削除しただけでは逆効果です。
今まで記事のディスクリプションを設定していたと思いますが、All in One SEOで設定するとWordPressが作ったデータベースとは異なる場所に管理されてます。
タイトルはWordPressが作ったデータベースで管理されてますが、ディスクリプションだけはAll in One SEO専用のデータベースに管理されてます。
なので、All in One SEOを削除しただけでは、今まで設定したディスクリプションが反映されないので、WordPress既存のデータベースに移動させてあげる必要があります。
抜粋にディスクリプションを入力しましょう。
記事ページの右上のメニューボタンから「設定」を選択しましょう。

左側の「パネル」から「抜粋」を有効にしましょう。

プラグインを削除してもデータベースは残っているので、安心してください。
ですが念のため、全ての作業が終わってからプラグインを削除しましょう。
手作業で移行(記事数が多ければ多いほど地獄)
手作業で記事のディスクリプションを抜粋に移動する方法が一番確実ですが、記事が多いほど作業量が多くなるのでとても地獄です。
記事数が30記事以内だったら手作業でもいけますが、50記事を超えると1日で終わらないかもしれません。
プラグイン(若干手直しが必要になる可能性が)
プラグインでディスクリプションを移動させる方法がありますが、利用しているWordPressの環境によっては正しくデータを移行できない可能性もあります。
検索すると多少プラグインは出てきますが、今回は利用していないので自分でググって検索してみてください。
SQL実行(データベースをいじるのが怖いけど、確実に設定できる)
今回僕はデータベースをいじってディスクリプションを移行させました。
データベースの操作方法を間違えるとサイトが壊れてしまう可能性もあるので、自己責任でお願いします。
正直初心者がやるのはとても難しいですが、作業自体は5分以内で終わります。
データベースもバックアップが取れるので、 WordPressのプラグインや、各レンタルサーバーのデータベースの画面からバックアップを取っておいてください。
WordPressの管理画面の「ツール」から「エクスポート」に移動すると、記事のバックアップが取れるので、それもやっておきましょう。
Wordpressは契約しているレンタルサーバーに関わらず、MySQLを利用しているので、管理画面は全て同じです。
Xserverここからアクセス

ロリポップレンタルサーバーはここからアクセス

phpMyAdminというデータベースを操作できるサイトがありますが、そのログインIDとパスワードを確認するには、各レンタルサーバーの管理画面から確認できます。

phpMyAdminにログインできたらどのサーバーを利用している方も、操作は同じです。
記事IDとタイトルと、ディスクリプションが合っているか(ここまではサイトは壊れない)
SELECT
wpここの文字は環境によって異なります_posts.post_title,
wpここの文字は環境によって異なります_posts.id,
wpここの文字は環境によって異なります_aioseo_posts.description
FROM `wpここの文字は環境によって異なります_aioseo_posts`
INNER JOIN `wpここの文字は環境によって異なります_posts`
ON wpここの文字は環境によって異なります_posts.ID = wpここの文字は環境によって異なります_aioseo_posts.post_id
上記のSQL文で実行すると、記事IDとタイトルと、ディスクリプションが合っているか確認できます。

上記の「ここの文字は環境によって異なります」は人によって文字が異なるので、自分の環境に合わせてください。

左側のテーブルに表示されている数字にあわせてください。
記事IDとタイトルと、ディスクリプションが同じ行に表示されていることが確認できれば、あとは更新です。
抜粋にAll in One SEOのディスクリプションを更新
UPDATE `wpここの文字は環境によって異なります_posts`
INNER JOIN `wpここの文字は環境によって異なります_aioseo_posts`
ON wpここの文字は環境によって異なります_posts.ID = wpここの文字は環境によって異なります_aioseo_posts.post_id
SET wpここの文字は環境によって異なります_posts.post_excerpt = wpここの文字は環境によって異なります_aioseo_posts.description
上記のコードはプロのエンジニアが見ると汚いと思うかもしれませんが、ここでは気にしません。
このSQL文が正常に終了したら、WordPressの管理画面に戻り、記事の抜粋を確認してみてください。
All in One SEOに設定したディスクリプションが、抜粋に更新されてるはずです。
STORK19のSEO設定
データベースの操作を行ってきた人はお疲れ様です。
後はSTORK19
の設定なので、データベースほど難しくはありません。
まず最初にWordPressの管理画面にアクセスしてください。
子テーマを有効化

STORK19は親テーマと子テーマに分かれてますが、親テーマは本体子テーマは自由にカスタマイズするために存在してます。
親テーマに直接SEO設定をしても、テーマの更新時にアップデートされて消えてしまいます。
子テーマに設定しておけば、親テーマが更新されても設定は維持されたままになります。
STORK19の公式サイトから子テーマをインストールして、有効にしましょう。
functions.phpにソースコードをコピペするだけ
管理画面の「外観」から「テーマファイルエディット」を選択し、「テーマのための関数」を選びましょう。

ソースコードが表示されるので、一番下に下記のソースコードを貼り付けましょう。
// カスタマイズでコードを追記する場合はここよりも下に記載してください
// 最新のソースコードは「https://gotoyusuke.com/stork19-allinoneseo/」を確認してください。
//title setting
add_theme_support('title-tag');
function rewrite_title($title) {
if (is_single()) {
$title['title'] = $title['title'];
$title['site'] = '';
}
return $title;
}
add_filter('document_title_parts', 'rewrite_title');
//meta tag setting
function meta_headcustomtags() {
$indexTag = "";
$ogpType = "article";
if (is_home()) {
$url = get_home_url();
$description = "TOPページのディスクリプションをここに入力してください。";
$ogpType = "website";
} elseif (is_single()) {
$url = get_the_permalink();
$description = get_the_excerpt();
} elseif (is_archive() or is_404() or is_search()) {
$indexTag = '<meta name="robots" content="noindex" />';
} else {
$indexTag = '<meta name="robots" content="noindex" />';
}
$siteName = get_bloginfo('name');
$articleId = get_the_ID();
$imageUrl = get_the_post_thumbnail_url($articleId,'medium');
$siteTitle = get_the_title();
$headcustomtag = <<<EOM
<meta name="description" content="{$description}">
<link rel="canonical" href="{$url}">
{$indexTag}
<meta property="og:type" content="{$ogpType}" />
<meta property="og:title" content="{$siteTitle}" />
<meta property="og:description" content="{$description}" />
<meta property="og:url" content="{$url}" />
<meta property="og:image" content="{$imageUrl}" />
<meta property="og:site_name" content="{$siteName}" />
<meta property="og:locale" content="ja_JP" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@YusukeGoto_" />
EOM;
echo $headcustomtag;
}
add_action( 'wp_head', 'meta_headcustomtags', 99);
記事の管理画面により多くのデータを表示させたい場合は下記のコードも追加してください。
//管理画面にスラッグを表示させる
function add_post_column_title( $columns ) {
$columns[ 'slug' ] = "スラッグ";
return $columns;
}
function add_post_column( $column_name, $post_id ) {
if( $column_name == 'slug' ) {
$post = get_post( $post_id );
$slug = $post->post_name;
echo esc_attr( $slug );
}
}
add_filter( 'manage_posts_columns', 'add_post_column_title' );
add_action( 'manage_posts_custom_column', 'add_post_column', 10, 2 );
//管理画面に記事IDを表示させる
function add_posts_columns_postid($columns) {
$columns['postid'] = 'ID'; return $columns;
}
function add_posts_columns_postid_row($column_name, $post_id) {
if( 'postid' == $column_name ) {
echo $post_id;
} }
add_filter( 'manage_posts_columns', 'add_posts_columns_postid' );
add_action( 'manage_posts_custom_column', 'add_posts_columns_postid_row', 10, 2 );
//管理画面に更新日
function last_modified_admin_column( $columns ) {
$columns['modified-last'] =__( '最終更新日', 'aco' );
return $columns;
}
add_filter( 'manage_edit-post_columns', 'last_modified_admin_column' );
function sortable_last_modified_column( $columns ) {
$columns['modified-last'] = 'modified';
return $columns;
}
add_filter( 'manage_edit-post_sortable_columns', 'sortable_last_modified_column' );
function last_modified_admin_column_content( $column_name, $post_id ) {
if ( 'modified-last' != $column_name )
return;
$modified_date = the_modified_date( 'Y年Md日Ag時i分' );
echo $modified_date;
}
add_action( 'manage_posts_custom_column', 'last_modified_admin_column_content', 10, 2 );
記事のディスクリプションは、抜粋に記入
これから新規記事のディスクリプションを記入する際は、抜粋に入力してください。
