一昨日、当教室の公式ウェブサイトをリニューアルしました。
レスポンシブ化して、スマホでもパソコンでも同じページをスムーズに見られるようになりました。
そして、このリニューアル作業に大活躍したのが、当教室のレッスンでは定番の「Microsoft Excel(エクセル)」です。
当教室の場合、ページ数はそれほど多くありませんが、同一ドメイン内でのURL変更であるため、ドメインごと移転する場合に比べて次のような作業が非常にやっかいでした。
- テスト中、テスト完了後のrobots.txt切り替え
- 旧サイト→新サイトの301リダイレクト(.htaccessの設定)
- サイトマップの作製
スクリプトで自動生成する方法もあるようですが、今回は開発期間の関係で、Excelを活用して「半自動生成」してみました。
記事の最後に、サンプルExcelファイルもつけております。自由にお使いください。
作業の準備
対象URLの一覧をExcel上にインポート
サイト更新作業の前に、まずは旧ウェブサイトのURLをすべてExcelに読み込ませます。ここで手入力していては、せっかく手間が省けそうなのにがっかりなので、なるべく自動的に入力してみましょう。
方法としては、まず旧ウェブサイトのsitemap.xmlをそのままコピーして、白紙のExcelに貼り付けます
これで、あとは余計な記述を取り除いていけば、必要なURLの一覧になりそうです。
手順としては
- A列をテーブルとして書式設定
- テキストフィルターで”<loc>”を含む列だけを抽出
- 抽出結果を別シートにコピー
- “<loc>”と”</loc>”と、先頭のhttps,ドメイン名を、置換機能を使って除去
となります。以下順番に画像でご説明します。
対応する新URLを、旧URLの隣に並べる
旧URLの一覧ができたら、この隣に新URLを並べて、URL移転一覧表を作ります。
同一ドメイン内でのURL変更ですので、Apacheでいうところの{REQUEST_URI}に相当する部分(先頭の/も省略)のみを一覧にしています。
新旧URL一覧から、いろいろなものを生成する
テスト用robots.txtの生成
サイト移転作業中、新URLのクロールを禁止して、検索エンジンにインデックスさせないようにしておく必要がありますね。そのためのrobots.txtを作成します。
もちろん、ドメイン丸ごと禁止であれば、 Disallow: / のように記述すれば問題ありません。当サイトの例では、同一ドメイン内に旧URLも存在しており、新URLのみをブロックするため、このような手順を踏んでいます。
新しいシートを開き、
=”Disallow : /”&新旧URL一覧!B2
のように数式を入力します。入力した行が正しく生成されたことを確認して、必要な範囲にオートフィルします。
このように、robots.txtに貼り付けられる形式の文字列が生成されました。
このまま必要な範囲を選択、コピーしてテキストエディタに貼り付ければ、テスト期間用のrobots.txtができあがります
チェック用のリンク一覧の生成
移転後のサイトをチェックするために、ブラウザに全ページをブックマークするのも面倒です。
そこで、HYPERLINK関数を使ってExcel上に新URLの一覧を生成し、クリックすれば見たいページに飛べるようにしました。
隣にチェック項目などを書き込んで、最終チェックの進捗表にも使えますね。
チェック項目の「W3C」は、The W3C Markup Validation Serviceを使って、HTML構文のエラーチェックをした際に使用したものです。
旧→新リダイレクト用の.htaccessの生成
さて、最終チェックが完了したら、いよいよURL変更の実施に移ります。
旧URLへのアクセスを、301リダイレクトを使って新URLに飛ばす必要がありますね。そのために使う、.htaccess(ModRewrite)のコードを生成します。
当サイトの場合、もともと「/sp/」に別ページを用意してスマホで表示させていました。Googleのインデックスは、canonicalタグを使って1つにまとめていました(この件の記事はこちら)が、どこかにスマホ版のリンクが残っていると、404エラーが発生してしまうおそれがあるため、「1対1」ではなく「2対1」のリダイレクトを設定しています。
このような「2対1」のリダイレクトを行うには、RewriteCondを使って複数行で記述する必要があります。このため、Excelにも改行コードとして「CHAR(10)」を入れています。
セル内改行があると、先頭に ” (ダブルクォーテーション)が入ってしまうため、いったんワードパッドまたはWordに貼り付ける
このように、セル内に改行があるデータを、Excelからテキストエディタに直接貼り付けると、先頭行の先頭に ” (ダブルクォーテーション)が入ってしまいます。
このため、いったん「ワードパッド」またはMicrosoft Wordに貼り付けます。それを再び「全て選択」→コピーして、テキストエディタに貼り付けると、正常に貼り付けできます。
できあがったイメージは、こんな感じです。
リダイレクトのチェック用リンクを生成
こうして.htaccessの設定もできあがると、いよいよ新URLでの運用を開始します。
- robots.txtを、本番用のブロック無しのバージョンに更新
- .htaccessを更新して、旧→新URLの301リダイレクトを開始
新URLが公開されたら、正しくリダイレクトできているかチェックを行います。
ひとつひとつURLを手入力するのは大変なので、リダイレクトチェック用のリンクもExcelで自動生成してしまいましょう。
当サイトだけではないと思いますが、「wwwありなしの統一」「http→httpsへの統一」のリダイレクトも併用しています。このため、両方のパターンを旧URLでどんどんアクセスできるように、リンクを生成しています。
サイトマップの生成
リダイレクトの動作が確認できたら、仕上げにサイトマップ(sitemap.xml)を更新します。
これも半自動生成してしまいましょう。
あれ、どうして旧URLも入っているの? と思われるかもしれませんが、301リダイレクトによってURL変更しているため、検索エンジンのクローラが旧URLをクロールしなければ、「移転した」ということが検出されません。このため、旧URLも含めたサイトマップにする必要があるのです。
当教室の場合も、最初旧URLを入れておらず、なかなかインデックスされなかったのです。それに気が付いて旧URLを入れると、数時間後にはすべて新URLのインデックスが生成されていました。それくらい重要なことなのです。
サンプルExcelファイルを公開します
以上の処理を、実際に行うのに役立つ、サンプルExcelファイルを作成しました。
下のダウンロードリンクから、自由にお取りください。
コメント