WordPressサイトを閉鎖する手順|削除後に出るPHPエラーとGoogle検索結果への対処

飯田市でホームページ制作をしている牧内です。

長年運用してきたWordPressサイトが、使われなくなってもサーバー上にそのまま残っていることがあります。

サーバーのPHPバージョンアップで不具合が出たことをきっかけに、使っていない複数のWordPressサイトを閉鎖しました。WordPress本体を削除したところ、今度はPHPのエラーが表示されました。あわせて、「Googleの検索結果からも消したい」というご相談もありました。

この記事では、そのときの作業をもとに、WordPressサイトを閉鎖する手順を整理します。バックアップ、ファイルの削除、削除後のPHPエラーの対処、.htaccess の整理、閉鎖案内ページの設置、検索エンジンへの対応までです。飯田市・南信州でホームページ制作会社をお探しの方、古いWordPressの扱いに困っている方の参考になれば幸いです。

なお、サイトの構成やサーバーの仕様によって、必要な作業は変わります。以下はあくまで一例です。

この記事の要点

  • 閉鎖の前に、ファイルとデータベースの両方をバックアップする
  • WordPressを wp などのサブフォルダに入れている場合、公開フォルダ直下の index.php と .htaccess も確認する
  • 削除後に出る require(./wp/wp-blog-header.php) のエラーは、直下に残った index.php が原因
  • 閉鎖案内ページには noindex を入れる。ただし、検索結果から消える時期は指定できない

閉鎖することになった経緯

発端は、サーバー側のPHPバージョンアップでした。古いWordPress、テーマ、プラグインを使っているサイトは、PHPが新しくなると正常に動かなくなる場合があります。実際に、サイトが表示されなくなるトラブルが起き、WordPress本体やテーマの更新作業を行いました。

同じ管理環境には、更新が止まったままのWordPressサイトも複数ありました。以前から今後の利用予定を確認していましたが、結論が出ないまま残っていたものです。今回改めて確認し、使う予定のないサイトは閉鎖することにしました。

WordPressは、公開しているだけで本体・テーマ・プラグインのセキュリティ管理が必要です。使っていないサイトを放置しておくと、管理されないまま公開され続けることになります。使わなくなったサイトを閉鎖することも、セキュリティ対策の一つです。

手順1:削除前にバックアップを取る

閉鎖する場合でも、いきなりサーバー上のデータを削除しないでください。過去の文章や写真を後から使うことがあるためです。

ファイル一式をダウンロードする

FTPソフトで、WordPressのファイル一式をローカルのパソコンに保存します。

text

wp-admin/
wp-content/
wp-includes/
wp-config.php
index.php
.htaccess

wp-content/uploads には、サイトで使っていた画像やPDFが入っています。

データベースをバックアップする

FTPで保存できるのはファイルだけです。記事や固定ページは主にデータベースに保存されているため、別に取る必要があります。サーバーのphpMyAdminからエクスポートするか、バックアッププラグインを使います。

保存しておくものは次のとおりです。

  • WordPressのファイル一式
  • データベースのバックアップ
  • 必要に応じて、主要ページのスクリーンショットやPDF

WordPressの「ツール → エクスポート」でも記事を書き出せますが、サイトを完全に復元するためのデータは含まれません。これだけをバックアップとするのは避けてください。

バックアップはサーバーに置かない

バックアップは、手元のパソコンや別のストレージに保存します。サーバー上に wp-config.php.bak のようなファイルを残すと、第三者に取得される危険があります。ここには、データベースの接続情報が書かれています。

手順2:WordPressのインストール場所を確認する

削除の前に、WordPressがどこに入っているかを確認します。次のような構成の場合があります。

text

public_html/
├── index.php
├── .htaccess
└── wp/
    ├── wp-admin/
    ├── wp-content/
    ├── wp-includes/
    └── wp-config.php

この例では、WordPress本体は wp フォルダの中にあります。一方、公開フォルダの直下にも、WordPressを動かすための index.php と .htaccess があります。

この構成で wp フォルダだけを削除すると、直下のファイルが残ります。今回、これが原因でエラーが出ました。

手順3:削除後に出たPHPエラーの原因と対処

現象

wp フォルダを削除してサイトにアクセスすると、次のエラーが表示されました。

text

Warning: require(./wp/wp-blog-header.php):
Failed to open stream:
No such file or directory

Fatal error: Uncaught Error:
Failed opening required './wp/wp-blog-header.php'

原因

エラーメッセージに、読み込めなかったファイルの場所が書かれています。./wp/wp-blog-header.php を読み込もうとして失敗している、という内容です。

公開フォルダ直下に残っていた index.php には、次の記述がありました。

php

require( './wp/wp-blog-header.php' );

この index.php は、wp フォルダの中のWordPressを呼び出すためのものです。呼び出し先の wp フォルダを削除したため、読み込みに失敗してエラーになっていました。原因は、WordPress本体の削除だけでは足りなかったことです。

対処

サイトを完全に閉鎖する場合、WordPressを復旧させる必要はありません。

  1. 直下の index.php をローカルにダウンロードして保存する
  2. サーバー上の index.php を削除する
  3. 代わりに、静的な index.html(手順5)を設置する

サーバー上で名前を変えて残すより、ローカルに保存してサーバーからは削除するほうが安全です。

なお、PHPのエラー表示にはサーバー内のフォルダ構成が含まれます。エラーが出た状態を長く公開しておかないほうがよいと思います。

手順4:.htaccessのWordPress用設定を整理する

.htaccess は、Apache系のWebサーバーで、リダイレクトやアクセス制御に使う設定ファイルです。今回、サーバー上の .htaccess には、WordPress用の次の記述が残っていました。

