タグ「ウェブサーバー」の投稿を表示中

WordPress投稿内の旧ドメインを新ドメインに変更する方法

phpMyAdminにおいてのテーブル(この場合、wp_posts)エクスポート画面 このサイトはかなり前に今のドメインに変更したのですが、まだ過去サイトのドメインがブログのところどころに使われていることに今日気が付きました・・・ 以前は旧ドメインへのアクセスは今のドメインに301リダイレクトするように設定していたのですが、知らない間に旧ドメインを削除してしまったため、旧ドメインを使った画像やリンクが正常に動作しなくなってしまいました。 そして、今日、ブログ内の旧ドメインをすべて新ドメインに置き換えたのですが、その方法を少しだけ紹介したいと思います。   WordPressの投稿データはすべてwp_postsテーブル内にあります。 <対処法> 一見面倒くさそうですよね・・・すべての投稿内のリンクをひとつひとつ変更するのは。 しかし、phpMyAdminにログインし、WordPressの投稿がすべて記載されているテーブル、「wp_posts」をSQLファイルとしてダウンロードし、SQL内の旧ドメインをお好みのテキストエディタで新ドメインに置換し、それをまたphpMyAdminでWordPressのフォルダにインポートすれば、すべておkです。 操作を行う前はWordPressのフォルダをphpMyAdminでバックアップしておくことをお勧めします。以下の操作で生じた損害の責任は負いかねます。 サイトがホストされているサーバーのphpMyAdminにログインする。 ドメインを変更したWordPressブログのフォルダ内のwp_postsテーブルをSQLファイルとしてダウンロードする。 テキストエディタでSQLファイルを開き、旧ドメインをすべて、新ドメインに置換する。文章内で同じドメインを使った覚えがあるのなら、一つ一つ確かめてから置換するのがいいかもしれません。 phpMyAdmin内で過去のwp-postsテーブルを削除する。 変更したSQLファイルをphpMyAdminでWordPressフォルダにインポートする。 これで完了です。phpMyAdminに慣れていれば、5分かからないと思います。 データベースを直接操作するのが不安な方は文字列置換プラグインを使ってもいいかと思います。基本的にやっていることはおなじですが・・・ それではあなたのサイト運営の幸運を祈ります。  

所有サイトを全部HTTPS化しようか

今日、所有する一つのサイトを試験的にHTTPS化した。なぜHTTPS化したか・・・それはあのグーグルがHTTPS化をランキングシグナルに使用するとすでに発表していたから。あと、次世代プロトコル、HTTP/2にはおそらくHTTPSが必要となるから。 オレオレ証明書以外ではさくらのラピッドSSLが一番安そう(1620円/年、投稿時)だったから、それを使うことにした。サイトはWordpressで運用していたため、ポスト内のhttp://www.ドメイン名.comの記述はすべて検索と置換の機能があるプラグインですべてhttps://www.ドメイン名.com置き換えた。もちろんデータベースはバックアップしてから変更した。 httpの方へのアクセスをhttpsにリダイレクトするには少々手間取ったが、以下のリンクで紹介される、.htaccessとwp-config.phpの編集でなんとかリダイレクトを成功させた。原因はどうやらさくらサーバーの方らしくて、リンク先の対処法もさくらのレンタルサーバーのみを対象としたものです。 さくらSNI 独自SSLでドメイン全体をHTTPS化する これで何とかサイトをhttpsにしたけれど、他のサイトもhttps化するべきか・・・ [VPS+レンタルサーバー+ドメイン料+SSL代]ですでにかなりとられている。これで他のドメインをHTTPS化するとなると・・・かなりかさむなぁ。サーバーをVPSのみにし、ドメイン統一も検討すべきか・・・

サイトURLを変えたとき、古いURLへのリクエストを新URLにリダイレクトする方法

URLをリダイレクトする方法は様々ありますが、このサイトのURLを変えたときは「301リダイレクト」という方法を使いました。それを実現させるには.htaccessというファイルに以下のようなことを記述します。 RewriteEngine on RewriteCond %{HTTP_HOST} ^sonota.trance-cat.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.sonota.trance-cat.com [NC] RewriteRule ^(.*)$ http://sonota.trance-cat.com/$1 [L,R=301,NC] これが何をするかというと、sonota.trance-cat.comとwww.sonota.trance-cat.comへのアクセスをすべてsonota.trance-cat.comにリダイレクトさせます。それもsonota.trance-cat.com/column/というURLもsonota.trance-cat.com/column/にリダイレクトしてくれるので、URLだけを変えた場合はこれが非常に便利です。 ご自身で利用する場合はsonota.trance-cat.comとsonota.trance-cat.comの部分をご自身のURLに入れ替えるだけです。 なお、この301リダイレクトはサーバーにmod_Rewriteという機能が搭載されていないと動作しません。たいていの有料サーバーはmod_Rewriteという機能がついてくるはずなので、使えるはずです。

robots.txtでルートディレクトリのクロールを無効にする

ひとつのwwwフォルダーにサブディレクトリ別に複数のドメインをホストしている場合、ルートディレクトリだけボットにクロールされないようにし、サブディレクトリのみをクロールさせたい場合が出てくるだろう。 そういう時は、ルートディレクトリのwwwに以下のような内容のrobots.txtを置けばいい。 robots.txtの記入例 「User-agent: * Disallow: / Allow: /directory1/ Allow: /directory2/」 この場合、ルートディレクトリのクロールは禁じているがサブディレクトリである「directory1」と「directory2」のクロールは許可している。 すべてのボットが認識する保証はないが、少なくともGoogleBotはこれでおkだそうだ。