apache

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

これはパーマリンクを動かすための設定で、存在しないファイルへのアクセスを index.php に振り分けます。WordPressを削除したあとも残っていると、存在しない index.php に処理が渡ってしまいます。

今回の .htaccess には、WordPress用以外の有効な記述はなく、PHP関連の設定もコメントアウトされていました。そのため、バックアップを取ったうえで、中身を空にして保存しました。

中身をすべて消してよいとは限らない

.htaccess には、WordPress以外の設定が入っていることがあります。

  • HTTPからHTTPSへのリダイレクト
  • 特定のURLへの転送
  • アクセス制限
  • セキュリティ関連の設定

必要な設定が含まれていないことを確認してから、# BEGIN WordPress から # END WordPress までの範囲を整理します。他の記述がある場合は、その部分を残します。

手順5:閉鎖案内のHTMLページを設置する

WordPressを削除したあと、ドメインにアクセスしたときにエラー画面が出るのは避けたい状態です。そこで、WordPressを使わない静的なHTMLで、閉鎖案内ページを用意しました。

html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex, nofollow">
<title>サイト閉鎖のお知らせ</title>
<style>
body {
  font-family: sans-serif;
  color: #444;
  background: #fafafa;
  margin: 0;
  padding: 80px 20px;
  text-align: center;
}
h1 {
  font-size: 24px;
}
p {
  line-height: 2;
}
</style>
</head>
<body>
<h1>サイト閉鎖のお知らせ</h1>
<p>
当サイトは公開を終了いたしました。<br>
これまでご利用いただき、
ありがとうございました。
</p>
</body>
</html>

index.html という名前で保存し、公開フォルダにアップロードします。WordPressもPHPもデータベースも使わないため、バージョンアップやプラグイン更新の管理は不要になります。

文面は、閉鎖後の連絡先や移転先がある場合に書き換えます。

手順6:Googleの検索結果への対応

WordPressを削除しても、その時点でGoogleの検索結果から消えるわけではありません。Googleは定期的にサイトを巡回して情報を更新するため、削除後もしばらく以前のページが表示されることがあります。

閉鎖案内ページに noindex を入れる

手順5のHTMLには、次の記述を入れています。

html

<meta name="robots" content="noindex, nofollow">

noindex は、検索エンジンに「このページを検索結果に載せないでください」と伝える指示です。Googleがこのページを再び巡回して確認すると、原則として検索結果から除外されます。設定した時点ですぐ反映されるわけではありません。

旧記事のURLについて

noindex を入れたのは閉鎖案内ページだけです。以前の記事や固定ページのURLに、自動で適用されるわけではありません。

旧記事のURLは、WordPressを削除すれば通常アクセスできなくなります。404(Not Found)や410(Gone)を返していれば、Googleはページがなくなったことを認識し、検索結果から順次除外していきます。トップページだけでなく、旧記事のURLがどう表示されるかも確認しておくと安心です。

反映までの期間と、Googleへの働きかけ

反映までの期間は、こちらで決められません。数日から数週間で変化が出ることもあれば、さらに時間がかかるページもあります。

今回は、noindex の設定と不要なWordPressの削除を行い、Googleの再巡回を待つことにしました。お客様には、まず1週間ほど様子を見ていただき、それでも表示される場合は改めてご相談いただくようお伝えしています。1週間は状況確認の目安で、その間に必ず消えるという意味ではありません。

急いで消したい場合は、Google Search Consoleの「削除」機能で、URLを一時的に非表示にする方法があります。サイトの所有権の確認が必要で、あくまで一時的な措置です。詳細な仕様や利用条件は、Googleの公式ヘルプで確認してください。

robots.txt でブロックしない

robots.txt でGoogleの巡回を禁止していると、Googleが noindex を読み取れません。その結果、検索結果にURLが残り続けることがあります。閉鎖案内ページに noindex を入れる場合は、robots.txt で巡回を止めていないか確認してください。

手順7:閉鎖後の確認項目

作業が終わったら、次の点を確認します。

サイトの表示

  • トップページに閉鎖案内が表示される
  • PHPのWarningやFatal errorが表示されない
  • HTTPSで正常にアクセスできる

サーバー

  • WordPressの不要なファイルが残っていない
  • .htaccess に不要な設定が残っていない
  • バックアップが手元に保存されている
  • 同じサーバー上の他のサイトやメールに影響が出ていない

検索エンジン

  • 閉鎖案内ページに noindex が入っている
  • 削除した旧ページが404または410を返している
  • robots.txt でGoogleの巡回を止めていない
  • 時間が経つにつれて検索結果から除外されている

WordPress専用のデータベースは、他のサイトで使っていないことを確認してから、削除を検討します。サーバーによっては、複数のサイトが同じデータベースを共有している場合があります。

まとめ

今回の作業では、WordPress本体を削除するだけでは終わりませんでした。直下に残った index.php がPHPエラーの原因で、.htaccess の整理も必要でした。さらに、閉鎖後の検索結果への対応も残りました。

サイトを閉鎖する場合は、次の流れを一連の作業として確認します。

  1. ファイルとデータベースのバックアップ
  2. インストール場所の確認と、WordPress関連ファイルの削除
  3. 直下の index.php と .htaccess の整理
  4. 閉鎖案内ページの設置(noindex)
  5. 旧URLの状態と、検索結果の確認

使わなくなったWordPressを長く放置すると、セキュリティ上のリスクが残ります。利用予定のないサイトは、必要なデータを保存したうえで閉鎖しておくと、管理の負担も減ります。

Home
サービス
制作実績
お客様の声
デザイナー紹介
問合せ